cnfJoinConference

Adds a new member to a conference.

Prototype

DWORD cnfJoinConference ( CNFRESOURCEHD cnfresourcehd, DWORD confid, CNF_MEMBER_PARMS *parms, DWORD *memberid)

Argument

Description

cnfresourcehd

Handle returned by cnfOpenResource.

confid

Conference identifier returned by cnfCreateConference.

parms

Pointer to a CNF_MEMBER_PARMS structure:

typedef struct
{
  DWORD size;            /* Size of the structure      */
  DWORD user_value       /* Application provided value */
} CNF_MEMBER_PARMS; 

If parms is NULL, take the default parameters.

memberid

Pointer to a returned member identifier.


Return values

Return value

Description

SUCCESS

 

CTAERR_BAD_ARGUMENT

memberid is a NULL pointer.

CTAERR_BOARD_ERROR

New member cannot be added because of an HMIC limitation or on-board memory limitation (only with AG 2000 boards). This happens only when the member is added on-the-fly without being allocated.

CTAERR_INVALID_HANDLE

cnfresourcehd is not a valid conference resource handle.

CNFERR_BOARD_TIMEOUT

Board timed out while waiting for a response message.

CNFERR_INVALID_IDENTIFIER

confid is not a valid conference identifier.

CNFERR_INVALID_PARAMETER

parms is inconsistent or out of range.

CNFERR_NOT_ENOUGH_RESOURCE_SPACE

Member cannot be added because the conference resource is full. Either the number of reserved seats with the requested capabilities is exhausted, or the number of conference IDs for that resource is exhausted. There are only 255 conference IDs per conference resource.


Details

cnfJoinConference adds a new member to a conference specified by confid. If the function succeeds, the new member identifier is returned in memberid.

The default values of member attributes are taken from the corresponding Natural Access parameters. To enable the new member to talk, set the talker_enable parameter in the Natural Access parameter section of cnf.cfg, or set the attribute in the application by using cnfSetMemberAttribute or cnfSetMemberAttributeList.

Refer to Adding members to a conference for more information.

See also

cnfGetMemberInfo, cnfLeaveConference

Example

extern CNFRESOURCEHD cnfresourcehd;
 
DWORD myJoinConference(DWORD confid, DWORD *memberid)
{
   DWORD error;
   CNF_MEMBER_INFO memberinfo;

   error = cnfJoinConference (cnfresourcehd, confid, NULL,
                              &memberid); 
   if (error != SUCCESS)
      {
      printf("Error when joining conference : %d", error);
      return(error);
      }

   error = cnfGetMemberInfo (cnfresourcehd, *memberid,
                         &memberinfo, sizeof(CNF_MEMBER_INFO)); 

/* Perform switching operation by using memberinfo.stream and timeslot */

   error = cnfSetMemberAttribute (cnfresourcehd, *memberid,
                                 MEMBER_ATTR_TALKER_ENABLE, TRUE);
   return(error);   
}