Barge

Metreos.CallControl.Barge

Summary

Requests to be in an impromptu conference with an active call that has been established on a shared line.

Usage

Barge allows one to push an application into the audio streams of an active call previously uncontrolled by the application server, by causing the call to conference in a Media Server connection. The conferencing (mixing of audio) is handled by the phone in this case, not the media engine. If MediaRxIP and MediaRxPort are specified, a connection will not be made on the media server, and instead the phone will send the conferenced audio to that specified Rx location.

When the call is ended by either party, the ConnectionId is destroyed automatically by the application server.

Barge offers a means to overcome the difficult problem of gaining control of the media streams without having control over the call. However, Barge requires a significant amount of configuration in the deployment. To invoke Barge successfully, one has to have deployed a Cisco Unified Application Environment virtual SCCP phone in a shared-line configuration with an existing phone that needs to be barged into. Also, Barge will only work if the real phone has been configured to use its built-in device bridge. Finally, it is only valid to invoke Barge while the call is active--typically this knowledge is gained by also using JTAPI JTapiCallActive events to know when the real phone has an active call.

Remarks

A connection is created only if MediaRxIP and MediaRxPort are not specified. In this case, it is also important to consider that the script does not have direct control over which media engine is used to create a connection when barging. The media engine used to process the audio connection is determined by the current Media Resource Group on the current application partition.

The Call Control API makes every effort to abstract the complexities of the underlying telephony protocol; however, one should consult the Call Control Feature Matrix to understand what Call Control actions and action parameters are valid for each of the four supported protocols. One can set installation and deployment guidelines based on the Call Control actions and action parameters that an application uses; the Call Control Feature Matrix makes developing such guidelines feasible.

Action Parameters
Parameter Name.NET TypeDefaultDescription
Line DN *System.StringThe directory number of the shared line to barge into.
Rx IPSystem.StringThe IP address that the conferenced audio should be sent to. If MediaRxIP is not specified along with MediaRxPort, then a connection is created automatically which has Tx and Rx streams bridged appropriately from the conference to the media engine.
Rx PortSystem.UInt32The port that the conferenced audio should be sent to. If MediaRxPort is not specified along with MediaRxIP, then a connection is created automatically which has Tx and Rx streams bridged appropriately from the conference to the media engine.
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.
Result Data
Parameter Name.NET TypeDescription
CallIdSystem.StringUnique identifier used to identify this call in all subsequent Call Control operations.
MmsIdSystem.UInt32Unique identifier used to identify the media engine in control of this connection. 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.
ConnectionIdSystem.StringUnique identifier used to identify this connection in all subsequent Media Control API operations. A value is returned only if MediaRxIP and MediaRxPort were not specified.
MediaTxIPSystem.StringThe IP address that the barging in party should send audio to. If a connection was created by this action, this value is already associated with that connection.
MediaTxPortSystem.UInt32The port that the barging in party should send audio to. If a connection was created by this action, this value is already associated with that connection.
MediaTxCodecSystem.StringThe codec that the barging in party should use. If a connection was created by this action, this value is already associated with that connection.
MediaTxFramesizeSystem.UInt32The framesize that the barging in party should use. If a connection was created by this action, this value is already associated with that connection.
MediaRxIPSystem.StringUnique identifier used to identify this connection in all subsequent Media Control API operations. A value is returned only if MediaRxIP and MediaRxPort were not specified.
MediaRxPortSystem.UInt32The IP address that the Rx RTP stream must be sent to for this connection. A value is returned only if MediaRxIP and MediaRxPort were not specified.
MediaRxCodecSystem.StringThe codec that the Rx RTP stream is using for this connection.
MediaRxFramesizeSystem.UInt32The framesize that the Rx RTP stream is using for this connection.

Branch Conditions 

Success

No description.

Failure

No description.

Timeout

No description.