Archive

Archive for the ‘CCIE VOICE’ Category

Distributed Voice and VXML Gateway Design with CVP SIP Deployments

September 9, 2012 3 comments

Introduction

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.

 

Example

 

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.

 

Example

 

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.

Categories: CCIE VOICE, RealTime DB, Troubleshoot Tags:

H.323 Call Flow for CVP Comprehensive Deployment Model

September 9, 2012 Leave a comment

Introduction

This document discusses very high level and brief over view of H.323 Call Flow in CVP Comprehensive Deployment Model.

The PSTN call could arrive using a traditional T1/E1 PRI trunk or using some IP based trunk potentially a SIP trunk. The PSTN call will be terminated on a Cisco voice gateway in case of T1/E1 PRI trunk for example. And from the voice gateway it could be sent to a H.323 gatekeeper or directly to the CVP depending on the deployment.

 

  PSTN----T1/E1-----VGW----GK----->CVP

OR

 

  PSTN----T1/E1-----VGW----------->CVP

In case of SIP trunk, it will be terminated on a Cisco Unified Border Element (also called Session Border Controller). From here it could be sent to a Cisco Unified Presence Server (CUPS) SIP Proxy Server or directly to the CVP depending on the deployment.

 

  PSTN----SIP------CUBE----CUPS-SIPProxy----->CVP

OR

 

  PSTN----SIP------CUBE---------------------->CVP

 

 

Call Flow

1. Public switched telephone network (PSTN) call arrives at the ingress voice gateway (VGW).

2. Ingress VGW delivers the call to CVP (with H.323).

3. CVP informs ICM of the new call. This leg is the switch leg of the call. ICM routing script instructs CVP to perform queuing or self-service application (using CVP studio).

 

  CVP-----Switch-Leg----->CUICM

4. CVP transfers the call to the Voice Extensible Markup Language (VoiceXML) gateway for VRU leg operation to perform prompt/queuing or self-service. VoiceXML gateway fetches VoiceXML pages from the CVP Call Server and/or CVP VoiceXML Server.

 

  CVP-----VRU-Leg-------->VXML-GW

5. After the self-service session or queuing, eventually ICM sends an agent label (directory number) to CVP to transfer the call to the agent.

 

  CUICM-----agent-label------>CVP

6. CVP tears down the VRU leg towards the VoiceXML gateway and transfers the call to the agent through IP switching by performing the call setup (H.323) to the destination IP device (egress VGW or Communications Manager, etc.) and redirecting the switch leg media stream to the agent destination. CVP remains in the call signaling path for subsequent transfers as needed and the media flows from the ingress VGW to the destination IP endpoint.

 

Categories: CCIE VOICE, RealTime DB, Troubleshoot Tags:

SIP Call Flow with CVP Comprehensive Model

September 9, 2012 1 comment

Introduction

This documents aims to provide detailed SIP CVP comprehensive Call Flow with the debugs captured from the CVP logs and IOS/VXML Gateways

Network Setup

The setup is very simple to demonstrate the SIP call flow.

  • A call comes in from PSTN Phone and goes to the ingress gateway
  • Ingress gateway is also acting as VXML Gateway for this setup
  • Ingress gateway sends the call to CUP SIP Proxy
  • CUP SIP Proxy sends the call to the CVP Call Server
  • CVP Call Server will send the call to ICM
  • Agents are connected to the CUCM

Following script is being used (Notice that Microapps are being used and no Call Studio script is being used in this setup)

ICM Script Flow

  • Call comes in and hit Start
  • Some variables are being set (HTTP Media Server IP Address, Directory Name for the stored media files, en-us locale, input type being set it digits etc.)
  • Then call is being sent to VRU which VXML-GW
  • VXML instructions are being sent to the VXML-GW
  • Save the digits into a variable
  • Play those digits back to the caller
  • Set LAA (Longest Available Agent) agent selection algorithm
  • Wait in the queue for agent to become available
  • During this time play a hold music to the caller in the loop

In the following section the details will be discussed step by step

(1) Call Comes in from the PSTN

PSTNph---PSTN----Ingress-gw----->CUPS

Call matches an incoming pots dial-peer for the destination number. It is important to configure cvp-survivability service under the POTS dial-peer. If this service is not configured on the incoming pots dial-peer, the ingress gateway will not be able to communicate with the CVP Call Server and might receive “SIP/2.0 503 Service Unavailable” message from the CVP Call Server.

dial-peer voice 1 pots
service cvp-survivability
incominca-called-number 5417641400
direct-inward-dial

In the event of some critical CVP application failure, survivability.tcl script will attempt to recover and smoothly disconnect the caller after playing critical_error.wav file from Ingress-GW’s flash. It is very important to have this script because this script also plays pleasewait.wav and holdmusic.wav files from flash depending on situation.

Call Matches following outbound sip voip dial-peer on the ingress-gw

dial-peer voice 1400 voip
translation-profile incoming block
preference 1
max-conn 2
destination-pattern 5417641400
session protocol sipv2
session target ipv4:10.4.33.97 ## CUPS SIP PROXY SERVER IP ADDRESS
dtmf-relay rtp-nte
codec g711ulaw
ip qos dscp cs3 signaling
no vad

CUPS load balance the call because there are static routes configured in it and sends call to CVP Call Server

Destination         VP Server IP Address         Priority           Weight  Protocol      
 5417641400          10.4.33.131 5060                1              1       UDP
 5417641400          10.4.33.132 5060                1              1       UDP 
 5417641400          10.4.33.133 5060                1              1       UDP

(2) CUPS —-> CVP Server

Call lands to the CVP Call SERVER and in the CVP Call Server log you could see following

[CVP Server Logs]

3052: 10.4.33.131: Mar 13 2008 14:34:39.703 -0700: %CVP_7_0_ICM-7-CALL: {Thrd=Pool:ICM[1450]} 
CALLGUID =  8B82AD85F07B11DC80250013192D1650, DLGID = 21 [SIP_LEG] - Publishing ,,    
[ICM_NEW_CALL],dialogueId=21,   sendSeqNo=1,trunkGroupId=100,trunkNumber=0,serviceId=1,
dialedNumber=5417641400,uui=,, LEGID = 8C1C7CEE-F07B11DC-8177F66C-9B680D18,DNIS = 5417641400,ANI = 4085274003

(3) CVP Server —> CUICME via VRU-PG

CVP Server sends the call to CUICM via VRU PG. Notice that we didn’t configure the IP address of the CUICM or the VRU-PG in the CVP Call Server. CVP Call Server automatically sends the information to the CUICM’s VRU-PG, because during the CUICM configuration, we had already specified the IP addresses of our CVP Call Servers. The VRU PG will connect to the ICM Service on the CVP Call Server. Once that TCP socket is established, the CVP acting as the routing client functionality becomes active in ICM and CVP will communicate with ICM/PG over that socket.

(4) CUICM [Runs Routing Script]—>Generates Label+Correlation-ID

When call arrives at CUICM, it causes Unified ICM to run a routing script. In the routing script there is a node called SendToVRU node (Remember: VRU in our case is VXML-GW and SendToVRU node is added right after setting the basic variables). The SendToVRU is what triggers ICM to transfer the call to the VXML GW (which is the VRU). The routing script will typically initiate a transfer of the call to a VoiceXML Gateway port (due to SendToVRU node) via the SIP Service. You could see following in the router process windows on the CUICM Server

[CUICME Router Logs]
14:51:07 Trace: CT_SL_Timer(56)(Init): CT(5000,PreSales_CT), Threshold(20 + 2).
14:51:07 Trace: Correlation id for dialog (23 x 0 : 0 0) is (44).
14:51:07 Trace: Dialog (23 x 44 : 0 0) transfer label = 5417641401

As you can see from above that ICM returns a VRU label 5417641401+correlation-id (44) back to CVP Call Server (Remember CVP Server was the routing-client).You can see the same information on the CVP Call Server logs that a call goes to ICM and ICM returns a label back to the CVP Call Server (Which is the routing-client for ICM). This correlation-id (which is 44 in our case ) will be appended at the end of the label.

[CVP Call Server Logs]
3053: 10.4.33.131: Mar 13 2008 14:34:39.718 -0700: %CVP_7_0_ICM-7-CALL: {Thrd=Pool:ICM[1451]} 
CALLGUID = 8B82AD85F07B11DC80250013192D1650, DLGID = 21 [SIP_LEG] - Processing ,,  
[ICM_TEMPORARY_CONNECT],   dialogueId=21,sendSeqNo=1,   label=5417641401,   correlationId=44,, 
LEGID = 8C1C7CEE-F07B11DC-8177F66C-9B680D18, DNIS = 5417641400, ANI = 4085274003

Now CVP Call Server will send this VRU label (5417641401+44) to the VXML GW (It is more accurate to say that CVP transfers the call TO the VXML GW, with the label+correlation ID as the destination phone number). In our case, it is only coincidence that the VXML GW is the same as the ingress GW. The “transfer” that CVP does is not a typical one either, because CVP stays in the call path (whereas usually the transferor drops out of the call path).

In reality CVP is setting up a NEW call to the VXML GW and is shuffling the SDP from the ingress GW to the VXML GW in order to connect the media directly (similar to CUCM or CUBE in flow-around mode). CVP stays in the signaling path so that it can retain call control.

[VXML-GW Debugs]

debug voip application vxml
calling Number=sip:4085274003@10.4.33.131:5060,(Calling Name=)(TON=National, NPI=ISDN, 
Screening=User, Passed, Presentation=Allowed),
Called Number=sip:541764140144@10.4.33.1:5060;transport=tcp(TON=Unknown, NPI=Unknown)

This label matches 1401 voip dial-peer in the VXML-GW and invokes bootstrap VXML application.

dial-peer voice 1401 voip

translation-profile incoming block
service bootstrap
session protocol sipv2
incoming called-number 5417641401T           ## T is used to match the correlation-id
dtmf-relay rtp-nte
codec g711ulaw
ip qos dscp cs3 signaling
no vad

The bootstrap VXML application tells the CVP that it is a new call and CVP then sends the same label (5417641401+44) back to ICM. Once ICM sees its own generated label, this actually completes the loop and ICM at this point knows that there is a VXML Gateway ready to accept the instructions.

(5) CUICM—> RunExternalScript node

The steps below are the RunExternalScript nodes that tell CVP what VXML pages to send to the VXML gateway (play prompt, get digits, etc). CUICM execute the script instruction called “RunExternalScript”. This basically tells CVP that IVR related instructions are coming. CUICM then sends instructions like for example “Get4Digits”. CVP sends this instruction to VXML-GW to play the prompt to the caller. When caller enters the digit, ICM stores it in its variable [for example Call.CallerEnteredDigits variable].

[VXML-GW Debugs]
063686: Mar 13 18:25:14.383 PST: //404/vapp_digit_collection_done: digits [5432], status [0], pattern [v0]
063687: Mar 13 18:25:14.383 PST: //404/vxml_digit_collection_done:
  vxmlp 6A6D1EA4 status 0 async_status 200000000
063688: Mar 13 18:25:14.383 PST: //404/vxml_digit_collection_done: digits (5432)

ICM Script then instructs CVP to play the prompts back to the user on the PSTN side. For simplicity we can say that in order to do that CVP makes an inbound call to the VXML gateway by dialing 987654 and plays the prompt. But in reality we wouldn’t say that CVP makes an inbound call to the VXML gateway (since that already happened above). The 987654 is actually a transfer instruction that was received via VXML from CVP, the only reason it exists is because it is a workaround for some problem with playing media files and retaining the vxml session.

[VXML-GW DEBUGS]
063767: Mar 13 18:25:14.407 PST: //404/vxml_item_attrs_proc:
  name=mycall
  URI(abs):phone://987654
  scheme=phone
  host=987654 bridge=1 connecttimeout=0 maxtime=0 desttype=-1 destplan=-1 
  anitype=-1 aniplan=-1 anipi=-1, anisi=-1 rdntype=-1 rdnplan=-1 rdnpi=-1, rdnsi=-1, redirectreason=-1

063779: Mar 13 18:25:14.407 PST: //404/vapp_media_play: prompt=http://10.4.33.130/en-us/sys/5.wav:
063780: Mar 13 18:25:14.407 PST: //404/vapp_media_play: prompt=http://10.4.33.130/en-us/sys/4.wav:
063781: Mar 13 18:25:14.407 PST: //404/vapp_media_play: prompt=http://10.4.33.130/en-us/sys/3.wav:
063782: Mar 13 18:25:14.407 PST: //404/vapp_media_play: prompt=http://10.4.33.130/en-us/sys/2.wav:

(6) CUICM—->Agent

  • When an agent becomes available, ICM instructs CVP to transfer the call to the agent.
  • CVP will disconnect the call to the VXML GW (SIP BYE), will send a re-INVITE back to the ingress gateway to stop media, and will send a new INVITE to the agent phone and to the ringtone service below.
  • When the ringtone service answers, a re-INVITE is sent to the ingress gateway with the VXML GW’s SDP in order to establish the media stream for the ringback.
  • Once the Agent answers the phone, CVP disconnects the call to the VXML GW (with BYE & re-INVITE same as before), and then connects the media stream from the ingress gateway to the agent phone.
  • In this entire call flow, there have been 4 distinct SIP phone calls that are separate from each other:
    • ingress gateway to CVP;
    • CVP to VXML GW (IVR);
    • CVP to VXML GW (ringtone);
    • CVP to Agent.
  • Each phone call, from a SIP perspective, is completely separate from the others, because CVP is a B2BUA and not a proxy.
  • Whenever CVP does a transfer, it disconnects the previous destination that the caller was connected to and connects them to the new destination.
  • Thus, CVP acts as a pivot point for the call.
  • Since CVP is under control of ICM, that is what makes CVP so powerful – the ability to control the call from very first component that received the call. This is in contrast to a typical PBX/ACD (including CUCM) where the transfers are tromboned through every component that was involved in the call, tying up additional DS0’s or memory.
  • In a SIP call flow, during the time when CUICM is transferring call over to the agent, there is a need to play ringtone back to the caller. And also if in case there is an error during transfer, CVP should be able to play error tone back to the caller. These tones will be generated by playing a .wav file off of the VXML gateway flash.
  • In the CVP, there are two parameters under SIP section. These are the DNs that CVP sends to VXML GW when there is a need to generate the ringtone or error tone.
  • When these numbers reach the VXML GW, it matches with an incoming voip dial-peer and VXML GW starts the respective service/app
dial-peer voice 9191 voip
service ringtone
incoming called-number 91919191
dtmf-relay rtp-nte h245-signal h245-alphanumeric
codec g711ulaw
session protocol sipv2
no vad
!
dial-peer voice 9292 voip
service cvperror
incoming called-number 92929292
dtmf-relay rtp-nte h245-signal h245-alphanumeric
codec g711ulaw 
session protocol sipv2
no vad
  • You can see the VXML-GW playing the file by noticing the following debugs
[Debugs VXM GW]
062151: Mar 13 18:14:12.483 PST: //383/tcl_MediaObjCmd:  media play leg_incoming flash:ringback.wav
062152: Mar 13 18:14:12.483 PST: //383/tcl_MediaPlayObjCmd:  play leg_incoming flash:ringback.wav

NOTE: Ignore the timestamp in the debug messages. These debugs were captured by making multiple calls over a period of time

Different Gateway Applications

bootstrap.tcl

The script extracts required parameters and then hands off the call to the boot strap VXML service named “new-call” which loads the bootstrap.vxml file. This VXML page then submits a new call HTTP request to the Customer Voice Portal (CVP) IVR Service which kicks off a sequence of VXML communications between the VXML Gateway and the CVP IVR Service, commonly called “MicroApps”. For SIP calls, this script extracts Call GUID, Call Server URL, and DNIS. Call Server host is extracted from the App-Info header. For H.323 calls, Call GUID and DNIS are extracted. Call Server is also extracted from the call data. For both SIP and H.323 calls, the Call GUID is normalized in base16, 35 char length hex format as follows(not base10, 43 char length):
HHHHHHHH-HHHHHHHH-HHHHHHHH-HHHHHHHH

bootstrap.vxml

The VXML-GW sends a new call request to the Customer Voice Portal (CVP) IVR Service which kicks off a sequence of VXML communications between the VXML Gateway and the CVP IVR Service, commonly called “MicroApps”. Any HTTP errors, or fetch errors (7 second timeout), will handoff to recovery.vxml in flash and handoff.tcl in flash.

Handoff.tcl

Handoff.tcl has the sole job of disconnecting a call with a code an ISDN Q.850 code of 38.

survivablity.tcl

This service should be placed on the ingress-gw on the incoming pots dial-peer that is destined for CVP. In the event of critical CVP application errors or a WAN failure that would normally disconnect the caller, this script allows the gateway to attempt a transfer to some alternate location after the failure occurs instead of disconnecting the caller. In the event that the call cannot be transfered to an alternate agent, the script will play a “call-back-later” message and disconnect.

By VKN

Cisco CVP Installation (test)

September 9, 2012 Leave a comment

Prerequesites

  • The CVP server hostname should not contain any hyphen
  • Arrange for CVP license
  • Regional and language options should be set to English

Pict1.gif

  • Text services and input languags options should be set to English (United      States) – US

Pict2.gif

  • Only one Ethernet connection should be active on the CVP machine

Pict3.gif

  • Install Network Monitor Tools, Simple Network Management Protocol, WMI SNMP Probe     Provider, and WMI Windows Installer Provider

CVP Call Server, Operation Console and Media Server  Installation

In our laboratory deployment, CVP Call Server, Operation Console and Media    Server are collocated on the same machine.

Follow the screen shots below to complete the installation

  • Select the options that you want to install
  • Add the name and other related information
  • Enable the services automatically after the installation is done
  • For this lab installation support tools are disabled but in real      installation, they are highly recommended and desired

Pict7.gif 

CVP Component Configuration

There are several components that needs to be configured before CVP can    operate properly. They are

  • CVP Medial Server Configuration
  • CVP Call Server Configuration

This document is not including CUPS (For SIP Proxy functionality), TTS and    VXML Server.

CVP Media Server Configuration

This setup used Microsoft IIS as the web server to host the media files.

  1. Enable read permission to the directory where .wav files are saved.
  2. Make sure anynymous access is enabled and the built-in IIS User is assigned.

CVP Call Server Configuration

Before configuring CVP call server, it should be important to know little bit    about the setup and SIP call flows. In this setup since we are not using CUPS,  we   will use Call Flow Model#1. Notice that these call flows are valid for Type  10   VRU only. Also notice that cid is actually correlation id that is a numerical    value.

    Call Flow Model#1 without CUPS

PSTN Originated Calls

CUCCE Pilot   Number                         Caller dials 541-764-1400 from PSTN

Processing at Ingress   GW                  Ingress gateway sends this call to CVP Call Server

Processing at   CVP                            CVP will send the call to CUICM via a static SIP route as a new route request

Routing   Client                                    CVP is the routing client

Label Returned to CVP by   CUICM      541-764-1401+cid

Processing at   CVP                             CVP Call Server sends this label 541-764-1401+cid to VXML-GW
Processing at   VXML-GW                    VXML-GW has an incoming dial-peer configured that invokes the bootstrap tcl service.   Now a sequence of VXML communications happen between the VXML GW and CVP IVR   Service
This communication happens via MicroAppas.
Processing at   CVP                            At this point CVP sends the same label 541-764-1401+cid to CUICM
Processing at   CUICM                        If agent is available then CUICM sends a new label which is basically the Agent’s   IP Phone extension to CVP  to informs thatVXML-GW resources are engaged
Processing at   CVP                           CVP has a static SIP route configured that would send call to agent’s ip   phone

CUCM Originated Calls

CUCCE Pilot   Number                                IP Phone caller dials CTI route point number 541-764-3000
Routing   Client                                           CUCM is the routing client
Label Returned to CUCM by   CUICM          541-764-1402+cid
Processing at   CUCM                                CUCM receives ths label and send the call to CVP Call Server
Processing at   CVP                                   CVP receives this label and send it to CUICM as a new route-request.
Routing   Client                                          Notice that now CVP is the routing-client and controls the Call States.  CUCM is   out from the picture.
Processing at   CUICM                              CUICM receives its own generated label again and knows that loop is complete.  And   then generates a new label 541-764-1401+cid and sends to CVP

Processing at   CVP                                 Call Server send this label 541-764-1401+cid to VXML-GW

Processing at   VXML-GW                        VXML-GW has an incoming dial-peer configured that basically invokes the bootstrap tcl   service
Now a sequence of VXML communications happen between the VXML GW and CVP IVR   Service.
This communication is called MicroAppas.

Processing at   CVP                                At this point CVP sends the same label 541-764-1401+cid to CUICM  to inform   thatVXML-GW resources are engaged
So once you understand the high level   overview of the call flow, it will  be easy to understand the static routes that   needs to be added to CVP Call  Server.

     Local SIP Static   Routes in CVP

5417641400
CUICM:   192.168.93.130
Route request   to CUICM
91919191
VXML-GW:192.168.93.1
To play ringtone
92929292
VXML-GW:192.168.93.1
To play error tone

5417641401
VXML-GW:192.168.93.1
Label+cid sent to   VXML-GW to invoke bootstrap service
5417644…
CUCM:192.168.93.100
For CVP to dial   agent ip phone extension

CVP Operation Console Server

CVP Operation Console Server provides web based front end to configure  different   components in CVP environment.

CVP Call Server General Settings

Pict8.jpg

Pict9.jpg

CVP Call Server ICM Configuration

Pict10.jpg

CVP Call Server SIP Configuration

Default information was used and no fields were modified in the following    picture

Pict11.jpg

CVP Call Server Local SIP Static Routes

Pict12.jpg

VXML and Ingress Gateway Configuration

In this setup, same router is used as an ingress as well as VXML gateway.   Notice  that due to VXML compatibility issues, all Cisco IOS versions are not   approved.  In this lab setup c3725-adventerprisek9-mz.124-15.T1.bin is used.

Copy following files to VXML Gateway flash memory

bootstrap.tcl
bootstrap.vxml
cvperror.tcl
CVPSelfService.tcl
CVPSelfServiceBootstrap.vxml
survivability.tcl
handoff.tcl
ringtone.tcl
recovery.vxml
holdmusic.wav
ringback.wav
pleasewait.wav
critical_error.wav
en_0.wav

Configuration

cvp-vxml-gw#sh run
!
hostname cvp-vxml-gw
boot system flash flash:c3725-adventerprisek9-mz.124-15.T1.bin
enable password lab
ip cef
!
voice service voip
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
signaling forward unconditional
h323
emptycapability
h225 id-passthru
h245 passthru tcsnonstd-passthru
sip
bind control source-interface FastEthernet0/0.93
bind media source-interface FastEthernet0/0.93
rel1xx disable
min-se  360
header-passing
!
voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g711alaw
codec preference 3 g729r8
!
voice class h323 1
h225 timeout setup 3
!
application
service new-call flash:/bootstrap.vxml
paramspace english language en
paramspace english index 0
paramspace english location flash:
paramspace english prefix en
!
service cvp-survivability flash:survivability.tcl
paramspace english index 0
paramspace english language en
param alert-timeout 20
paramspace english location flash
paramspace callfeature med-inact-det enable
param setup-timeout 7
paramspace english prefix en
!
service ringtone flash:ringtone.tcl
paramspace english index 0
paramspace english language en
paramspace english location flash
paramspace english prefix en
!
service recovery flash:/recovery.vxml
paramspace english language en
paramspace english index 0
paramspace english location flash:
paramspace english prefix en
!
service cvperror flash:cvperror.tcl
paramspace english language en
paramspace english index 0
paramspace english location flash
paramspace english prefix en
!
service takeback flash:survivability.tcl
paramspace english language en
paramspace english index 0
paramspace english location flash
paramspace english prefix en
!
service bootstrap flash:/bootstrap.tcl
param gtd_format1 ascii
param gtd-field0 noa
paramspace english language en
param gtd-attribute0 rgn
paramspace english index 0
param gtd-field1 dat
paramspace english location flash
param gtp-instance0 1
param gtd-attribute1 fdc
paramspace english prefix en
!
!
vxml version 2.0
!
controller T1 ½
description Incoming and outgoing T1 PRI Trunk
framing esf
linecode b8zs
pri-group timeslots 1-24
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
!
interface FastEthernet0/0.1
description Admin VLAN
encapsulation dot1Q 1 native
ip address 36.36.36.1 255.255.255.0
!
interface FastEthernet0/0.93
description Voice, Data and Server VLAN
encapsulation dot1Q 93
ip address 192.168.93.1 255.255.255.0
h323-gateway voip interface
h323-gateway voip bind srcaddr 192.168.93.1
!
interface Serial1/2:23
no ip address
encapsulation hdlc
isdn switch-type primary-ni
isdn incoming-voice voice
no cdp enable
!
router ospf 7
log-adjacency-changes
network 36.36.36.0 0.0.0.255 area 0
network 192.168.93.0 0.0.0.255 area 0
!
ip http server
no ip http secure-server
!
voice-port 1/2:23
!
dial-peer voice 1400 voip
description TO CVP CALLSERVER
preference 1
max-conn 2
destination-pattern 5417641400
session protocol sipv2
session target ipv4:192.168.93.3
dtmf-relay rtp-nte
codec g711ulaw
ip qos dscp cs3 signaling
no vad
!
dial-peer voice 1401 voip
description From CVP Call Server. To match label generated for CVP RC
service bootstrap
session protocol sipv2
incoming called-number 5417641401T
dtmf-relay rtp-nte
codec g711ulaw
ip qos dscp cs3 signaling
no vad
!
dial-peer voice 1 pots
incoming called-number .
direct-inward-dial
!
dial-peer voice 3000 voip
description PSTN->CCM
destination-pattern 5417644…
session protocol sipv2
session target ipv4:192.168.93.100
dtmf-relay rtp-nte h245-signal h245-alphanumeric
codec g711ulaw
ip qos dscp cs3 signaling
no vad
!
dial-peer voice 2 pots
description calls from PSTN to CUCCE pilot number will match this first
service cvp-survivability
incoming called-number 5417641400
direct-inward-dial
!
dial-peer voice 9292 voip
service cvperror
session protocol sipv2
incoming called-number 9292T
dtmf-relay rtp-nte h245-signal h245-alphanumeric
codec g711ulaw
no vad
!
dial-peer voice 9191 voip
service ringtone
session protocol sipv2
incoming called-number 9191T
dtmf-relay rtp-nte h245-signal h245-alphanumeric
codec g711ulaw
no vad
!
line vty 0 4
password lab
login
!
cvp-vxml-gw#

CVP VXML Server

Untill this point we have configured CUICM and CVP in generatl. There is    another component called VXML Server that play vital role in the solution,    although not required.

Few things to remember

  • Voice Browser is also called VXML browser
  • VXML browser is basically the Cisco IOS VXML Gateway
  • VXML gateway browser pages from CVP VXML server (Like FireFox browser     browse  web pages from an Apache web server)
  • Every communication process between the VXML browser and Voice Application      has to be initiated by the VXML browser as a request to the VXML server.

By Vkn

Categories: CCIE VOICE, RealTime DB, Troubleshoot Tags:

All About Deploying CVP Self Service Applications

September 9, 2012 Leave a comment

Introduction

This document will cover the design and deployment of CVP Self Service Model by using CVP Standalone VXML Server and Cisco Unified Call Studio Applications. The document will also discuss the steps required in configuring these components from a high level.

This document provides information to help engineers and customers (who already have some knowledge about the Self Service IVR applications, Cisco Unified Contact Center Enterprise (CUCCE) and Cisco Unified Customer Voice Portal (CUCVP) solutions) looking to grow the business and to maximize the return of their investment by having very advanced and quickly deployed SelfService applications.

Prerequisites

Requirements

Cisco recommends that you should have at least basic knowledge of these topics:

  • Cisco Unified Cisco Voice Portal (CUCVP)
  • Cisco Voice Gateways

This document also assumes that you have following components already installed and basic configuration is already done

  • CVP VXML Call Studio
  • CVP VXML Server
  • CVP VXML Studio license file
  • CVP VXML Server license file using OAMP
  • Basic Configuration of ingress Gateway

Components Used

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

The information in this document is based on these software and hardware versions used:

Hardware Components

The following list shows the hardware components of the CVP laboratory (LAB) system:

  • One Windows 2003 Enterprise Eidition based MCS-7825 server running following CVP components in LAB environment
    • CVP VXML Server (VXML Server is bundled with the CVP Server installation DVD/CD)
    • CVP VXML Call Studio
    • Microsoft IIS Web Server (Hosting .wav files to be played)
  • One Cisco 3725 Router
    • Ingress PSTN Gateway
    • VXML Gateway
  • PSTN Simulator (CUCME gateway with cross over T1 PRI cable connected to CVP VXML Gateway could be used)

Software Components

The following major software versions were used

  • Cisco IOS Software Releases 12.4(15)T1 Advance Enterprise Feature Set on CVP VXML Gateway
  • Cisco Unified CVP version 7.0(1)
  • Cisco Unified Call Studio version 7.0(1)
  • CVP VXML Server version 7.0(1) (bundled with the CVP installation)

This configuration can also be used in conjunction with the following solutions.

  • Cisco Unified Contact Center Enterprise (CU CCE) based solutions
  • Cisco Unified Intelligent Contact Management (CU ICM) based solution
  • Cisco Unified Customer Voice Portal (CU CVP) based Standalone IVR solutions

Conventions

Refer to Technical Tips Conventions for more information on document conventions.

Background Information

Unified CVP VoiceXML Server

Unified CVP VoiceXML Server executes complex IVR applications by exchanging VoiceXML pages with the VoiceXML gateway’s built-in voice browser. Like almost all other Unified CVP product components, it runs within a Java 2 Enterprise Edition (J2EE) application server environment such as Tomcat or WebSphere, and many customers add their own custom-built or off-the-shelf J2EE components to interact with back-end hosts and services. VoiceXML Server applications are written using VoiceXML Studio and are deployed to the VoiceXML Server for execution. There are two very common ways in which these applications can be used.

The applications could be invoked on an as-needed basis by a special microapplication which must be executed from within the Unified ICME routing script. VoiceXML Server can also be deployed in a Standalone configuration that does not include any Unified ICME components. In this model, applications are invoked as a direct result of calls arriving in the VoiceXML gateway This document only shows the deployment steps for the second option mentioned above.

CVP VoiceXML Call Studio

This component is the service creation environment (script editor) for VoiceXML Server applications. It is based on the open source Eclipse framework, and it provides advanced drag-and-drop graphical editing as well as the ability to insert vendor-supplied and custom-developed plug-ins that enable applications to interact with other services in the network. VoiceXML Call Studio is essentially an offline tool whose only interaction with the VoiceXMLServer is to deliver compiled applications and plugged-in components for execution.

For this document the Unified CVP VoiceXML Server, Unified CVP VoiceXML Call Studio, CVP Call Server and the Media Server are residing on the same server. This type of scheme is only supported for Laboratory (LAB) or POC (Proof of Concept) type of environments.

Configuration Steps

Concept

A customer would dial a Contact Center pilot # and will reach to a self service application that is configured using Call Studio. The VXML Gateway will receive the request and will contact VXML Server. VXML Server will return some VXML pages and the VXML Browser inside the Cisco IOS will render the web pages and will present it to the customer. These SelfService Applications could be very basic or they could be very complex applications that could connect to backend Database servers for record retrival and query purporses.

For this document a very basic HelloWorld application was created and the cocepts are demonstrated.

Procedure

Complete these steps:

  1. Configure basic components in OAMP configuration for Stand alone VXML Server
  2. Create a Studio VXML Application
  3. Configure VXML and Ingress Gateway for the application handling

Network Topology

A co-located CVP VXML Server, Operations Console Server and CVP Call Studio (Audium).

Note that this is not a supported configuration in a live environment. Unified Call Studio is only supported on Windows XP or Windows Vista operating systems. Check the CVP Hardware and Software Specification for latest details

StandAlone_CVP_VXML_Server_image005.gif

IP Addressing Used

Component Name  IP Address CVP VXML Server              192.168.93.3 CVP Operations Console       192.168.93.3 CVP-VXML-GW                  192.168.93.1

CVP Standalone VXML Server Configuration

Before moving on, there are few things to notice regarding CVP VXML Server and the terminologies used

  • Voice Browser (VB) some times also referred to as VXML Browser
  • VXML Browser is basically a component build into Cisco IOS VXML Gateway code
  • Cisco IOS VXML Gateway browse VXML pages from CVP VXML Server (very similar in concept where FireFox Web browser browse HTML pages from an Apache web server)
  • Every communication process between the VXML browser and Voice Application has to be initiated by the VXML browser as a request to the VXML server.

In CVP Operation Console browser, under the Device Management section, select the VXML Standalone Server option

StandAlone_CVP_VXML_Server_image038.jpg

Enter the values in the CVP VXML Server (standalone) fields as mentioned in the following diagram

StandAlone_CVP_VXML_Server_image039.jpg

Once the configuration is done, it will show as “configured” in the listing, as mentioned in the following diagram.

StandAlone_CVP_VXML_Server_image040.jpg

Notice that since it is a standalone vxml server deployment, there is no need to activate ICM, IVR, SIP or H.323 services under the CVP Call Server Configuration options.

StandAlone_CVP_VXML_Server_image041.jpg

Make sure that VXML services are running, as mentioned in the services pages.

StandAlone_CVP_VXML_Server_image042.jpg

If all the configurations are done correctly, you will notice that in the Control Center – Network Map, VXML Server is in UP state.

StandAlone_CVP_VXML_Server_image043.jpg

If you added the Call Server as part of CVP installation, it will show as not reachable which is normal because so far only standalone VXML Server is configured.

StandAlone_CVP_VXML_Server_image044.jpg

CVP VXML Call Studio Application Build Process

The goal of this Application is to allow you to make a phone call into the HelloWorld CVP VXML Call Studio Application. The dynamic VXML application will paly a basic prompt and call will be cleared.

Launch the CVP VXML Call Studio application and create a VXML Call Studio Application by selecting

File –> New –> Call Studio Project

Specify a project name which in our case is HelloWorld. Notice that it is case sensitive. After clicking next, you will see General Settings option like mentioned in the following diagram.

Session timeout default setting was changed to 5 min. In the VoiceXML Gateway option, Cisco Unified CVP4.1/7.0 is selected. There is no significance of selecting Nuance here because we are not using and TTS/ASR server.

By default under the Loggers section there are five logs but for this setup CVPDatafeedLog and CVPSNMPLog were removed from the project. Customer would need to make adjustments based on their requirements in the live contact center or IVR deployments.

StandAlone_CVP_VXML_Server_image045.jpg

The next option is for the audio settings. For this section, default options were selected.

StandAlone_CVP_VXML_Server_image046.jpg

Endpoint Settings is the next option and default settings were selected.

StandAlone_CVP_VXML_Server_image047.jpg

After End point setting, for the Root Doc. select the default options and click next.

StandAlone_CVP_VXML_Server_image048.jpg

Next click finish to complete the properties. In the navigator panel on the left, you will see the HelloWorld project for you. You can see it in the Navigator panel as shown in the below diagram
StandAlone_CVP_VXML_Server_image049.jpg

Now you can create an application as shown in the following diagram.

StandAlone_CVP_VXML_Server_image050.jpg

Now we will discuss each element in order.  #

Start of Call

This element is automatically populated when you first create a brand new application. There is no configuration required for this part.

CVP Subdialog Start_01

This element doesn’t require any settings to be modified.

PlaySomething

Is basically an audio element that is renamed to “PlaySomething”. This is the important element that needs to be modified. Under the Audio setting, in the element configuration tab, navigate to Audio Groups à Initial à Audio Item 1 and select the options as mentioned in the following diagram.

Since we are using Microsoft IIS for hosting .wav files, we have specified the complete URI or the path for the .wav file. This path can be verified by putting it into any web browser and the browser should launch the appropriate application (like Windows Media Player) to play the .wav file.
StandAlone_CVP_VXML_Server_image051.jpg

Hangup

No configuration is required for this element

Deploy The HelloWorld Application

Now the next step is to deploy the HelloWorld application. Right lick to the HelloWorld in navigator pannel and it will show you a list of options.

StandAlone_CVP_VXML_Server_image052.jpg

Select the Deploy option from the list.

StandAlone_CVP_VXML_Server_image053.jpg

When you click deploy, the CVP Call Studio will ask for the folder name. Since both CVP Call Studio and VXML server are co-located on the same box, the local folder name will be specified. The location of it is important and the project should be saved into C:\Cisco\CVP\VXMLServer

StandAlone_CVP_VXML_Server_image054.jpg

Once the HelloWorld project is saved, it will be saved automatically under the “applications” directory by the name of “HelloWorld”. And there will be more sub-folders created.

StandAlone_CVP_VXML_Server_image055.jpg

As already mentioned that you need to make sure that your audio HTTP medial server is already configured to play .wav files. For more information on setting up one, please check the following URL

http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/customer_voice_portal/srnd/7x/cvp_mdia.html

The best way to test whether your media server is appropriately serving the media files is to use a regular web browser such as Internet Explorer and specify the URL of a prompt on the media server, such as http://192.168.93.3/en-us/sys/1.wav. Your web browser should be able to download and play the .wav file without any authentication required.

VXML and Ingress Gateway

In this setup, one router/gateway is used as an ingress as well as VXML gateway. Notice that due to VXML compatibility issues, all Cisco IOS versions are not approved. In this lab setup c3725-adventerprisek9-mz.124-15.T1.bin is used. For latest and complete CVP Hardware Software compatibilty list (also known as BOM) please check the web page titled “Hardware and System Software Specification for Cisco Unified Customer Voice Portal (Unified CVP)”

http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/customer_voice_portal/cvp7_0/reference/guide/cvp70bom.pdf

Now using the Unified CVP Operation Console, copy following files to VXML Gateway flash memory

  • bootstrap.tcl
  • bootstrap.vxml
  • cvperror.tcl
  • CVPSelfService.tcl
  • CVPSelfServiceBootstrap.vxml
  • survivability.tcl
  • handoff.tcl
  • ringtone.tcl
  • recovery.vxml

The next step is to configure the ingress/VXML Gateway to support the incoming calls to the contact center. Following are the steps that happen when a customer dials the contact center main number.

  • Customer dials 5417641001 which the Contact Center’s main number for HelloWorld Self Service Application
  • Call matches the incoming POTS dial-peer 3
  • POTS dial-peer 3 invokes the HelloWorld application
  • VXML GW initiate the connection with the stand alone VXML Server
  • VXML Server sends the HelloWorld VXML pages to the VXML GW (which is also a VXML Browser)
  • VXML GW renders the web pages for the caller and caller heard an audio welcome message
  • After playing the message call hangs up

Ingress and VXML GW Configuration

!

version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname cvp-vxml-gw
!
boot-start-marker
boot system flash flash:c3725-adventerprisek9-mz.124-15.T1.bin
boot-end-marker
!
! card type command needed for slot/vwic-slot 0/0
card type t1 1 0
! card type command needed for slot/vwic-slot 1/1
enable password lab
!
no aaa new-model
no network-clock-participate slot 1

ip cef
!
isdn switch-type primary-ni
voice-card 1
 no dspfarm
!
voice service voip
 allow-connections h323 to h323
 allow-connections h323 to sip
 allow-connections sip to h323
 allow-connections sip to sip
 signaling forward unconditional
 h323
  emptycapability
  h225 id-passthru
  h245 passthru tcsnonstd-passthru

sip
  bind control source-interface FastEthernet0/0.93
  bind media source-interface FastEthernet0/0.93
  header-passing

!
!

voice class codec 1
 codec preference 1 g711ulaw
 codec preference 2 g711alaw
 codec preference 3 g729r8

!

voice class h323 1
 h225 timeout setup 3

!

voice translation-rule 1
 rule 1 /987654/ //

!

voice translation-profile block
 translate called 1

!

http client cache memory pool 15000
!

application
  ! 
  ! Following serivce should be placed on the incoming POTS dial-peer that is destined for CVPSelfService
  ! It defines the application name, primary and backup VXML Server Address
  ! It is important to configure this service. This service also calls another vxml
  ! service called CVPSelfServiceBootstrap.vxml
  !
  service HelloWorld flash:CVPSelfService.tcl
  param CVPBackupVXMLServer 192.168.93.3
  param CVPSelfService-app HelloWorld
  param CVPSelfService-port 7000
  param CVPPrimaryVXMLServer 192.168.93.3
  !

  ! Following serivce defines the application name and VXML Server Address
  ! CVPSelfService.tcl calls CVPSelfService application

  !
  service CVPSelfService flash:CVPSelfServiceBootstrap.vxml
  paramspace english index 0
  paramspace english language en
  paramspace english location flash:
  paramspace english prefix en

  ! 

  ! Following services are mentioned here although not playing any role for the HelloWorld 
  ! Application but they are mentioned here as a best practice to have them configured

  !

  service ringtone flash:ringtone.tcl
  paramspace english index 0
  paramspace english language en
  paramspace english location flash
  paramspace english prefix en
  !

  service recovery flash:/recovery.vxml
  paramspace english language en
  paramspace english index 0
  paramspace english location flash:
  paramspace english prefix en

  !
  service cvperror flash:cvperror.tcl
  paramspace english language en
  paramspace english index 0
  paramspace english location flash
  paramspace english prefix en

  !
  service bootstrap flash:/bootstrap.tcl
  paramspace english index 0
  param gtd-attribute0 rgn
  paramspace english language en
  param gtd-field0 noa
  param gtd_format1 ascii
  param gtd-attribute1 fdc
  param gtp-instance0 1
  paramspace english location flash
  param gtd-field1 dat
  paramspace english prefix en
  !

!

mrcp client rtpsetup enable

vxml version 2.0

!

controller T1 1/2
 framing esf
 linecode b8zs
 pri-group timeslots 1-24

!

!

interface FastEthernet0/0
 no ip address
 duplex auto
 speed auto
!

interface FastEthernet0/0.1
 description Management VLAN
 encapsulation dot1Q 1 native
 ip address 36.36.36.1 255.255.255.0

!

interface FastEthernet0/0.93
 description CC Server VLAN
 encapsulation dot1Q 93
 ip address 192.168.93.1 255.255.255.0
 h323-gateway voip interface
 h323-gateway voip bind srcaddr 192.168.93.1

!

interface Serial1/2:23
 no ip address
 encapsulation hdlc
 isdn switch-type primary-ni
 isdn incoming-voice voice
 no cdp enable

!

router ospf 7
 log-adjacency-changes
 network 36.36.36.0 0.0.0.255 area 0
 network 192.168.93.0 0.0.0.255 area 0

!

ip http server
no ip http secure-server

!

dial-peer voice 3 pots
 service HelloWorld
 incoming called-number 541764....
 direct-inward-dial

!

end

</code>
Categories: CCIE VOICE, RealTime DB, Troubleshoot Tags:

Cisco Unified Border Element SIP Trunk Configuration


This article provides information on configuring a SIP trunk from Cisco Unified Communications Manager to an IP-IP Gateway or Cisco Unified Border Element.

IP-IP Gateway SIP Trunk Configuration 01.png

In this configuration example, San Jose (SJC) site is part of a very large campus which has a Cisco Unified Communications Manager cluster over an IP WAN. Atlanta (ATL) is small campus SIP site that has Cisco Unified Communications Manager Express cluster. ATL site communicates with Cisco Unified Communications Manager cluster in the SJC site using a SIP trunk through an IP-to-IP gateway that is deployed on ATL site.

Configuration Details

First configure the Cisco 3745s IP address, mask and default gateway. To this configuration add authentication statements. IP routing must be enabled on voice gateways and logging parameters also need to be defined.

Here is an example configuration in which FastEthernet interface 0/0 is configured to connect to the IP network through which SIP proxy is reachable. In the following example, H.323 VoIP gateway functions are enabled on the Ethernet 0/0 interface. The h323-gateway voip bind srcaddr command is used bind H.323 signaling to the IP address of the interface. The designated source IP address is the same as the IP address assigned to the interface.

interface FastEthernet0/0
  ip address 10.3.80.5 255.255.255.0
  duplex auto
  speed auto
  h323-gateway voip interface
  h323-gateway voip id ipip-gk ipaddr 10.3.70.99 1719
  h323-gateway voip h323-id ip-ip-gw
  h323-gateway voip tech-prefix 1#
  h323-gateway voip bind srcaddr 10.3.80.5

Configuring Voice-Card for DSPFarm

This section provides information on configuring voice-card for DSPFarm. This enables DSP farming allowing DSP resources to register to Cisco Unified CM as MTP, CFB or Transcoder devices.

voice-card 3
  dspfarm

Enabling Cisco Express Forwarding

To enable CEF, use the following command in global configuration mode:

ip cef

Enabling Calls in VoIP Network

From the voice service voip configuration, enable calls between endpoints in the VoIP network. This configuration allows all call combination types of connections between H323/SIP protocols. It enables midcall media re-negotiation for supplementary services and during supplementary services operation, ringback to be generated locally.

voice service voip 
 allow-connections h323 to h323
 allow-connections h323 to sip
 allow-connections sip to h323
 allow-connections sip to sip
 supplementary-service h450.12
 h323
  emptycapability
  h225 id-passthru 
  h225 connect-passthru 
  h245 passthru tcsnonstd-passthru

Defining codecs

Some sites may use a single codec while others may find it advantageous to define a list of available codecs in the order in which they should be tried during call setup. If you choose to implement a list you accomplish this task using the voice class codec command. Note that this only defines the list of available codecs. Once defined the list must be applied to each applicable dial-peer using the voice-class codec command. The dial-peer command is described later in this document.

This command enables multiple codec support and performs codec filtering

voice class codec 1
 codec preference 3 g711ulaw

voice class codec 2
 codec preference 2 g729r8
 codec preference 3 g711ulaw

voice class codec 3
 codec preference 1 g729br8
 codec preference 2 g729r8

Configuring the WAN interface

To configure a WAN circuit in this environment, first define the physical layer (T1 specific) parameters.

controller T1 0/0
 framing sf
 linecode ami

controller T1 3/0
 framing sf
 linecode ami

controller T1 3/1
 framing sf
 linecode ami

Configuring dial-peers

The dial-peer is where forwarding decisions are made based upon destination-pattern pattern matching. If more than one peer is matched the preference parameter determines the order in which the peers are tried. The dial-peer statement is also where translation-rules and codec decisions are made.

In this example you will see that the list of supported codecs is specified in the voice-class codec statement described above.

dial-peer voice 1 voip
 description cme-2691
 destination-pattern 404328....
 session protocol sipv2
 session target ipv4:10.3.81.2
 session transport udp
 codec g711ulaw

dial-peer voice 2 voip
 description cme-3725
 destination-pattern 404327....
 session protocol sipv2
 session target ipv4:10.3.80.2
 session transport udp
 dtmf-relay sip-notify
 codec g711ulaw
...
...

SNMP monitoring and traps

This section provides information on configuring SNMP monitoring and trap.

snmp-server community public RO
snmp-server community private RW
snmp-server system-shutdown
snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
snmp-server enable traps tty
snmp-server enable traps frame-relay multilink bundle-mismatch
snmp-server host 10.9.12.21 version2 
snmp-server host 10.9.22.34 version2 

Configuring DSP resources

Commands to configure DSP resources as transcoder (MTP) device for Cisco Unified Communications Manager:

sccp local FastEthernet0/0
sccp ccm 10.3.24.4 identifier 2 version 5.0.1 
sccp ccm 10.3.24.3 identifier 1 version 5.0.1 
sccp

sccp ccm group 1
 associate ccm 1 priority 1
 associate ccm 2 priority 2
 associate profile 10 register ipip-gw

dspfarm profile 10 mtp
 codec g711ulaw
 codec pass-through
 maximum sessions software 10
 associate application SCCP

Related show Commands

This section provides information you can use to confirm your configuration is working properly:

show interfaces ''interface-name''
show ccm-manager
show dial-peer voice

show running-config

Building configuration...

Current configuration : 4720 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ATL-IPIPGW
!
boot-start-marker
boot system flash flash:c3745-adventerprisek9_ivs-mz.124-060807.2007-06-08
boot system flash flash:c3745-adventerprisek9_ivs-mz.124-13.13.T5
boot-end-marker
!
enable password lab
!
no aaa new-model
no network-clock-participate slot 2 
no network-clock-participate slot 3 
no network-clock-participate wic 0 
voice-card 3
 dspfarm
!
ip cef
!
no ip domain lookup
!
multilink bundle-name authenticated
!
voice service voip 
 allow-connections h323 to h323
 allow-connections h323 to sip
 allow-connections sip to h323
 allow-connections sip to sip
 supplementary-service h450.12
 h323
  emptycapability
  h225 id-passthru 
  h225 connect-passthru 
  h245 passthru tcsnonstd-passthru
!
voice class codec 1
 codec preference 3 g711ulaw
!
voice class codec 2
 codec preference 2 g729r8
 codec preference 3 g711ulaw
!
voice class codec 3
 codec preference 1 g729br8
 codec preference 2 g729r8
!
archive
 log config
  hidekeys
!
controller T1 0/0
 framing sf
 linecode ami
!
controller T1 3/0
 framing sf
 linecode ami
!
controller T1 3/1
 framing sf
 linecode ami
!
ip rcmd rcp-enable
ip rcmd remote-host cwuser 10.9.22.34 cwuser enable
!
interface FastEthernet0/0
 ip address 10.3.80.5 255.255.255.0
 duplex auto
 speed auto
 h323-gateway voip interface
 h323-gateway voip id ipip-gk ipaddr 10.3.70.99 1719
 h323-gateway voip h323-id ip-ip-gw
 h323-gateway voip tech-prefix 1#
 h323-gateway voip bind srcaddr 10.3.80.5
!
interface FastEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface FastEthernet2/0
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface FastEthernet2/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
ip route 0.0.0.0 0.0.0.0 10.3.80.1
!
ip http server
no ip http secure-server
!
snmp-server community public RO
snmp-server community private RW
snmp-server system-shutdown
snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
snmp-server enable traps tty
snmp-server enable traps frame-relay multilink bundle-mismatch
snmp-server host 10.9.12.21 version2 
snmp-server host 10.9.22.34 version2 
!
tftp-server flash:c3745-ipvoice_ivs-mz.124-2.9.PI2a
tftp-server flash:c3745-ipvoice_ivs-mz.124-4.7.PI3a
!
control-plane
!
sccp local FastEthernet0/0
sccp ccm 10.3.24.4 identifier 2 version 5.0.1 
sccp ccm 10.3.24.3 identifier 1 version 5.0.1 
sccp
!
sccp ccm group 1
 associate ccm 1 priority 1
 associate ccm 2 priority 2
 associate profile 10 register ipip-gw
!
dspfarm profile 10 mtp
 codec g711ulaw
 codec pass-through
 maximum sessions software 10
 associate application SCCP
!
dial-peer voice 1 voip
 description cme-2691
 destination-pattern 404328....
 session protocol sipv2
 session target ipv4:10.3.81.2
 session transport udp
 codec g711ulaw
!
dial-peer voice 2 voip
 description cme-3725
 destination-pattern 404327....
 session protocol sipv2
 session target ipv4:10.3.80.2
 session transport udp
 dtmf-relay sip-notify
 codec g711ulaw
!
dial-peer voice 3 voip
 description cme-3845
 destination-pattern 404329....
 voice-class codec 1
 session protocol sipv2
 session target ipv4:10.3.82.2
 session transport tcp
 incoming called-number 404329....
 dtmf-relay sip-notify rtp-nte
!
dial-peer voice 4 voip
 description cme-2611
 destination-pattern 404330....
 session protocol sipv2
 session target ipv4:10.3.83.2
 session transport udp
!
dial-peer voice 5 voip
 description cme-1760
 destination-pattern 404331....
 session protocol sipv2
 session target ipv4:10.3.84.2
 session transport udp
!
dial-peer voice 101 voip
 destination-pattern 21052.....
 voice-class codec 1
 session protocol sipv2
 session target ipv4:10.9.20.3
 session transport tcp
 incoming called-number 21052.....
 dtmf-relay rtp-nte sip-kpml sip-notify
!
dial-peer voice 100 voip
 destination-pattern 40846.....
 voice-class codec 1
 session protocol sipv2
 session target ipv4:10.9.10.5
 session transport tcp
 incoming called-number 40846.....
 dtmf-relay rtp-nte sip-kpml sip-notify
!
dial-peer voice 6 voip
 destination-pattern 910555....
 session protocol sipv2
 session target ipv4:10.3.90.6
 incoming called-number 910555....
 codec g711ulaw
!
dial-peer voice 7 voip
 destination-pattern 97678.....
 session protocol sipv2
 session target ipv4:10.3.24.3
 incoming called-number 97678.....
 dtmf-relay rtp-nte
 codec g711ulaw
!
gateway 
 timer receive-rtp 1200
!
gatekeeper
 shutdown
!
line con 0
 exec-timeout 0 0
line aux 0
line vty 0 4
 exec-timeout 0 0
 password lab
 login
!
webvpn cef
!
end

Related Information

Cisco Unified Border Element (formerly know as Cisco Multiservice IP-to-IP Gateway)
http://www.cisco.com/en/US/products/sw/iosswrel/ ps1839/products_feature_guide_book09186a00801 e89e3.html

How to Enable Voice Calls Debug Filtering In CME


Voice call debug Filtering
————————–
First configure the filter using “call filter match-list <tag> voice” and then
use the filter as a debug condition using “debug condition match-list <tag>

call filter match-list <tag> voice
incoming calling-number <pattern>
incoming called-number <pattern>
incoming dialpeer <tag>
incoming media local ipv4 <ip address>
incoming media remote ipv4 <ip address>
incoming port
incoming signaling local ipv4 <ip address>
incoming signaling remote ipv4 <ip address>
incoming secondary-called-number <pattern>
incoming uri <pattern>

outcoming calling-number <pattern>
outcoming called-number <pattern>
outcoming dialpeer <tag>
outcoming media local ipv4 <ip address>
outcoming media remote ipv4 <ip address>
outcoming port
outcoming signaling local ipv4 <ip address>
outcoming signaling remote ipv4 <ip address>
outcoming secondary-called-number

debug condition match-list <call filter tag>

Unity Connection 9.x

Download CUCM 9.x SRND

July 2, 2012 1 comment

High-Level Features in Cisco Unified Communications Manager 9.0


Feature Benefits
Licensing

• Licensing usage and reporting is simplified, and is now based on user licensing.

• User licensing – based on user profiles – aligns with UCL/CUWL purchasing models (http://www.cisco.com/go/uclicensing).

• Centralized license management with the introduction of Enterprise License Manager – provides at-a-glance view of compliance.

• Improved reporting and management of compliance with a compliance grace period.

• Centralized management allows for redistribution of licensing amongst supported products.
Platform enhancements

• Continued optimization for higher density per Cisco Unified Communications Manager Virtual Machine.

• Reduced memory, storage, and CPU requirements for smaller virtual footprint for micro (25-50 users) and small (100-200 users) customers; ability to apply thin provisioning to allocate resources as appropriate.

• Ability to take advantage of latest Cisco Unified Computing System (Cisco UCS®) offerings by providing additional Cisco UCS SKUs.

• Platform Administrative Web Service Interface (PAWS), which allows applications to initiate and monitor upgrades on multiple Cisco Unified Communications Manager clusters from a single management client; it centralizes software version management and enables remote upgrades, reducing complexity and facilitating large-scale deployment and upgrades.
Video

• Unified voice and video capabilities on one platform.

• Directory Uniform Resource Identifier (URI) Dialing extends reachability to users and devices by enabling dialing using email addresses.

• Multi-tiered CAC, which provides location-spaced CAC to manage bandwidth pools.

• SIP normalization and transparency enhancements that allow better interoperability between video endpoints.

• Enhancements in Real-Time Transport Control Protocol (RTCP) and presentation channel allow Cisco Unified Communications Manager to open the ports used by the presentation channel or Binary Floor Control Protocol (BFCP) or Far-End Camera Control (FECC) whenever a media resource is inserted into a video call, so that these capabilities function as they do in a direct connection between endpoints.

• RTCP Pass-Through, which provides lip-sync and other runtime metrics when a Media Termination Point (MTP), trusted relay point (TRP), or Resource Reservation Protocol (RSVP) agent is in a video call path.

• iX Channel support that will provide better interworking with conferencing infrastructure.
Native IM and presence

• Software alignment within Voice, Video, IM and Presence for an integrated deployment model allows endpoints to negotiate multiplexed media near channels for exchanging data like conference roster and opens channels for many more endpoint and conferencing applications.

• Simplifies experience by offering common collateral and ordering.

• Reduces operating expense with common install, administration, and licensing.

• Offers common documentation and Cisco Technical Assistance Center (TAC) support.
Mobility

• Provides improved mobility user experience with video calling.

• Offers ability to receive video or participate in a video conference in both Wi-Fi and cellular modes, allowing users to move voice and video sessions between mobile and desk phones.

• Offers session resumption capability for Dial via Office Reverse Call-back (DVO-R) and Single Number Reach scenarios so that end users can call back to the final target.

• Provides consistent user experience for voice-over-IP (VoIP) and cellular modes for mobile devices.

• Enhances the overall DVO-R user experience.
Directory enhancements

• Directory enhancements reduce the number of configuration steps required to deploy Cisco Jabber client in a multicluster environment.

• A client or endpoint auto-discovery mechanism detects the user’s home cluster and retrieves cluster-specific settings, thus reducing the configuration steps required from the end user.

• Clients and endpoints have the ability to discover services (such as voicemail, IM, and WebEx® meeting applications) and be notified of any changes in those services.

• A new interface enables web-service applications to interact with end-user information by supporting user directory search and preferences settings.

• Custom directory attributes (Flex Fields) can be added and synchronized.
Telephony feature enhancements

• Secure Cross-Cluster Extension Mobility provides the ability to make encrypted calls when using the Extension Mobility Cross Cluster (EMCC) feature.

• Pause in Speed Dials enables users to configure the phone speed-dial button with strings, including directory number (DN), Forced Authorization Code (FAC) or Client Matter Code (CMC), dual-tone multifrequency (DTMF) digits, and dialing pauses.

• Native queuing allows users to queue calls to hunt pilot using top-down, circular, longest-idle, and broadcast methods. It also provides the flexibility to configure queue depth and hold time, play unique announcements and Music on Hold (MoH), log in and log out users from a queue and basic queue statistics (from the phone).

• Multilevel Precedence and Preemption (MLPP) is supported on SIP-based phones.

• Connected number support for hunt pilot will allow users to send the answered party number from a hunt list versus the pilot in a configurable way.

• G.clear for Cisco Unified Communications Manager Basic Rate Interface (BRI) interfaces prevents the dropping of G.clear codec advertised by Cisco IOS® Software gateways and sends it to the media layer so that proper negotiation of G.clear can be done.

• SIP redirection counter inclusion in the SIP diversion header contains call forwarding and other routing loops that are detected.

• The phone has a Start/Stop recording key.

• E911 is supported for remote workers on hardware IP phones.

• Layer 2 location discovery of Cisco Virtualization Experience Client (VXC)-based endpoints for E911 is supported.
Cisco Unified Communications Session Management Edition

• Extend and Connect, a new device type on Cisco Unified Communications Manger representing remote devices, delivers features and services like instant messaging and presence to public-switched-telephone-network (PSTN) and third-party private-branch-exchange (PBX) devices.

• Significant improvements on total end-to-end round-trip time between the nodes in a Session Management Edition (SME) cluster allow nodes to exist in multiple continents.

• Administrators have the ability to specify codec preferences for outbound SIP trunks and inbound PSTN SIP trunks.
Hosted services

• The ability to initiate and monitor the backup procedure and configuration through an application programming interface (API) enables a multi-customer toolset to orchestrate and coordinate backups.

• Support for Cisco Mobile Client on the top of IMS network integration provides advanced enterprise features over the data channel (third-generation [3G] and Long-Term Evolution [LTE] or Code Division Multiple Access [CDMA] – Dual Tone Multifrequency [DTMF]).

• Enterprise supplementary services are supported on any standard (out-of-the-box) voice over LTE (VoLTE) IMS mobile device (without requiring Cisco Mobile client). Cisco Unified Communications Manager acts as an IMS application server supporting supplementary services on fourth-generation (4G) mobile phones.

• Cisco Administrative XML (AXL) Change Notification is supported for database updates required for provisioning domain managers (Cisco Prime Unified Provisioning Manager and VOSS solution).
Follow

Get every new post delivered to your Inbox.

Join 355 other followers