CCIE Collaboration | 400-051

Cisco Collaboration Infrastructure

  • UC Deployment Models
  • User Management
  • IP Routing in Cisco Collaboration Solutions
  • Virtualization in Cisco Collaboration Solutions
    • UCS
    • VMware
    • Answer Files
  • Wireless in Cisco Collaboration Solutions
  • Network Services
    • DNS
    • DHCP
    • TFTP
    • NTP
    • CDP/LLDP
  • Power over Ethernet
  • Voice and Data VLAN
  • IP Multicast
  • IPv6

Telephony Standards and Protocols

  • SCCP
    • Call Flows
    • Call States
    • Endpoints types
  • MGCP
    • Call Flows
    • Call States
    • Endpoints types
  • SIP
    • Call Flows
    • Call States
    • SDP
    • BFCP
  • H323 and RAS
    • Call Flows
    • Call States
    • Gatekeeper
    • H.239
  • Voice and Video CODECs
    • H.264
    • ILBC
    • ISAC
    • LATM
    • G.722
    • Wide band
  • RTP, RTCP, sRTP

Cisco Unified Communications Manager

  • Device Registration and Redundancy
  • Device Settings
  • Codec Selection
  • Call Features
    • Call Park
    • Call Pickup
    • BLF Speed Dials
    • Native Call Queuing
    • Call Hunting
    • Meet-Me
  • Dial Plan
    • Globalized Call Routing
    • Local Route Group
    • Time of Day Routing
    • Application Dial Rules
    • Digit Manipulations
  • Media Resources
    • TRP
    • MoH
    • CFB
    • Transcoder/MTP
    • Annunciator
    • MRG/MRGL
  • CUCM Mobility
    • EM/EMCC
    • Device Mobility
    • Mobile Connect
    • MVA
  • CUCM Serviceability and OS Administration
    • Database Replication
    • CDR
    • Service Activation
    • CMR
  • CUCM Disaster Recovery
  • ILS/URI Dialing
    • Directory URI
    • ISL Topology
    • Blended Addressing
  • Call Admission Control
    • CAC/ELCAC
    • RSVP
    • SIP Pre-conditions
  • SIP and H323 Trunks
    • SIP Trunks
    • H.323 Trunks
    • Number Presentation and Manipulation
  • SAF and CCD
  • Call Recording and Silent Monitoring

Cisco IOS UC Applications and Features

  • CUCME
    • SCCP Phones Registration
    • SIP Phones Registration
    • SNR
  • SRST
    • CME-as-SRST
    • MGCP Fallback
    • MMOH in SRST
  • CUE
    • AA
    • Scripting
    • Voiceview
    • Web Inbox
    • MWI
    • VPIM
  • IOS Based Call Queuing
    • B-ACD
    • Voice huntgroups
    • Call Blast
  • IOS Media Resources
    • Conferencing
    • Transcoding
    • DSP Management
  • CUBE
    • Mid-call signaling
    • SIP profiles
    • Early/Delayed offer
    • DTMF interworking
    • Box-to-Box Failover/Redundancy
  • Fax and Modem Protocols
  • Analog Telephony Signaling
    • Analog Telephony Signaling Theories (FXS/FXO)
    • Caller ID
    • Line Voltage Detection
    • THL Sweep
    • FXO Disconnect
    • Echo
  • Digital Telephony Signaling
    • Digital Telephony Signaling Theories (T1/E1, BRI/PRI/CAS)
    • Q.921 and Q.931
    • QSIG
    • Caller ID
    • R2
    • NFAS
  • IOS Dial-Plan
    • Translation Profile
    • Dial-peer matching logics
    • Test Commands
  • SAF/CCD
  • IOS CAC
  • IOS Accounting

Quality of Service and Security in Cisco Collaboration Solutions

  • QoS: Link Efficiency (e.g. LFI, MLPPP, FRF.12, cRTP, VAD)
  • QoS: Classification and Marking
    • Voice vs Video Classification
    • Soft Clients vs Hard Clients
    • Trust Boundaries
  • QoS: Congestion Management
    • Layer 2 Priorities
    • Low Latency Queue
    • Traffic Policing and Shaping
  • QoS: Medianet
  • QoS: Wiress QoS
  • Security: Mixed Mode Cluster
  • Security: Secured Phone Connectivity
    • VPN Phones
    • Phone Proxy
    • TLS Proxy
    • 802.1x
  • Security: Default Security Features
  • Security: Firewall Traversal
  • Security: Toll Fraud

Cisco Unity Connection

  • CUCM and CUCME Integration
  • Single Inbox
  • MWI
  • Call Handlers
  • CUC Dial-plan
  • Directory Handlers
  • CUC Features
    • High Availability
    • Visual Voicemail
    • Voicemail for Jabber
  • Voicemail Networking

Cisco Unified Contact Center Express (UCCX)

  • UCCX CTI Integration
  • ICD Functions
  • UCCX Scripting Components

Cisco Unified IM Presence

  • Cisco Unified IM Presence Components
  • CUCM Integration
  • Cisco Jabber
  • Federation
  • Presence Cloud Solutions
  • Group chat and Compliance

Cisco Press Resources

Cisco Solutions Reference Network Design (SRND) and Design Guides

Administration and Deployment Guides

 

All about UC 500

Technical Enablement Collateral Helps Partners

 

This document includes:

  1. Links to documents and Materials you need to be famaliar with
  2. Technical Enablement Labs that show you how to configure basic functions
  3. TEL Template

This is a community document open for editing as you see fit.

 

Links to Documents

 

For any Partner who wants to build a successful practice deploying UC 500 (the new UC 540/UC 560 or the legacy UC 520), there are certain materials you need to become famaliar with and as well some actions you need to take to have your Technicians and Engineers feel comfortable building and deploying UC 500.

 

Small Business University
Select Certification <– for both AM and SE

 

First Look SBCS UC540 2.0 Lab
Distance Learning Opportunity for Channel Partners <– for both AM and SE

 

Smart Designs
Design and implementation notes to show typical deployments <— for the SE

 

Integrating the UC 500 System with an Existing Customer’s Firewall

 

SBCS Feature Reference Guide (CCA configurable)

No longer requires login; accessible to partners and customers. <– for both AM and SE

 

Administration guide for CCA

 

 

The CCA Release Notes http://www.cisco.com/en/US/products/ps7287/prod_release_notes_list.htmlwill give you additional information about whats new as well as any known issues with each release

The CCA Prerequisite Checks must be performed on the PC you plan to run CCA on and will save you days of wasted time

 

 

Platform Reference Guides <– for the SE

UC540 PRG

UC560 PRG

 

 

make sure you understand the SKUs supported and the capacity of the system as defined in these great guides

 

Quick Pricing Tool (QPT) <— for the AM and SE (reduce Quoting time from Days to Minutes)
http://www.cisco.com/web/partners/sell/enablement/quickpricingtool.html

 

 

Use the Site Survey <— for AM & SE

Cisco Steps to Success for VoIP – UC500 SMB Version

Collect what you need to build the system (much of it in a staging environment) before you deploy on site.

 

SBSC System Test information (how it was tested, which code was used, what the results were)

https://supportforums.cisco.com/docs/DOC-13362

 

Third Party Applications to be understood:
https://supportforums.cisco.com/docs/DOC-9780

 

 

In addition to emmedded applications like SNR, WEBEX, TCV, IMAP Mail Integration, Video telephone, learn about third party integrations

 

Possible Milestones you can achieve as a measure of your ability to deploy.

  • Select Certification and identification of key individuals in for roles and responsibilities
  • get NFR Gear (UC500, ESW switches, Phones, AP541s, which you can demo to your customers)
  • Training touches – attend the virtual trainings and perform the TELs below in this document
  • Build your lab
  • Perform Demos

 

SBCS User Guides (including phones):http://www.cisco.com/en/US/docs/voice_ip_comm/sbcs/roadmap/sbcs_uc500_roadmap.html

 

Get the Latest CCA Code: www.cisco.com/go/configassist

Let the Latest UC500 Bundle: https://supportforums.cisco.com/docs/DOC-9829/

Please take a look at the UC 500 Software Pack Roadmap posted at https://supportforums.cisco.com/docs/DOC-9827

Office Manager (OM) Information and SW

Office manager Installation Guide

 

 

Technical Enablement Labs (TEL) and Videos (VOD)

As SBCS moves forward, it does so with the UC 500 SWP, a given CCA version and the Office Manager (OM) version that work together to deliver new features and functions. This TEL lab area is updated by partner demand on the support community, many times to answer discussion threads that we feel should be answered more completely with lab demonstration. While we try to obsolete older labs to the bottom, there are still some older labs not yet replaced and so you should always consult the CCA OLH and Admin Guide as well as latest Smart Designs (which normally lag behind TELs but become more officially supported docs).

 

When we Announced CCA 3.0 and Office Manager 1.2, we delivered two Partner Webcasts and the .ppt used are here:

 

CCA 3.0 (new capabilities) Demonstrated (Webcast ppt from 1/13/2011)

Office Manager 1.2 technical Webcast/demo for partners 1/20/2011

 

Initial Maintenance and Configuration with CCA

Creating and Managing Customer Sites with CCA TEL

 

SW Upgrade: SWP 8.1.0 with CCA 3.0 TEL

 

Configuring a UC500 Demo System with CCA 3.0 TSW and Bulk User and Phone Import

 

UC 500 Localization using CCA 3.0 SW Upgrade Utility VOD

 

TSW for Bulk User and Phone Data Import using BulkDataImport.xls in CCA 3.0 VOD

 

Upload and Download files to UC 500 Flash using CCA 3.0 VOD

 

Upgrading or Installing a New License on a UC540/560 using CCA 3.0 TEL

 

Adding a VLAN to UC 500 TEL

 

Features and Functions Labs and VODs

 

The Remote Teleworker Router Configuration with CCASPA525G_SSL_Remote_TEL_19.pdf

 

SPA525G Remote SSL VPN Teleworker to UC 500

 

Users And Extensions Assignment in CCA 3.0 with Hold Alert and Speed Dial TEL

 

http://www.youtube.com/watch?v=WzQ72IIZhysCUE Connectivity Status Diagnostics and Recovery with CCA VOD

 

Multiple WAN IP to LAN Static NAT Mappings with CCA 3.0 VOD

 

CCA Tele-worker Phone Support MTP Configuration VOD

 

Live Record Configuration and Beep Adjustments with CCA 3.0 TEL

 

Removing Live Record Beep Tones with CCA 3.0 VOD

 

Configuring Combined Paging Groups with CCA TEL

 

Paging Group Configuration with CCA VOD

 

SKYPE for SIP Configuration with CCA TEL

 

Configuring Remote Access to Administraton via Telephoine (AvT) for your AA with CCA TEL

 

Auto Attendant Script Customization (Alternate Greeting and Dial by First Name) with CCA TEL

 

Assigning FXO ports as “CO Lines” and assigning them to phones

 

Manual Override to AA TOD Schedule using Night Service

 

Configuring the UC500 to work with Call Accounting and Call Recording from ISI

 

SA500 Configuration with CCA TEL

 

Configuring and Operating FXO Trunk Groups with CCA TEL

 

Hybrid Key System Configuration with CCA

 

Webex Phone Connect configuration with CCA 3.0

 

Lab 3: UC540 EZVPN Configuration

Lab 4: SIP Trunk Configuration

Lab 6: SA500 Security Applicance in front of a UC500 with SIP trunking

Lab 7: B-ACD (Basic ACD) Configuration

Lab 8: Auto Attendant and Night Service

Lab 9: Multisite using CCA 2.1 Multisite Manager

Lab 10: Protect Link Gateway Service on SA 500 in front of UC540

Lab 11: Smart Application: TimeCardView

Lab 12: Smart Application – IMAP Unified Messaging

Lab 14: Unified CallConnector (UCC)

Lab K: Traffic Shaping and Max Connections (CAC),

Lab 15: SR520-T1 Configuration with CCA

Lab 16: Video Monitoring xVC2300 IP Cameras from SPA525G Phone

Lab 17: Smart Call Connector Attendant Console Operator

Lab 22: Disable Cisco IP Phone WEB Server access on UC500

LAB 24: NTP on SBCS (UC500 & SBCS)

Lab 25: TheOffice Demo configured using CCA 3.0 (Updated)

How to DEMO the OFFICE SBCS – Demo Guide

The actual DEMO Performed (54 minutes run time)

Lab 26: SNR Smart Application Configuration and Operation on UC500 with CCA

Lab 28: UC560 Voice Mail Expansion using upgrade of external CUE Flash to 8G

Lab 30  UC500  Access List Manager – An example on how to restrict Guest Network access

NOW OBSOLETE Labs Archive (based on older SWP and CCA version)

LAB 1: UC540 Initial Connection, Discovery, SW Upgrade, Phone Load Management, and Licensing

Lab 13: Smart Application – Live Record

Lab 20: Cisco Phone Firmware Upgrade (79xx models – manual)

Lab 23: Paging Groups on UC500

Lab 18: Auto Attendant custom script configuration for ‘no action transfer

Lab 21: SMTP Notification of UC500 Voice Mail to EMAIL

Lab 27: Configuring Alternate Greeting on UC500 Auto Attendant

Lab 2: UC540 Telephony Setup Wizard in Staging (staging without phones)

Lab 5: UC540 FXO PSTN Trunk Group Configuration

#uc500

Cisco Nexus 1000V Webinar Training Video’s

Nexus 1000V Webinar Training Videos
Nexus 1000V Family Overview and Update
Virtual Services (VSG, vWAAS, vNAM)
Virtual Security Gateway Introduction
Journey to the Cloud w/ N1KV: vCloud Director & Long Distance vMotion
Secure VDI with Nexus1000V & VSG
Nexus 1000V v1.4 New Features and Installation/Upgrade Overview
Nexus1010 Overview & Best Practices
Virtual Security Gateway Technical Overview
Nexus 1000V Key Features Overview
Nexus 1000V Troubleshooting
Nexus 1000V Web Site
Nexus 1000V Webinars
Nexus 1000V and VMware vCloud Director Whitepaper
Nexus 1000V and VMware View Cisco Validated Design
Cisco Virtual Experience Infrastructure Configuration Guide (including Nexus 1000V)
Virtualize DMZ Whitepaper
Nexus 1000V Community
Cisco Nexus 1000V Virtual Switch Software Demo Video
VMware and Cisco Accelerate Virtual Machine Deployments
Cisco Nexus 1010 Virtual Services Appliance
Cisco Nexus 1000V Network Analysis Module Virtual Service Blade 4.2.1N
Cisco Nexus 1000V Series Switches
Cisco Nexus 1000V Series Switches Video Data Sheet
Cisco Virtual Network Management Center
Cisco Virtual Security Gateway for Cisco Nexus 1000V Series Switches
Cisco Virtualization Experience Infrastructure (VXI) Configuration Guide
Cisco Nexus 1000V MIB Quick Reference
Cisco Nexus 1000V Series Switches Deployment Guide Version 2
Best Practices in Deploying Cisco Nexus 1000V Series Switches on Cisco UCS B and C Series Cisco UCS Manager Servers
Cisco Nexus 1000V Command Reference, Release 4.2(1)SV1(4)
Cisco Nexus 1000V Installation Screencasts
The following screencasts are available to assist you in the installation of Release 4.2(1) SV1(4) of the Cisco Nexus 1000V.
Understanding Cisco Nexus 1000V and VMware Software Version Compatibility
Video This screencast introduces and explains the use of the Host Software Version Compatibility table in the Cisco Nexus 1000V and VMware Compatibility Informationdocument provided for each release. Given the VMware host ESX or ESXi software version, the compatibility table shows the appropriate Virtual Ethernet Module (VEM) installation files and the minimum required software versions of the VMware vCenter Server, the vCenter Update Manager, and the vSphere CLI. The screencast also shows how to determine the software version of various components and how to download update software.
Installing a Redundant Pair of VSMs from an OVA file Using the Installer Application
Video This screencast shows how to install a redundant pair of VSMs in an HA configuration from an OVA file using the Installer Application.
Installing the VEM using the VUM [two parts]
VideoVideo Part 1 of the screencast shows you how to install the VEM on an ESX host using the VUM.Part 2 of the screencast shows you how to troubleshoot and verify the installation.
Installing the VEM using the vSphere CLI
Video This screencast shows how to install the VEM on an ESX host using the VMware vSphere CLI.
Cisco Nexus 1000V Upgrade Screencasts
The following screencasts are available to assist you in upgrading the Cisco Nexus 1000V to Release 4.2(1) SV1(4). We recommend that you view these screencasts and perform the procedures in the order shown.
Understanding Cisco Nexus 1000V and VMware Software Version Compatibility
Video This screencast introduces and explains the use of the Host Software Version Compatibility table in the Cisco Nexus 1000V and VMware Compatibility Informationdocument provided for each release. Given the VMware host ESX or ESXi software version, the compatibility table shows the appropriate Virtual Ethernet Module (VEM) installation files and the minimum required software versions of the VMware vCenter Server, the vCenter Update Manager, and the vSphere CLI. The screencast also shows how to determine the software version of various components and how to download update software.
Understanding the Upgrade Process for the Cisco Nexus 1000V Release 4.2(1) SV1(4)
Video This screencast provides an overview of the steps required to update your VMware infrastructure for a non-disruptive upgrade, and to update your VEMs and VSMs to Cisco Nexus 1000V Release 4.2(1) SV1(4).
Upgrading the VMware vCenter Update Manager to Release 4.0 Update 1 Patch 2
Video This screencast shows how to upgrade the VMware vCenter Update Manager (VUM) to the minimum required version for the upgrade to Cisco Nexus 1000V Release 4.2(1) SV1(4).
Upgrading the Cisco Nexus 1000V from 4.0(4) SV1(3, 3a, or 3b) to 4.2(1) SV1(4) [three parts]
This three-part video shows you how to upgrade your Virtual Ethernet Modules (VEMs) and Virtual Supervisor Modules (VSMs) to Cisco Nexus 1000V Release 4.2(1)SV1(4).
Video Part 1 of the screencast describes the process, lists the prerequisites, and shows how to download the required software.
Video Part 2 of the screencast shows you how to upgrade the VEMs.
Video Part 3 of the screencast shows you how to upgrade the Virtual Supervisor Modules (VSMs).
Upgrading the Cisco Nexus 1000V from VMware Release 4.0 to 4.1 [three parts]
This screencast shows how to upgrade your vCenter Server, vCenter Update Manager, and vSphere CLI from VMware Release 4.0 to Release 4.1.
Video Part 1 describes how to check software compatibility and how to upgrade the vCenter Server.
Video Part 2 describes how to upgrade the VUM.
Video Part 3 describes how to upgrade the hosts.

SIP Call Flow with CVP Comprehensive Model

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

#cvp

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>

SIP — Call Setup/Signalling/ Routing

 

Show version
Show run
Show sip-ua

Basic Debugs
————
debug ccsip all
debug voip ccapi inout
debug voip vtsp default
debug voip vtsp session

Enable appropriate CAS/FXO/FXS/ISDN debugs.
Profile based Voice Debugging
——————————-
debug voip profile voice signaling

MGCP — CCM — MoH

 

Show version
Show run
Show ccm-manager
Show mgcp endpoint

Basic Debugs
————
debug mgcp packet
debug mgcp events
debug mgcp errors
debug mgcp state

MGCP — CCM Registration Issues

 

Show version
Show run
Show ccm-manager
Show mgcp endpoint

Basic Debugs
————
debug ccm-manager config-download
debug ccm-manager errors
debug ccm-manager events
debug mgcp packet
debug mgcp events
debug mgcp errors
debug mgcp state

MGCP — T1 PRI Call Routing

Show version
Show run
Show ccm-manager
Show mgcp endpoint
Basic Debugs
————
debug mgcp events
debug mgcp packet
debug mgcp errors
debug mgcp state
debug voip vtsp default
debug voip vtsp session
debug voip ccapi inout
debug ccm-manager backhaul
debug isdn q931

Advanced Debugs
—————-
debug mgcp all
debug voip vtsp all
debug voip hpi all
debug dspapi all
debug rtpspi all
debug voip ccapi error

Profile based Voice Debugging
——————————-
debug voip profile voice signaling

MGCP — Call Setup /Signalling /Routing

Show version
Show run
Show ccm-manager
Show mgcp endpoint

Basic Debugs
————
debug mgcp events
debug mgcp packet
debug mgcp errors
debug mgcp state
debug voip vtsp default
debug voip vtsp session
debug voip ccapi inout
Enable appropriate ISDN/CAS/FXS/FXO debugs

Advanced Debugs
—————-
debug mgcp all
debug voip vtsp all
debug voip hpi all
debug dspapi all
debug rtpspi all
debug voip ccapi error

Profile based Voice Debugging
——————————-
debug voip profile voice signaling
Provide the following information:
———————————-
CallManager Detailed Traces
Time of Problem Occurence
IP addresses of the IP Phones/devices used in recreating the problem