Professional Documents
Culture Documents
Published by:
Cisco Press
Hoboken, NJ
ScoutAutomatedPrintCode
ISBN-13: 978-0-13-657554-2
ISBN-10: 0-13-657554-4
Trademark Acknowledgments
Special Sales
Feedback Information
Editor-in-Chief
Mark Taub
Acquisition Editor
Nancy Davis
Managing Editor
Sandra Schroeder
Development Editor
Ellie Bru
Copy Editor
Kitty Wilson
Technical Editor(s)
Michael Mendoza Guzman, Esteban Valverde
Editorial Assistant
Cindy Teeters
Cover Designer
Chuti Prasertsith
Composition
Indexer
Proofreader
About the Authors
Kyzer Davis, CCIE Collaboration No. 54735, is an
escalation point for various worldwide cloud and
collaboration teams within Cisco Systems. He is the focal
point for supporting, troubleshooting, and resolving
complex, solution-level problems involving voice, video,
cloud, and security portions of the Cisco Unified
collaboration product portfolio. In addition to his work
on this book, Kyzer has authored and presented
numerous technical white papers on Cisco collaboration
configuration, architecture, protocol design, and security
topics, many of which are leveraged by Cisco partners,
Cisco exam instructors, and Cisco employees for training
and education.
YouTube: https://www.youtube.com/patrick_kinane1
Twitter: https://twitter.com/patrick__k9
LinkedIn:
https://www.linkedin.com/in/patrickkinane/
Note
In addition to all the authors on this book holding a CCIE-level certification,
both Kyzer Davis and Patrick Kinane hold a CCNP Specialist Certification for
the concentration exam Implementing Cisco Advanced Call Control and
Mobility Services (CLACCM) 300-815.
About the Technical Reviewers
Esteban Valverde, CCIE No. 34305, is a Cisco
technical leader with 14 years of experience in
networking and software development. In his current
role, he is part of the Cisco collaboration team of the
Technical Assistance Center (TAC) in Research Triangle
Park, North Carolina. His main focus is working with
customers and Cisco support engineers on escalations
that involve Cisco Unified Border Element (CUBE), fax
and modems, Cisco Unified Communications Manager,
and Unified Contact Center Enterprise Deployments, as
well as working closely with the Cisco Engineering team
to enhance product serviceability and automating
common troubleshooting tasks. During the past years, he
has specialized in troubleshooting complex issues for
some of the largest VoIP networks and has provided
technical leadership for some of the most critical
worldwide collaboration deployments. Esteban has
developed and delivered all levels of training and
documentation on the Cisco Unified Border Element to
Cisco technical teams. He holds a bachelor’s degree in
systems engineering.
Last, but not least, to all the people who’ve made the
Cisco collaboration content and from whom I’ve learned
over the years. Here is a short list: Vik Malhi, Mark
Snow, Kevin Wallace, Paul Giralt, Jeremy Cioara, Andy
Vassar, Ralph Smith III, and Network Chuck.—Patrick
7 Unified CM Mobility
11 Final Preparation
C Memory Tables
E Study Planner
Glossary
Reader Services
Other Features
*Be sure to check the box that you would like to hear from us to receive
exclusive discounts on future editions of this product.
Contents
Introduction
Goals and Methods
Foundation Topics
Introduction to Cisco Unified Collaboration
Components
Unified CM
Cisco Unified Border Element
Foundation Topics
Overview of SIP
Introduction to SDP
The Offer/Answer Framework
H.323 Components
H.323 Call Flow
References
Exam Preparation Tasks
DTMF Relay
Introduction to DTMF Relay
Foundation Topics
Pattern Matching
Numeric Matching
Closest-Match Routing
Transform Masks
Prefix Digits
Combining Transformations
Pattern Configuration and Device Selection
Directory Numbers
Route Patterns, Route Lists, and Route
Groups
Transformation Patterns
Putting It All Together: Tail-End Hop Off
(TEHO)
Foundation Topics
SIP Trunk Overview and Configuration
OPTIONS Ping
Changing Transport Types
References
Exam Preparation Tasks
Media Resources
Ad Hoc and Meet-Me Conferencing
Call Park
Call Pickup
Foundation Topics
Unified Mobility
Foundation Topics
Understanding Call Legs and Call Flows
References
Exam Preparation Tasks
Foundation Topics
SIP–SIP Interworking
Hold/Resume
Call Transfer
UPDATE Interworking
Session Refresh
Media Interworking
Audio Codec Interworking
Music on Hold
DTMF Interworking
Troubleshooting CUBE Media
Other CUBE Features
References
Exam Preparation Tasks
Getting Ready
Tools for Final Preparation
Summary
Online Elements
Glossary
Icons Used in This Book
Command Syntax Conventions
The conventions used to present command syntax in this
book are the same conventions used in the IOS
Command Reference. The Command Reference
describes these conventions as follows:
If you want to use the web app only at this point, just
navigate to www.pearsontestprep.com, establish a free
login if you do not already have one, and register this
book’s practice tests using the access code you just
found. The process should take only a couple of minutes.
Note
Amazon eBook (Kindle) customers: It is easy to miss Amazon’s email that lists
your Pearson Test Prep access code. Soon after you purchase the Kindle
eBook, Amazon should send an email. However, the email uses very generic
text and makes no specific mention of PTP or practice exams. To find your
code, read every email from Amazon after you purchase the book. Also do the
usual checks for ensuring your email arrives, like checking your spam folder.
Note
Other eBook customers: As of the time of publication, only the publisher and
Amazon supply Pearson Test Prep access codes when you purchase their
eBook editions of this book.
EXAM TOPICS
The questions on each certification exam are a closely
guarded secret. However, Cisco has published exam
blueprints that list which topics you must know to
successfully complete the exam. Table I-1 lists the
blueprint topics along with references to the book
chapter or chapters where you can find more information
about each topic. These are the same topics you should
be proficient in when designing and implementing Cisco
Unified CM networks in the real world. Note that some
topics are discussed in multiple chapters as they pertain
to specific devices and their configurations for specific
protocols.
Note
As CCNP Collaboration technologies continue to evolve, Cisco reserves the
right to change the exam topics without notice. Although you can refer to the
list of exam topics in Table I-1, always check Cisco.com to verify the actual list
of topics to ensure that you are prepared before taking the exam. You can view
the current exam topics on any current Cisco certification exam by visiting the
Cisco.com website, choosing Menu, and Training & Events, then selecting from
the Certifications list. Note also that, if needed, Cisco Press might post
additional preparatory content on the web page associated with this book at
http://www.ciscopress.com/title/9780136575542. It’s a good idea to check the
website a couple of weeks before taking your exam to be sure that you have
up-to-date content.
Figure Credits
This content is currently in development.
Chapter 1. Introduction to Unified
Collaboration and Dial Plans
This chapter covers the following topics:
a. Unified CM
c. Expressway-C
d. Unified CME
b. Ad hoc conferencing
c. Firewall traversal
a. MGCP
b. SCCP
c. SIP
d. H.323
e. WebRTC
b. NXX
c. Subscriber
d. Country code
a. 5267209
b. 4085267209
c. 14085267209
d. +14085267209
7. What sequence of digits would an on-premises NANP
user typically dial to indicate that an international
call should be made?
a. Steering code and phone number
FOUNDATION TOPICS
Note that Figure 1-1 does not show some devices, such as
those in customer care solutions. The smaller Unified
Contact Center Express (UCCX) can be integrated with
Unified CM to provide greater IVR capabilities to callers,
including advanced custom scripting and support for up
to 400 agents. Situations in which more agents are
required can take advantage of the more robust Unified
Contact Center Enterprise (UCCE), which is an entire
architecture that has many unique components. (UCCE
is not shown in Figure 1-1.)
Note
Due to the content of the CLACCM 300-815 exam blueprint, this book
assumes that common networking components, such as Layer 3 IP routing and
Layer 2 components, have been properly configured. Furthermore,
foundational topics related to most UC networks—such as Domain Name
System (DNS), Dynamic Host Configuration Protocol (DHCP), Lightweight
Directory Access Protocol (LDAP) and Active Directory, Network Time Protocol
(NTP), Cisco Discovery Protocol (CDP), and Trivial File Transfer Protocol
(TFTP)—are left to the CCNP CLCOR (300-801) exam.
Unified CM
Cisco Unified CM is at the heart of every on-premises
Cisco collaboration solution for the modern enterprise.
As such, UC engineers are likely to need to deploy,
administer, or troubleshoot Unified CM at some point
during their collaboration journey. Almost half the topics
in the CLACCM 300-815 exam blueprint are relevant to
Unified CM.
NPA-NXX-XXXX
Note
Note that the nomenclature used here is that for all digits after the NPA, N can
be any digit from 2 to 9, and X can be any digit from 0 to 9. The digits 911
should never be used within an NPA or NXX code.
With the NANP, the parentheses are often around the
area code, as the last seven digits alone can be dialed by
callers in the same area code. When an area code has
more than one NXX code, seven-digit dialing is usually
not possible.
Note
Sometimes a phone number has a leading zero wrapped in parentheses
prefixed to the national destination code—for example, (0). This optional zero
is used for national dialing habits in some countries and is not part of E.164.
Note
As you can see in Table 1-3, there are many ways of dividing up the digits after
the country code into national destination code and subscriber numbers. The
NANP uses one method, and other countries use different methods. When
deploying a dial plan in another country, it is important to consult official
documentation from telecommunications companies, the government, and
standards bodies for details about the national numbering scheme.
Table 1-4 lists a number of country codes. There are far
too many of them to list in this chapter, but this table
shows a selection of country codes from around the
world across many continents to illustrate the pattern. In
the table you can see that country codes starting with 2
are generally located in Africa. Similarly, country codes
starting with +3 and +4 are in Europe, and country codes
starting with +5 are in Central and South America.
Country codes starting with +6 are generally in Australia
and Southeast Asia, and +7 is used for Russia and
surrounding countries. Country codes starting with +8
are mostly in East Asia, and those beginning with +9 are
in the Middle East. Note that country codes can be up to
three digits long; for example, Greenland’s country code
is +299.
911
9911
112
0112
Closing Remarks
As you can see, by starting with a globalized dial plan
with E.164 as the basis, you one can create a dial plan
that is scalable, redundant, and easy to manage.
Leveraging features such as ILS and Global Dial Plan
Replication, you can efficiently route calls on the
network and make the best use of limited resources.
Chapter 4 dives into how to configure Unified CM with
these dial plan and call routing tasks in mind, and
Chapter 8 covers how to do the same for IOS XE devices,
such as CUBE and Unified CME.
REFERENCES
Cisco, “Cisco Worldwide Support Contacts,”
https://www.cisco.com/c/en/us/support/web/tsd-
cisco-worldwide-contacts.html
a. SIP proxy
b. Registrar server
c. Redirect server
d. B2BUA
e. Location server
b. Expires
c. Remote-Party-ID
d. Session-ID
e. Contact
a. INVITE
b. 100 Trying
c. 200 OK
d. ACK
e. BYE
b. G711alaw
c. OPUS
d. H.264
e. G.729
a. INVITE
b. PRACK
c. UPDATE
d. REGISTER
e. OPTIONS
b. H.245
c. H.450
d. H.264
a. 1719
b. 1720
c. 1721
d. 5060
e. 5061
b. Fast start
c. Early offer
d. Delayed offer
FOUNDATION TOPICS
OVERVIEW OF SIP
Session Initiation Protocol (SIP) forms the
backbone of modern real-time communication networks.
Over the years, SIP has been enhanced a great deal to
include several usage paradigms that make it a very
robust multipurpose communication protocol. The
following sections provide a brief overview of SIP.
SIP Operation
SIP works on the request/response framework and
mirrors a model similar to HTTP, where there is a
client/server exchange. A node that generates the
request is called a user agent client (UAC), and a
node that processes the request and sends out at least
one response is called a user agent server (UAS). The
concepts of a SIP transaction and a SIP dialog
characterize the interaction between the UACs and UASs.
A SIP transaction consists of a single request and all
responses to that request, which may include zero or
more provisional responses (1XX) and one or more final
responses (2XX, 3XX, 4XX, 5XX, 6XX). A SIP dialog is a
peer-to-peer relationship between user agents that exists
for some time.
Note
1XX messages, which are optional, are omitted from Figure 2-1. Similarly, the
type of session (for example, audio, video) being established is omitted to keep
the example simple.
sip:username:password@host:port
sips:username:password@host:port
Note that the sips URI is not required when using TLS,
and many implementations use SIP over TLS with the
sip URI. As with a non-secure sip URI, if the port is not
specified, a default port is used. In this case, however,
the default port is 5061 instead of 5060.
SIP Methods
SIP messages are transmitted in plaintext. SIP messages
can be requests or responses to requests. Table 2-2 lists
SIP requests and describes the purpose of each one.
Forming a Request
Standards-based SIP requires that a request contain at
least the following header fields:
• Request-URI
• Via
• From
• To
• Call-ID
• Max-Forwards
• CSeq
INVITE sip:2001@rtp-cucm.ccnpcollab.lab;user=phone SI
Via: SIP/2.0/TCP 14.50.214.109:49850;branch=z9hG4bK43
From: “+14085557890” <sip:+14085557890@rtp-cucm.ccnpc
To: <sip:2001@rtp-cucm.ccnpcollab.lab>
Call-ID: c4b36aba-ca23000e-14159e9e-1b38e718@14.50.21
Session-ID: 735c6c0600105000a000c4b36abaca23;remote=0
Max-Forwards: 70
CSeq: 101 INVITE
Contact: <sip:+14085557890@14.50.214.109:49850;transp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REG
Supported: replaces,join,sdp-anat,norefersub,resource
Accept: application/sdp
User-Agent: Cisco-CP8865/12.7.1
Expires: 180
Remote-Party-ID: “+14085557890” <sip:+14085557890@rtp
Note
In real-world networks, there could be several devices between the UAC and
UAS, such as call agents, SIP proxies, and SBCs. While a proxy cannot alter
the Request-URI, devices such as SBCs and call agents can modify and
transform the Request-URI, if required by local policy or configuration.
Via: SIP/2.0/UDP
10.1.1.1:5060;branch=z9hG4bK2D1F9D1C08
The header fields listed here are required for every type
of SIP request. However, additional header fields might
also be required, depending on the type of the SIP
method (request). For example, a SIP INVITE requires
additional header fields accompanying the mandatory
header fields to be efficiently processed by the UAS. For
SIP INVITE, the following additional header fields are
required:
Alow:INVITE,ACK,CANCEL,BYE,REGISTER,REFER,INFO,SUBSCRIBE,NOTIFY,PRACK,UPDATE,OPTIONS
Forming a Response
On receiving a SIP request, a UAS performs a sequence
of checks to determine how to respond to the request.
Figure 2-2 illustrates the logic executed on the server to
process a request.
Note
During the INVITE transaction, this message always contains SDP; however, it
has been removed here for the sake of simplicity and brevity.
INTRODUCTION TO SDP
In the earlier days of Internet telephony, the process of
setting up a call was very cumbersome and drawn out—
very unlike the seamless call setup we experience today.
To set up a communication session in the early days,
participants had to do the following:
<type>=<value>[CRLF]
• Session description
• Time description
• Media description
t=<start-time> <stop-time>
• Session level
• Media level
v=0
o=CiscoSystemsSIP-GW-UserAgent 1597 5834 IN IP4 10.94
s=SIP Call
t=0 0
a=recvonly
m=audio 16590 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
m=video 51372 RTP/AVP 126
a=rtpmap:126 H264/90000
v=0
o=CiscoSystemsSIP-GW-UserAgent 1597 5834 IN IP4 10.94
s=SIP Call
c=IN IP4 10.1.1.1
t=0 0
a=recvonly
a=sendrecv
a=ptime:20
a=rtcp:53020
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=ptime:20
Note
A comprehensive list of the mappings of all payload numbers to media formats
is maintained in an Internet Assigned Numbers Authority registry at
https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml.
v=0
o=CiscoSystemsCCM-SIP 2828060 1 IN IP4 10.1.1.1
s=SIP Call
c=IN IP4 10.1.1.1
b=TIAS:64000
b=AS:64
t=0 0
m=audio 17236 RTP/AVP 0 8 18 114
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=rtpmap:114 opus/48000/2
a=fmtp:114 maxplaybackrate=16000;sprop-maxcapturerat
[Offer]
v=0
o=Cisco-SIPUA 23226 0 IN IP4 14.50.214.109
s=SIP Call
c=IN IP4 14.50.214.109
t=0 0
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:97 iLBC/8000
[Answer]
v=0
o=CiscoSystemsCCM-SIP 279932 1 IN IP4 172.18.110.91
s=SIP Call
c=IN IP4 14.50.214.107
b=AS:384
t=0 0
a=rtpmap:8 PCMA/8000
a=rtpmap:126 H264/90000
Note
If there are no media formats in common for all streams, the entire offered
session is rejected.
As discussed previously, an offerer can set the direction
attribute (at the session level or media level) to sendrecv,
sendonly, recvonly, or inactive. Table 2-8 highlights the
different ways in which the direction attribute can be set
in an answer for unicast media sessions.
Note
The offer and answer can optionally include bandwidth and packetization
interval attributes. For more on packetization intervals, see Chapter 3.
Modifying a Session
During the course of a communication session, it is not
uncommon for application interactions to require
modification of session characteristics. These
modifications could include changing the media formats,
changing the value of the direction attribute, adding new
media streams, and removing existing media streams, for
instance. Some examples of scenarios where
modifications occur are during supplementary service
actions such as call hold, resume, transfer, and even
conferencing. Nearly all aspects of a communication
session can be modified. To effect a change or
modification of session characteristics, the two user
agents must engage in a new SDP offer/answer
exchange. The high-level flow of modifying a
communication session is depicted in Figure 2-5.
[Original SIP+SDP]
Content-Type: application/sdp
Content-Length: 283
v=0
o=CiscoSystemsSIP-GW-UserAgent 1597 5834 IN IP4 10.94
s=SIP Call
c=IN IP4 10.1.1.1
t=0 0
a=recvonly
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
m=video 51372 RTP/AVP 126
a=rtpmap:126 H264/90000
[M*odified SIP+SDP]
Content-Type: application/sdp
Content-Length: 227
v=0
o=CiscoSystemsSIP-GW-UserAgent 1597 5835 IN IP4 10.94
s=SIP Call
c=IN IP4 10.1.1.1
t=0 0
a=recvonly
a=rtpmap:0 PCMA/8000
a=ptime:20
m=video 51372 RTP/AVP 126
a=rtpmap:126 H264/90000
Note
This process of modifying the session through re-INVITE or UPDATE SIP
message can continue as many times as needed by either user agent involved
in the session. Also, note that the UPDATE transaction does not contain an
ACK SIP message because the ACK is exclusive to the INVITE/re-INVITE
transaction.
Content-Type: application/sdp
Content-Length: 707
v=0
o=CiscoSystemsCCM-SIP 280365 1 IN IP4 172.18.110.91
s=SIP Call
c=IN IP4 14.50.214.107
b=TIAS:64000
b=AS:80
t=0 0
b=TIAS:64000
a=rtpmap:114 opus/48000/2
a=fmtp:114 maxplaybackrate=16000;sprop-maxcapturerat
a=rtpmap:9 G722/8000
a=rtpmap:124 iSAC/16000
a=rtpmap:113 AMR-WB/16000
a=fmtp:113 mode-change-capability=2
a=rtpmap:115 AMR-WB/16000
a=fmtp:115 octet-align=1;mode-change-capability=2
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=maxptime:20
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
Content-Type: application/sdp
Content-Length: 416
v=0
o=CiscoSystemsCCM-SIP 405281 1 IN IP4 172.18.110.61
s=SIP Call
c=IN IP4 14.50.214.106
b=TIAS:64000
b=AS:80
t=0 0
Content-Type: application/sdp
Content-Length: 1499
v=0
o=CiscoSystemsCCM-SIP 405281 5 IN IP4 172.18.110.61
s=SIP Call
c=IN IP4 14.50.214.106
b=TIAS:384000
b=AS:384
t=0 0
b=TIAS:64000
a=rtpmap:114 opus/48000/2
a=fmtp:114 maxplaybackrate=16000;sprop-maxcapturerat
a=rtpmap:9 G722/8000
a=rtpmap:124 iSAC/16000
a=rtpmap:113 AMR-WB/16000
a=fmtp:113 mode-change-capability=2
a=rtpmap:115 AMR-WB/16000
a=fmtp:115 octet-align=1;mode-change-capability=2
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=maxptime:20
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=trafficclass:conversational.audio.avconf.aq:admitte
b=TIAS:384000
a=rtpmap:100 H264/90000
a=fmtp:100 profile-level-id=640C16;packetization-mode
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=428016;packetization-mode
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720
a=content:main
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=trafficclass:conversational.video.avconf.aq:admitte
Content-Type: application/sdp
Content-Length: 830
v=0
o=CiscoSystemsCCM-SIP 280365 5 IN IP4 172.18.110.91
s=SIP Call
c=IN IP4 14.50.214.109
b=TIAS:384000
b=AS:384
t=0 0
b=TIAS:64000
a=rtpmap:114 opus/48000/2
a=fmtp:114 maxplaybackrate=16000;sprop-maxcapturerat
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=trafficclass:conversational.audio.avconf.aq:admitte
b=TIAS:320000
a=rtpmap:100 H264/90000
a=fmtp:100 profile-level-id=640C16;packetization-mode
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720
a=content:main
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=trafficclass:conversational.video.avconf.aq:admitte
Note
The concept of zeroing out a port may also be referred to as disabling a media
stream.
Note
There are several other scenarios that require modification of the media IP
address and port. These include, but are not limited to, media redirection from
one endpoint to another, call hold, and call resume.
OVERVIEW OF H.323
H.323 is a communication protocol from the ITU-T. It is
a VoIP call control protocol that allows for the
establishment, maintenance, and teardown of
multimedia sessions across H.323 endpoints. H.323 is a
suite of specifications that controls the transmission of
voice, video, and data over IP networks. The following
are some of the H.323 specifications relevant to the
subject matter laid out in this book:
H.323 Components
The H.323 protocols outlined in the previous section are
used in the communications between H.323 components
or devices. The following are the most common H.323
devices:
Note
FastConnect is often improperly referred to as “fast start” or “fastStart,” after
the name of the associated field/element in H.225 messages that is used to
negotiate and establish FastConnect.
REFERENCES
Inamdar, Kaustubh, Steve Holl, Gonzalo Salgueiro,
Kyzer Davis, and Chidambaram Arunachalam.
Understanding Session Border Controllers:
Comprehensive Guide to Designing, Deploying,
Troubleshooting, and Maintaining Cisco Unified
Border Element (CUBE) Solutions. Hoboken: Cisco
Press, 2018.
• 1.2.a DTMF
• 3.1.a DTMF
• 3.2 Troubleshoot these Cisco Unified Border
Element dial plan elements
• 3.2.a DTMF
a. 8 kHz
b. 64 kHz
c. 8000 kHz
d. 64,000 kHz
a. 0
b. 18
c. 96
d. 114
e. 127
f. 151
c. Marker Bit
d. Sequence Number
d. Every 15 minutes
a. 5%
b. 15%
c. 25%
d. 50%
b. a=rtcp-mux
c. a=rtpmap
d. m=
e. c=
a. SIP KPML
d. SIP NOTIFY
b. 8
c. 18
d. 99
e. 101
a. INVITE
b. SUBSCRIBE
c. NOTIFY
d. 200 OK
d. The firewall
FOUNDATION TOPICS
• Alice to Bob
• Bob to Alice
v=0
o=CiscoSystemsSIP-GW-UserAgent 7031 5812 IN IP4 192.0
s=SIP Call
c=IN IP4 192.0.2.2
t=0 0
a=rtpmap:0 PCMU/8000
a=ptime:20
Note
A common misconception about the Sequence Number field is that it assists
the receiver in determining the order in which the packets are played out, but
this is an incorrect assumption. The order in which packets are played out at
the receiver is dependent on the RTP Timestamp header field, described next.
The Sequence Number field simply assists the receiver with loss detection.
• Application restarts
• SSRC collisions
Note
Contrary to popular belief, RTP can be sent over TCP. RFC 4571 serves as the
basis for using RTP and RTCP over connection-oriented transports such as
TCP. Although it is unlikely that you will find it in most deployments, Cisco
Webex may attempt to utilize TCP as a backup transport protocol in the event
that UDP is blocked on the enterprise. The use of TCP as the transport for RTP
is signaled through the SDP with the m= line containing TCP/RTP/AVP rather
than the standard RTP/AVP used with UDP RTP.
Real-time networks transmit voice and video data over
RTP such that each individual RTP packet contains a
fixed-size payload that serves as an information unit.
Within the RTP payload are the voice and video samples
that are encoded and decoded at the sender and receiver
applications, respectively. The time duration of media
that is encoded within these payloads, known as the
packetization period, can vary on a per-codec basis. For
example, G.711-encoded streams can have packetization
periods that vary from 5 milliseconds to 40 milliseconds.
In RTP sessions that are set up using SIP and SDP, the
packetization period is advertised using the ptime and
maxptime attributes. The ptime attribute specifies the
length of media within a packet, expressed in
milliseconds, whereas the maxptime attribute specifies
the maximum amount of media that can be encapsulated
in a packet, also expressed in milliseconds. While setting
up a communication session between RTP peers, in the
ensuing offer/answer exchange, if the ptime attribute is
included in the SDP body by the offeror or answerer, it
indicates the desired packetization interval that the
offeror or answerer would expect to receive. Example 3-2
highlights the use of the ptime attribute in SDP.
v=0
o=CiscoSystemsSIP-GW-UserAgent 7031 5812 IN IP4 192.0
s=SIP Call
c=IN IP4 192.0.2.2
t=0 0
a=rtpmap:0 PCMU/8000
a=ptime:20
a=ptime:<packet time>
a=maxptime:<maximum packet time>
udp.srcport == 8452
udp.dstport == 24812
rtp.ssrc == 0x00007a4a
Note
The Sender’s Packet Count and the Sender’s Octet Count field values are
reset if the SSRC changes for a sender during the RTP session. SSRC values
can change if there is an SSRC collision detected or if the sender changes its
media type during an RTP session.
Note
The sequence number in RTP packets is a 16-bit field, which means RTP
packets from a source can carry distinct sequence numbers for a maximum of
65,535 packets (216 packets). After crossing this maximum value, the
sequence number has to wrap around to 0. Wrapping of RTP sequence
numbers is fairly common and occurs for conversations that extend a duration
beyond 21 minutes 50 seconds (assuming a codec packetization rate of 50
packets per second). It is for this reason that sequence numbers cannot be
used to uniquely identify packets within an RTP session. To account for this, a
32-bit sequence number is commonly used, where the lower 16 bits encode
the RTP sequence number of a packet, and the upper 16 bits encode the
number of times the sequence number space has wrapped around to 0.
RTCP Transport
As highlighted earlier, for UDP and similar transport
layer protocols, applications must use an even port
number for RTP and the next higher (odd) port number
for RTCP. As detailed in Chapter 2, “VoIP Protocols: SIP
and H.323,” applications can utilize the SDP attribute
a=rtcp:<udp-port> to define another RTP port rather
than the default next highest UDP port number.
Furthermore, RFC 5761 introduced the concept of
RTP/RTCP multiplexing over a single UDP port. This is
conveyed using the SDP attribute a=rtcp-mux.
DTMF RELAY
At some point, you have heard a prerecorded prompt
requesting some information, perhaps a credit card
number, an employee number, or a simple PIN entry.
After a couple of presses on the keypad, you magically
got the information you were looking for or were
connected to a human agent. The underlying framework
that enables this seamless transfer of information is
known as dual-tone multifrequency (DTMF).
Note
Further discussion in this chapter uses the term NTE packet to designate an
RTP packet that carries an NTE payload.
Three different types of packets are sent per event in the
NTE scheme:
Note
There are scenarios in which the timestamp can change within the span of a
single event; this occurs when the event lasts longer than 8 seconds.
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
SIP INFO
The procedures laid out in RFC 3261 and several
accompanying RFCs define the operating principles,
methods, and extensions that make SIP a robust
multipurpose communication protocol. Defined
originally in RFC 2976, the SIP INFO method is one such
extension to SIP, designed to allow exchange of
application-level information along the signaling path.
• DTMF transmission
• QSIG encapsulation
• Fast video update requests
• Billing
Note
SIP INFO is covered here for completeness, but most Cisco products either
don’t support it at all or have very limited support (for example, they are unable
to send SIP INFO but are able to receive it and immediately convert it to RTP-
NTE).
SIP KPML
SIP Key Press Markup Language (KPML), defined in
RFC 4730, is used to monitor key presses. Before
describing the working of SIP KPML in the transmission
of DTMF, it is important to understand the underlying
framework governing its operation. SIP KPML works on
the subscribe/notify framework, which involves a
subscriber and a notifier. The subscriber is a user agent
that initiates a subscription for event updates or state
information to the notifier, and the notifier is a user
agent that notifies the subscriber of any state change or
observed events.
• One-shot subscriptions
• Persistent subscriptions
Note
KPML is extensively used to indicate digits pressed while dialing a phone
number and is not restricted to reporting only DTMF information. Many of
Cisco’s IP phones use KPML to indicate the dial string while initiating a call
with Unified CM.
Event: kpml
Subscription-State: active
Content-Type: application/kpml-response+xml
Content-Length: 113
Message Body
<?xml version="1.0” encoding="UTF-8"?><kpml-response vers
ion="1.0” code="200” text="OK” digits="1” tag="dtmf"/>\r
\n
• code (mandatory)
• text (mandatory)
• digit (optional)
• tag (optional)
</kpml-request>
SIP/2.0 200 OK
Via: SIP/2.0/TCP 14.50.214.122:51851;branch=z9hG4bK3f
From: <sip:1008@14.50.214.122>;tag=2c31246a214b002018
To: <sip:1@172.18.110.48>;tag=512298967
Call-ID: a8dfce00-1eb1bdb2-38ed3-306e12ac@172.18.110.
CSeq: 1001 NOTIFY
Server: Cisco-CUCM12.5
Content-Length: 0
SIP Notify
The out-of-band methods of DTMF relay discussed so far
are widely adopted in SIP-based networks; however, in
terms of the amount of information disseminated, there
are a few shortcomings. For example, in the case of SIP
INFO, it is impossible to determine when the DTMF
event actually began. In addition, many vendors use
default event duration values for DTMF that fail to
accurately capture the actual event duration. In the case
of SIP KPML, digit notifications sent in the KPML report
capture only the actual digit event, without providing
much detail around how long the digit press event lasted,
which could lead to issues when these tones have to be
reproduced on a POTS interface (such as an ISDN
circuit) or converted to another DTMF encoding scheme.
Call-Info: <sip:10.1.1.2:5060>;method="NOTIFY;Event=telep
honeevent;Duration=2000"
Expires: 180
Allow-Events: telephone-event
Call-Info: <sip:10.1.1.1:5060>;method="NOTIFY;Event=telep
honeevent;Duration=2000"
Content-Length: 0
Note
The UAS can indicate support for unsolicited NOTIFY in the 200 OK message
as well.
While negotiating bidirectional support for unsolicited
NOTIFY through the exchange of the Call-Info header,
the Duration header field value is of significant interest
as it does not indicate the default value for all DTMF
events in the dialog. Rather, it indicates the amount of
time between successive NOTIFY messages sent for a
single DTMF event.
• Start packet
• Refresh packet(s)
• End packet
REFERENCES
Inamdar, Kaustubh, Steve Holl, Gonzalo Salgueiro,
Kyzer Davis, and Chidambaram Arunachalam.
Understanding Session Border Controllers:
Comprehensive Guide to Designing, Deploying,
Troubleshooting, and Maintaining Cisco Unified
Border Element (CUBE) Solutions. Hoboken: Cisco
Press, 2018.
• 4.2.f TEHO
a. 1…
b. 1XXX
c. 1***
d. 1{3d}
e. 1!
2. Which of the following are valid transformation
masks? (Choose three.)
a. \+1919555XXXX
b. 1XXX
c. 1***
d. [2-9]XXXX
e. +44XXXXXXX
a. Route pattern
b. Route list
c. Route group
d. Line group
b. Top Down
c. Bottom Up
d. Circular
e. Randomized
a. X
b. !
c. @
d. .
e. #
b. Hunt pilot
c. Route list
d. Hunt list
e. Line group
b. Route Partition
b. 1555
c. 2222
d. 2555
e. 3333
f. 3555
a. 1238888
b. 1118888
c. 123118888
d. 1234118888
e. 8888
b. Hub
c. Spoke
d. Client
e. Server
c. TranslatorX
potentialMatches=NoPotentialMatchesExist
FOUNDATION TOPICS
PATTERN MATCHING
To configure a dial plan in Unified CM, an administrator
must specify the phone numbers or alphanumeric URIs
that a user can dial. These sequences are generally
referred to as patterns. A variety of dial plan
configuration elements—such as route patterns,
translation patterns, and directory numbers—provide
fields for an administrator to configure patterns.
Regardless of the dial plan element, patterns all behave
the same way throughout the system.
Numeric Matching
Let’s first discuss how Unified CM deals with numeric
patterns. As mentioned earlier, a numeric pattern can be
a sequence of digits or can contain a variety of wildcard
characters that can match more than one digit. Table 4-2
describes the various numeric wildcard characters
available in Unified CM.
[2-9]XX[2-9]XXXXXX
9[2-9]XX[2-9]XXXXXX
9.[2-9]XX[2-9]XXXXXX
Recall that the dot does not match any digits or affect the
way the pattern is matched. It simply acts as a delimiter
that can later be used with digit discard instructions, as
discussed later in this chapter. Although 9 is the most
common steering digit, the steering digit can be
different. There may also be more than one type of
steering digit in a dial plan used to direct calls to
different parts of an organization, depending on the
particular design and deployment. Alternatively, a design
might not use steering digits at all but instead might
require users to just dial all numbers as they would from
a home phone or mobile phone.
\+1[2-9]XX[2-9]XXXXXX
Closest-Match Routing
In many scenarios, there may be a variety of different
configured patterns that match a sequence of digits
provided by an end user. For example, consider a Unified
CM cluster with the following patterns configured:
1000
100X
10X5
1[^1]XX
1XXX
1!
1000
100X
10X5
1XXX
1!
On the other hand, if the user dials the digit 1, all the
patterns are considered potential matches; however,
none of them actually are matches. When the user dials a
second digit—for example, the digit 5—the situation
changes significantly. First of all, 1000, 100X, and 10X5
are no longer potential matches. 1XXX is considered a
potential match because, if the user were to dial two
more digits, it would match. 1! in this scenario is a bit
unusual in that it is both a match and a potential match.
It is a match because the digits 15 match the pattern 1! (1
followed by one or more numeric digits) but could also
possibly match additional digits as well because this
pattern allows for one or more digits after the 1.
Note
Don’t be confused by the difference between transformations and
transformation patterns. Transformation patterns are discussed later in this
chapter. Transformations can be configured on a variety of dial plan elements,
including, but not limited to, transformation patterns, route patterns, translation
patterns, and route lists.
• Transform mask
• Prefix digits
Transform Masks
Transform masks provide a powerful way to
manipulate arbitrary digits in a number string. They
allow an administrator to add, remove, or change
numbers in a digit string before sending that number to
the end device or the next dial plan element. Masks can
be thought of as addition problems, where the number to
be modified and the mask to be applied are right-aligned
and then the digits in the number and mask are
compared to determine the result. A mask can contain
either a digit (0-9, *, #, +) or an X. A specific digit or
character replaces the digit at that position with the one
in the mask. The X character keeps the existing digit at
that position. The mask can also be shorter or longer
than the number of digits in the number to be modified.
Let’s look at some examples that illustrate how this
works.
Original 20
number 00
40
85
Mask 55
XX
XX
40
85
Final result 55
20
00
You can see that the mask transforms the extension into
a 10-digit number. This mask might be used to transform
the calling party number for presentation to the PSTN.
94
08
Original 55
number 51
23
4
+1
XX
XX
Mask
XX
XX
XX
+1
40
85
Final result
55
12
34
Original 20
number 00
Mask +1
XX
XX
XX
XX
XX
+1
??
??
Final result
??
12
34
In this case, the final result has digits that are unknown
because an X is being applied to a nonexistent digit. In
this scenario, the entire number is discarded because it is
invalid. Care should be taken to ensure that scenarios
like this do not occur.
Prefix Digits
The final form of transformation by using prefix digits.
The Prefix Digits field allows administrators to, as the
name implies, prefix digits to a number. The prefix is
applied regardless of the number of digits. For example,
if the Prefix Digits field is set to 9, the numbers 10, 100,
and 1000 are transformed to 910, 9100, and 91000,
respectively.
Combining Transformations
94
08
Dialed 52
number 67
20
9
9.
[2
-
9]
XX
Route pattern [2
-
9]
XX
XX
XX
Pr
Discard eD
ot
New number 40
85
26
72
09
1X
XX
Transform XX
mask XX
XX
X
14
08
52
New number
67
20
9
Prefix +
+1
40
85
Final number
26
72
09
Note
This example is just for illustrative purposes because it would be much easier
to just apply a mask of +1XXXXXXXXXX to achieve the same result. However,
you will find that in some scenarios, using one or more of the transformations is
easier.
Directory Numbers
A directory number is the most basic pattern
configuration. It assigns a pattern to a line on a device,
whether it be a physical phone, a soft client such as Cisco
Jabber or Webex Teams, or a virtual device such as a
Remote Destination Profile or CTI Route Point.
Note
An administrator can configure alternate numbers associated with a directory
number. Alternate numbers are discussed later in this chapter, in the section
“Global Dial Plan Replication.”
Route Patterns
Although when configuring these dial plan elements, you
configure the route pattern last, here we talk about it
first. Figure 4-3 shows the route pattern configuration
page in Unified CM Administration user interface, which
you reach by navigating to Call Routing > Route/Hunt >
Route Pattern.
Route Lists
A route list allows you to specify an ordered list of route
groups to which to route a call. The route groups
specified in a route list are always used in a top-down
order. This means that as long as the devices within the
first route group in a route list are working, that route
list will receive all of the calls until all of the devices
within that route group fail or run out of capacity, at
which point the next route group in the route list is
attempted. This continues until the call succeeds or until
the end of the list is reached. If Unified CM fails to
extend a call to any of the route list entries, it generates a
RouteListExhausted alarm and alerts to tell the
administrator that the system was unable to extend a call
on a particular route list. This could be because all the
trunks are busy and there is no capacity, because there is
a failure to connect to the trunk destination, or because
the far end of the gateway or trunk is returning a failure
cause when the call is extended.
You can see that there are very few settings on this page.
However, there are some important concepts related to
how these parameters work that you need to understand
—especially the significance of the Cisco Unified
Communications Manager Group setting.
The final parameter, which you can see only if you click
the Advanced button at the top of the page, is the Stop
Routing on Q.931 Disconnect Cause Code parameter,
which allows you to specify one or more cause codes,
separated by spaces. Remember that by default, Unified
CM continues routing on any cause code other than
unallocated number and user busy, based on the two
parameters mentioned previously. If you would like
Unified CM to stop routing on any other cause code, you
must specify it in this field.
Route Groups
A route group is a collection of one or more gateways or
trunks that are used to route a call. Route groups are
configured in Unified CM Administration > Call Routing
> Route/Hunt > Route Group (see Figure 4-6).
Figure 4-6 Route Group Configuration Page in the
Unified CM Administration User Interface
The original local route group feature had only one such
placeholder, named Standard Local Route Group. The
name was not configurable, and only one local route
group could be configured on the device pool. Thanks to
the introduction of the multiple local route group
feature, you now have additional flexibility. To see how
this is configured, start with the configuration for the
local route group names by navigating to Unified CM
Administration > Call Routing > Route/Hunt > Local
Route Group Names. Figure 4-7 shows an example of
this configuration page.
Line Groups
The first element you must configure is the line group. A
line group allows you to group a series of lines on
phones into a group for the purposes of distributing calls
in some fashion to those lines. Figure 4-8 shows the line
group configuration page, which can be found by
navigating to Unified CM Administration > Call Routing
> Route/Hunt > Line Group.
Figure 4-8 Line Group Configuration in the Unified CM
Administration User Interface
Hunt Lists
After you have created a line group, you can add it to a
hunt list. A hunt list is very similar to a route list. To
configure a hunt list, navigate to Unified CM
Administration > Call Routing > Route/Hunt > Hunt
List. Figure 4-9 shows the hunt list configuration page.
Hunt Pilots
The final step needed to get line groups to work is to
create the hunt pilot. A hunt pilot is similar to a route
pattern, but it contains additional configuration to deal
with forwarding and queueing of calls. Figure 4-10 shows
the pattern definition section of the hunt pilot
configuration, which can be found by navigating to
Unified CM Administration > Call Routing >
Route/Hunt > Hunt Pilot.
Figure 4-10 Hunt Pilot Configuration in the Unified
CM Administration User Interface
You can see in the figure that each route pattern shows
the route list, route groups, and trunks or gateways
associated with that pattern, and a hunt pilot shows the
hunt list and line group members. The Route Plan
Report pages provides a very convenient way of quickly
searching for configured dial plan elements.
This figure shows the two new partitions that have been
added and added to the newly created
NC_919_984_National_Calling_CSS calling search
space. The US_National_PT partition contains patterns
allowing access to any PSTN number in North America
for calls that are considered long-distance calls. Because
of the way the North American Numbering Plan (NANP)
works, several countries all share the same country code,
so the patterns in the US_Block_CC1_Intl_PT partition
is used to add blocking patterns that block calls to area
codes that are considered to be international calls. These
are all route patterns configured with Block This Pattern
on the route flag. In a real deployment, there would be
many more of these patterns—one for each area code in
Canada and the Caribbean.
TRANSLATION PATTERNS
Translation patterns are some of the most powerful
call routing tools at your disposal as an administrator.
Understanding all the various parameters available to
you in a translation pattern can help you build complex
dial plans. At first glance, the configuration for a
translation pattern looks almost identical to the
configuration for a route pattern—and for good reason:
Most of the configuration parameters for a translation
pattern are identical to and serve the same purpose as
those on the route pattern configuration page. Before we
discuss how you configure a translation pattern, you
need to understand the purpose of a translation pattern
and how it fits into a dial plan.
Notice that the IP phone does not have direct access the
\+! pattern because the phone does not have the
PSTN_Routes partition in its calling search space.
However, the call eventually does use this route pattern
to route the call. Translation patterns allow you to access
other partitions in a restricted fashion, as highlighted in
this example.
TRANSFORMATION PATTERNS
One of the possible challenges that the local route group
feature introduces is the inability to perform calling or
called number transformations on a per-route-group
basis. With a normal route group, you can manipulate
calling and called party numbers by using the route list
details configuration to modify numbers on a per-route-
group basis, but with a local route group, these
transformations apply to all the route groups configured
as a local route group. For example, if you have route
groups named Branch 0001 PSTN through Branch 2000
PSTN assigned as the local route group named Branch
PSTN on 2000 different device pools and you have a
single route list that contains the Branch PSTN local
route group, any transformations you perform on the
route list details for the Branch PSTN local route group
will be applied to all 2000 route groups when they are
used as part of this route list. If you want to be able to
manipulate digits differently, depending on which of the
branch PSTN routes you take, you must resort to
transformation patterns.
Note
You may already be confused upon seeing this list because we have only
discussed calling party and called party transformation patterns but not
connected party or redirecting party transformation patterns. This is because
there is no such thing as a connected party or redirecting party transformation
pattern. Both of these parameters also look for calling party transformation
patterns. The only one that looks for called party transformation patterns is the
Called Party Transformation CSS parameter.
Let’s walk through the process. When the user dials 1000
and the first translation pattern, 1XXX, is matched, it
transforms the called party number to 2000. This now
becomes the new original called party number and is
used for the next digit analysis lookup. The new called
number, 2000, now matches the 2XXX route pattern,
which transforms the called party number to 3000. The
route pattern points to a route list, and the route list
details say to apply the called party transformation
X5XX. Does this become 3500? No, it does not.
Remember that the route list details override any
transformations performed on the route pattern and
transform based on the original called party number.
Since the user dialed 1000, would this transformation
become 1500? Again, no, it will not because the
translation pattern creates a new original called party
number, so at this point, the called party number
becomes 2500. Now the call is routed to the trunk for
routing. There is a called party transformation calling
search space configured on the trunk with the patterns
listed. Which (if any) pattern is matched, and what
would the transformed number be? You might be
tempted to think it would match 25XX, which would
output 2555 as the called party number, but that is
incorrect. Transformation patterns only look at the
original called party number, but the original called party
number was changed by the translation pattern, so the
number that is searched for a match is 2000 (the called
party number that matched the route pattern).
Therefore, the final called party number sent out in the
SIP INVITE is 2222, after matching the 2XXX
transformation pattern.
Note
If you are not 100% confident in the explanation for this example, please
reread it as many times as necessary to make sure you understand it fully. If
you understand this, you will have a good grasp of how transformation patterns
work and the order of operations and precedence with transformations in
various call routing elements. In fact, if you have a Unified CM cluster at your
disposal, configure the example in some test partitions and calling search
spaces and observe what happens. Also remember that although these
patterns do not affect the routing of the call through Unified CM because they
get applied after the destination device has been selected, they can affect the
eventual routing of the call because the transformation modifies the number
sent to the far-end system on the SIP trunk.
Trunks are not the only location where you can configure
transformation calling search spaces. The phone
configuration page contains two calling search spaces
that can be used to match calling party transformation
patterns. They affect the way the calling party number is
presented on a phone as well as manipulate the calling
party number for calls placed from the phone. Figure 4-
29 shows the configuration options on the phone
configuration page, which you reach by navigating to
Unified CM Administration > Device > Phone.
Note
The 9, 91, or + prefix applied to the calling party number is usually achieved by
performing a calling party modification on the inbound gateway or trunk, which
in turn affects how the number is displayed in the call history on the endpoint
that ends up receiving the call. General design best practice is to globalize the
number into +E.164 format instead of prefixing a steering digit such as a 9.
Another type of device that allows an administrator to
configure a transformation calling search space is the
remote destination profile configuration page, found in
Unified CM Administration > Device > Device Settings >
Remote Destination Profile. Remote destination profiles
are discussed in Chapter 7, “Unified CM Mobility.” As
you will learn in that chapter, this feature allows calls to
an IP phone to simultaneously ring a mobile device. The
calling party transformation calling search space
configured on a remote destination profile allows you to
manipulate the calling party number for calls destined to
a remote destination. Again, these transformation
patterns are needed because a call from a phone calling
another phone on the cluster does not pass through a
route pattern or translation pattern, so this is an
opportunity for an administrator to manipulate the
calling party number to ensure that it is properly
presented to the PSTN. These transformations can be
used to globalize the calling party number, and when the
call is routed out to the PSTN to reach the mobile device,
it can be localized by the transformation patterns
configured on the trunk or gateway.
You can see six calling search spaces and six partitions
for this example. The first two are for the translation and
routing of the call, and the next four are for calling and
called party transformations. You need to create the six
partitions and then create the six calling search spaces
that include those partitions. The first calling search
space, International_With_TEHO_CSS, is the calling
search space assigned to the phone placing the call. This
calling search space allows access to the
NANP_International_PSTN partition. In a real-world
scenario, there would be other partitions that allow
access to other patterns in addition to these international
dialing patterns, but this section focuses specifically on
the components needed to make this TEHO call work.
This partition contains only translation patterns.
• Pattern: 9011.!
• Partition: NANP_International_PSTN
• Pattern: 9011.!#
• Partition: NANP_International_PSTN
• Pattern: \+!
• Partition: NANP_International_PSTN
• Partition: NANP_International_PSTN
• Pattern: \+44.!
• Partition: Global_TEHO_Patterns
• Pattern: \+44.!
• Partition: UK_Called_Xform_CSS
• Prefix Digits: 0
• Pattern: \+.1!
• Partition: UK_Calling_Xform
In case the call through the U.K. SIP trunk fails for some
reason, the route list includes a second route group.
Although not shown in Figure 4-31, this route group
contains two SIP trunks: one in each data center. The
provider for these two SIP trunks accepts the calling and
called party numbers in +E.164 format, as shown in
Figure 4-30, so for these two SIP trunks, no calling or
called party transformation calling search space
configuration is necessary.
If U.K. SIP trunk and both data center SIP trunks fail to
route the call, the call is sent to the local gateway at the
branch. This gateway is selected via the Local Route
Group feature. Based on the device pool of the device, the
route group that contains the gateway for that branch is
selected. There are two more transformation patterns
needed to convert the +E.164 format to a format
expected by the local PSTN. Start with the called party
number. The PSTN provider providing service to the
local gateway you are interested in expects the calling
and called party numbers to be in NANP format, which
means the calling party number should be a 10-digit
number, and the called party number should adhere to
the standard NANP dialing habit. This means that for
international calls, the number should be 011 + country
code + national number. To transform the number,
configure the following transformation pattern:
• Pattern: \+.[2-9]!
• Partition: US_Called_Xform_CSS
• Partition: US_Calling_Xform
Notice the position of the dot (.) in this case. The PreDot
instruction discards the +1, leaving the 10-digit national
number as the calling party number. Once you have put
all this together, you will have a flexible TEHO design for
calls to the United Kingdom.
You can see in the figure that the first URI in the list
cannot be modified. This is because it is imported from
the associated user. Notice that the partition for the
imported directory URI is just named Directory URI.
This partition comes preinstalled in the system and
cannot be deleted. You can include this partition in any
appropriate calling search spaces to allow users to dial
URIs in those partitions or you can configure the
Directory URI Alias Partition parameter in the
Enterprise Parameters configuration page (Unified CM
Administration > System > Enterprise Parameters). If
you select a partition for this parameter, any imported
directory URI in the Directory URI partition is
automatically placed into the Alias partition. If you add a
new URI, the partition in which the URI is placed is
configurable, as it would be a directory number or for
another pattern.
When you save the ILS configuration page for the first
time after changing the role, you see a popup dialog
asking you to either enter the address of another hub in
an existing ILS network or leave the entry blank if this is
the first hub in the network. You also see the checkbox
Activate the Intercluster Lookup Service on the Publisher
in this Cluster, which is selected by default. Make sure
you leave this checkbox selected and click OK. After a few
minutes, ILS should be activated on the publisher, and
the new network should be up or the cluster should join
the existing network. You may have to click the Refresh
button to update the list of clusters that appear at the
bottom of the page. Repeat this process of creating more
hubs and spokes and adding them to the network. When
adding a hub, you can pick any existing hub to add it to
the network. When adding a spoke, chose the hub
carefully because this will be the hub to which the spoke
replicates.
Now that the clusters have replicated the URIs via ILS,
the remaining step is to configure routes so the clusters
know how to reach each other, based on the advertised
route strings. The first step is to create a SIP trunk that
will be used to route the call to the destination cluster.
(This configuration will be covered in Chapter 5.) The
destination of the SIP trunk does not necessarily have to
be the cluster that owns the route string. In larger
enterprises, you might want to route all the calls from
leaf clusters to a Session Management Edition (SME)
cluster and then have the SME cluster route the calls to
the advertising cluster. This is a perfectly valid—and in
some cases recommended—design. For example, if you
have 20 clusters named c1.example.com,
c2.example.com, …, c20.example.com as well as an SME
cluster, you can configure all the leaf clusters to send
unknown calls destined to *.example.com to the SME
cluster, and then the SME cluster can have individual
routes to the specific route strings of the domains. This
prevents you from having to configure 20 SIP trunks and
20 SIP route patterns on each leaf cluster. By aggregating
the route string routing on the SME cluster, you reduce
the configuration from 400 SIP trunks to 40 (1 on each
of the 20 leaf clusters and then 20 on the SME). How you
route the calls is completely independent of the
advertisement of the route string.
Contact: <sip:80041000@10.122.249.71:5061;transport=t
Max-Forwards: 69
Content-Type: application/sdp
Content-Length: 5246
You can include the route string and use Cisco Unified
Border Element (CUBE) to allow CUBE to route the call
based on the route string instead of routing the call
based on the URI. CUBE cannot participate in an ILS
network, so this feature allows CUBE to be inserted in
the signaling and media path between two clusters
participating in an ILS network. ILS Call Routing with
CUBE is discussed in Chapter 8.
To access the DNA tool, you must first ensure that the
service is activated and running. You do so from Cisco
Unified Serviceability. If you are logged in to Unified CM
Administration, navigate to Cisco Unified Serviceability
> Tools > Service Activation. Activate both the Cisco
Dialed Number Analyzer and Cisco Dialed Number
Analyzer Server services. Both services must be activated
for DNA to work.
Once you have the DNA services running, navigate to the
DNA tool by navigating to Cisco Unified Serviceability >
Tools > Dialed Number Analyzer or pointing your
browser to https://<publisher_ip_address>/dna/.
You can see that the tool shows the phone configuration
information and allows you to select a line—in this case
line 1 with directory number 1001 in the 1stLine
partition. In the Dialed Digits box, you see that 1000 has
been entered. After entering this, you would click the Do
Analysis button, which would cause a new window to
appear with the analysis results, as shown in Figure 4-42.
In the Call Flow section, you can see that the dialed digits
first match the translation pattern 1XXX in the test
partition. You can see that there is a calling party
transformation on the translation pattern that applies
the mask +1919555XXXX to transform the calling party
number to +19195551001. There is also a called party
transformation that transforms the called party number
to 2000.
You can see three calls in the list shown in Figure 4-47. If
you want to search for a different timeframe, you can
change the start time and duration. You can only search
for up to 60 minutes at a time. You can also specify the
calling or called number to search for. The asterisk
character is a wildcard. By default, the search is for any
calling or called party number.
This call view provides you with some useful
information. It shows you the calling and called party
numbers. Note that what is listed under Final Called DN
is actually not necessarily what gets sent out to the
destination. Remember from the DNA example how the
called number shown was the number after the
transformations on the route pattern; if there are any
transformations done on the route list details or
transformation patterns on the trunk, they do not appear
in this view of the call. You can also see the calling and
called devices, so without looking any further, you
already know which trunk or gateway (or phone, in the
case of an on-net call) the call was destined to. Finally,
this view gives you a termination cause code, which
indicates the reason the call ended. This cause code can
be a “normal” cause code such as cause code 16, which is
a normal call clearing. It can also be an abnormal (or
perhaps expected) cause code, such as 1, which is an
unallocated (unassigned) number.
When you first open the SDL trace file, it can be a bit
overwhelming. This section shows you the places to look,
and then when you learn to use the post-processing
tools, you will see how you can automate this process.
The first thing to understand in these trace files is how
dial plan–related information appears in the traces.
Recall that digit analysis is the process that handles all
number and URI lookups in Unified CM. Any time digit
analysis is called to perform a match, you see a line that
looks like Example 4-2 in the SDL trace file.
In this case, you do not see a match. You only see the
message indicating that no potential matches exist. If
there is no match and there are no potential matches,
Unified CM is indicating that there is no number that
matches what has been dialed so far, and there is no
point in continuing to wait for more digits because there
is no pattern that could potentially match, given what
has been received so far.
INVITE sip:8@svs-uc-alpha-test-cm1b.cisco.com;user=ph
Via: SIP/2.0/TCP 10.122.251.105:49369;branch=z9hG4bK2
From: “Test Phone 2” <sip:89943782@svs-uc-alpha-test-
To: <sip:8@svs-uc-alpha-test-cm1b.cisco.com>
Call-ID: 885a92d9-bca8007a-57658166-1fb2b634@10.122.2
Max-Forwards: 70
Session-ID: 47dbbea900105000a000885a92d9bca8;remote=0
Date: Fri, 22 May 2020 01:21:49 GMT
CSeq: 101 INVITE
User-Agent: Cisco-CP7841/12.6.1
Contact: <sip:2efe6755-2942-b329-6d6a-ce1d7de77e1e@10
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REG
Remote-Party-ID: “Test Phone 2” <sip:89943782@svs-uc-
Supported: replaces,join,sdp-anat,norefersub,resource
Allow-Events: kpml,dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Content-Length: 689
Content-Type: application/sdp
Content-Disposition: session;handling=optional
Next, you can see all the route list transformations being
applied for this route group. Example 4-12 details the
called party number being transformed to 83922900.
Recall that the digit analysis results as well as the RTMT
call list indicated that the called party number was
80029999, but here you can see that the route list is
overriding that.
TranslatorX
The first tool you might want to use is called
TranslatorX, which is not an official Cisco tool. You
can download this tool, which is available for Windows,
macOS, and Linux, from https://translatorx.org.
TranslatorX supports all versions of Unified CM and can
read protocol-level messages for SIP, SCCP, MGCP, and
H.323 (as well as ISDN Q.931 and QSig messages carried
by MGCP gateways). It is a Swiss Army knife of SDL
trace reading and can help you quickly find issues. For
one thing, TranslatorX allows you to view logs across all
your servers in a cluster (or even across multiple
clusters) at the same time. It also supports reading files
from other products, such as Cisco Expressway and
CUBE.
When you run TranslatorX, you should see a window
that looks similar to what is shown in Figure 4-49.
From the call list, you have a couple of options. You can
select a call and either double-click it or click the View
Details button on the screen. Either way, you see a
window that looks similar to Figure 4-51.
This window shows you the call details. You can see that
there is no destination for the call, and the call never
connected. You can also see that the only digit dialed was
4. How can you see more details like the ones you saw in
the SDL trace file? Return to the Call List window, select
the call you want to troubleshoot, and click the Generate
Filter button to filter the messages and include only
messages relevant to this particular call. Figure 4-52
shows what the main TranslatorX window looks like
when you do this.
Figure 4-52 TranslatorX Window with One Call
Filtered
You still have to rely on the raw SDL trace files to see
things like digit analysis results and any kinds of
transformations being applied by digit analysis, but
TranslatorX makes this process easier by taking you to
the exact point in the trace associated with a particular
event, such as a SIP INVITE.
Note
In-depth SIP troubleshooting could fill a book of its own. What we have
covered here should give you enough information to diagnose most call
routing–related issues.
After you upload the files to CSA, the tool should detect
the files with CUCM as the product type, as shown in
Figure 4-57.
Figure 4-57 Collaboration Solutions Analyzer Available
Files
You can select the checkbox next to the files and either
click the Run Analysis button or click the Play button on
the right side to analyze the logs. Depending on the
number of log files uploaded, CSA might take some time
to do the processing.
CSA processes not only the SDL traces but also some
additional logs that are included in the log file download
called the calllogs files. These files contain summary data
about SIP messages and feature invocations, but do not
include details of the messages. Because CSA reads the
calllogs files, it includes many calls that do not have
corresponding SDL traces. Those calls show up on the
list of calls with a red x in the right-most column, labeled
Within SDL, as shown in Figure 4-58.
You need to check the With SDL Only box in the Within
SDL column. Once you have selected this box, the list
shows only calls that are present in the SDL trace files.
As shown in Figure 4-59, after you. select this checkbox,
you see the same list of three calls that you saw in RTMT
and in TranslatorX.
Figure 4-59 CSA Call List Showing Only Calls with
Messages Found in SDL Traces
You can select a call from the list and wait for CSA to
perform additional processing on the call. After
processing, you see a Call Detail section with four tabs:
Call Leg Info, Signaling, Ladder Diagram, and Annotated
Logs.
digit analysis
pattern
wildcard
closest-match routing
enbloc
alphanumeric uniform resource identifier (URI)
dialing
transform mask
transformation
digit discard instructions
directory number
route pattern
route list
route group
hunt pilot
hunt list
line group
urgent priority
local route group
partition
calling search space
time period
time schedule
translation pattern
transformation pattern
+E.164 format
tail-end hop off (TEHO)
LHS
RHS
Intercluster Lookup Service (ILS)
Global Dial Plan Replication (GDPR)
alternate number
Dialed Number Analyzer (DNA)
Real-Time Monitoring Tool (RTMT)
SDL trace file
TranslatorX
Collaboration Solutions Analyzer (CSA)
alternate match
Chapter 5. Unified CM SIP Trunk
Configuration
This chapter covers the following topics:
FOUNDATION TOPICS
SIP TRUNK OVERVIEW AND
CONFIGURATION
Unified CM SIP trunks allow for communication with a
variety of entities, including the following:
Call Classification
Several parameters in Unified CM depend on knowing
whether a party is internal or external. For example, an
administrator can configure Unified CM to disallow
transfers between two external parties. The Call
Classification field is used to determine whether the
system should consider calls using the SIP trunk as
internal (OnNet) calls or external (OffNet) calls; the
system default is external (OffNet). This field applies to
both inbound calls and outbound calls.
AAR Group
The AAR Group setting is used for automated alternate
routing (AAR), which is a topic covered in Chapter 6,
“Unified CM Call Control Features.” The AAR group on
the SIP trunk is only applied to inbound calls; therefore,
outbound calls that do not have enough bandwidth fail.
Note
Several fields in this section relate to digit manipulation and caller ID
presentation rather than call routing. Chapter 4 covers digit manipulation in
depth; this chapter only discusses digit manipulation in terms of how it impacts
path selection in the Unified CM call routing process.
Figure 5-5 Call Routing Information Section
Note
The diverted number is sometimes called the redirecting party number or
original called party number.
Note
The configurations in the SIP trunk Incoming Called Party Settings subsection
override the prefix configured on the device pool Incoming Called Party
Settings.
Note
The Incoming Calling Party Settings subsection operates under the same logic
as the Incoming Called Party Settings subsection regarding the Prefix and Strip
Digits operations and thus has been omitted from this text for the sake of
brevity.
Diversion: <sip:1001@172.18.110.61>;reason=no-answer;
Destination
The Destination subsection of the SIP trunk
configuration is where you define the SIP peers with
which the Unified CM cluster will communicate with via
the trunk. Figure 5-12 shows the Destination subsection
of the SIP Information section.
• IPv4 address
Note
If the remote peer is a Unified CM cluster, and a DNS SRV is configured in the
Destination Address field, it is important that the DNS SRV record include all
nodes on the remote cluster that are running the CallManager service.
Note
The Status, Status Reason, and Duration columns display N/A by default. The
information in these columns is dependent on whether SIP OPTIONS ping is
enabled on the SIP profile in use. SIP OPTIONS ping is covered in more detail
later in this chapter, along with other SIP profile parameters.
While the Destination section allows you to define the
remote endpoint information for where Unified CM will
send outbound calls, this section is also relevant for
inbound calls. Upon receiving a SIP INVITE message,
the Unified CM node checks the source of the call against
all locally available SIP trunks for a configured
destination address that matches the source address. If a
destination configuration matching the source of the
inbound INVITE message is found, the call uses that
particular SIP trunk as the incoming device, and the
settings for incoming calls apply. If there is no locally
available SIP trunk with a configured destination
matching the inbound INVITE message, Unified CM
rejects the call with a 503 Service Unavailable error and
includes a Warning header with the text “Unable to find
a device handler for the request received on port 5060
from 172.18.110.88” (as shown in Example 5-5). This IP
address will be what Unified CM was checking SIP trunk
destinations for.
Note
The listening port is the Incoming Port defined on the SIP Trunk Security
Profile as described in the upcoming sections of this chapter.
Normalization Script
Incoming Port
Supported: 100rel,timer,resource-priority,replaces
Tip
If the remote peer sends SIP signaling that doesn’t include 100rel in the
Supported SIP header, Unified CM does not send a PRACK message,
regardless of which SIP Rel1XX Options setting is selected.
Note
Chapter 9 covers Session Refresh in-depth.
There are three options for the field Early Offer support
for voice and video calls:
Note
Unified CM has local, software MTPs that can be used in place of the MTP on
the voice gateway.
Figure 5-18 Using Mandatory (Insert MTP if Needed)
with a Unified CM SIP Trunk
Tip
If SIP OPTIONS messages are not enabled, the SIP Trunk Status column on
the Device > Trunk page indicates Unknown OPTIONS Ping not Enabled.
Note
The allocation logic of media resources by Unified CM is beyond the scope of
the CLACCM 300-815 exam.
Note
Note that the Run on All Active CM Nodes setting applies only to Unified CM
nodes running the Cisco CallManager service.
OPTIONS Ping
As previously discussed, the OPTIONS ping feature
enables Unified CM to send OPTIONS messages to
remote destinations to check their availability. This can
be a useful troubleshooting tool as the status of the trunk
helps you understand if all, some, or none of the remote
destinations are reachable by a given Unified CM node.
You can use OPTIONS ping and packet captures together
to get more visibility into the SIP dialogue for a ping.
Note
Any active calls traversing a trunk will drop when the trunk is reset. Care
should be taken when resetting Unified CM trunks on production networks.
REFERENCES
Cisco, “System Configuration Guide for Cisco Unified
Communications Manager, Release 12.5(1)SU1,”
https://www.cisco.com/c/en/us/td/docs/voice_ip_co
mm/cucm/admin/12_5_1SU1/systemConfig/cucm_b
_system-configuration-guide-
1251su1/cucm_b_system-configuration-guide-
1251su1_restructured_chapter_01001.html
OnNet
OffNet
Chapter 6. Unified CM Call Control
Features
This chapter covers the following topics:
b. Transcoder
c. Conference bridge
b. G.722
c. G.729
d. Opus
e. Wideband 256k
a. CallManager
b. CallManager-trust
c. Tomcat
d. Tomcat-Trust
e. IPsec
b. Cisco Conductor
c. Ad hoc
d. Meet-Me
e. Conference Now
b. End-user configuration
c. Device configuration
d. Annunciator configuration
a. 1
b. 50
c. 51
d. 500
e. 501
b. 30 seconds
c. 60 seconds
d. 120 seconds
e. 1800 seconds
c. Alternate pickup
d. Other pickup
e. Directed pickup
14. For what types of calls can you set bit rate limits by
using the regions feature? (Choose three.)
a. Audio
b. Video
c. Presentation sharing
d. Desktop sharing
e. Immersive video
c. Links
d. Weights
e. Regions
b. Hub_None
c. Phantom
d. Shadow
e. Transparent
FOUNDATION TOPICS
MEDIA RESOURCES
A number of Unified CM features cannot be discussed
without first discussing the broader topic of media
resources. The annunciator, conferencing, transcoding,
Music on Hold, and media termination point features all
rely on some kind of media resource because these
features all require Unified CM to terminate media on a
device other than the originating or terminating
endpoint. This chapter explores each of these features
and details each media resource. Media resources fall
into the following categories:
Note
The software conference implementation is very basic. It works well enough for
small three- to four-party conference calls, but it can be problematic for larger
calls because it does not intelligently identify silent parties, and as more
participants are added, the overall volume level for all participants can be
affected. It is highly recommended to use either a Cisco IOS hardware
conference resource or Cisco Meeting Server as a conference resource.
Note
Unified CM always uses an encrypted HTTPS connection to communicate with
CMS; therefore, Unified CM must properly trust the certificate presented by
CMS when connecting. Unified CM must have certificates for all the CMS
cluster servers present in the CallManager trust store. This is important!
Note
One important note about IVR is that it only supports out-of-band (OOB) DTMF
relay. In other words, it does not support in-band DTMF, such as RFC
2833/4733 (RTP-NTE). This means that if you have a device dialing in that
supports only in-band DTMF, a media termination point (MTP) is needed to
convert from in-band to out-of-band DTMF. For more information about DTMF,
review Chapter 3, “RTP, RTCP, and DTMF Relay.”
You can see that the top half of the page lets you specify a
run flag and call count for each media resource provided
by the IP Voice Media Streaming App service, with the
exception of MOH. However, the bottom of the page
provides MOH-related configuration settings. The Run
Flag allows you to disable a specific media resource if you
do not want to use it. For example, if you are going to use
hardware or external conference resources, you might
want to disable the conference bridge capability.
Once you have configured the MOH server, you can add
audio sources. By default, Unified CM comes with a
single audio source, named SampleAudioSource, which
is assigned the source ID 1. Each MOH audio source is
assigned a number from 1 through 501. Number 51 is
special in that it is reserved for a fixed audio source;
however, this source has not been usable since Unified
CM moved to VMware, which does not have an easy way
to connect USB devices to a virtual machine. When this
source was available, a USB sound card could be used as
an input to stream live audio from an external source.
Streaming a live audio source today requires an external
music streaming device that can be rebroadcast, as
discussed shortly.
Note
SampleAudioSource is a recording of a song named Opus No. 1 written and
recorded by high-school friends Tim Carleton and Darrick Deel long before IP
phones existed. Some consider it to be the most played song ever and
certainly the most known Music on Hold track. Various articles talk about the
history of this song, and an episode of This American Life (Episode 516,
January 17, 2014) goes into the history of the song.
Note
Cisco Unified Border Element (CUBE) can also perform multicast-to-unicast
MOH interworking for calls involving service providers over public networks.
This process is detailed in Chapter 9, “CUBE Interworking Features.”
Note
Note that the audio source setting determines which file or rebroadcast a user
hears, but it does not determine which MOH server plays the audio. The
determination of which MOH server is used is determined by the configuration
of the media resource group list associated with the held party.
CALL PARK
The call park feature is similar to call hold in that it
allows you to place a caller on hold temporarily and then
resume the call at a later time. The difference is that call
park allows you to resume the call on a different phone
or line than the line that originally parked the call. This
can be useful, for example, in environments where
overhead paging systems are used to announce the
presence of a call and anyone who hears the
announcement can choose to retrieve the parked call.
CALL PICKUP
Some commonly used call control features are the
various call pickup features available in Unified CM.
All of these features involve something called a pickup
group. A pickup group is assigned a directory number
that exists in a partition, like any other directory
number. Phone lines in Unified CM can be placed into a
single pickup group (or no pickup group at all). The call
pickup feature generally allows phones to answer calls
that are ringing on a different phone. There are four
variations of call pickup:
• Call pickup: This type of call pickup allows a user
in a pickup group to answer a call ringing on
another phone in the same pickup group by
pressing the Pickup button or softkey.
Regions
A region is a grouping of devices that are equivalent
from a codec selection perspective. You expect all devices
in a region to have a policy for which codecs to use when
communicating with each other and a different policy for
communicating with other regions. In a simple multi-
region configuration, you only care about the generic
case of one region talking to any other region, and you
can build a simple matrix to highlight the full mesh of
settings between regions. For example, given four
regions—Region A, Region B, Region C, and Region D—
you could build the matrix shown in Table 6-4.
Table 6-4 Conference Configuration Parameter Details
You can see in the list that each codec has an amount of
bandwidth associated with the codec. A few codecs are
variable-rate codecs. In the case of variable-rate codecs,
such as Opus, Unified CM attempts to negotiate the
highest rate possible, based on the region configuration.
Just because the Opus codec can go as high as 510 kbps
does not exclude it from being advertised if the region
pairing only allows for 64 kbps of bandwidth. In this
case, Opus will be negotiated with a max bit rate of 64
kbps.
Note
To stop Unified CM from advertising video capabilities in an offer (through
m=video lines in the SDP body of a SIP message), simply set the video
bandwidth between two regions to None. This method of blocking the
advertisement of video capabilities is usually leveraged on SIP trunks
interfacing with CUBE when connecting to the PSTN, as most Internet
telephony service providers (ITSPs) do not support video. You should place the
SIP trunk in its own region and set the Session Bandwidth for Video parameter
to None for pairings from the CUBE region to any regions containing video-
capable devices.
CALL ADMISSION CONTROL (CAC)
The regions feature allows you to control which codecs
and how much bandwidth is allowed for individual calls
between two devices that might be in different sites, but
it does not control the aggregate amount of bandwidth
allowed for all calls between those two sites. Call
admission control (CAC) is a feature that allows you
to limit the aggregate bandwidth allowed between two
logical groupings of devices. These groups are called
locations in the enhanced location call admission
control (ELCAC) feature in Unified CM. Although
regions and locations typically logically group the same
sets of devices (for example, all phones at a specific
remote site are assigned a region called Remote Site 1
and also assigned a location called Remote Site 1), these
two groupings are completely independent of each other
and do not have to match.
• Remote Site 2
• MPLS WAN
• Campus 1
• Campus 2
• Campus 3
Note
In order for AAR to work, you must have either an external phone number
mask or an AAR destination mask configured. This means that if your directory
number is already in a globalized form that can be reached over the PSTN—for
example, if the directory number is in +E.164 format already—you must still
configure a mask if you want AAR to function, even if the mask is identical to
the directory number.
choice = (reservationReq)
reservationReq = (
transId = (13210859295534481426)
seqNum = (0)
choice = (reserve)
reserve = (
sideA = (
fs_id = (SVS-UC-Alpha-Test-Cluster1:43759218)
ext = ()
)
sideB = (
loc = (Campus 1)
fs_id = (SVS-UC-Alpha-Test-Cluster1:43759219)
ext = ()
)
cacSt = (0)
precedLvl = (5)
mlpp = (0)
execOVR = (0)
enforce = (0)
a_val = (1)
v_val = (0)
i_val = (0)
a_bw = (24)
v_bw = (0)
i_bw = (0)
a_op = (0)
v_op = (0)
i_op = (0)
ext = (<msg></msg>)
)
ext = ()
)
}
media resource
ad hoc
Meet-Me
conferencing
Music on Hold (MOH)
call park
call pickup
region
audio codec preference list
call admission control (CAC)
enhanced location call admission control (ELCAC)
interactive voice response (IVR)
annunciator
media termination point (MTP)
transcoder
IP Voice Media Streaming App service
Conference Now
user hold
network hold
media resource group (MRG)
media resource group list (MRGL)
directed call park
call park reversion
call park monitoring
group call pickup
other call pickup
directed call pickup
Location Bandwidth Manager (LBM)
location
link
weight
path
effective path
bandwidth allocation
Chapter 7. Unified CM Mobility
This chapter covers the following topics:
Note
Two Unified Mobility topics that are not discussed in this book are Mobile Voice
Access (MVA) and Enterprise Feature Access because these features have
essentially been replaced by Mobile and Remote Access (MRA). Although
MRA replaced some of the Unified Mobility features, it is not covered in this
book because it is not covered on the CLACCM 300-815 exam. It is, however,
covered on the Implementing Cisco Collaboration Cloud and Edge Solutions
(CLCEI) 300-820 exam.
c. A softkey
d. Extension Mobility
FOUNDATION TOPICS
UNIFIED MOBILITY
This chapter covers the Unified Mobility features Single
Number Reach (SNR), Move to Mobile, Intelligent
Session Control, Extension Mobility, and Device
Mobility. It shows the purpose of each of these features,
how to configure them, and how to validate they’re
working as expected. Furthermore, this chapter
examines how to troubleshoot each feature. The Move to
Mobile and Intelligent Session Control features rely
heavily on SNR, so the chapter opens with the SNR
feature.
Note
The terms mobile phone and remote destination are used interchangeably in
this chapter.
Note
This chapter does not address the intricacies of call routing with Unified CM or
CUBE. Instead, it discusses Unified Mobility configuration, validation, and
troubleshooting. For more information about call routing with Unified CM, refer
to Chapter 4, “Unified CM Call Routing and Digit Manipulation.” For more
information on call routing with CUBE, see Chapter 8, “CUBE Call Routing and
Digit Manipulation."
Note
Notice that the calling search space applied to the RDP for SNR to work is the
rerouting calling search space and not the typical device calling search space.
This is because calls sent to the remote destination are treated similarly to
calls that are forwarded. In Figure 7-4 you can see that no device calling
search space is configured, but a rerouting calling search space is configured.
Note
After a directory number and remote destination are configured on the RDP,
the directory number page shows a new field titled Associated Remote
Destinations. This field displays the remote destination(s) found on the RDP.
Something important about this field is that it appears on the directory number
page even if nobody puts a check in the Line Association checkbox (shown
earlier in Figure 7-10). Do not reference the Associated Remote Destination
field on the directory number page to confirm the remote destination has been
correctly associated to the line. To be sure the Line Association checkbox is
enabled when troubleshooting SNR, navigate to the remote destination page
for confirmation. Figure 7-11 and Figure 7-12 show the directory number page
before and after the RDP has a directory number and remote destination
added.
Figure 7-11 Directory Number Page Before RDP Has a
Line and Remote Destination
SNR Timers
This section reviews the timers associated with a remote
destination. In Figure 7-14, the first timer listed in the
Timer Information box of the Remote Destination
Configuration page is called the Delay Before Ringing
timer. This timer determines how long Unified CM will
wait before extending the call to the remote destination.
The Delay Before Ringing timer is measured in seconds
and the default value is 4. While you review the
CallManager SDL trace logs later in this chapter, you will
see when Unified CM performs digit analysis for the
remote destination number and how long it waits before
sending a SIP INVITE to the remote destination.
The second and third timers, the Answer Too Soon timer
and Answer Too Late timer, focus on preventing the
remote destination’s voicemail from answering the call.
The Answer Too Soon timer determines how long the
remote destination should ring before answering the call.
This timer can be set to a range of 0 to 10 seconds, with a
default of 1.5 seconds. If the remote destination answers
the call before the call rings long enough, Unified CM
does not allow the call to connect with the remote
destination and instead continues ringing the desk
phone. This time addresses situations in which a remote
destination call is forwarded straight to voicemail rather
than ringing.
• Directory Number
• Not Available
• Private
Note
The phone with DN 1000 is not engaged in the call, but extension 1000 on the
desk phone shows as a shared line in use remotely. This is because the line on
the RDP is a shared line.
Note
Intelligent Session Control is considered a security concern because someone
can use this feature to intercept calls meant for another person and redirect
them.
Note
When troubleshooting SNR, it is important to keep in mind the sequence of
events shown earlier in this chapter in Figure 7-1.
Consider the following recommendations when
troubleshooting SNR:
Note
Remember when a user hangs up their mobile phone and resumes the call on
their desk phone, this is called Desk Pickup. If the calling party hangs up, the
call terminates completely. The ability to transition between devices applies
only when the called party (the remote destination) hangs up and the calling
party waits for the end user to resume the call on their desk phone.
Note
A lot of text has been removed from the SIP messages and other parts of the
log snippets throughout this chapter. This was done for brevity and to focus on
the important sections of the logs.
Note
For more information about the digit analysis process, refer to Chapter 4.
|RouteBlockFlag=RouteThisPattern
|FullyQualifiedCalledPartyNumber=+14085557890
|DialingPatternRegularExpression=(+[0-9]+)
|RouteBlockFlag=RouteThisPattern
To: <sip:1000@sj-cucm.ccnpcollab.lab>
Call-ID: 2db73d00-10001-46f88-93f492a@172.18.110.61
CSeq: 101 INVITE
Remote-Party-ID: <sip:1001@172.18.110.61;x-cisco-call
P-Asserted-Identity: <sip:+14085251001@172.18.110.61>
Remote-Party-ID: <sip:+14085251001@172.18.110.61>;par
Contact: <sip:+14085251001@172.18.110.61:5060;transpo
Contact: <sip:+14085557890@172.18.110.62:5060;transpo
Server: Cisco-SIPGateway/IOS-16.12.1a
Content-Type: application/sdp
Reason: Q.850;cause=16
Remote-Party-ID: <sip:1000@172.18.110.61>;party=calli
Contact: <sip:+14085557890@172.18.110.61:5060;transpo
Content-Type: application/sdp
a=inactive
<dialog-info xmlns="urn:ietf:parmams:xml:ns:dialog-in
xmlns:call="urn:x-cisco:parmams:xml:ns:dialog-info:d
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
version="8” state="partial” entity="sip:1000@172.18.
<dialog id="39” call-id="9@172.18.110.61” local-tag
<state>confirmed</state>
<call:instance>1</call:instance>
<call:orientation>From</call:orientation>
<call:lock>unlocked</call:lock>
<duration>25</duration>
<call:gci>1-6020</call:gci>
<local>
<identity display="">sip:1000@172.18.110.61:506
<target uri="sip:1000@172.18.110.61:5060">
<param pname="+sip.rendering” pval="no"/>
</target>
</local>
<remote>
<identity display="">sip:1001@172.18.110.61:506
</remote>
</dialog>
</dialog-info>
SIP/2.0 200 OK
Via: SIP/2.0/TCP 14.50.214.108:51621;branch=z9hG4bK23
From: “pkinane desk phone” <sip:1000@sj-cucm.ccnpcoll
To: <sip:1001@sj-cucm.ccnpcollab.lab>;tag=313464~bbab
Call-ID: c4b36aba-1b5a0010-0a6aef56-4eb856a0@14.50.21
CSeq: 101 INVITE
Remote-Party-ID: <sip:1001@172.18.110.61>;party=calle
Contact: <sip:1001@172.18.110.61:5060;transport=tcp>;
Content-Type: application/sdp
The second test call still uses the default SNR timers, but
the Forward No Answer timer on the line has been
changed from the default value to 36 seconds. Since this
timer is larger than the SNR Delay Before Ringing and
SNR Answer Too Late timers, the remote destination
stops ringing before the IP Phone stops ringing. Twenty-
three seconds into the call (Delay Before Ringing [4] +
Answer Too Late [19] = 23), you can see the remote
destination call is cancelled. At the 36-second mark, the
Forward No Answer timer expires, and that call is
canceled.
-----------------------------------------------------
### After 19 seconds the SNR Answer Too Late Timer expire
s and the call to the SNR RD is cancelled. Total time of
the call so far is 23 seconds.
Note
The Mobility softkey has two functions. If the Mobility softkey is added to the
On Hook call state, it can be used to enable/disable SNR; however, the phone
screen says Mobile Connect because SNR was formerly known as Mobile
Connect. If SNR is disabled, and the Mobility softkey is added to the On Hook
call state, the user can enable SNR by using the softkey. The second function
is to move connected calls from the desk phone to the mobile phone, as
previously illustrated.
Note
Some signaling has been intentionally left out of Figure 7-30 and Examples 7-
12 through 7-20 for the sake of brevity.
<softkeyevent>Mobility</softkeyevent>
</softkeyeventmsg>
</x-cisco-remotecc-request>
--uniqueBoundary
Content-Type: application/x-cisco-remotecc-cm+xml
--uniqueBoundary--
--uniqueBoundary
Content-Type: application/x-cisco-remotecc-request+xm
Content-Disposition: session;handling=required
101
--uniqueBoundary–
|FullyQualifiedCalledPartyNumber=+14085557890
|DialingPatternRegularExpression=(+[0-9]+)
|RouteBlockFlag=RouteThisPattern
To: <sip:+14085557890@sj-cube.ccnpcollab.lab>
Call-ID: 15061d00-10001-2782-0@172.18.110.61
CSeq: 101 INVITE
P-Asserted-Identity: <sip:+14085251001@172.18.110.61>
Remote-Party-ID: <sip:+14085251001@172.18.110.61>;par
Contact: <sip:+14085251001@172.18.110.61:5060;transpo
SIP/2.0 200 OK
a=inactive
a=trafficclass:conversational.audio.avconf.aq:admitte
a=inactive
Contact: <sip:+14085557890@172.18.110.61:5060;transport=t
cp>
Note
It is important to ensure that the device profile is subscribed to the phone
service for EM. If it is not, users who log in to EM will not be able to log out of
their profile due to the missing subscription on the device profile.
Click Next, and a new page opens with all the fields ready
to be populated for the device profile. Figure 7-37 shows
an example with the fields Device Profile Name, Phone
Button Template, and Softkey Template modified.
Figure 7-37 Device Profile Configuration
Now you need to associate the end user with the device
profile. To do this, you need to navigate back to the end
user (test_em in this case) and scroll down to the
Extension Mobility section. To associate the device
profile with the end user, move the profile from the
Available Profiles box to the Controlled Profiles box, as
shown in Figure 7-38.
Tip
You can remotely test Extension Mobility login and logout by using a web
browser. To understand the following tests for logging in and logging out, you
need to know these prerequisites:
• The server running the EM service is sj-cucm.ccnpcollab.lab.
• The MAC address of the test phone is SEPC4B36ABA1B5A.
• The user ID of the test user is test_em.
• The pin of the test user is 134679.
Using this information, you can use the following URL to log in:
http://sj-
cucm.ccnpcollab.lab/emapp/EMAppServlet?
device=SEPC4B36ABA1B5A&userid=test_em&seq=134679
http://sj-
cucm.ccnpcollab.lab/emapp/EMAppServlet?
device=SEPC4B36ABA1B5A&doLogout=true
Note
When the profile isn’t subscribed to the Extension Mobility service, the user
can log in to the phone but cannot log out of the phone. This is because the
Extension Mobility service is not present once the user profile is applied. Refer
to Figure 7-40 to recall what it looks like when it is present.
Note
Steps 1 and 2 do not occur when the Services Provisioning parameter is set to
Internal.
##### TFTP Trace - TFTP builds the config file with the u
nderstanding the EM user is logged with profile test_em_d
ev_pro
##### Now the phone knows which Unified CM to use and whi
ch DN to use
##### CallManager SDL Trace - CCM receives REGISTER messa
ge from the phone, now using extension 3333
Note
Some of the error messages in this table are for Extension Mobility Cross
Cluster; however, this book focuses on only Extension Mobility.
Table 7-3 details some other error codes, which are more
likely to occur when EMApp has a problem. As you will
see later in this chapter, knowing whether the Extension
Mobility service or EMApp is facing issues can greatly
reduce your troubleshooting efforts.
• SRST Reference
• Date/Time Group
• Region
• Location
• Media Resources
Note
Device Mobility is not a cross-cluster feature. Furthermore, devices with
statically assigned IP addresses do not invoke the Device Mobility feature.
Note
Notice that the Roaming Sensitive settings are applied when the physical
location is different between device pools, but the Device Mobility–Related
Information is applied when the Device Mobility group is the same between
device pools.
Note
Physical locations are typically configured based on Class of Control (CAC)
and media resources.
Note
Device Mobility groups are typically configured with consideration of
maintaining user dialing habits. For example, someone from Europe who
traveled to America might not be familiar with how to dial external numbers.
Device Mobility Groups allow them to maintain their typical dialing instead of
learning how to dial external numbers while in America.
Tip
There are overlapping settings between a phone and a device pool. The
settings on the phone take precedence over those on the local device pool, but
the roaming device pool has the highest precedence when the device is
roaming.
##### Step 1
##### Step 2
##### Step 3
Content-Type: application/x-cisco-remotecc-request+xm
Referred-By: <sip:6000@172.18.110.61>
##### Step 4
01998750.001 |22:45:31.013 |AppInfo |//SIP/SIPUdp/wa
[196879,NET]
SIP/2.0 200 OK
From: <sip:6000@172.18.110.61>;tag=2090933714
To: <sip:6000@14.50.214.111>;tag=D0EC35FFB4C40010685a
Call-ID: c9360500-10001-166ec-400000@172.18.110.61
When you check the phone console logs, you see a SIP
REFER message from Unified CM that says “Device in
Roaming Location” as well as the line shown in Example
7-31, which indicates the phone is localizing the string
and provides and ENUM value 24.
Note
The test phone’s Phone Log Profile parameters were set to Default, Preset,
Telephony, SIP, and UI.
REFERENCES
Cisco, “Feature Configuration Guide for Cisco Unified
Communications Manager, Release 12.5(1)SU1,”
https://www.cisco.com/c/en/us/td/docs/voice_ip_co
mm/cucm/admin/12_5_1SU1/cucm_b_feature-
configuration-guide-for-
cisco1251SU1/cucm_b_feature-configuration-guide-
for-cisco1251SU1_chapter_010.html
Cisco, “Cisco Collaboration System 12.x Solution
Reference Network Designs (SRND),”
https://www.cisco.com/c/en/us/td/docs/voice_ip_co
mm/cucm/srnd/collab12/collab12/mobilapp.html
b. 2
c. 3
d. 4
e. 5
b. VRF filtering
c. incoming uri to
e. answer-address
d. Explicit preference
e. Round-robin selection
b. destination-pattern
d. session protocol
e. incoming called-number
c. show version
d. show run
b. Subinterfaces
c. Loopback interfaces
e. Serial interfaces
FOUNDATION TOPICS
Tip
Call flow diagrams may include Layer 4 transport information, which is often
useful for troubleshooting.
Tip
It is very important to remember that the terms inbound call leg and outbound
call leg refer to the direction of the call from perspective of the device you are
currently working with rather than the direction of the overarching call. Inbound
calls to your LAN from a service provider and outbound calls from your LAN to
a service provider will always have an inbound call leg and an outbound call
leg from CUBE’s perspective.
Tip
CUBE versions are directly tied to IOS versions. Upgrading or downgrading
IOS also upgrades or downgrades CUBE. When running multiple feature and
services, you should always consult the applicable feature roadmaps and
release notes to ensure that key features are not lost when performing
downgrades.
!
dial-peer voice 1000 voip
incoming called-number 1...
!
dial-peer voice 1001 voip
incoming called-number 100.
!
• INVITE sip:14085267209@172.18.110.42:5060
SIP/2.0
• INVITE sip:918005532447@172.18.110.42:5060
SIP/2.0
Tip
Match preferences 1 and 2 can be reversed with the command voice class uri
sip preference user-id host, which instructs CUBE to check the user ID
before checking the host portion of the URI.
Example 8-5 shows the syntax for the voice class uri
command along with the optional subcommands. The
name option is an administrator-defined name, and the
regexMatch option is a regex string up to 32 characters
long for user ID/host matches and 128 characters long
for pattern matches.
! SIP URI
Tip
Up to 10 host commands can be configured on a single voice class uri
command. Phone, pattern, and user-id only one definition per voice class uri
command.
# Inbound INVITE
! Creation
! Assignment
Tip
All inbound matching commands can be defined on a dial peer at the same
time. For example, the incoming called-number and incoming uri
statements can both reside on the same inbound dial peer. The dial peer
match criteria commands are still evaluated according to the preference order
in Table 8-2.
dial-peer hunt 0
AD PRE PASS
TAG TYPE MIN OPER PREFIX DEST-PATTERN FER THRU
3 voip up up 1408....... 0
33 voip up up 9T 0
• INVITE sip:14085267209@172.18.110.42:5060
SIP/2.0
• INVITE sip:918005532447@172.18.110.42:5060
SIP/2.0
Tip
Dial peers assume the default session protocol H.323 when the session
protocol command is omitted from a VoIP dial peer.
IOS selects only one dial peer at a time for outbound call
routing purposes. If a call setup failure occurs on the
selected outbound dial peer, the next best outbound dial
peer is used, and the outbound dial peer selection
process proceeds normally. In this scenario, if the call
setup signaling for dial peer 3 and 14085267209 failed,
IOS would attempt to select a new dial peer. The
remaining dial peers, 33 and 333, do not match the
called number, and thus the call fails completely. With
the second number, 918005532447, if dial peer 333 fails
during the call setup signaling, dial peer 33 is attempted
for outbound call routing purposes. If session
establishment on this dial peer also fails, IOS typically
continues hunting for eligible outbound dial peers.
However, dial peer 33 in this example has the command
huntstop, which instructs IOS to stop call routing and
dial peer hunting if a call setup failure is observed on a
session attempting to use that dial peer. As a result, dial
peer 3 is never evaluated, and the call fails completely.
The huntstop command should be applied to the last
dial peer in a sequence of similar dial peers to avoid
routing calls to undesired locations and potentially
creating unwanted call loops. Note that if IOS
establishes/connects a session using an outbound dial
peer and the call fails later for any reason, dial peer
hunting does not resume.
Tip
The commands show dial-peer voice numeric-tag or show run all | dial-peer
voice numeric-tag can be used to view every setting of a dial peer, including
the default settings not shown with a standard show run command. Replace
numeric-tag with the numeric identifier assigned to the dial peer you want to
view.
Note
Session targets for SAF, loopback, and enumerations are beyond the scope of
the CLACCM 300-815 exam but have been included in the table to provide a
complete list. In addition, older IOS versions may accept arguments such as
ras and settlement providers, which are no longer supported by CUBE.
### Configuration
!
voice service voip
sip
call-route url
requri-passing
!
voice class uri CUCM sip
host dns:rtp-cucm.ccnpcollab.lab
!
dial-peer voice 777 voip
session protocol sipv2
destination uri CUCM
session target sip-uri
!
### Debugging
005275: *Apr 9 18:11:42.529: //-1/xxxxxxxxxxxx/SIP/M
Received:
INVITE sip:1008@rtp-cucm.ccnpcollab.lab:5060 SIP/2.0
! OUTBOUND Calls
! INBOUND CALLS
!
voice class e164-pattern-map 11
url http://http-host/config-files/pattern-map.cfg
!
dial-peer voice 11
incoming called e164-pattern-map 11
Session protocol sipv2
!
kron occurrence e164-pattern-load at 0:00 Sun recurri
policy-list e164-pattern-load
!
kron policy-list e164-pattern-load
cli voice class e164-pattern-map load 11
!
!
voice class server-group 22
description CUCM Servers
hunt-scheme round-robin
ipv4 172.18.110.91 port 5060 preference 1
ipv4 172.18.110.61 port 5060 preference 2
ipv6 2000::245:1DFF:FED2:991 port 5060 preference 3
!
session server-group 22
!
DNS SRV Load Balancing
As you might have noticed, there is not a DNS entry
available in the voice class server-group
configuration. In fact, DNS has a built-in load balancing
mechanism. By leveraging DNS SRV load balancing, you
can use a single session target dns entry to service any
number of IP addresses and thus aggregate session
targets and dial peers. RFC 2782 defines DNS SRV and
indicates that a DNS SRV query has the following
format:
!
ip name-server 172.18.110.42
!
ip domain lookup
!
ip host _sip._udp.ccnpcollab.lab srv 1 50 5060 1.ccnp
ip host _sip._udp.ccnpcollab.lab srv 1 50 5060 2.ccnp
ip host _sip._udp.ccnpcollab.lab srv 1 50 5060 3.ccnp
!
ip host _sip._tcp.ccnpcollab.lab srv 1 50 5060 1.ccnp
ip host _sip._tcp.ccnpcollab.lab srv 1 50 5060 2.ccnp
ip host _sip._tcp.ccnpcollab.lab srv 1 50 5060 3.ccnp
!
ip host _sip._tcp.ccnpcollab.lab srv 1 50 5061 1.ccnp
ip host _sip._tcp.ccnpcollab.lab srv 1 50 5061 2.ccnp
ip host _sip._tcp.ccnpcollab.lab srv 1 50 5061 3.ccnp
!
ip host _sips._tcp.ccnpcollab.lab srv 1 50 5061 1.ccn
ip host _sips._tcp.ccnpcollab.lab srv 1 50 5061 2.ccn
ip host _sips._tcp.ccnpcollab.lab srv 1 50 5061 3.ccn
!
ip host 1.ccnpcollab.lab 10.10.10.1
ip host 2.ccnpcollab.lab 10.10.10.2
ip host 3.ccnpcollab.lab 10.10.10.3
!
show host
debug ip domain
debug ip dns view
debug ccsip transport
Putting It Together
Together, E.164 pattern maps, session server groups, and
DNS SRV queries can greatly reduce the total number of
dial peers and the amount of administrative overhead
involved in large collaboration deployments. The
following section covers some advanced call routing
scenarios. The summarization and aggregation
techniques covered in this section can also be applied to
the topics covered in the next section. Example 8-16
shows a sample configuration that leverages all of these
summarization and aggregation techniques.
Note
In Example 8-17, destination-pattern has the value AAAAA, which does not
match the called number 14085267209. IOS still selects this dial peer as the
outbound dial peer. The reasoning is that the destination-pattern command is
not evaluated when selecting an outbound dial peer defined by a DPG. The
destination-pattern command is only required to place the outbound dial peer
in an administratively up and operationally up state, as discussed earlier in this
chapter. As a result, it is best to set destination-pattern for dial peers used in
DPGs to a value such as AAAAA so that it is not easily selected erroneously
for normal outbound call routing lookups on dial peers that do not have DPGs
assigned. The command show voice class dpg can be used to view the
contents of a given dial peer group.
!
dial-peer voice 4 voip
session protocol sipv2
!
voice class uri 5 sip
host ipv4:172.18.110.65
!
voice class dpg 500
dial-peer 500
!
dial-peer voice 5 voip
session protocol sipv2
destination dpg 500
incoming uri from 5
!
dial-peer voice 500 voip
session protocol sipv2
session target ipv4:172.18.110.91
destination-pattern AAAA
!
### Configurations
!
voice class uri FROM sip
user-id 18005532447
!
voice class uri TO sip
user-id 14085267209
!
voice class dial-peer provision-policy 1
description match From AND To header. If false, try
preference 1 from to
preference 2 called
!
dial-peer voice 1234 voip
session protocol sipv2
destination provision-policy 1
incoming called-number .
!
dial-peer voice 12345 voip
destination uri-from FROM
destination uri-to TO
session protocol sipv2
session target ipv4:172.18.110.48
!
dial-peer voice 11111 voip
destination-pattern 14085267209
session protocol sipv2
session target ipv4:172.18.110.48
!
!
voice class uri CISCO sip
pattern cisco.com
!
voice class route-string 1
pattern svs-alpha-c1.cisco.com
!
voice class sip-hdr-passthrulist 1
passthru-hdr x-cisco-dest-route-string
!
dial-peer voice 1 voip
description INBOUND dial-peer
session protocol sipv2
incoming uri request CISCO
voice-class sip call-route url
voice-class sip requri-passing
voice-class sip pass-thru headers 1
!
dial-peer voice 2 voip
description OUTBOUND dial-peer
session protocol sipv2
session target ipv4:10.122.249.70
destination route-string 1
voice-class sip call-route dest-route-string
!
Received:
INVITE sip:kydavis@cisco.com SIP/2.0
Via: SIP/2.0/TCP 10.122.249.59:5060;branch=z9hG4bK441
From: <sip:9195746726@10.122.249.59>;tag=438~393fe797
To: <sip:kydavis@cisco.com>
Call-ID: 54fe580-1eb1f25b-44-3bf97a0a@10.122.249.59
X-cisco-dest-route-string: <sip:svs-alpha-c1.cisco.com>
Aug 2 00:35:12.198: //-1/054FE5800000/CCAPI/cc_api_c
[..truncated..]
Incoming Dial-peer=1, Progress Indication=NULL(0),
X-cisco-dest-route-string: <sip:svs-alpha-c1.cisco.com>
All other error codes including 4xx level error codes are
considered a valid response and keep the dial peer active.
3 Busy
4 Active
Tip
The command voice-class sip options-ping is used for in-dialog SIP
OPTOINS messages (that is, SIP OPTIONS messages sent during an active
session). This differs from voice-class sip options-keepalive, which sends an
out-of-dialog (OOD) SIP OPTIONS keepalive message for checking next-hop
reachability and service.
Tip
Before enabling any debugging in CUBE, you should use show processes
cpu sort and show processes cpu history to verify that CPU usage is not
already above 50%. Enabling debugging may cause unwanted call failures due
to CPU spikes.
! Config
! Sent INVITE
Note
IOS XE gateways require the command media bulk-stats to be configured via
voice service voip in order to leverage TX/RX statistics.
Tip
Leveraging application protocol binding on physical interfaces that traverse
different network segments such as those shown in Figure 8-8 can increase
the chances of asymmetric routing for responses.
Tip
Remember that when application protocol binding is applied, the application
packet only looks as if it was sent from the binding interface when it is received
by the remote party. The application packet still egresses through a physical
interface, as determined by IOS IP routing logic. When binding is used, always
check the routing table and CEF table with show ip route and show ip cef to
verify that the packet is being sent out the correct physical interface and to the
correct next-hop IP address. Incorrect packet routing on the local device
cannot be overcome with application protocol binding that influences response
packet routing.
!
! Voice Class Tenant Bind, secondary check
voice class tenant 8888
!
dial-peer voice 8888 voip
session protocol sipv2
!
! Global Bind, applies to all call-legs if the first
voice service voip
sip
Tip
Binding commands for media cannot be changed while there are active CUBE
sessions until IOS-XE 17.3.
172.18.110.48/32
nexthop 14.50.206.1 GigabitEthernet0/0.206
=========== =============================
0 [0.0.0.0]:5060:
1 [::]:5060:
0 [0.0.0.0]:5060:
1 [::]:5060:
Digit Manipulation
• Callback-number: Unified
Communications Manager Express uses this
type of lookup to modify the callback
number shown on an IP phone.
!
voice translation-rule numeric-tag
rule [1-100] /match-statement/ /modify-statement/
!
voice translation-profile word
translate {called | calling | redirect-target | red
!
Tip
Incoming translation profiles are applied when a dial peer is selected as an
inbound dial peer. Outbound translation profiles are applied when the dial peer
is selected as an outbound dial peer for a given call leg.
!
voice translation-rule 777
rule 1 /^111\(222\)333\(444\)555/ /\1\2/
rule 2 /^14085267209/ /+\0/
rule 3 /^4085267209/ /+1&/
rule 4 /^9\(.*\)/ /\1/
rule 5 /\+\(.*\)/ /\1/
rule 6 /.*\(....\)/ /\1/
!
Note
voip-incoming translation-profile applies translations before the inbound dial
peer match is made, which may affect call block matching on the inbound dial
peer.
!
voice translation-rule 164
rule 1 reject /8675309/
!
voice translation-profile CALLBLOCK
translate calling 164
!
dial-peer voice 164 voip
call-block translation-profile incoming CALLBLOCK
call-block disconnect-cause incoming invalid-number
!
Header: Value
Note
The Cisco document “Configurable Pass-Through of SIP INVITE Parameters”
details the supported mandatory and supported non-mandatory CUBE headers
.
Tip
The command header-passing is often mistakenly configured on CUBE,
although this command has no bearing on any SIP–SIP header interworking.
This command is used to allow the passing of SIP headers to IOS-based TCL
applications, which otherwise do not have access to such information.
pass-thru headers 1
!
voice class sip-hdr-passthrulist 1
passthru-hdr MyCustomHeader
passthru-hdr-unsupp
SIP Normalization
With SIP normalization, a user agent manipulates SIP
headers, header data, or SDP attributes. The need to
modify portions of a SIP message may arise in a number
of different scenarios, such as when formatting header
fields to the preference of upstream devices, adding
proprietary data to a SIP message, or modifying received
SIP messages to enable smooth processing.
A SIP message, including the SIP headers and message
bodies (for example, SDP), contains plaintext data. As a
result, with SIP profiles you use regex to match portions
of a SIP message and modify the matched portions to
meet your needs. This process is similar to the
translation rules and profiles discussed earlier in this
chapter. The big difference is that a SIP profile is not
constrained to just a phone number. For example, a
message received from a device might contain a SIP
header that is malformed or incorrectly formatted, and
processing such a message could lead to unexpected
behavior. SIP normalization is an effective tool for
modifying such messages and ensuring that they are
correctly formatted before processing.
!
voice-class sip profile profile-id
{request | response} message {sip-header | sdp-heade
!
!
voice-class sip profile profile-id
{request | response} message {sip-header | sdp-heade
!
!
voice-class sip profile profile-id
{request | response} message {sip-header | sdp-heade
!
Table 8-16 SIP Profile Removal Syntax
! Global Application
!
voice service voip
sip
sip-profiles 1
!
! Tenant Application
!
voice class tenant 1
sip-profiles 1
! Dial-peer Application
!
dial-peer voice 1 voip
!
dial-peer voice 777 voip
destination-pattern 7777
session protocol sipv2
session target ipv4:172.18.110.65
codec g711ulaw
Diversion: <sip:1234@example.com>
!
dial-peer voice 888 voip
destination-pattern 7777
session protocol sipv2
session target ipv4:172.18.110.65
voice-class sip profiles 888
codec g711ulaw
Sent:
INVITE sip:7777@172.18.110.48:5060 SIP/2.0
[..Truncated for brevity..]
Diversion: <sip:1024@172.18.110.48>;privacy=off;reason=un
conditional;screen=yes
Sent:
INVITE sip:7777@172.18.110.65:5060 SIP/2.0
[..Truncated for brevity..]
Diversion: <sip:1234@example.com>;privacy=off;reason=unco
nditional;screen=yes
A common misconception is that an outbound SIP
profile can only be applied to an outbound dial peer. This
is not the case. The term outbound SIP profile references
the direction of SIP messaging that needs modification.
For example, you might need to modify an outbound SIP
message on an inbound call leg. You achieve this by
applying the defined SIP profile to an inbound dial peer
that is anchored to the call leg where you need to modify
outbound SIP messaging.
!
dial-peer voice 222 voip
description INBOUND DIAL-PEER
session protocol sipv2
incoming called-number 7777
voice-class sip profiles 164
dtmf-relay rtp-nte
codec g711ulaw
Sent:
sip-profiles inbound
! Global Application
!
voice service voip
sip
! Dial-peer Application
!
dial-peer voice 555 voip
sip-profiles inbound
!
voice class sip-profiles 111
request ANY sip-header Date modify “EST” “GMT"
!
dial-peer voice 1 voip
session protocol sipv2
incoming called-number 1234
codec g711ulaw
Received:
INVITE sip:1234@172.18.110.58:5060 SIP/2.0
Via: SIP/2.0/UDP 172.18.110.65:5060;branch=z9hG4bK-16
From: <sip:7777@172.18.110.65:5060>;tag=1
To: sut <sip:1234@172.18.110.58:5060>
Call-ID: 1-16095@172.18.110.65
CSeq: 1 INVITE
Contact: sip:7777@172.18.110.65:5060
Max-Forwards: 70
Supported: timer
Session-Refresh: 1800;refresher=uac
Subject: Performance Test
Content-Type: application/sdp
Content-Length: 130
v=0
o=user1 53655765 2353687637 IN IP4 172.18.110.65
s=-
c=IN IP4 172.18.110.65
t=0 0
m=audio 6000 RTP/AVP 0
a=maxptime:20
SIP Copylist
A SIP copylist is a special type of SIP profile that allows
CUBE to copy contents from a SIP header as a variable
that is stored in memory for later use. The value of this
variable can then be used in an outbound SIP profile to
manipulate SIP message data.
!
voice class sip-copylist 2
sip-header From
!
dial-peer voice 2 voip
voice-class sip copy-list 2
!
voice class sip-profiles 888
request INVITE peer-header sip From copy “<sip:(.*)@
request INVITE sip-header Diversion modify “sip:(.*)
!
dial-peer voice 888 voip
voice-class sip profiles 888
!
Received:
INVITE sip:7777@172.18.110.58:5060 SIP/2.0
Via: SIP/2.0/TCP 172.18.110.48:5060;branch=z9hG4bK3e8
From: <sip:1027@172.18.110.48>;tag=23337~1992ce86-77a
! User
!
voice class sip-profiles 1
request ANY sip-header Contact modify “sip:(.*)@” “s
!
! Host
!
voice class sip-profiles 2
request ANY sip-header Contact modify “@10.10.10.10>
!
!
voice class sip-profiles 3
request ANY sip-header Contact modify “sip:(.*)>” “s
!
Tip
The command clid strip can be defined under a dial peer to remove the caller
ID name if removal rather than modification is desired.
If you do not want to advertise update capabilities on
CUBE for a specific call leg, you can use the code in
Example 8-57 to remove the UPDATE extension from
the Allow header. The result of this SIP profile is that the
SIP messages sent do not contain the UPDATE entry in
the Allow header. Thus, a device receiving the message
should not send an UPDATE message to this SBC for any
reason.
Tip
It is important to note that if rule tags are being used and you downgrade IOS
to a version where rules tags are not present, the SIP profile will be lost. The
rule tag command was introduced in IOS 15.5(2)T and IOS XE 3.15S. It is
recommended to issue the voice sip sip-profiles downgrade command
before downgrading software versions.
You can also leverage the Cisco SIP-Profile Test tool (see
) to test SIP profiles without the need to make any
changes to a device or perform test calls. As shown in
Figure 8-10, to use this tool, you input the SIP message
you would like to modify, along with the proposed SIP
profile. The tool then runs the SIP profile against the SIP
message provided and displays the output before and
after modification, highlighting the items that were
modified or added.
REFERENCES
“Cisco Unified Border Element Configuration Guide,”
https://www.cisco.com/c/en/us/td/docs/ios-
xml/ios/voice/cube/configuration/cube-book.html
call leg
call flow
back-to-back user agent (B2BUA)
inbound dial peer
outbound dial peer
session target
Chapter 9. CUBE Interworking
Features
This chapter covers the following topics:
• 1.1.b PRACK
• 1.1.c Mid-call signaling (hold/resume, call
transfer, conferencing)
• 1.2.a DTMF
• 1.2.b Call set up and tear down
• 3.1.a DTMF
• 3.2.a DTMF
• 3.2.c Codec preference list
b. voice-class sip eo
c. early-offer forced
b. a=sendonly
c. a=inactive
e. a=rtpmap:0 PCMU/8000
a. Referred-by
b. To
c. Request-uri
d. Refer-to
b. Unattended transfer
c. Consult transfer
d. Refer transfer
b. IPv6
c. Domain names
d. Phone numbers
a. g729br8
b. g729r8
c. g711ulaw
d. g711alaw
c. codec g711ulaw
d. no vad
d. early-offer forced
FOUNDATION TOPICS
SIP–SIP INTERWORKING
The most common CUBE deployment uses SIP as the
signaling protocol to connect different networks. In this
type of scenario, CUBE acts as a back-to-back user agent
(B2BUA). As a B2BUA, CUBE has collocated user agent
client (UAC) and user agent server (UAS) functionality.
This is very useful for SIP interworking as it allows the
SBC to receive and send SIP messages from either
perspective during a session. The B2BUA can maintain
two separate SIP dialogs and interwork any events that
occur on one dialog with the participant of the other
dialog and vice versa.
Tip
CUBE cannot send delayed offer on an outbound call leg if early offer is
received on the inbound call leg. Early offer is always sent in this scenario.
Example 9-1 Forcing Early Offer Globally
! Global Configuration
voice service voip
sip
early-offer forced
! or
! Per Dial-peer
dial-peer voice 1 voip
Note
Examples in this chapter include both global configuration and dial peer–
specific configuration to show both CLI syntax. As a refresher, remember the
order of operations for voice configurations in IOS. The configuration found on
the inbound and outbound dial peer used during a session always supersede
any other configuration. If no dial peer–specific configuration exists, any voice
class tenant configuration applied to an inbound or outbound dial peer used
during a session is used. Finally, if no dial peer–specific or voice class tenant
configuration exist, the global configuration in the voice service voip or sip-ua
commands is leveraged.
Tip
PRACK cannot be sent for the 100 Trying response. All other numbered
responses 101 through 199 can be sent reliably.
Max-Forwards: 70
Content-Length: 0
! Global Configuration
voice service voip
sip
rel1xx disable
! or
! Per Dial-peer Configuration
dial-peer voice 1 voip
! or
! Per Dial-peer Configuration
dial-peer voice 1 voip
no rel1xx
! or
voice service voip
sip
! Global Configuration
voice service voip
sip
block {180 | 181 | 183} sdp {present | absent}
!
! Per Dial-peer Configuration
dial-peer voice 1 voip
! Global Configuration
voice service voip
sip
!
! Per Dial-peer Configuration
dial-peer voice 1 voip
sip-ua
disable-early-media 180
MID-CALL SIGNALING
When a session is established, additional signaling
exchanges may be required to maintain or modify a
session. These post-session establishment messages are
referred to as mid-call signaling. Mid-call signaling
includes actions such as calling or called party
number/name updates, modification of session media
parameters, and determination of session refresh
intervals. In addition to the previous signaling
exchanges, mid-call signaling also includes
supplementary services, such as call hold, call resume,
and call transfer.
Hold/Resume
"Let me put you on hold while I check on this item.” You
frequently hear this sentence from customer care
centers. What occurs in such scenarios is that one party
momentarily disrupts the bidirectional flow of media by
pressing a softkey or button (typically the Hold softkey)
on her local device. Bidirectional flow of media is
resumed when the same party presses another softkey
(or the same Hold softkey) on her local device.
Optionally, the held party is presented with hold music
streamed from a Music on Hold server during the hold.
With SIP, the endpoints involved in the call are either the
holder or holdee. As an SBC, CUBE takes the role of a
holder for one call leg and holdee on another call leg,
although it is very rare for CUBE to initiate a hold event
without first receiving a hold event from another device
on a peer call leg. The main goal for CUBE is to interwork
hold and resume events so that media is terminated,
redirected, and reestablished properly for all parties and
call legs. Failure to do this properly may result in
problematic one-way audio situations, no-way audio
situations, or even undesired call terminations. For the
examples in this section, Unified CM takes the role of the
holder and signals hold events to CUBE, which assumes
the role of the holdee and ultimately interworks these
events to the peer call leg. The IP phones engaged in the
call are not shown for the sake of simplicity, but users of
these devices would initiate the hold by pressing softkeys
or buttons on the devices.
Note
Unified CM administrators can instruct Unified CM to send a=sendrecv and
subsequently open a bidirectional media channel with the MOH server by
setting the Unified CM service parameter Duplex Media Enabled to True.
Although the MOH server is never expecting to receive audio, only send MOH,
it may need to open a bidirectional media stream to facilitate opening pinholes
when firewalls are present between the MOH server and the endpoint receiving
the MOH stream.
Received:
INVITE sip:7777@172.18.110.58:5060;transport=tcp SIP/
CSeq: 102 INVITE
[...Truncated for Brevity...]
v=0
o=CiscoSystemsCCM-SIP 25337 2 IN IP4 172.18.110.48
s=SIP Call
c=IN IP4 0.0.0.0
b=TIAS:64000
b=AS:64
t=0 0
m=audio 22018 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=inactive
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
Sent:
SIP/2.0 200 OK
CSeq: 102 INVITE
[...Truncated for Brevity...]
v=0
o=CiscoSystemsSIP-GW-UserAgent 5020 5458 IN IP4 172.1
s=SIP Call
t=0 0
m=audio 8066 RTP/AVP 0 101
Sent:
SIP/2.0 200 OK
CSeq: 103 INVITE
[...Truncated for Brevity...]
v=0
o=CiscoSystemsSIP-GW-UserAgent 5020 5459 IN IP4 172.1
s=SIP Call
c=IN IP4 172.18.110.58
t=0 0
m=audio 8066 RTP/AVP 0 101 19
c=IN IP4 172.18.110.58
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
Received:
ACK sip:7777@172.18.110.58:5060;transport=tcp SIP/2.0
CSeq: 103 ACK
[...Truncated for Brevity...]
v=0
o=CiscoSystemsCCM-SIP 25337 3 IN IP4 172.18.110.48
s=SIP Call
c=IN IP4 172.18.110.48
t=0 0
m=audio 4000 RTP/AVP 0
a=X-cisco-media:umoh
a=ptime:20
a=rtpmap:0 PCMU/8000
a=sendonly
When the end user is ready to take the call off hold, he
presses the button or softkey again to resume the call;
Unified CM sends another re-INVITE message with the
media direction attribute set to a=inactive and the
connection data information field set to 0.0.0.0. This
results in the de-allocation of the media resource for
MOH. Finally, Unified CM sends a delayed offer re-
INIVTE message, soliciting the SBC and, ultimately, the
holdee for their capabilities (which are subsequently
encoded in the 200 OK response). Finally, Unified CM
reconnects audio to the endpoint and sends an ACK with
SDP, which reopens bidirectional media. Figure 9-11
illustrates the entire hold/resume process and multiple
transactions in the SIP dialog that takes place between
Unified CM and CUBE.
Figure 9-11 Full Hold Resume and MOH Signaling on
Unified CM, CUBE, and ITSP
Call Transfer
Interactive voice response (IVR) systems, contact center
scripts, and even end telephone users need to be able to
transfer a call to a different destination without the other
party hanging up or being disconnected. CUBE must not
inhibit the transfer process and may even be required to
perform interworking so that the call transfer can be
seamlessly completed. A call transfer differs from a call
forward in that it takes place after a session is
established, and the bulk of the signaling to facilitate a
transfer takes place in the mid-call signaling. There are a
few different ways to complete a transfer. The following
sections define these transfer types.
Note
The terms transferor, transferee, and transfer target are used to define the
parties involved in a call transfer. The transferor is the person or device
initiating a transfer, and the transferee is the person being transferred to a new
destination. Finally, the transfer target is the new destination to which the
transferee will be connected when the transfer is completed by the transferor.
These terms are illustrated in Figure 9-12.
REFER Transfer
The SIP REFER method was defined and standardized in
RFC 3515 to provide a framework for call transfers in SIP
networks. Over the years, several modifications have
been made to the implementation of the SIP REFER
method to fit a variety of application usages. This section
provides an overview of the basic implementation of the
SIP REFER method outlined in RFC 3515.
A user agent (transferor) attempting to transfer a call (to
the transfer target) does so by sending a SIP REFER
request to the transferee. Included in the SIP REFER
request is information on how the transferee can reach
the transfer target; this information is encapsulated in
the Refer-To header field (see Example 9-13). For a
REFER request to be sent, there needs to be an
established, active communication session between the
transferor and transferee. The REFER request is sent on
the same SIP dialog as the established communication
session to ensure that the request is delivered to the
intended recipient, can be correctly correlated by the
transferee to the existing communication session, and is
from an authorized source.
Max-Forwards: 70
Refer-To: sip:alice@atlanta.example.com
Contact: sip:a@atlanta.example.com
Content-Length: 0
Event: refer
Content-Type: message/sipfrag;version=2.0
Content-Length: 20
Event: refer
Subscription-State: terminated;reason=noresource
Contact: sip:b@atlanta.example.com
Content-Type: message/sipfrag;version=2.0
Content-Length: 16
SIP/2.0 200 OK
Referred-By: <sip-uri>
Tip
This chapter does not discuss out-of-dialog (OOD) REFER messages.
sip
referto-passing
sip
no referto-passing
INVITE Transfer
Another method of call transfer, which is primarily used
by SIP IP phones, Unified CM, and Unified CME, is
achieved by using SIP INVITE messages. During a call
transfer that utilizes a SIP INVITE to create a new call
and call leg, the original media stream may be
temporarily suspended while a new INVITE message is
being processed. When the call transfer is complete, the
original call and the call established with the new
INIVTE message are bridged together; the media stream
is subsequently reestablished between the transferee and
the transfer target.
Note
The upcoming examples feature CUBE sending an inbound call to Unified CM,
which routes the call to an IP phone. The IP phone then transfers the call to
another endpoint registered to the same Unified CM cluster. The peer call leg
of CUBE has been omitted to simplify the diagrams.
Figure 9-18 starts with the initial call on hold, and a new
call leg (Call Leg 3) is created by the transferor to call the
transfer party. This new call is sent to Unified CM, which
performs digit analysis and finds a callable endpoint.
Unified CM attempts to establish a new session with the
transfer target specified by the transferor. This results in
the creation of Call Leg 4. Here an INVITE message is
sent to the transfer target, and a 180 Ringing message is
received by Unified CM. This 180 Ringing message is
relayed to the transferor. The transferor now hears
ringback and knows the transfer target has been called
successfully. At this point, the Transfer key is pressed
again to start the blind/unattended transfer. A REFER
message is sent to Unified CM on Call Leg 2, and it
contains a Refer-To header with a Replaces tag that
includes the call-id, a to header tag, and the from header
tag of Call Leg 3. Unified CM then removes MOH on Call
Leg 1 to replace the MOH with ringback streamed from a
local annunciator. The two call legs involving the
transferee are disconnected with a SIP BYE. At this
point, the transferee is hearing ringback while the
transfer target is ringing.
Figure 9-21 starts with the initial call on hold. A new call
leg (Call Leg 3) is created by the transferor to call the
transfer target. This is sent to Unified CM, which
performs digit analysis and finds a callable endpoint.
Unified CM attempts to establish a new session with the
transfer target specified by the transferor. This results in
the creation of Call Leg 4. Here an INVITE message is
sent to the transfer target, and a 180 Ringing message is
received by Unified CM. This 180 Ringing message is
relayed to the transferor. The transferor now hears
ringback and knows the transfer target has been called
successfully.
!
voice service voip
media anti-trombone
!
UPDATE Interworking
The SIP UPDATE method, defined in RFC 3311, provides
a way for a SIP user agent to modify session
characteristics before the call is answered. The SIP
UPDATE method is similar to the SIP re-INVITE
method, but the main difference is that the SIP UPDATE
can be used to modify session characteristics before a
session is established, and a SIP re-INVITE cannot do
this. Table 9-3 shows the differences between the two
method types.
Table 9-3 Comparison of re-INVITE and UPDATE
Request Methods
no update-callerid
Session Refresh
It is quite common for a communication session
established over SIP to span several intermediary
devices, such as call agents, SIP proxies, and SBCs. In
such scenarios, it is vital that requests and corresponding
responses be transmitted reliably and in a timely manner
end to end to ensure that the state of the communication
session is synchronized across all devices in the call path.
Consider a situation in which a communication session is
established across the topology depicted in Figure 9-27.
Session-Expires: 1800;refresher=uac
Max-Forwards: 69
Tip
The Min-SE header cannot be sent in any numbered response except the 422.
Sent:
SIP/2.0 200 OK
Via: SIP/2.0/TCP 172.18.110.48:5060;branch=z9hG4bK3a3
From: <sip:1024@172.18.110.48>;tag=22968~1992ce86-77a
To: <sip:7777@172.18.110.58>;tag=512A088-1C36
Call-ID: 82535500-b00171fb-80-306e12ac@172.18.110.48
CSeq: 101 INVITE
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDA
Server: Cisco-SIPGateway/IOS-15.3.3.S
Require: timer
Session-Expires: 1800;refresher=uac
Supported: timer
Tip
Any mid-call signaling UPDATE message or re-INVITE message sent for a
purpose other than a session refresh may also contain session timer
parameters. These offers/answers also refresh the session if they occur as per
the specifications defined in RFC 4028.
session refresh
Example 9-26 Configuring CUBE Session Timers
Tip
Session refresh messages can also be blocked by the midcall-signaling
block command. It is best to avoid using this command if session interval
timers are being used as these are required to keep a session established.
Administration State: UP
Operation State: UP
IP Address Subnet M
-------------------------------------------- --------
Note
CUBE does not currently support DNS-based authentication for fully qualified
domain names configured on session targets. The resolvable IP addresses
must be statically configured to avoid toll fraud rejection.
Note
Chapter 10 goes into further detail about toll fraud operation for Unified CME
registered SIP phones that will make use of the Dynamic IP Address Trusted
List section of the show ip address trusted list command.
!
sip-ua
registrar ipv4:172.18.110.88
credentials username cisco password 0 cisco123 realm
authentication username cisco password 0 cisco123 re
!
Sent:
CSeq: 1 REGISTER
Contact: <sip:cisco@172.18.110.58:5060>
Expires: 3600
Supported: path
Content-Length: 0
Received:
Content-Length: 0
Sent:
CSeq: 2 REGISTER
Contact: <sip:cisco@172.18.110.58:5060>
Expires: 3600
Supported: path
Content-Length: 0
Received:
SIP/2.0 200 OK
Tip
You can use registrar dns: when the service provider uses DNS redundancy.
It is important to ensure proper DNS configuration to enable CUBE to resolve
the FQDN configured on the registrar command. Please refer to Chapter 8,
“CUBE Call Routing and Digit Manipulation,” for information about DNS
Configuration on CUBE.
! Debugs
Oct 1 16:20:34.547: //-1/xxxxxxxxxxxx/SIP/Error/sipSP
! Configuration
sip-ua
permit hostname dns:rtp-cube.ccnpcollab.lab
!
MEDIA INTERWORKING
The types of audio and video codecs supported in a
customer’s Unified CM network often depend on a few
factors:
Table 9-5 SDP Reference Table for the Dial Peer Codec
Commands
Note
Voice activity detection (VAD) is included in Table 9-5 because it is negotiated
with other audio codecs. To disable VAD, simply remove it with the command
no vad on the applicable dial peer.
Codec Filtering
As mentioned in Chapter 8, when processing a call,
outbound dial peers are filtered to those that have a
common audio codec for the session as the audio codec
on the inbound dial peer. The offer sent by CUBE using
the selected outbound dial peer contains a filtered list of
common audio codecs. If no matching audio codec is
found and there is no Local Transcoding Interface (LTI)
transcoder, the call fails. We’ll discuss LTI transcoders
further in a moment, but first Figure 9-37 illustrates how
CUBE filters dial peers and codecs when performing
inbound and outbound dial peer matching. The following
steps occur in this process:
Figure 9-37 CUBE Dial Peer and Offer Filtering
sj-cube(config-dspfarm-profile)# codec ?
g711alaw G.711 A Law 64000 bps
g711ulaw G.711 u Law 64000 bps
g722-64 G722r64
g729abr8 G.729ab 8000 bps
g729ar8 G.729a 8000 bps
g729br8 G.729b 8000 bps
g729r8 G.729 8000 bps
gsmamr-nb GSMAMR NB codec
ilbc ILBC codec
isac ISAC codec
pass-through Stream Pass Through
Note
codec pass-through is a special configuration that allows for non-audio
codecs to be passed seamlessly through the transcoder. This should be used
when T.38 faxing or video is an option for session negotiation.
Tip
Only supported audio codecs are eligible for transparent negotiation, and those
that a dial peer does not normally support are filtered regularly.
Note
Many CUBE features do not work when SDP passthrough is configured.
Consult the CUBE Configuration Guide, at
https://www.cisco.com/c/en/us/td/docs/ios-
xml/ios/voice/cube/configuration/cube-book.html, for all features that have
restrictions with voice-class sip pass-thru content sdp and pass-thru
content sdp.
Note
Unified CM and some video-enabled endpoints use payload type 97 or 126 for
h264 video. Payload type 126 is not used by any dial peer configuration and
can be freely assigned. Unfortunately, 97 is normally used by cisco fax-ack. If
you were to attempt to change CUBE’s RTP payload type for h264 to 97, an
error would appear, stating “ERROR: value 97 in use!” You must first change
cisco fax-ack to an unused value and then change h264 payload type, as
shown here:
!
voice service voip
sip
asymmetric payload {dtmf | dynamic-codecs | full}
!
dial-peer voice 1 voip
session protocol sipv2
voice-class sip asymmetric payload {dtmf | dynamic-
!
Tip
For some video interworking scenarios, it might be best to use SDP
passthrough, discussed in the previous section, to replicate all video SDP from
the inbound call leg to the outbound call leg with minimal modification by
CUBE.
!
voice service voip
sip
audio forced
!
dial-peer voice 1 voip
session protocol sipv2
voice-class sip audio forced
!
Music on Hold
This chapter has already briefly discussed the concept of
MOH and how it applies within the context of hold
events. The hold music is an audio file played to a holdee
from a MOH server for the duration of a hold event.
Without MOH, the holdee would experience silence, or
dead air, for the duration of the hold event. Many
consider complete silence undesirable from the
perspective of user experience, and therefore MOH is a
widely deployed feature.
Note
If Unified CM is involved, the Cisco-proprietary SDP media attribute a=X-cisco-
media:mmoh is present rather than a=X-cisco-media:umoh.
Tip
A device advertising a multicast address in SDP always sends a=recvonly in
SDP, as per RFC 3264. The answer to this offer should always mirror the
answer; for example, the answer may contain media direction attributes that
are the same as those of the offer (a=recvonly).
!
ip multicast-routing distributed
!
ccm-manager music-on-hold
!
interface GigabitEthernet0/0/0.249
ip pim sparse-dense-mode
!
Tip
Underlying LAN and network infrastructure configuration to facilitate Multicast
PIM on Layer 3 devices and IGMP multicast for Layer 2 devices are not
covered in this book. In addition, the type of PIM configured on the CUBE
interfaced is dependent on the type of LAN multicast implementation.
Tip
With IOS XE, an IP PIM command must be defined on both the ingress and
egress Layer 3 interface, or the multicast MOH–to–unicast MOH conversion
will not occur. Without an IP PIM command on the egress interface, the output
of show ccm-manager music-on-hold displays 0 packets received, and the
output of show platform hardware qfp active statistics drop shows the
multicast MOH RTP packets dropped with the reason “UnconfiguredIpv4Fia".
Tip
When integrating Unified CM with an IOS XE CUBE, the CallManager service
parameter Duplex Media Streaming should be set to True. With this setting
enabled, Unified CM advertises a valid MOH RTP port to CUBE rather than the
dummy RTP port 4000. This is required for IOS XE source port validation
checks, which drop the MOH RTP stream when port 4000 is used.
DTMF Interworking
The ability to press a button on a device to signal an
input that is seamlessly transmitted across many
different dispersed networks and delivered to a system
that analyzes the input to perform actions with the call is
one of the most important aspects of almost every
session established in modern networks. These input
signals take the form of dual-tone multifrequency
(DTMF) and, as noted in Chapter 3, “VoIP Protocols:
RTP, RTCP, and DTMF Relay,” can be conveyed in many
different ways. Due to the number of DTMF signaling
mechanisms, CUBE must have the ability to perform two
forms of DTMF interworking:
REFERENCES
Inamdar, Kaustubh, Steve Holl, Gonzalo Salgueiro,
Kyzer Davis, and Chidambaram Arunachalam.
Understanding Session Border Controllers:
Comprehensive Guide to Designing, Deploying,
Troubleshooting, and Maintaining Cisco Unified
Border Element (CUBE) Solutions. Hoboken: Cisco
Press, 2018.
transferee
transfer target
transferor
Chapter 10. Unified CME and SRST
This chapter covers the following topics:
• 2.4.c Paging
b. Unified CME
c. Unified SRST
a. max-dn
b. max-ephone
c. max-pool
d. source-address
e. ip source-address
a. CTLAAAABBBBCCCC.tlv
b. ITLAAAABBBBCCCC.tlv
c. ITLFile.tlv
d. SEPAAAABBBBCCCC.cnf.xml
e. XMLDefault.cnf.xml
c. registrar server
d. telephony-service
b. Peer
c. Longest idle
d. Parallel
a. INVITE
b. NOTIFY
c. REFER
d. UPDATE
a. Shared-line support
c. Voicemail
b. max-pool
c. max-dn
d. mode cme
e. source-address
FOUNDATION TOPICS
Note
Unified CME with the CSR platform supports only SIP IP phones and has a
different feature set than the Unified CME counterpart that runs on ISR
hardware. Refer to the official Virtual Unified CME documentation for more
information about CSR features.
https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucme/admin/configurat
ion/manual/cmeadm/cmeroad.html
Virtual CME guide can be found here:
https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucme/admin/configurat
ion/manual/cmeadm/cmevir.html
! Step 1
! Step 2
Version 12.6
Mode is cme
Max-pool is 50
Max-dn is 200
Active registrations : 0
!
voice register dn 1
number 7777
name KYDAVIS-7777
label SIP-7777
!
voice register dn 2
number 8888
name PKINANE-8888
label SIP-8888
!
voice register dn 3
number 9999
call-forward b2bua busy 8888
call-forward b2bua noan 8888 timeout 18
name SIP-SHARED
label SIP-SHARED-9999
shared-line max-calls 16
!
Note
You must use the id mac command before using the type command, or you
will get the error “Please configure voice-register-pool id first.”
!
voice register pool 1
id mac C4B3.6ABA.A017
type 8865
number 1 dn 1
number 2 dn 3
username phone-one password C1sc0Vo1p
description PHONE ONE
codec g711ulaw
!
voice register pool 2
id mac D0EC.35FF.6503
type 8865
number 1 dn 2
number 2 dn 3
username phone-two password C1sc0Vo1p
description PHONE TWO
codec g711ulaw
session-transport tcp
dtmf-relay rtp-nte
!
rtp-cme# conf t
rtp-cme (config)# voice register global
rtp-cme (config-register-global)# create profile
<preferredCodec>g711ulaw</preferredCodec>
<phoneLabel>PHONE ONE</phoneLabel>
<phonePassword>C1sc0Vo1p</phonePassword>
<versionStamp>1300381319824539</versionStamp>
!
password encryption aes
key config-key password-encrypt CISCO123
!
Tip
Before downgrading a Unified CME or CUBE deployment with password
encryption, you should issue the command no password encryption;
otherwise, older IOS-XE versions will be unable to decrypt the password in the
running configuration.
!
debug tftp events
!
debug voip iptrust
debug voip iptrust detail
!
debug ip tcp transaction
!
debug ccsip messages
debug ccsip error
!
debug voice register event
debug voice register error
debug voice register session
!
2 3 9999$ RE
2 3 9999$ RE
rtp-cme# show ip address trusted list
IP Address Trusted Authentication
Administration State: UP
Operation State: UP
IP Address Subnet M
-------------------------------------------- --------
ipv4:14.50.214.117
2 Phone Registered
ipv4:14.50.214.118
2 Phone Registered
!
password encryption aes
key config-key password-encrypt CISCO123
!
voice service voip
ip address trusted list
ipv4 14.50.214.0 255.255.255.0
allow-connections sip to sip
sip
registrar server
!
voice register global
mode cme
source-address 172.18.110.62 port 5060
max-dn 200
max-pool 50
auto-register
service-enable
password C1sc0Vo1p
auto-assign 7000 to 7050
create profile
!
action=restart
RegisterCallId={d0ec35ff-65030008-77ae28e3-244b600b@1
ConfigVersionStamp={2513463472421178}
DialplanVersionStamp={}
SoftkeyVersionStamp={2513463472421178}
Tip
To view the OOD SIP NOTIFY message to reset the phone, you use debug
ccsip non-call in addition to the debug commands mentioned earlier in this
chapter.
Active registrations : 2
Registration success : 2
Registration failed : 2
unRegister requests : 0
unRegister success : 0
unRegister failed : 0
Auto-Register requests : 2
!
voice register dn 1
number 7000
no-reg
!
voice register dn 2
number 7001
no-reg
!
voice register pool 1
busy-trigger-per-button 2
id mac C4B3.6ABA.A017
type 8865
number 1 dn 1
dtmf-relay rtp-nte
username auto1 password 6 EfYghCf[f\YL\NicME^BGIcXQ\
description AUTO-REG
codec g711ulaw
!
voice register pool 2
busy-trigger-per-button 2
id mac D0EC.35FF.6503
type 8865
number 1 dn 2
dtmf-relay rtp-nte
username auto2 password 6 EfYghCf[f\YL\NicME^BGIcXQ\
description AUTO-REG
codec g711ulaw
!
Dialpeers created:
destination-pattern 7777$
session target ipv4:14.50.214.117:5060
session protocol sipv2
digit collect kpml
codec g711ulaw bytes 160
after-hours-exempt FALSE
destination-pattern 9999$
session target ipv4:14.50.214.117:5060
session protocol sipv2
digit collect kpml
codec g711ulaw bytes 160
call-fwd-busy 8888
call-fwd-noan-timeou 18
call-fwd-noan 8888
after-hours-exempt FALSE
Example 10-24 shows show call active voice brief |
include pid being issued to make a simple test call from
extension 7777 to extension 8888. You can see that dial
peers from Example 10-23 are used in this call. The
inbound call leg (Answer) is bound to inbound dial peer
40003, which was confirmed to be associated to
extension 7777 on voice register pool 1. The outbound
call leg (Originate) is using outbound dial peer 40001,
which is the dial peer for voice register pool 2 and
extension 8888, as confirmed by Example 10-23.
Remember that the allow-connections sip to sip
command is required in voice service VoIP
configuration; if it is not used, a call from one SIP IP
phone to another fails with a “404 Not Found” SIP error
with Q.850 cause code 3 (indicating incompatible
protocols).
Tip
For more detailed information about the commands shown in Example 10-27
and Example 10-28, refer to Chapter 8.
!
voice hunt-group 1 sequential
phone-display
final 9999
list 7777,8888
timeout 18
statistics collect
pilot 1111
name SEQUENTIAL
!
The second hunt group mode, illustrated in Example 10-
30, is the peer hunt group operational mode. With the
peer operational mode, calls are directed to the member
list in a circular or round-robin manner. The difference
between sequential and peer is that with the peer
operational mode, for each new call to the pilot number,
the hunt group presents the call to the next member in
the hunt list. For example, the first call to pilot 2222
rings extension 7777. The next call to pilot 2222 rings
8888. A third call to the pilot 2222 starts over and rings
7777 again. If 7777 is unable to answer after 18 seconds,
as per the timeout value, extension 8888 is presented the
call. Similarly, if 8888 cannot answer the call, the final
extension, 9999, is rung. The settings for displaying the
hunt group name on IP phones and enabling collection of
statistics are the same as for sequential mode.
Note
The final extension can be the pilot of another hunt group. This means you can
ring a list of members in hunt group A, and if there is no answer, you ring the
pilot of hunt group B, which contains another set of members.
!
voice hunt-group 2 peer
phone-display
final 9999
list 7777,8888
timeout 18
statistics collect
pilot 2222
name PEER
!
!
voice hunt-group 3 parallel
phone-display
final 9999
list 7777,8888
timeout 18
statistics collect
pilot 3333
name PARALLEL
!
!
voice hunt-group 4 longest-idle
phone-display
final 9999
list 7777,8888
timeout 18
statistics collect
pilot 4444
name LONGEST-IDLE
hops 2
!
Tip
To change the operational mode of hunt groups, you need to completely
remove the original hunt group by prefixing no in front of the voice hunt-group
command.
telephony-service
hunt-group logout HLog
!
voice hunt-group 6 sequential
members logout
phone-display
final 9999
list 7777,8888
timeout 18
statistics collect
auto logout 3
pilot 6666
name HLOG-VHG
!
preference: 0
preference (sec): 0
timeout: 18
final_number: 9999
auto logout: 3
stat collect: yes
phone-display: yes
hlog-block: no
calls in queue: 0
overwrite-dyn-stats: no
members logout: yes
present-call idle-phone: no
Note
The IP phones do not support multicast addresses in the 224.x.x.x range and
support only ports with even numbers in the range 20480 to 32768.
! Step 1
telephony-service
max-dn 50
!
! Step 2
ephone-dn 1
number 5555 no-reg primary
paging ip 239.1.1.1 port 20480
!
! Step 3
! Step 4
--uniqueBoundary
Content-Type:application/x-cisco-remotecc-request+xml
<x-cisco-remotecc-request>
<datapassthroughreq>
<applicationid>1</applicationid>
<transactionid>1</transactionid>
<stationsequence>StationSequenceLast</stationsequence
<displaypriority>2</displaypriority>
<appinstance>0</appinstance>
<routingid>0</routingid>
<confid>0</confid>
</datapassthroughreq>
</x-cisco-remotecc-request>
--uniqueBoundary
Content-Type:application/x-cisco-remotecc-cm+xml
Paging Configuration
ephone-dn 1 ( IDLE )
number 5555
paging ip 239.1.1.1 port 20480
voice reg pool 1 paging-dn 1 (OFF)
voice reg pool 2 paging-dn 1 (OFF)
Paging Configuration
ephone-dn 1 (ACTIVE)
number 5555
paging ip 239.1.1.1 port 20480
voice reg pool 1 paging-dn 1 (ON )
voice reg pool 2 paging-dn 1 (ON )
sccp(ephone#[phone]): None
sip (pool[peer tag]): 1[40003](mcast) 1[40004](mcast)
Parking a Call
Tip
Attempting to transfer a call to a basic call park extension results in a park
failure. Similarly, attempting to use the Park softkey when only directed call
park is configured results in park failure.
Note
The reservation-group and reserved-for attributes cannot be configured at
the same time by IOS CLI as they are mutually exclusive. These attributes are
checked only when parking a call, which means any device in Unified CME can
any parked call. In addition, the only attribute cannot be used with the recall
attribute because the two commands contradict each other.
Before you start the call park extension configuration,
you need to enable call park globally for all IP phones on
the Unified CME system by using the configuration
shown in Example 10-38. The fac standard command
is required only for directed call park, as described
shortly. Remember that the max-dn command is also
required; without it, the CLI does not allow the use of
ephone-dn commands.
telephony-service
max-dn 50
call-park system application
!
telephony-service
max-dn 50
call-park system application
fac standard
!
ephone-dn 2
number *7777
park-slot
name 7777-PARK
!
ephone-dn 3
number *8888
park-slot directed
name 8888-PARK
!
For the second park slot extension, 8888, the call parked
on the directed call park slot times out after 120 seconds.
The first timeout results in notification of only 7777
(because the only attribute is specified). On the second
timeout, which is 120 seconds, the parked call attempts
to transfer to extension 2222.
ephone-dn 2
number *7777
park-slot timeout 10 limit 3 notify 8888 transfer 11
name 7777-PARK
!
ephone-dn 3
number *8888
park-slot directed timeout 120 limit 2 notify 7777 o
name 8888-PARK
!
dpark-retrieval *0
rtp-cme(config)# telephony-service
rtp-cme(config-telephony)# fac custom dpark-retrieval
Remove fac standard first!
rtp-cme(config-telephony)# no fac standard
fac standard has been disabled!
rtp-cme(config-telephony)# fac custom dpark-retrieval
fac dpark-retrieval code has been configurated to #5!
dpark-retrieval #5
!
show ephone-dn park
!
debug ephone park-pickup
debug voip application park-pickup
debug ccsip mess
debug ccsip error
!
SURVIVABLE REMOTE SITE
TELEPHONY (UNIFIED SRST)
Unified SRST serves as a backup call agent for endpoints
that reside at remote locations. These endpoints are
likely to register with Unified CM over a WAN
connection for normal operations. In the event of a
connection outage with the remote Unified CM servers,
an IP phone may register with the Unified SRST gateway.
The Unified SRST gateway provides limited services and
features to ensure business continuity while mitigating
customer satisfaction issues that arise from network
down situations.
Note
Refer to the Unified SRST compatibility matrix for detailed information about
the total number of IP phone registrations different IOS gateways can handle:
https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucme/requirements/gui
de/33matrix.html.
! Step 1
! Step 2
! Step 3
voice register pool 1
id network 14.50.214.0 mask 255.255.255.0
!
Tip
There are no major differences between the configuration of Unified CME hunt
groups and the configuration of Unified SRST hunt groups. When configuring
Unified SRST hunt groups, always enable the members logout command on
all voice hunt groups. Because the Unified SRST gateway and Unified CM do
not share stateful information about hunt groups, there is a chance that without
this command, an agent will be logged in upon failover to Unified SRST
although that agent was originally logged out before the Unified SRST
registration. With the members logout command in place, all agents start in
the logout state.
Version 12.6
Mode is esrst
Max-pool is 50
Max-dn is 50
System message is Unified SRST MODE
IP Address Subnet M
-------------------------------------------- --------
ipv4:14.50.214.0 255.255.255.
0 1 Pool Configured
After the failover has occurred, you can consult the same
IP phone web page to verify whether the Unified SRST
gateway is now the active device. Figure 10-8 provides a
screenshot of a phone that has now registered with the
Unified SRST gateway. You can use the command show
voice register pool all brief to view registered SIP
endpoints and the show voice register pool pool-tag
command to view registration information and other
useful information for the Unified SRST reference pool.
Example 10-44 provides a truncated version of this
command’s output.
Dialpeers created:
Statistics:
Active registrations : 1
Registration requests : 1
Registration success : 1
REFERENCES
Cisco Unified Communications Manager Express 11.5
Data Sheet,
https://www.cisco.com/c/en/us/products/collateral/u
nified-communications/unified-communications-
manager-express/datasheet-c78-737647.html
GETTING READY
Here are some important tips to keep in mind to ensure
that you are ready for this rewarding exam:
Step 1. Go to http://www.PearsonTestPrep.com.
http://www.pearsonitcertification.com/content/do
wnloads/pcpt/engine.zip
Step 10. Enter the unique access code from the card
in the sleeve in the back of your book and
click the Activate button.
Step 12. You can now start using the practice exams
by selecting the product and clicking the
Open Exam button to open the exam
settings screen.
• Study mode
• Practice Exam mode
Premium Edition
In addition to the free practice exam provided on the
website, you can purchase additional exams with
expanded functionality directly from Cisco Press. The
Premium Edition of this title contains an additional two
full practice exams and an eBook (in both PDF and ePub
format). In addition, the Premium Edition title has
remediation for each question to the specific part of the
eBook that relates to that question.
SUMMARY
The tools and suggestions listed in this chapter have
been designed with one goal in mind: to help you develop
the skills required to CLACCM 300-815 exam. This book
has been developed from the beginning to not just tell
you the facts but to also help you learn how to apply the
facts. No matter what your experience level leading up to
when you take the exam, it is our hope that the broad
range of preparation tools, and even the structure of the
book, will help you pass the exam with ease. We hope
you do well on the exam.
Appendix A. Answers to the “Do I
Know This Already?” Questions
CHAPTER 1
1. B, C. Both the CUBE and Expressway-C products
exist at the collaboration edge and usually interface
with public networks such as the Internet or the
public switched telephone network (PSTN).
CHAPTER 3
1. A. 8 kHz equals 8000 Hz, which is the sampling rate
for the G.711 audio codec.
CHAPTER 4
1. B. The X character represents the digits 0 through 9
as a wildcard in Unified CM.
CHAPTER 6
1. A, B, C. The IOS-based media resources include
MTPs, transcoders, and conference bridges.
CHAPTER 7
1. B. Single Number Reach is a Unified Mobility
solution provided by Unified CM that allows calls to a
desk phone to ring a remote destination, such as a
mobile phone, simultaneously.
CHAPTER 8
1. B. CUBE always has an inbound call leg and an
outbound call leg when a call traverses the SBC.
CHAPTER 9
1. C. You can use early-offer forced to force CUBE to
send an early offer if a delayed offer is received.
CHAPTER 10
1. C. Unified SRST provided a call agent to remote
branch IP phones for local registration in the event of
a WAN failure or outage that deems the remote
Unified CM unreachable.
3.
4. E. With auto-registration, the
SEPAAAABBBBCCCC.cnf.xml file does not get
generated until a later step; as a result, the file
XMLDefault.cnf.xml is handed out instead.
Step 1. Browse to
www.ciscopress.com/title/9780136575542.
Note
The downloaded document has a version number. Comparing the version of
the print Appendix B (Version 1.0) with the latest online version of this
appendix, you should do the following:
• Same version: Ignore the PDF that you downloaded from the
companion website.
• Website has a later version: Ignore this Appendix B in your book and
read only the latest version that you downloaded from the companion
website.
TECHNICAL CONTENT
The current Version 1.0 of this appendix does not
contain additional technical coverage.
Appendix C. Memory Tables
CHAPTER 1
Table 1-4 Sample Country Codes from Around the
World
CHAPTER 2
Table 2-2 SIP Requests
CHAPTER 8
Table 8-2 Inbound SIP Dial Peer Selection Preference
Table 8-3 Regex and Wildcard Commands Used by IOS
Dial Peers
CHAPTER 9
Table 9-2 CUBE 18x Interworking
Appendix D. Memory Tables
Answer Key
CHAPTER 1
Table 1-4 Sample Country Codes from Around the
World
CHAPTER 2
Table 2-2 SIP Requests
CHAPTER 8
Table 8-2 Inbound SIP Dial Peer Selection Preference
Table 8-3 Regex and Wildcard Commands Used by IOS
Dial Peers
Table 8-6 Outbound Dial Peer Commands
CHAPTER 9
Table 9-2 CUBE 18x Interworking
Appendix E. Study Planner
This content is currently in development.
Glossary
A
access list A Unified CM setting that can applied to a
remote destination to allow or block calls.
B
back-to-back user agent (B2BUA) A device that has
both UAC and UAS functionality and is capable of
forwarding requests and processing them.
back-to-back user agent (B2BUA) A device that
assumes the role of both an UAC and UAC in SIP
sessions to interwork call legs.
C
call admission control (CAC) A feature that allows
an administrator to restrict the number of calls allowed
between two network locations to ensure that network
links are not oversubscribed, which could lead to
potential voice and video quality issues.
D
Device Mobility A Unified CM feature that allows a
user to take his or her device to a different site and
inherit settings that are specific to the site the user is
visiting.
E–F
E.164 number An international phone number format
that can be a maximum of 15 digits in length with the
country code included.
G
Global Dial Plan Replication (GDPR) A service that
makes use of ILS to distribute numbers and patterns
between Unified CM clusters.
H
H.225 A protocol that handles call setup and teardown
between H.323 endpoints and is also responsible for
peering with H.323 gatekeepers via the Registration
Admission Status (RAS) protocol.
I–K
in-band DTMF relay The transmission of tones within
the RTP (media) stream.
inbound dial peer The logical name for a dial peer that
is associated to an inbound call leg. Configurations on
this dial peer are leveraged to control signaling, media,
and other aspects of the associated call leg.
Intelligent Session Control A Unified CM feature
that allows calls to the remote destination number to be
redirected to the enterprise phone.
L
LHS The user portion of a URI in user@host format.
Stands for left-hand side.
local call A call that is often within the same city and
may not require an area code.
local route group A virtual route group that is
matched with a real route group at the time a call is
routed, based on the route group configured on the
device pool of the calling device.
M
media resource A software or hardware component
that provides media processing capabilities to Unified
CM, such as a conference, media termination point,
Music on Hold, interactive response, or annunciator
services.
N
named telephony event (NTE) A payload format and
specification for the transmission of DTMF tones within
the media stream.
O
OnNet Internal enterprise calls that remain on the
enterprise network.
P–Q
path An ELCAC configuration component that is a
sequence of links and intermediate locations connecting
a pair of locations. Unified CM calculates least-cost paths
(lowest cumulative weight) from each location to all
other locations and builds a map of the various paths.
Only one effective path is used between any pair of
locations.
R
Real-Time Monitoring Tool (RTMT) The primary
method to get real-time diagnostic data from Unified
CM, including SIP signaling information and
downloading of trace files.
S
SDL trace file The primary trace file used when
troubleshooting issues with Unified CM, which contains
call signaling protocol–related messages as well as dial
plan–related messages.
T
tail-end hop off (TEHO) A process that intelligently
routes calls to the PSTN over an IP network to a remote
destination before sending the call to the PSTN to avoid
paying toll charges for a call.
U–Z
urgent priority Indicates that a pattern that matches
should be used immediately, even if potential matches
exist.