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.
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.
The Call a Function PAC includes the General tab.
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. |
The Call a Function PAC includes the default result exit path.
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.
The Drop to Java PAC includes the General tab.
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:
|
Add Parameters
Parameters to pass to a function can be input or output. Output parameters hold the data returned from the called function.
Click Add.
Enter the Parameter Name.
Select the Parameter Type.
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.
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. |
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.
The End the Session PAC requires no additional configuration.
The End the Session PAC has no pre-defined result exit paths.
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.
The Generic Action PAC includes the General tab.
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. |
The Generic Action PAC includes the default result exit path.
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.
The Perform Timer Operations PAC includes the General tab.
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. |
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.
The Return from a Function PAC transfers control from the current function back to the calling function.
The Return from a Function PAC includes the General tab.
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. |
The Return from a Function PAC includes the default result exit path.
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.
The Sleep PAC includes the General tab.
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. |
The Sleep PAC includes the default result exit path.
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.
The Test Values and Branch PAC requires no additional configuration.
The Test Values and Branch PAC includes the default result exit paths.
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.
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.
The Send a RADIUS Message PAC includes the General, Message Attributes, and Response Attributes tabs.
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. |
The Message Attributes tab allows you to add the applicable parameters to be included in the outgoing RADIUS message.
Add Parameters
Click Add.
In the Parameter field, select an optional attribute to be included in the outgoing message.
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.
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. |
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.
The Profile Update Answer PAC generates a Diameter Profile Update Answer Message that provides the requested user data.
The Profile Update Answer PC includes the General tab.
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. |
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. |
The Profile Update Request PAC generates a Diameter Profile Update Request message that sends new information to update the user data record.
The Profile Update Request PAC includes the General tab.
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. |
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. |
The Push Notification Answer PAC includes the General tab.
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. |
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. |
The Push Notification Request PAC generates a Diameter Notification request to push to the server.
The Push Notification Request PAC includes the General tab.
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. |
The Subscribe Notifications Answer PAC is the response to the subscriber for notifications.
The Subscribe Notifications Answer PAC includes the General tab.
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. |
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. |
The Subscribe Notifications Request PAC includes the General tab.
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. |
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. |
The User Data Answer PAC includes the General tab.
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. |
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. |
The User Data Request PAC includes the General tab.
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. |
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. |
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.
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:
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.
An INVITE is then sent to the specified SIP address (typically a gateway or softswitch), including the SDP of the calling party.
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.
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.
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).
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.
The Outdial PAC includes the General, Calling Party, Called Party, Ringback, and Additional Params tabs.
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:
|
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:
INVITE sip:called-number@gateway-ipaddress SIP/2.0
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:
|
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 |
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. |
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 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 |
Remote party ID |
String |
A SIP Uniform Resource Identifier (URI) that identifies the remote party. |
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.
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:
|
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. |
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. |
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.
The Place a Call on Hold PAC includes the General tab.
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. |
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. |