# cnfGetMemberAttribute

Returns the current value of a member attribute.

#### Prototype

DWORD cnfGetMemberAttribute ( CNFRESOURCEHD cnfresourcehd, DWORD memberid, DWORD attribute, INT32 *value)

Argument | Description
cnfresourcehd | Handle returned by cnfOpenResource.
memberid | Member identifier returned by cnfJoinConference.
attribute | Specifies the attribute to be retrieved. Refer to the Details section for a complete description of member attributes.
value | Pointer to the returned attribute value.

#### Return values

Return value | Description
SUCCESS |
CTAERR_BAD_ARGUMENT | value is NULL.
CTAERR_INVALID_HANDLE | cnfresourcehd is not a valid conference resource handle.
CNFERR_INVALID_ATTRIBUTE | attribute is not a valid attribute for a member.
CNFERR_INVALID_IDENTIFIER | memberid is not a valid member identifier.

#### Details

The following table lists the valid member attributes:

Keyword | Allowed values | Description
--- | --- | ---
MEMBER_ATTR_INPUT_AGC_ENABLE | FALSE or TRUE | Input AGC state (enabled/disabled).
MEMBER_ATTR _OUTPUT_AGC_ENABLE | FALSE or TRUE | Output AGC state (enabled/disabled).
MEMBER_ATTR_INPUT_GAIN | -12 to 12 | Value of the input gain currently applied.
MEMBER_ATTR_OUTPUT_GAIN | -12 to 12 | Value of the output gain currently applied.
MEMBER_ATTR_INPUT_AGC_TARGETAMPL | -45 to 0 | Target amplitude for AGC.
MEMBER_ATTR_INPUT_AGC_SILENCEAMPL | -45 to 0 | Noise threshold amplitude for AGC.
MEMBER_ATTR_OUTPUT_AGC_TARGETAMPL | -45 to 0 | Target amplitude for output AGC.
MEMBER_ATTR_OUTPUT_AGC_SILENCEAMPL | -45 to 0 | Noise threshold amplitude for output AGC.
MEMBER_ATTR_TALKER_ENABLE | FALSE or TRUE | If the member is a talker in a conference.
MEMBER_ATTR_LISTENER_ENABLE | FALSE or TRUE | If the member can hear the others in the conference. If a member is neither talker nor listener, the member is considered as temporarily out of the conference even if the corresponding conferencing resource is still allocated for the member.
MEMBER_ATTR_TALKER_PRIVILEGE | FALSE or TRUE | If the member is considered a privileged talker. A privileged talker is always an active talker even when not speaking.
MEMBER_ATTR_DTMF_CLAMPING_ENABLE | FALSE or TRUE | If the DTMF clamping capability is currently activated for this member. Note: If DTMF clamping is disabled at the resource or conference level, this attribute is ignored.
MEMBER_ATTR_DTMF_CLAMPING_DELAYLINE | 0 to 28 in ms | Delay line to buffer the signal received by each member before removing the DTMF with the DTMF clamping module. Note: If DTMF clamping is disabled, the delay line is not activated.
MEMBER_ATTR_TONE_CLAMPING_ENABLE | FALSE or TRUE | If the tone clamping capability is currently activated for this member. Note: If tone clamping is disabled at the resource or conference level, this attribute is ignored.
MEMBER_ATTR_EC_ENABLE | FALSE or TRUE | If the echo cancellation capability is currently activated for this member. Note: If echo cancellation is disabled at the resource or conference level, this attribute is ignored.
MEMBER_ATTR_EC_GAIN | -54 to +24 in db | Amplification applied to the echo input signal. Relevant only when echo cancellation is activated.
MEMBER_ATTR_EC_PREDELAY | 0 to 9 | Output delay. Relevant only when echo cancellation is activated.
MEMBER_ATTR_SELF_ECHO_ENABLE | FALSE or TRUE | If the voice received from this member on its input is mixed and returned to the member on its output. This attribute can be enabled when the output is not connected to the member, but is actually used for recording.
MEMBER_ATTR_INPUT_G711_LAW | CNF_G711_DEFAULT, CNF_G711_ALAW, or CNF_G711_MULAW | Current G.711 law applied in the member's input.
MEMBER_ATTR_OUTPUT_G711_LAW | CNF_G711_DEFAULT, CNF_G711_ALAW, or CNF_G711_MULAW | Current G.711 law applied in the member's output.

Refer to CNF.MEMBER_ATTR for attribute default values.

#### See also

cnfGetMemberAttributeList, cnfGetMemberInfo, cnfJoinConference, cnfSetMemberAttribute

#### Example

extern CNFRESOURCEHD cnfresourcehd;
INT32 getMemberTalkerStatus(DWORD memberid)
{
DWORD error;
INT32 talkerActive;
error = cnfGetMemberAttribute(cnfresourcehd, memberid,
MEMBER_ATTR_TALKER_ENABLE,
&talkerActive);
return(talkerActive);
}