The following functions are provided by the Prosody high level conferencing API:
API call | W | Description |
---|---|---|
sm_conference_create() | Create a conference | |
sm_conference_add_party() | Add a party to a conference | |
sm_conference_remove_party() | Remove a party from a conference | |
sm_conference_delete() | Delete a conference | |
sm_conference_info() | Get information about a conference |
This document is also available as separate pages for each function.
tSMConference sm_conference_create(void)
Create and allocate resources for a new multi-party conference. Note sm_conference_delete() should be called to free the conference when it has been finished with.
Returns a conference structure, if successful, or zero if no new conference could be created. .
int sm_conference_add_party(struct sm_conference_add_party_parms *parms)
typedef struct sm_conference_add_party_parms { tSMConference conf; /* in */ tSMChannelId channelIn; /* in */ tSMChannelId channelOut; /* in */ int out_volume; /* in */ int out_agc; /* in */ int in_volume; /* in */ int in_agc; /* in */ } SM_CONFERENCE_ADD_PARTY_PARMS;
Adds new party to a previously created conference.
Note this party must not be a member of another conference. Adding a party to a conference twice (without removing it first) will result in an error condition.
-12
and it applies this to the 0dBm0 signal
generated by the AGC, giving an overall signal average targetted at
-12dBm0.
0 if call completed successfully, otherwise a standard error such as:
int sm_conference_remove_party(struct sm_conference_remove_party_parms *parms)
typedef struct sm_conference_remove_party_parms { tSMConference conf; /* in */ tSMChannelId channelIn; /* in */ tSMChannelId channelOut; /* in */ } SM_CONFERENCE_REMOVE_PARTY_PARMS;
Removes existing party from previously created conference. The channelIn and channelOut parameters must be the same as were used in the corresponding call to sm_conference_add_party().
0 if call completed successfully, otherwise a standard error such as:
void sm_conference_delete(tSMConference conf)
Removes all remaining participants from a conference and releases all resources which were being used by the conference. As soon as this function has been invoked, the conference becomes invalid and any further attempt to refer to it is an error.
int sm_conference_info(struct sm_conference_info_parms *parms)
typedef struct sm_conference_info_parms { tSMConference conf; /* in */ int activeChannelCount; /* out */ tSMChannelId *activeChannelList; /* in */ } SM_CONFERENCE_INFO_PARMS;
Return list of input channel identifiers corresponding to those input channels belonging to participants in the conference that are currently active (i.e currently speaking).
The parameter
activeChannelList
must point to an area of memory large enough to contain an array
of N
values of type tSMChannelId where
N
is the maximum possible
no. of participants in the conference.
On return, activeChannelCount will be set to the no. of input channel identifiers written by the call to activeChannelList, each identifier in this list being the input channel id of an active participant in the conference. If a conference has only one member it will never report that member as being active.
0 if call completed successfully, otherwise a standard error such as:
These functions constitute the Prosody high level conferencing API.