SIP header support for CCXML and VoiceXML applications

Last Updated : Dec 06, 2012 |
Prolog information
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.connection.protocol.sip.callid
  • event$.info.protocol.sip.callid
  • session.connections['1234'].protocol.sip.callid
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.