The media engine uses the concept of conference session IDs. Conference session IDs can be assigned to individual phone lines using the SetConferenceGroupIds API procedure. When your application places a phone line into the conference state using the ConferenceLine(Int32, Boolean) API procedure, the phone line will share full duplex audio data with any other phone lines that have the same congference IDs.
By assigning one or more conference group IDs to phone lines, your VOIP application can create simple to very complex conference relationships between phone lines.
By default each phone line belongs to the default conference session "0". In this case, placing all lines into conference mode will allow all lines to share full duplex audio data between them. This corresponds to a single conference session model.
If you wanted to group lines into separate individual conference sessions, you would call the SetConferenceGroupIds API procedure to set specific conference session IDs for whatever phone lines you would want to use. Then you would place all lines of interest into the conference mode using the ConferenceLine(Int32, Boolean) API procedure. For additional details, see the remarks section at the bottom of this topic.
Assembly: LMEVoipManaged (in LMEVoipManaged.dll) Version: 6.0.5226.26700
Syntax
C# |
---|
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE SetConferenceGroupIds( int PhoneLine, string[] ConferenceGroupIds ) |
Visual Basic (Declaration) |
---|
Public Function SetConferenceGroupIds ( _ PhoneLine As Integer, _ ConferenceGroupIds As String() _ ) As VoipMediaEngine..::.TELEPHONY_RETURN_VALUE |
Visual C++ |
---|
public: VoipMediaEngine..::.TELEPHONY_RETURN_VALUE SetConferenceGroupIds( int PhoneLine, array<String^>^ ConferenceGroupIds ) |
J# |
---|
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE SetConferenceGroupIds( int PhoneLine, String[] ConferenceGroupIds ) |
Parameters
- PhoneLine
- Type: System..::.Int32
The zero based phone line used to set conference IDs.
- ConferenceGroupIds
- Type: array<
System..::.String
>[]()[]
An array of conference group ID strings. Conference group IDs are maintained as strings and can be any values your application requires. Any phone lines sharing the same conference session IDs will belong to the same conference group when the phone line is placed into conference mode using the ConferenceLine(Int32, Boolean) API procedure.
Return Value
If the function succeeds, the return value will be SipSuccess.
If the function fails, the return value will be one of the following values as specified by the VoipMediaEngine..::.TELEPHONY_RETURN_VALUE data type.
Return Value | Description |
---|---|
SipCallFailure |
This value is returned by telephony API procedures to indicate general API failure. This error value is used as a "catch all error". If you receive this error, check to make sure that all parameters specified in the API procedure call are correct. Particularly, verify that pointers to memory regions are valid. This error return value is only used if a mapping to another specific error value does not exist.
(API return value) |
SipInvalidHandle |
Application software specified an invalid telephony handle in one of the API procedures.
This usually indicates memory corruption on the part of application software.
(API return value) |
SipBadPhoneLine |
Application software called a telephony API procedure and specified an invalid phone line. Phone lines are numbered starting from zero. This error is most commonly returned when attempting to access phone lines in excess of the max number of lines supported by the telephony engine.
(API return value) |
SipNoCallActive |
Indicates that application software attempted an operation on a phone line and the phone line was not in
a proper state to carry out the request. The following scenarios can generate this error:
Calling the ConferenceLine(Int32, Boolean) API procedure when the phone line is not in the SipInCall or SipCallHold states.
Calling the TransferLine(String, String, Int32, Int32) API procedure when the phone line is not in the SipInCall or SipCallHold states.
Attempting to open a transmit media stream to a phone line using the OpenTxIvrChannel(VoipMediaEngine, Int32, Int32) API procedure
and the phone line is not in the SipInCall or SipCallHold states.
Application software executed the TransmitInCallIvrData(array<Object>[]()[]) API procedure using a particular phone
line and the phone line was no longer in the SipInCall state.
(API return value) |
SipConferenceNotEnabled |
Application software can receive this return value if the application calls the ConferenceLine(Int32, Boolean) API
procedure and call conferencing is not enabled in the media engine. For additional details, see
the CallConferenceEnabled startup parameter in the VoipMediaEngine..::.START_SIP_TELEPHONY_PARAMS startup class.
(API return value) |
Remarks
In general, applications can call the SetConferenceGroupIds API procedure any time except when a phone line is already in conference mode as the result of calling the ConferenceLine API procedure.
Application software can define as many individual conference session ID relationships between phone lines as required. There are no limitations place on the number of conference session IDs per phone line or their values.
By default, all phone lines belong to the single conference group "0". If you call the ReStartSipTelephony(VoipMediaEngine..::.START_SIP_TELEPHONY_PARAMS) API procedure, all phone line conference IDs will resort back to the default power-up state.