The SetConferenceGroupIds API procedure is used to define one or more conference group IDs for each phone line.

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.

Namespace:  LanScape
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 ValueDescription
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

Call conference support must be enabled in the media engine when it is started. Your media engine license must also support call conference capabilities. For additional details, see the CallConferenceEnabled startup parameter in the VoipMediaEngine..::.START_SIP_TELEPHONY_PARAMS startup structure.

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.

See Also