Unsupported VXML 2.0 Features
Given below are properties and variables that are specific extensions to the IP Media Server implementation of VXML 2.0.
session.connection.media
“type” – indicates the MIME type of media stream (currently either “audio” or “video”)
“subtype”
– indicates the MIME sub-type, or encoding, of the media stream (e.g. PCMU,
PCMA, H264, etc.)
session.connection.protocol.sip.parameter
Value: An array of name/value pairs parsed from the SIP Request-URI; the name and value are "UnEscaped," meaning any SIP escapes (%xx) in the URI are expanded before being assigned.
session.connection.protocol.sip.parameter[n].name
Value: The name of the nth parameter.
session.connection.protocol.sip.parameter[n].value
Value: The "value" (if any, can be empty) of the nth parameter.
session.connection.protocol.sip.uri Value: Set to the SIP Request-URI. Note that any SIP escapes (%xx) in the Request-URI are still in this variable as well. This variable duplicates the session.connection.local.uri by design. session.connection.protocol.sip.to Value: Set to the SIP To-URI. Since the VoiceXML 2.0 defined session.connection.local.uri variable is mapped to the request URI a separate variable is required to contain the contents of the SIP To header.
session.connection.protocol.sip.from
Value: Set to
the SIP From-URI. This variable duplicates the session.connection.remote.uri by design.
session.connection.protocol.sip.call_id
Value: Set to the SIP Call ID.
Example
This example shows the mapping between SIP headers and the newly supported VoiceXML session variables. Given the following SIP INVITE request:
INVITE
sip:dialog@10.102.4.26;voicexml=http://10.102.4.9:9020
/ivr/sip_init.vxml%3fdnis%3d961234567%26hasvide o%3d1;dogs=nice;user=phone
SIP/2.0
From: <sip:968037431@10.102.4.45:5060>;tag=2d04660a-13c4-40ed433f-9ec19fd-1786
To: <sip:961234567@10.102.4.9>
Call-ID: 6a7b774-2d04660a-13c4-40ed433f-9ec19fd-7061@10.102.4.45
CSeq: 1 INVITE
Via: SIP/2.0/UDP 10.102.4.134:5060;branch=z9hG4bKi8MKi8i!yi8MK2S sMu8Uyake2q0OUqMi8i!y.1-1d9515c
Via: SIP/2.0/UDP 10.102.4.45:5060;received=10.102.4.45;branch=z9 hG4bK-40ed433f-9ec19fd-847
Max-Forwards: 69
User-Agent: RADVision
ViaIP GW Vers. 1.0
Call-Info: <Media:Video>;purpose=info
Contact: <sip:968037431@10.102.4.45:5060>
Content-Length:0
The
IP Media Server populates the new VoiceXML session variables, as shown:
session.connection.protocol.name = "SIP"
session.connection.protocol.version = "2.0"
session.connection.local.uri = sip:dialog@10.102.4.26;voicexml=http://10.102.4
.9:9020/ivr/sip_init.vxml%3fdnis%3d961234567%26 hasvideo%3d1;dogs=nice;user=phone"
session.connection.remote.uri = <sip:968037431@10.102.4.45:5060>;tag=2d04660a-13c4-40ed433f-9ec19fd-1786
session.connection.protocol.sip.parameter[0].name = "voicexml"
session.connection.protocol.sip.parameter[0].value = "http://10.102.4.9:9020/ivr/sip_init.vxml?dnis=
961234567&hasvideo=1"
session.connection.protocol.sip.parameter[1].name = "dogs"
session.connection.protocol.sip.parameter[1].value = "nice"
session.connection.protocol.sip.parameter[2].name = "user"
session.connection.protocol.sip.parameter[2].value = "phone"
session.connection.protocol.sip.uri = sip:dialog@10.102.4.26;voicexml=http://10.102.4
.9:9020/ivr/sip_init.vxml%3fdnis%3d961234567%26 hasvideo%3d1;dogs=nice;user=phone"
session.connection.protocol.sip.to = <sip:961234567@10.102.4.9>
session.connection.protocol.sip.from = <sip:968037431@10.102.4.45:5060>;tag=2d04660a-13c4-40ed433f-9ec19fd-1786
session.connection.protocol.sip.call_id = 6a7b774-2d04660a-13c4-40ed433f-9ec19fd-7061@10.102.4.45