Print

SIP header support for CCXML and VoiceXML applications

Session Initiation Protocol (SIP) headers can provide additional information about a call that a CCXML or VoiceXML application can use to determine what processing needs to be done for that call. Experience Portal uses a collection of session variables to present this information to the application. However, not all SIP headers are accessible and many accessible headers are read only.

The following table lists the session variables that may accompany an inbound SIP INVITE. In the table, <sip> is the variable access string used to access the variables in a particular context. The valid strings are:

Variable access string Description
session.connection.protocol.sip This access string can be used by either CCXML or VoiceXML applications.
event$.info.protocol.sip This access string can used when variables arrive in the info map for a transition.

These variables are only valid within the transition in which they arrived.

session.connections['SessionID'].protocol.sip where SessionID is the session ID. This access string can be used to retrieve the variables from the connection object in the session variable space.

The variables exist between transitions but can be overwritten by new data at any time.

If you want to use a variable in your application, you must use the complete text in your code.

For example, if you want to access the <sip>.callid variable in a session with the session ID 1234, you would code one of the following, depending on the context in which you want to access the variable:

Session Variable SIP Header Notes
<sip>.callid Call-ID Uniquely identifies a particular invitation or all registrations of a particular client.
<sip>.contact[array].displayname

<sip>.contact[array].uri

Contact Provides the display name, a URI with URI parameters, and header parameters.
<sip>.from.displayname

<sip>.from.uri

<sip>.tag

From The initiator of the request.
<sip>.historyinfo[array].displayname

<sip>.historyinfo[array].user

<sip>.historyinfo[array].host

<sip>.historyinfo[array].optheader

History-Info This field is typically used to inform proxies and User Agent Clients and Servers involved in processing a request about the history or progress of that request.
<sip>.passertedid[array].displayname

<sip>.passertedid[array].uri

P-asserted Identity The verified identity of the user sending the SIP message.

This field is typically used among trusted SIP intermediaries to prove that the initial message was sent by an authenticated source.

<sip>.require Require The options that the User Agent Client (UAC) expects the User Agent Server (UAS) to support in order to process the request.
<sip>.supported[array].option Supported All extensions supported by the UAC or UAS.
<sip>.to.displayname

<sip>.to.host

<sip>.to.uri

<sip>.to.user

To The logical recipient of the request.
<sip>.unknownhdr[array].name

<sip>.unknownhdr[array].value

Unknown All headers not understood by Avaya Experience Portal are passed to the application through this array.
<sip>.useragent[array] User-Agent Contains information about the UAC originating the request.
<sip>.via[array].sentaddr

<sip>.via[array].sentport

<sip>.via[array].protocol

<sip>.via[array].branch

Via The path taken by the request to this point along with the path that should be followed in routing responses.
<sip>.name   This variable returns “sip” when the SIP protocol is used.
<sip>.version   This variable returns the SIP protocol version when the SIP protocol is used.
<sip>.requestmethod

<sip>.requestversion

<sip>.requesturi

<sip>.request.user

<sip>.request.host

<sip>.requestparams[array].name

<sip>.requestparams[array].value

“request” The various components of the request URI (INVITE). For example, this variable includes the parameters, user and host part of the URI, and the request method.
<sip>.respcode   The results of a transaction. The actual contents varies by transaction type.
<sip>.resptext   The results of a transaction. The actual contents varies by transaction type.