Additional Plug-In Action Component Definitions

Application PACs

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

For more information about the common Description tab and Custom tab, see Build Functions and Custom Results.

These PACs gives the application developer the flexibility to create and use functions within the call flow.

Call a Function

The Call a Function PAC is used to call an XTML function internal to the application. Any commonly executed series of PACs can be created as a function and stored in the application document or an external library XTML document.

For more information, see XTML Libraries.

Properties

The Call a Function PAC includes the General tab.

General
_images/Fig12_1.png
General Fields

Field Name

Type

Description

Use internal function/Use external function

Radio button

Specifies whether the called function is internal (residing in the same XTML file) or external (from another XTML file specified in the ps_master_config.xml file). If Use external function is selected, specify the external XTML file to call the function from in the Library field.

Function

Drop-down list

Function name to call. The drop-down list contains all of the functions defined in the current application.

Parameter

Integer/String

Defines the arguments that are passed to the function called. Click Add to pass a parameter to the function. Right-click in the field for a complete list of available variables.

Note

Parameters must be listed in the order they are defined.

Return Value

Integer/String

Defines the variable to store the return code in, if applicable. The return code indicates the outcome of the operation.

Exit Paths

The Call a Function PAC includes the default result exit path.

Drop to Java

The Drop to Java PAC is used to call a static Java method on an external, user-created Java class and pass primitive data types to and from Java. The Application Server must be configured to start the ps_jvmserver process and certain IMSWorkX-provided .jar files must be installed. For more information, see the Application Server User’s Guide.

Properties

The Drop to Java PAC includes the General tab.

General
_images/Fig12_2.png
General Fields

Field Name

Type

Description

Class

String

Java class in which the static Java method resides.

Method

String

Name of the static Java method called to perform a task.

Type

Drop-down list

Type associated with the variable that will store the method return value.

Variable

Integer/String

Name of the variable that will store the method return value. This is the return value from the Java method.

Timeout

Short, Integer, Float

Number of seconds the PAC will wait for a response to this method call. If there is no response within the timeout period, the PAC returns a timeout error branch.

Return Value

Short, Integer

Return code from the PAC execution. The following are possible return code values:

  • 0 - success

  • -11 - specified class not found

  • -10 - specified method not found

  • -8 - method threw exception

  • -5 - return type error

  • -4 - out of memory

  • -3 - invalid parameter type supplied

  • -2 - max arguments exceeded

  • -1 - other error

Add Parameters

Parameters to pass to a function can be input or output. Output parameters hold the data returned from the called function.

  1. Click Add.

  2. Enter the Parameter Name.

  3. Select the Parameter Type.

  4. Select whether the parameter is an input parameter, an output parameter, or an input/output parameter.

Note

Click Insert to add a parameter below the parameter currently selected. Click Delete to remove a parameter from the PAC.

Note

Parameters must be listed in the order they are defined.

Exit Paths

In addition to the default result exit path, the Drop to Java 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.

End the Session

The End the Session PAC terminates the current application session. The XTML server hosts multiple concurrent sessions, each of which executes a specific call flow as described in an XTML document. Each session is an independent logical thread of execution that typically maps to a single inbound caller.

The creation and termination of a session are under application control, as defined by the XTML service. Typically, a session begins when an inbound call arrives (via a SIP Invite or alternative call control model) and terminates when a SIP Bye message is received. The XTML application dictates when a session terminates by issuing the End the Session PAC.

Properties

The End the Session PAC requires no additional configuration.

Exit Paths

The End the Session PAC has no pre-defined result exit paths.

Generic Action

The Generic Action PAC is used as a placeholder by the SCE when a PAC specified in an XTML document cannot be found on the user’s system. This can happen if an application that uses new PACs is distributed to a user without the DLL that contains the new PAC definitions. In this situation, the SCE substitutes the Generic Action PAC so the user can view and modify the application.

Properties

The Generic Action PAC includes the General tab.

General
_images/Fig12_3.png
General Fields

Field Name

Type

Description

Plug-in Name

String

Name you want to give the custom PAC. Type the XTML code the PAC performs in the empty text box.

Exit Paths

The Generic Action PAC includes the default result exit path.

Perform Timer Operations

The Perform Timer Operations PAC is used to set a timer. For example, you can limit the duration of a call. When the timer expires, a Timer event is generated by the Application Server and prompts the application to perform the associated logic.

An application can have any number of timers running simultaneously, each of which will have a unique numeric identifier assigned by this PAC.

Properties

The Perform Timer Operations PAC includes the General tab.

General
_images/Fig12_4.png
General Fields

Field Name

Type

Description

Start a timer/Stop a timer

Radio button

Determines whether this PAC starts a timer or stops a timer.

Timer ID

Integer, Long

ID of the timer to be started or stopped. If starting a timer, enter a variable for the timer ID that is an integer (four bytes) or a long (eight bytes) and will be updated with the timer ID value assigned by the PAC. If stopping a timer, enter the variable containing the ID of the timer you want to stop.

Note

It is not necessary to stop a timer once it has expired.

Seconds

Short, Integer, Float, Long

Variable or value for the amount of time (in seconds) the timer is to run. Timers can be set with a granularity of tenths of a second. A Timer event will be generated by the Application Server when the timer interval expires. The application must have an OnTimer handler to specify the service logic to be executed at this point.

Note

A timer can have only one associated OnTimer event. If a timer event is to go off every n seconds, then another PAC to start the timer must be executed in the OnTimer event handler.

Exit Paths

The Perform Timer Operations PAC includes the default result exit path. This PAC exits immediately after setting the timer, and when the timer expires, a Timer event is generated by the Application Server.

Return from a Function

The Return from a Function PAC transfers control from the current function back to the calling function.

Properties

The Return from a Function PAC includes the General tab.

General
_images/Fig12_5.png
General Fields

Field Name

Type

Description

Return Value

Integer, String, Boolean, Object

Value to be returned to the calling function. The return code indicates the outcome of the operation, such as timeout or messaging failure. The calling function receives the return value of the Call a Function PAC.

Exit Paths

The Return from a Function PAC includes the default result exit path.

Sleep

The Sleep PAC causes the session to sleep for a specified number of seconds.

Note

While a session is sleeping, asynchronous events, such as timer expiration or incoming call events, are still processed.

Properties

The Sleep PAC includes the General tab.

General
_images/Fig12_6.png
General Fields

Field Name

Type

Description

Seconds to sleep

Short, Integer, Float

Variable or value for the length of time you want the session to sleep (in tenths of a second). PAC returns after time elapses.

Exit Paths

The Sleep PAC includes the default result exit path.

Test Values and Branch

The Test Values and Branch PAC can be used at any point in an application where JavaScript and/or custom results need to be evaluated without actually executing PAC code.

For example, a timer event handler function can be called when any of several timers expire. The Test Values and Branch PAC can be used as the first PAC in the function to branch to the appropriate set of actions depending on which timer expires.

Properties

The Test Values and Branch PAC requires no additional configuration.

Exit Paths

The Test Values and Branch PAC includes the default result exit paths.

RADIUS Command PACs

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

For more information about the common Description tab and Custom tab, see Build Functions and Custom Results.

Support for Remote Authentication Dial In User Service (RADIUS) commands allows applications to exchange RADIUS messages with remote servers.

The application server fully supports the RADIUS IETF RFC 2865 (base RADIUS specification) and 2866 (RADIUS Accounting) and allows applications to act as either a RADIUS client or server.

To send RADIUS messages to a remote server, the application server ps_master_config.xml file must contain configuration information for the remote server, including destination IP address, port, and the shared secret used to encrypt RADIUS messages sent between the two servers. For more information, see the Application Server User’s Guide.

Send a RADIUS Message

The Send a RADIUS Message PAC sends a single RADIUS message to a remote server. It can also wait for a response message from that server. The following RADIUS message types can be sent:

  • Access-Request

  • Access-Reject

  • Access-Accept

  • Access-Challenge

  • Accounting-Request

  • Accounting-Response

  • Status-Server

  • Status-Client

All of the RADIUS attributes defined in IETF RFC 2865 or 2866 can be included in the message being sent. Full support is provided for vendor-specific attributes as described in RFC 2865.

For more information, see RADIUS Objects.

Properties

The Send a RADIUS Message PAC includes the General, Message Attributes, and Response Attributes tabs.

General
_images/Fig12_7.png
General Fields

Field Name

Type

Description

Message Type

Drop-down list

Type of RADIUS message to be sent. The corresponding integer value defined in IETF RFC 2865 is placed in the Code field of the message.

Handle Responses

Checkbox

If selected, the PAC will wait to receive a response from the remote server to the message being sent and will populate the XTML variables indicated on the Response Attributes tab with the values in the return message. If not selected, the PAC will exit immediately after sending the message to the remote server.

Destination address

String

IP address of the remote peer to which the message will be sent. The remote server must be configured as a peer in the RapidFLEX server configuration.

Destination Port

Integer

UDP port on which the remote server is listening. Only required if the remote server is listening on a port other than the RADIUS default port (1812).

Identifier

String

Unique identifier for this message. If not provided, which is recommended, the Application Server automatically generates a unique value.

Timeout

Integer

If Handle reponses is selected, the timeout value indicates how long the PAC will wait for a response before timing out. Leave empty for no timeout.

Message Attributes

The Message Attributes tab allows you to add the applicable parameters to be included in the outgoing RADIUS message.

_images/Fig12_8.png

Add Parameters

  1. Click Add.

  2. In the Parameter field, select an optional attribute to be included in the outgoing message.

  3. In the Value field, specify an XTML variable that holds a value to be included in the outgoing message for the associated attribute.

If multiple instances of the attribute are required in the outgoing message, then an XTML object variable constructed as an array must be presented.

Note

Click Insert to add a parameter below the parameter currently selected. Click Delete to remove a parameter from the PAC.


The RADIUS specification allows some attributes to be included multiple times in a single message, while other attributes can be included only once. To receive an attribute from a response message (where the message can include multiple instances of that attribute), you should use an XTML object variable to retrieve the attribute value. The PAC will treat the XTML object variable as an array, populating each element of the array with an instance of the attribute that was received. The developer can then use the length property of the XTML object to determine how many values were returned and to review the array to collect and process the values.

Exit Paths

In addition to the default result exit path, the Send a RADIUS Message 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.

Subscriber Profile PACs

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

For more information about the common Description tab and Custom tab, see Build Functions and Custom Results.

Profile Update Answer

The Profile Update Answer PAC generates a Diameter Profile Update Answer Message that provides the requested user data.

Properties

The Profile Update Answer PC includes the General tab.

General
_images/Fig12_10.png
General Fields

Field Name

Type

Description

End-to-end ID

Integer

Unique integer that is used to detect duplicate messages. The originator of an Answer message must ensure that the End-to-End Identifier field contains the same value that was found in the corresponding request.

Result Code/Experimental result

Radio Button

Contains the value representing the result of processing the request.

Session-ID

Integer

Identifies the session for sending the Answer response.

Exit Paths

In addition to the default result exit path, the Profile Update Answer PAC includes the 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.

Diameter Error

Points to the next PAC to be executed in the event of a Diameter protocol error.

IMS Sh Error

Points to the next PAC to be executed in the event that the Sh response was an error.

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 when the operation returns an error.

Profile Update Request

The Profile Update Request PAC generates a Diameter Profile Update Request message that sends new information to update the user data record.

Properties

The Profile Update Request PAC includes the General tab.

General
_images/Fig12_11.png
General Fields

Field Name

Type

Description

Destination realm

String

A type of Diameter ID used to specify the destination.

Handle responses

Checkbox

Allows the application to receive and react to message responses.

End-to-end ID(output)

Integer

Unique integer that is used to detect duplicate messages.

Timeout

String

Time to wait for a response before generating an error.

PublicIdentity/MSISDN

Radio Button

Unique ID for a GSM or UTMS handset.

Requested data

Drop-down List

Select the type of data to be requested.

Data

String

Content of the message.

Result code

String

Contains the value representing the result of processing the request.

Experimental result

String

Contains the value representing the result of processing the request.

Exit Paths

In addition to the default result exit path, the Profile Update Request PAC includes the 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.

Diameter Error

Points to the next PAC to be executed in the event of a Diameter protocol error.

IMS Sh Error

Points to the next PAC to be executed in the event that the Sh response was an error.

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 when the operation returns an error.

Push Notification Answer

Properties

The Push Notification Answer PAC includes the General tab.

General
_images/Fig12_12.png
General Fields

Field Name

Type

Description

End-to-end ID

Integer

Unique integer that is used to detect duplicate messages. The originator of an Answer message must ensure that the End-to-End Identifier field contains the same value that was found in the corresponding request.

Result Code/Experimental result

Radio Button

Contains the value representing the result of processing the request.

Session-ID

Integer

Identifies the session for sending the Answer response.

Exit Paths

In addition to the default result exit path, the Push Notification Answer PAC includes the 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.

Diameter Error

Points to the next PAC to be executed in the event of a Diameter protocol error.

IMS Sh Error

Points to the next PAC to be executed in the event that the Sh response was an error.

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 when the operation returns an error.

Push Notification Request

The Push Notification Request PAC generates a Diameter Notification request to push to the server.

Properties

The Push Notification Request PAC includes the General tab.

General
_images/Fig12_13.png
General Fields

Field Name

Type

Description

Destination realm

String

A type of Diameter ID used to specify the destination.

Handle responses

Checkbox

Allows the application to receive and react to message responses.

End-to-end ID(output)

Integer

Unique integer that is used to detect duplicate messages.

Timeout

String

Time to wait for a response before generating an error.

PublicIdentity/MSISDN

Radio Button

Unique ID for a GSM or UTMS handset.

Data

String

Content of the message.

Result code

String

Contains the value representing the result of processing the request.

Experimental result

String

Contains the value representing the result of processing the request.

Subscribe Notifications Answer

The Subscribe Notifications Answer PAC is the response to the subscriber for notifications.

Properties

The Subscribe Notifications Answer PAC includes the General tab.

General
_images/Fig12_14.png
General Fields

Field Name

Type

Description

End-to-end ID

Integer

Unique integer that is used to detect duplicate messages. The originator of an Answer message must ensure that the End-to-End Identifier field contains the same value that was found in the corresponding request.

Result Code/Experimental result

Radio Button

Contains the value representing the result of processing the request.

Expiry time

String

Time the message expires.

Data

String

Content of the message

Session-ID

Integer

Identifies the session for sending the Answer response.

Exit Paths

In addition to the default result exit path, the Subscribe Notifications Answer 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.

Diameter Error

Points to the next PAC to be executed in the event of a Diameter protocol error.

IMS Sh Error

Points to the next PAC to be executed in the event that the Sh response was an error.

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 when the operation returns an error.

Subscribe Notifications Request

Properties

The Subscribe Notifications Request PAC includes the General tab.

General
_images/Fig12_15.png
General Fields

Field Name

Type

Description

Destination realm

String

A type of Diameter ID used to specify the destination.

Handle responses

Checkbox

Allows the application to receive and react to message responses.

End-to-end ID(output)

Integer

Unique integer that is used to detect duplicate messages.

Timeout

String

Time to wait for a response before generating an error.

PublicIdentity/MSISDN

Radio Button

Unique ID for a GSM or UTMS handset.

Requested data

Drop-down List

Select the type of data to be requested.

Subscription request type

Drop-down List

Select subscribe or unsubscribe.

Send data indication

Checkbox

Indicates that data is included in the message.

Expiry time

String

Time the request message expires.

Service indication

String

The service to which the notification is sent.

Server name

String

Server to receive the request.

Result code

String

Contains the value representing the result of processing the request.

Data

String

Content of the message.

Experimental result

String

Contains the value representing the result of processing the request.

Expiry time

String

Time the answer message expires.

Exit Paths

In addition to the default result exit path, this 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.

Diameter Error

Points to the next PAC to be executed in the event of a Diameter protocol error.

IMS Sh Error

Points to the next PAC to be executed in the event that the Sh response was an error.

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 when the operation returns an error.

User Data Answer

Properties

The User Data Answer PAC includes the General tab.

General
_images/Fig12_16.png
General Fields

Field Name

Type

Description

End-to-end ID

Integer

Unique integer that is used to detect duplicate messages. The originator of an Answer message must ensure that the End-to-End Identifier field contains the same value that was found in the corresponding request.

Result Code/Experimental result

Radio Button

Contains the value representing the result of processing the request.

Data

String

Content of the message

Session-ID

Integer

Identifies the session for sending the Answer response.

Exit Paths

In addition to the default result exit path, the User Data Answer 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.

Diameter Error

Points to the next PAC to be executed in the event of a Diameter protocol error.

IMS Sh Error

Points to the next PAC to be executed in the event that the Sh response was an error.

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 when the operation returns an error.

User Data Request

Properties

The User Data Request PAC includes the General tab.

General
_images/Fig12_17.png
General Fields

Field Name

Type

Description

Destination realm

String

A type of Diameter ID used to specify the destination.

Handle responses

Checkbox

Allows the application to receive and react to message responses.

End-to-end ID(output)

Integer

Unique integer that is used to detect duplicate messages.

Timeout

String

Time to wait for a response before generating an error.

PublicIdentity/MSISDN

Radio Button

Unique ID for a GSM or UTMS handset.

Requested data

Drop-down List

Select the type of data to be requested.

Requested identity set

Drop-down List

Select the identity set when the Requested data is set to IMSPublicIdentity.

Initiate active location retrieval

Checkbox

Select to initiate active location retrieval. This option is based on the Requested data selected.

Requested domain

Drop-down List

Select PS Domain, CS Domain, or Not Specified.

Service indication

String

The service to which the notification is sent.

Server name

String

Server to receive the request.

Result code

String

Contains the value representing the result of processing the request.

Data

String

Content of the message.

Experimental result

String

Contains the value representing the result of processing the request.

Exit Paths

In addition to the default result exit path, the User Data Request 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.

Diameter Error

Points to the next PAC to be executed in the event of a Diameter protocol error.

IMS Sh Error

Points to the next PAC to be executed in the event that the Sh response was an error.

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 when the operation returns an error.

Third-Party Call Control PACs

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

For more information about the common Description tab and Custom tab, see Build Functions and Custom Results.

These PACs control the connection between two parties.

Outdial

The Outdial PAC performs third-party SIP call control by creating both call legs and bridging them together.

The A leg of the call represents a calling party who has initiated a call to the application server and is either connected to the media server for an IVR session or is on hold. The B leg of the call represents the called party that the calling party is trying to connect with.

The Outdial PAC provides many advanced features, including the following:

  • Connecting the calling party to early media, if provided by the connected SIP endpoint gateway/softswitch.

  • Outdialing the called party from a media server endpoint, in order to perform IVR on the answering party, or outdialing the called party and connecting them to a calling party.

  • Handling reliable provisional responses from the connected SIP endpoint gateway/softswitch.

  • Negotiating session timer functionality.

  • Automatically handling SIP redirect responses and re-issuing INVITEs to the gateway/softswitch specified in the Contact header of the redirect response.

  • Providing a configurable ring-no-answer timeout and handling call teardown in this scenario.

  • Optionally placing the calling party on hold before outdialing.

  • Optionally playing ringback tones or messages to the calling party as call progress is received on the B leg.

The call flow sequence is as follows:

  1. If the calling party is to be put on hold, an INVITE with a null SDP is sent to the calling party. After a final response is received, an ACK is sent to the calling party.

  2. An INVITE is then sent to the specified SIP address (typically a gateway or softswitch), including the SDP of the calling party.

  3. If a redirect response is received, a new INVITE is generated to the SIP URL specified in the Contact header. If the Contact header includes multiple addressees, these are tried in turn until the call is connected or a response is received that indicates that all of the contacts are attempted unsuccessfully.

  4. If a provisional response is received from the called party that includes an SDP, an INVITE is sent to the calling party to invite them to that early media session. If the provisional response requested a provisional acknowledgment, a PRACK is sent to the called party.

  5. If a final success response (200 OK) is received from the called party, an INVITE is sent to the calling party to INVITE it to the media session, unless the calling party has already been invited to an early media session and the final media session characteristics are identical to the early media session. ACKs are sent to both parties, and the PAC exits with the parties connected and sending media streams to each other. There are two SIP call legs: one from the calling party to the application server and one from the application server to the called party (the application is acting as a back-to-back user agent).

  6. If a final non-success response is received from the called party, an ACK is sent to the called party to conclude the transaction, and the calling party is left in its current state.

Properties

The Outdial PAC includes the General, Calling Party, Called Party, Ringback, and Additional Params tabs.

General
_images/Fig12_18.png
General Fields

Field Name

Type

Description

Calling number

String

Calling party number. The application must provide either the Calling Number or the From field on the Called Party tab. If the Calling Number is provided, the From header on the B leg is constructed as a SIP URL with the user part set equal to the value provided and the host part equal to the remote server.

Called number

String

Destination number. The application must provide either the Called Number or the To field on the Called Party tab. If the Calling Number is provided, the To header on the B leg is constructed as a SIP URL with the user part set equal to the value provided and the host part equal to the remote server.

Preferred carrier

String

Preferred carrier when there are multiple carriers. If provided, the value is prefixed to the user part of the From header on the B leg of the call.

Note

This feature requires special configuration and support from the softswitch in order to accomplish carrier routing. Not all softswitches are capable of supporting this feature.

Preferred codec

Drop-down List

Audio compression method. Value can either be selected from the list or be specified using a string or variable. If a specific codec is provided, then only that codec will be offered on the B leg. If the value “–no preference–” is selected, then the B leg will be offered all of the codecs that the A leg has indicated it can support, and codec selection will be negotiated between the endpoints.

Use reliable provisional responses

Checkbox

If selected, the SIP INVITE sent to the B leg will indicate that the application server supports reliable provisional responses.

Timeout

Integer, Short, Float

The number of seconds to wait before treating the call as a ring-no-answer scenario. If no value is provided, the application will wait forever for a final response from the B leg.

Return value

Integer

Integer variable to serve as an output variable that will contain a detailed error code should the PAC exit with an error. Possible error codes are as follows:

  • 0 - Success

  • 1 - Ring no answer timeout

  • 2 - Calling party refused to hold

  • 3 - Called party refused invite with no redirect

  • 4 - Application experienced an error sending a message

  • 5 - Application received an incorrect/unexpected reply

MS type

String

Only required if Connect caller to media server is selected on the Calling Party tab or Play ringback from media server is selected on the Ringback tab. Specifies the type of media server to use for the media commands. Allowed values are “PCS” for IMSWorkX software-based media server or “CONV” for Convedia hardware-based media server.

Note

If provided, the calling and called phone numbers will appear in the To, From, and RequestURI headers of the INVITE sent for the B leg in the following way:

Calling Party
_images/Fig12_19.png
Calling Party Fields

Field Name

Type

Description

Connect caller to media server/Connect caller to calling party

Radio Button

Determines whether the called party is connected to a media server endpoint or to a calling party. After the outdial is successfully completed, an IVR session can be conducted with the called party.

Endpoint type

Drop-down List

Select one of the following options:

  • Advanced audio endpoints support the IMSWorkX flexible audio package. All applications with IVR-type features should use this endpoint type.

  • Announcement endpoints are on a conferencing media server and support only the basic announcement package. These endpoints should be used with media servers that do not support complex prompting.

  • Conference endpoints are on a conferencing media server and support multiple connections and mixing of audio for conferencing.

Packetization period

Integer

Time interval in milliseconds for which samples are encoded to make up a frame when streaming audio prompts from the media server to the called party. Possible values are 10, 20, 30, or 40.

MS SDP

String

The Session Description Protocol (SDP) for the media server endpoint that is allocated, which describes the media formats and addresses that the media server is prepared to receive.

Endpoint

String

Identifies the endpoint on the media server that will be used to stream media to the called party. The endpoint, call ID, and connection ID must be supplied to subsequent IVR commands that operate on this media session.

MS call ID

String

Media server call ID.

Connection ID

String

Uniquely identifies the connection within an endpoint. Some media servers (such as Convedia) support multiple connections associated with a single endpoint.

Request DTMF events (RFC 2833)

Checkbox

If selected, all DTMF events will be carried as RTP payload packets in accordance with RFC 2833.

To

String

The To header that was received in the INVITE from the calling party.

From

String

The From header that was received in the INVITE from the calling party.

Call ID

String

The SIP call ID that is associated with the A leg.

Gateway/softswitch

String

The SIP URI that represents the remote signaling endpoint for the A leg.

CSeq

String

The current CSeq value for the A leg. This variable will be incremented automatically by the PAC after reINVITEs are sent to the A leg to connect to the B leg.

SDP

String

The Session Description Protocol (SDP) for the A leg, describing the media formats that the A leg is willing to receive.

Route

String

If provided, this is a comma-separated list of SIP URIs that requests sent by the application to the A leg should traverse.

Record route

String

If provided, this variable will be updated with the value of the Record-Route header received in the final response to the re-INVITE sent to the A leg.

Contact

String

If provided, this variable will be updated with the value of the Contact header received in the final response to the reINVITEs sent to the A leg.

Use session timer

Checkbox

If selected, determines that the application wants to indicate to the A leg that session timers are supported. This will be indicated by including the string “timer” in the Supported header of the SIP reINVITE sent to the A leg.

Timer value

Integer or String

This field is both an input and output variable. If the value of the variable upon entry of the PAC is non-zero, the outbound INVITE sent to the A leg will include the value in the Session-Timer header. Upon exit from the PAC, the variable will hold the Session-Timer value, negotiated with the A leg, or a value of zero if no session timer was required by the remote party. The value of the variable can either be an integer value indicating seconds (for example, “1000”) or a string value indicating both a suggested duration and a refresher (for example, “1000; refresher=uac”).

Place caller on hold before outdialing

Checkbox

If selected, calling party is put on hold before being connected to called party. This is useful when the calling party is connected to the media server for an IVR session prior to the outdial.

Interrupt call setup on long pound (“#”)

Checkbox

If selected, PAC handles reorigination of the call when the calling party dials the pound (#) key.

Note

The SIP INFO method of signaling long pound is currently used for this purpose. This feature is currently supported only when interfacing to the Sonus PSX Softswitch.

Called Party
_images/Fig12_20.png
Called Party Fields

Field Name

Type

Description

Call ID

String

The SIP call ID that will be associated with the B leg. If the variable provided is empty, then the PAC will generate a unique SIP call ID (which is recommended unless the PAC is being used within an existing SIP dialog). Upon exit, the variable is updated with the generated value.

Gateway/softswitch

String

The remote SIP URI that the INVITE message will be sent to. If that server responds with a 3xx Redirect response, the PAC will automatically redirect the call to the SIP URIs specified in the Contact header. The variable provided in this field will be updated upon exit to be the final SIP URI that an INVITE was sent to.

CSeq

String

The SIP CSeq value that will be used on the B leg. If the variable provided is empty, then the PAC will generate the CSeq value and update the variable accordingly (which is recommended unless the PAC is being used to send a reINVITE on an existing SIP dialog).

Backup softswitch

String

If the server specified in the Gateway/softswitch field does not respond to the INVITE within seven seconds, then the server at this SIP URI will be tried next.

Note

This does not mean that a final response needs to be received within seven seconds, but that a 100 Trying provisional response is received, which indicates that the server has received and is processing the message.

From

String

The From header that will be used on the B leg. If an empty string variable is provided, then the PAC creates the From header using the Calling Party Number and updates the variable provided.

SDP

String

The variable provided is updated with the Session Description Protocol (SDP) value returned from the remote endpoint on the B leg.

Use session timer

Checkbox

Indicates whether session timers are supported. If selected, the Invite sent to the calling party will include the “timer” entry in the Supported header of the SIP Invite. Be sure to also provide a variable in the Timer value field.

To

String

The To header used when sending this call out to the called party.

Timer value

Integer

This field is both an input and output variable. If the value of the variable upon entry of the PAC is non-zero, the outbound INVITE will include the value in the Session-Timer header. Upon exit from the PAC, the variable will hold the Session-Timer value negotiated with the remote party in the response to the Invite34 or a value of zero if no session timer was negotiated. If a session timer was negotiated with the remote party, the value of the variable in the Refresher field will hold a value of uac or uas, indicating whether the application (uac) or the remote server (uas) is responsible for sending the reINVITEs.

Note

If the remote server returns a 422 response to the INVITE, indicating that the Session-Expires value is too small, the PAC automatically resends the INVITE after increasing the Session-Expires value to be equal to the Min-SE value in the 422 response.

SIP status

String

Upon exit from the PAC, this variable will contain the integer value of the final SIP response received from the B leg.

Route

String

Specifies the route taken by a request. The route should be specified as a comma-separated list of SIP URLs. This is generally required only when the PAC is used within an existing SIP dialog with a B leg and when the initial dialog creation returned a Route header to use on subsequent requests.

Record route

String

Upon exit, this variable will contain the value of the Record- Route header received in the final response to the INVITE.

Contact

String

Upon exit, this variable will contain the value of the Contact header received in the final response. Together with the Record-Route header, this can be used to determine how to route further transactions within this SIP Dialog.

Refresher

String

On entry, should either be left blank or set to uac if the application wants to be responsible for sending the refreshing reINVITEs. Upon exit, the variable will have a value of uac if the application server should send the reINVITEs or uas if the remote side will be sending reINVITEs.

Remote party ID

String

A SIP Uniform Resource Identifier (URI) that identifies the remote party.

Ringback

The Ringback tab is used only if the media server will play a message or call progress tones to the calling party while the call is proceeding on the B leg. In general, it is preferable to connect the calling party to the early media generated from the B leg endpoint, and this feature is only needed in a case where the B leg endpoint returns a 180 Ringing call progress message without an SDP.

_images/Fig12_21.png
Ringback Fields

Field Name

Type

Description

Play ringback from media server

Checkbox

If selected, a ringback tone or prompt is played from the media server during call setup. The media server will play the requested tone or prompt if a provisional response is received from the B leg that does not include an SDP. In this case, the B leg endpoint is alerting via the provisional response that the remote phone is ringing, but there is no media stream from the B leg to connect the A leg to, so any ringback or call progress must be generated locally by the media server. The prompt or tone played will be discontinued as soon as a media stream can be established with the B leg (as soon as a provisional or final response is received from the B leg that includes an SDP).

Language

String

Enter the language code for the language in which you want the prompt played. The language code specified must be provisioned on the media server.

Ringback prompt

String

Select the ringback tone or message. Click the book icon to select from the full list of prompts in a .vox file (a compound file that can contain multiple prompts). Click the speaker icon to listen to the prompt you select.

Endpoint type

Drop-down List

Select one of the following:

  • Advanced audio endpoints support the IMSWorkX flexible audio package. All applications with IVR-type features should use this endpoint type.

  • Announcement endpoints are on a conferencing media server and support only the basic announcement package. These endpoints should be used with media servers that do not support complex prompting.

  • Conference endpoints are on a conferencing media server and support multiple connections and mixing of audio for conferencing.

Codec

Drop-down List

Audio compression method. Value can either be selected from the list or be specified using a string or variable.

Packetization period

Integer

The length of time in milliseconds to wait for the packets to be collected.

Exit Paths

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

Exit Path

Description

Success

Points to the next PAC in the event that the outdial attempt is successful.

Ring no answer

Points to the next PAC to be executed in the event that the call went through, but there was no answer.

Busy

Points to the next PAC to be executed in the event that the line is busy.

Caller DTMF Interrupt

Points to the next PAC to be executed in the event that the caller interrupts the operation by pressing a DTMF key.

Called party error

Points to the next PAC to be executed in the event that the B leg returns a nonsuccess final response.

Calling party error

Points to the next PAC to be executed in the event A leg returns a nonsuccess final response.

Other error

Points to the next PAC to be executed in the event that an unspecified error occurs.

Resource unavailable

Points to the next PAC to be executed in the event that the media server was unable to allocate an endpoint during an outdial from media server request.

Place a Call on Hold

The Place a Call on Hold PAC places a caller on hold by sending a SIP INVITE to the specified request uniform resource identifier (URI) with a null SDP. A null SDP is one in which the connection line (c=) has an IP address of 0.0.0.0.

Typically, an application places a caller on hold that initiated a call to the application. In this case, simply enter the SIP header fields exactly as received in the incoming INVITE.

Less frequently, an application can place a called party on hold. In this case, switch the To and From header values and the PAC will switch them back.

Properties

The Place a Call on Hold PAC includes the General tab.

General
_images/Fig12_22.png
General Fields

Field Name

Type

Description

To

String

To header of the existing SIP call leg that is being put on hold.

Call ID

String

Call ID of the SIP call leg being put on hold.

From

String

From header of the existing SIP call leg that is being put on hold.

Cseq

String

CSeq value from the SIP call leg being put on hold.

Gateway/proxy

String

SIP URL of the remote signaling endpoint of the call ID being put on hold.

SDP

String

Session description protocol (SDP) for the local end of the call leg being put on hold.

Route

String

Value of the Route header, if any, that is used for requests on the SIP call leg being placed on hold.

Contact

String

SIP URL for the local signaling endpoint.

Final response

String

Final response to Hold operation.

Record route

String

Record-Route header received on the final response, if any.

Exit Paths

In addition to the default result exit path, the Place a Call on Hold 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.