Building Conferencing Applications

This chapter provides information about how to control media servers in order to build applications that provide audio conferencing features.

XTML Conference Data Types

To facilitate creating conferencing applications, the following XTML objects are provided:

  • Conference represents all the information related to a conference.

  • ConferenceArray is an array of one or more Conference objects.

Many of the PACs listed under Conferencing on the Actions tab in the workspace pane operate on a Conference object.

The properties and methods associated with a Conference object are described in the following tables. The ConferenceArray object is a somple JavaScript array and does not have any new properties or methods.

Conference Properties

Property

Type

Description

asn

Object

Information related to active speaker notification.

Note

Active speaker notification is not available when using the Application Server software media server.

asn_num_speakers

Integer

Number of speakers to report.

asn_report_interval

Integer

Maximum interval, in milliseconds, between active speaker notification reports.

max_parties

Integer

Maximum number of participants that are allowed in the conference.

max_talkers

Integer

Maximum number of full-duplex talkers that are allowed in the conference.

name

String

Name of the conference.

n_loudest

Integer

Number of speakers that are mixed into the conference audio at any time.

persistent

Boolean

If true, the conference continues until it is explicitly deleted. If false, the conference will be automatically deleted when the application session that created it terminates.

sip_dialog

String

SIP dialog that is used to control this conference if the SIP interface to the media server is used.

state

Integer

Current state of the conference.

  • 0 - conference not created

  • 1 - conference created

  • 2 - conference deleted

Conference Methods

Method

Type

Description

Clear()

Void

Clears the values of all properties and resets the message to an uninitialized state.

LogDebug()

Void

Logs all of the message properties to the PS_SysLog.txt file at DEBUG level.

LogInfo()

Void

Logs all of the message properties to the PS_SysLog.txt file at INFO level.

Matches (SipMessage or SipDialog)

Boolean

Returns true if the SipMessage matches the SipMessage or SipDialog provided, according to matching rules specified in RFC3261.

XTML Conference Control PACs

This section defines the unique tabs included in the Properties window and the standard results available for each PAC listed under Conferencing on the Actions tab in the workspace pane.

Create a Conference

The Create a Conference PAC is used to create a conference on the media server and to specify the initial conference attributes.

Properties

The Create a Conference PAC includes the General tab.

General
_images/Fig9_1.png
General Fields

Field Name

Type

Description

Conference object

String

Returns ID of the conference created.

Persist

Checkbox

If selected, the conference remains active on the media server until it is explicitly deleted, even after the application session that created the conference has ended. If not selected, the conference is automatically deleted when the session that created the conference ends.

Return Value

Integer

Return code indicating the outcome of the operation, such as timeout or messaging failure.

Timeout

Short, Integer, Float

Time period (in seconds) in which a response is required. If there is no response within this period, the PAC returns a timeout error branch.

Media Server Type

String

Type of media server used. Allowed values are CONV for Convedia media server or PCS for IMSWorkX software based media server.

Exit Paths

In addition to the default result exit path, the Create a Conference PAC includes the result exit paths listed in the following table.

Exit Path

Description

Success

Points to the next PAC to be executed in the event that the connection is successful.

Error

Points to the next PAC to be executed in the event that the operation returned an error.

Timeout

Points to the next PAC to be executed in the event that the operation times out.

Delete a Conference

The Delete a Conference PAC is used to delete a specified conference. If the conference has active parties at the time it is removed, the parties are also deleted.

Properties

The Delete a Conference PAC includes the General tab.

General
_images/Fig9_2.png
General Fields

Field Name

Type

Description

Conference object

String

Returns ID of the conference to delete.

Return Value

Integer

Return code indicating the outcome of the operation, such as timeout or messaging failure.

Timeout

Short, Integer, Float

Time period (in seconds) in which a response is required. If there is no response within this period, the PAC returns a timeout error branch.

Exit Paths

In addition to the default result exit path, the Delete a Conference PAC includes the result exit paths listed in the following table.

Exit Path

Description

Success

Points to the next PAC to be executed in the event that the connection is successful.

Error

Points to the next PAC to be executed in the event that the operation returned an error.

Timeout

Points to the next PAC to be executed in the event that the operation times out.

Modify a Conference

The Modify a Conference PAC is used to modify the attributes of a conference.

Properties

The Modify a Conference PAC includes the General tab.

General
_images/Fig9_3.png
General Fields

Field Name

Type

Description

Conference object

String

Returns ID of the conference to modify.

Return Value

Integer

Return code indicating the outcome of the operation, such as timeout or messaging failure.

Timeout

Short, Integer, Float

Time period (in seconds) in which a response is required. If there is no response within this period, the PAC returns a timeout error branch.

Exit Paths

In addition to the default result exit path, the Modify a Conference PAC includes the result exit paths listed in the following table.

Exit Path

Description

Success

Points to the next PAC to be executed in the event that the connection is successful.

Error

Points to the next PAC to be executed in the event that the operation returned an error.

Timeout

Points to the next PAC to be executed in the event that the operation times out.

Modify Party in Conference

The Modify Party in Conference PAC is used to modify conference party parameters.

Properties

The Modify Party in Conference PAC includes the General tab.

General
_images/Fig9_4.png
General Fields

Field Name

Type

Description

Action

Drop-down List

Modification action to take. You can modify a single participant or a group of participants.

Conference object

String

Returns ID of the conference to delete.

Endpoint

String

Endpoint associated with the party to be modified.

Return Value

Integer

Return code indicating the outcome of the operation, such as timeout or messaging failure.

Timeout

Short, Integer, Float

Time period (in seconds) in which a response is required. If there is no response within this period, the PAC returns a timeout error branch.

Exit Paths

In addition to the default result exit path, the Modify Party in Conference PAC includes the result exit paths listed in the following table.

Exit Path

Description

Success

Points to the next PAC to be executed in the event that the connection is successful.

Error

Points to the next PAC to be executed in the event that the operation returned an error.

Timeout

Points to the next PAC to be executed in the event that the operation times out.

Remove Party from Conference

The Remove Party from Conference PAC is used to remove a specified party from a conference.

Properties

The Remove Party from Conference PAC includes the General tab.

General
_images/Fig9_5.png
General Fields

Field Name

Type

Description

Conference object

String

ID of the conference containing the party to be removed.

Endpoint

String

Endpoint associated with the party to be removed.

Hang-up party/Put party on hold

Radio Button

Terminates this speaker’s dialog or puts this speaker on hold.

Sip dialog

String

The dialog associated with this speaker.

Return Value

Integer

Return code that indicates the outcome of the operation, such as timeout or messaging failure.

Timeout

Short, Integer, Float

Time period (in seconds) in which a response is required. If there is no response within this period, the PAC returns a timeout error branch.

Exit Paths

In addition to the default result exit path, the Remove Party from Conference PAC includes the result exit paths listed in the following table.

Exit Path

Description

Success

Points to the next PAC to be executed in the event that the connection is successful.

Error

Points to the next PAC to be executed in the event that the operation returned an error.

Timeout

Points to the next PAC to be executed in the event that the operation times out.

Application Development Guidelines

The following are guidelines to follow when developing applications:

  • To have an application create a conference when the first party calls in, you can use the Respond to SIP Dialog PAC or the Modify SIP Dialog PAC to connect the first caller to a newly-allocated conference.

  • To have an application create a scheduled conference at a specific start time, use the Create a Conference PAC to create the conference before any callers arrive.

  • To connect a caller directly into a conference without first connecting them to an IVR, use the Respond to SIP Dialog Request PAC.

  • To connect a caller who is currently in an IVR session or has an established SIP dialog, use the Modify SIP Dialog PAC and select Connect dialog to conference in the Action field on the SIP Dialog Modification tab.

  • To outdial from a conference and connect the called party into a conference, use the Generate SIP Dialog Request PAC and select Connect dialog to conference in the Action field on the SIP Dialog Configuration tab.