CreateConference

Metreos.MediaControl.CreateConference

Summary

Creates a conference and places the specified connection into it as the 1st participant.

Usage

A conference can not be created with zero connections; there must be one connection in the conference to start.

A conference is uniquely identified by the ConferenceId result data parameter returned by CreateConference.

In most cases, Hairpin should be set to true (the default) to use the minimum amount of audio resources for a 2-party conference. Specifically, a hairpinned conference does not use any conference resources. However, a hairpin conference will be 'promoted', or converted to a true media conference, if a 3rd participant is added to the conference or if a voice operation is performed on the conference itself. In either case, this will cause each participant and conferenced voice operation to use one conference resource. True conferences also have a slightly increased latency over a hairpinned conference.

Remarks

All connections in the conference must be fully connected (Tx and Rx conditions both established on the connection; CreateConnection and certain actions in the Call Control API are used to accomplish this. For convenience, a ConnectionId returned from a ReserveConnection can be specified along with the MediaTxIP, MediaTxPort and MediaTxCodec parameters, in which case a CreateConnection does not have to be performed explicitly by the develeoper, since the media engine will automatically fully establish the Tx RTP properties the ConnectionId as the connection is joined to conference.

Mute and Monitor have a similar effect to one another; the participant specified by ConnectionId can only hear audio and is unable to send audio to the conference. The difference is that each Mute participant is truly in the conference, and so uses a conference resource; at anytime this participant can be allowed to send audio seamlessly via the use of the SetConfereeAttribute Mute parameter. Monitor participants are not truly in the conference from an internal logic standpoint, and can only transmit audio into the conference by removing their connection from conference, and placing back in with Monitor set to false. One also saves resources by using Monitor over Mute for many participants. Each Monitor participant shares one conference resource, but Mute participants each need a conference resource.

AnswerCall and MakeCall both automatically invoke CreateConference or JoinConference if the AnswerCall Conference action parameter or MakeCall Conference action parameter is set to true.

Each connection in a conference uses one conference resource. Because this action places one connection into the conference, one conference resource is utilized once this action has succeeded.

Action Parameters
Parameter Name.NET TypeDefaultDescription
TimeoutSystem.Int32The Timeout property specifies to the Application Runtime Environment how long to wait for a response from the provider for the current action. The ReturnValue returned in this case is Timeout. The value must be a literal value in milliseconds.
CoachSystem.BooleanCauses this connection to only be audible by a connection marked as the pupil.
CallIdSystem.Int64The ID of the call associated with this connection (hairpin only).
PupilSystem.BooleanIndicates whether this connection can hear audio originating from the coach.
MuteSystem.BooleanThe specified connection can hear others in the conference, but can not transmit back to the conference.
SoundToneOnJoinSystem.BooleanIndicates whether a tone is played when each participant joins the conference.
ConnectionId *System.StringIndicates the connection to add to the new conference as the 1st participant on. If MmsId is specified, this ConnectionId must reside on the same media engine.
MediaRxCodecSystem.StringThe codec to use for the RTP stream inbound to the media engine. Valid values are G711u, G711a, G723, and G729. If not specified, the MediaRxCodec already defined for the connection is respected.
MediaRxFramesizeSystem.UInt32The framesize (in milliseconds) to use for the RTP stream inbound to the media engine. If not specified, the MediaRxFramesize already defined for the connection is respected.
MediaTxIPSystem.StringThe IP address that the Tx RTP stream will transmit audio to. This must be specified if the ConnectionId specified was created by a ReserveConnection and has not yet had its Tx properties set with CreateConnection.
MediaTxPortSystem.UInt32The port that the Tx RTP stream will transmit audio to. This must be specified if the ConnectionId specified was created by a ReserveConnection and has not yet had its transmit properties set with CreateConnection.
MmsIdSystem.UInt32Unique identifier used to identify the media engine in control of this conferences. A common use for this ID is to ensure that other connections which will ultimately be conferenced with this connection are all created on the same media engine. This correlation is necessary because all connections in a single conference must all reside on the same media engine.
MediaTxControlIPSystem.StringThe RTCP IP address of the remote endpoint.
MediaTxControlPortSystem.UInt32The RTCP port of the remote endpoint.
MediaTxCodecSystem.StringThe codec to use for the RTP stream outbound from the media engine. Valid values are G711u, G711a, G723, and G729. If not specified and if the connection has not yet had its transmit properties set with CreateConnection, the media engine configuration file defines the codec to use, which by default is G711u. If not specified and the connection has had its transmit properties set, the MediaTxCodec already defined for the connection is respected.
MediaTxFramesizeSystem.UInt32The framesize (in milliseconds) to use for the RTP stream outbound from the media engine. If not specified and if the connection has not yet had its transmit properties set with CreateConnection, the media engine configuration file defines the framesize to use, which by default is 20ms. If not specified and the connection has had its transmit properties set, the MediaTxCodec already defined for the connection is respected.
HairpinSystem.BooleanIndicates that the new conference should be optimized for two parties. A hairpinned conference does not use any conference resources. However, a hairpin conference will be 'promoted', or converted to a true media conference, if a 3rd participant is added to the conference or if a voice operation is performed on the conference itself. In either case, this will cause each participant and conferenced voice operation to use one conference resource. True conferences also have a slightly increased latency over a hairpinned conference.
MonitorSystem.BooleanIndicates that this participant can only listen to the conference, and does not use a conference resource. All Monitor participants share 1 voice resource. Monitor participants are not truly in the conference. To place a currently Monitor connection into conference such that other participants can hear them, you must remove that connection from the conference by removing the connection from conference, and placing it back in with Monitor set to false.
TariffToneSystem.BooleanIndicates whether this connection should hear a periodic tone while in a true, on non-hairpinned, conference.
Result Data
Parameter Name.NET TypeDescription
ConnectionIdSystem.StringThe same value as the ConnectionId passed in as an action parameter.
ConferenceIdSystem.StringUnique identifier used to identify this conference in all subsequent Media Control operations.
ResultCodeSystem.StringA numeric code indicating the result status of the operation. A '0' indicates success; a positive number indicates an error. Please reference the Media Control Error Codes table for descriptions on specific error codes.
MmsIdSystem.UInt32Unique identifier used to identify the media engine in control of this conference. A common use for this ID is to ensure that other connections which will ultimately be conferenced with this connection are all created on the same media engine. This correlation is necessary because all connections in a single conference must all reside on the same media engine.
MediaRxIPSystem.StringThe IP address that the Rx RTP stream must be sent to for this connection.
MediaRxPortSystem.UInt32The port that the Rx RTP stream must be sent to for this connection.
MediaRxControlIPSystem.StringThe RTCP IP address of the media engine which is in control of this connection.
MediaRxControlPortSystem.UInt32The RTCP port of the connection.

Branch Conditions 

Success

No description.

Failure

No description.

Timeout

No description.