This document discusses solutions to distributed VXML and Voice GW deployments when Ingress-GW and VXML-GW are NOT residing on same router in SIP call flow scenarios.
When the VoiceXML and voice gateway functions reside at the same branch location but on separate devices, an IPCC design engineer should make sure that the VRU leg is sent to the local VoiceXML GW. There are two ways to ensure that the calls are handled within the branch and not sent across the WAN to a different VoiceXML gateway.
Two possible solutions
Configure Unified ICM with multiple Customers instances, one per location
Since this is not a scalable solution and also cannot be used if VRU is Type10 so we will not discuss it here.
Configure Unified CVP with setTransferLabel or SigDigits feature
If a customer has VoiceXML Gateway and Voice Gateway configured on the same router, then you should use CVP Call Server's “setTransferLabel” mechanism which applies only to co-resident VoiceXML and Voice Gateway configurations.
If a customer has VoiceXML Gateway and Voice Gateway configured on different routers, then you should use CVP Call Server's "SigDigits" mechanishm which applies to distributed VoiceXML and Voice Gateway configurations.
Unified CVP SigDigits Feature
The SigDigits feature in Unified CVP allows you to use the dial plan on the SIP Proxy to route calls to the correct site. When the call arrives at an ingress gateway, the gateway will prepend digits before sending the call to Unified CVP. Those prepended digits are unique to that site from a dial-plan perspective. When the call arrives at Unified CVP, Unified CVP will strip the prepended digits and store them in memory, resulting in the original DID on which the call arrived. Unified CVP then notifies Unified ICM of the call arrival using the original DID, which matches a Dialed Number in Unified ICM.
Call arrives at the Toronto voice gateway (TOR-V-GW) with a DID of 416-431-1000. The Toronto Voice Gateway will add 821 as a site code and will send it to central SIP Proxy server in Chicago. The Chicago SIP Proxy will send it to Chicago CVP server. So Chicago CVP Server will receive 821.416-431-1000. On the Chicago CVP server we have "SigDigits=3" configured. Chicago CVP server will strip 821 and will send 416-431-1000 as a dialed number to ICM
Unified ICM Returns a Label
When Unified ICM returns a label to Unified CVP in order to transfer the call to a VoiceXML gateway for IVR treatment or to transfer the call to an agent phone, Unified CVP will prepend the digits that it stored in memory before initiating the transfer. The dial plan in the SIP Proxy must be configured with the prepended digits in such a way to ensure that calls with a certain prepended digit string are sent to specific VoiceXML gateways.
ICM returns 416-431-2000 as label to queue the call at the edge Toronto VoiceXML gateway (TOR-VXML-GW). ICM will add 821 and will send the call to SIP Proxy server. Chicago SIP Proxy server will receive 821.416-431-2000. Based on the 821 site code, it will send call to TOR-VXML-GW for queuing.
How to turn on SipDigits Feature
To turn on this feature and specify how many significant digits should be stripped is to change the sip.SigDigits = X field in sip.properties file in all CVP Call Servers. Where X is the number of digits to be stripped.
SIP RingTone and Error Services
There is one caveat that SigDigits feature does not cover the 91919191 (RingTone) and 92929292 (Error) DNs for those services. What this means is that once the agent becomes available, CVP needs to pull the call that is queued at the edge on the VXML-GW and connect the caller to the agent. During this transition, CVP needs to play a ringback tone to the PSTN caller. CVP does that by initiating a SIP call (CVP sends a SIP invite) towards the VXML-GW by dialing 91919191 to play a rintone back.
VXML-GW matches this 91919191 on an incoming SIP VoIP dial-peer and sends ringback.wav file to the ingress Voice GW. This file is being stored in the VXML-GW and is benign sent to the ingress GW. So there will be g711 traffic will flow for some duration.