Professional Documents
Culture Documents
Brkucc 2006
Brkucc 2006
in Enterprise UC networks
BRKUCC-2006
Tony Mulchrone
Technical Marketing Engineer
Cisco Collaboration Technology Group
Agenda
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
Agenda
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 6
Why recommend SIP as the preferred Trunk Protocol?
Using SIP Trunks only to interconnect UC systems provides real benefits in terms of feature
support and design simplicity e.g. :
Centralized Provisioning
Centralized Call Detail Records
QSIG Tunneling
ISDN Overlap Sending
Accept Audio Codec Preferences in Received
Offer
“Run On All Nodes” feature 1 Active Node in a
Call Manager Group
Legend: Yes Limited support No © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 9
Agenda
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
SIP Basics – SIP Messages - Requests
INVITE - Indicates a client is being invited to participate in a call session
ACK - Confirms that the client has received a final response to an INVITE request
BYE - Terminates a call and can be sent by either the caller or the callee
CANCEL - Cancels any pending request
OPTIONS - Queries the capabilities of servers (OPTIONS Ping)
REGISTER - Registers the address in the To header field with a SIP server (Phones only)
PRACK - Provisional Acknowledgement
SUBSCRIBE - Subscribes for an Event of Notification from the Notifier (Used for KPML & MWI)
NOTIFY - Notify the subscriber of a new Event (Used for KPML & MWI)
PUBLISH - Publishes an event to the Server
INFO - Sends mid-session information that does not modify the session state
UPDATE - Modifies the state of a session before a final response is received
MESSAGE - Transports instant messages using SIP (XMPP more commonly used for IM)
REFER - Asks recipient to issue a SIP Request (Call Transfer)
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
SIP Basics – SIP Messages - Responses
Response Categories
Provisional (1xx): Request received and being processed (Unreliable – not ACK’ed)
Success (2xx): The action was successfully received, understood, and accepted.
Redirection (3xx): Further action needs to be taken to complete the request.
Client Error (4xx): The request contains bad syntax or cannot be fulfilled at the server.
Server Error (5xx): The server failed to fulfil an apparently valid request.
Global Failure (6xx): The request cannot be fulfilled at any server.
Register 1001@10.1.1.1
INVITE 2002 Register 2002@10.2.2.2
INVITE 2002
200 OK Record 200 OK
Route
Proxy
UAS UAC
BYE BYE
Proxy
Registrar BYE UAS UAC
RTP Media
Proxies are designed to be mostly transparent to UAs (e.g. Can not terminate a call). Proxy servers
can only change messages in specific and limited ways (e.g. Can not change call media info (e.g.
codecs)).……CUCM is not a Proxy server…… BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 14
CUCM : A Back to Back User Agent (B2BUA)
RFC 3621 does not define the specific functionality of a B2BUA….
A B2BUA is similar to a stateful SIP Proxy Server in that it actively maintains call state, but does not
have the same limitations as a SIP Proxy server. i.e. a B2BUA can disconnect a call and modify media
information sent in the Session Description Protocol (SDP).
How should a SIP call through a B2BUA be viewed ?
As two independent call legs from a SIP perspective :
1) An inbound SIP call arriving at a User Agent and
2) A new outbound call originating from another User Agent
CUCM - B2BUA
UAS UAS
UAC UAC
Line Side SIP is more feature rich and generally more proprietary than Trunk Side SIP
Line Side SIP needs to support an extensive set of device features e.g.
Phone/Device Control : Registration, Reset / Restart; CUCM failover and fall back, Call Preservation
during CUCM failover, Erase Config, Apply Config, Send Firmware Load ID and Software version
information, On Hook/Off Hook status notification, CTI interactions, Shared Line interactions, Phone
display commands etc etc
Trunks Side SIP needs to be relatively simple to enable interoperability between vendors, whilst
allowing call features such as hold/ resume, transfer to be invoked
This presentation focuses on Trunk side SIP…… BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
Establishing a SIP session and an
introduction to SIP headers
SIP Basics – Typical Call Set Up
SIP Trunk Message exchange – The INVITE Request
SIP Trunk
INVITE sip:1001@10.10.199.250:5060
10.10.199.251 10.10.199.250
2002 1001
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
SIP Message Headers – INVITE Request with Headers
INVITE sip:1001@10.10.199.250:5060 SIP/2.0 ------------------------------------ Request INVITE to 1001
Via: SIP/2.0/TCP 10.10.199.251:5060;branch=z9hG4bK3395a5cdb
From: <sip:2002@10.10.199.251>;tag=1b1993ff-121d-4616-8dc5-353990242dfe-32552697
To: <sip:1001@10.10.199.250>
Date: Wed, 18 Feb 2015 18:37:57 GMT
Call-ID: 8fe4f600-b7c13785-3-fbc712ac@10.10.199.251
Supported: timer,resource-priority,replaces
Min-SE: 1800
User-Agent: Cisco-CUCM8.0
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER….. SIP Message
CSeq: 101 INVITE
Contact: <sip:2002@10.10.199.251:5060;transport=tcp> Headers
Expires: 180 Some Mandatory
Allow-Events: presence, kpml
Supported: X-cisco-srtp-fallback Some Optional
Supported: Geolocation
Call-Info: <sip:10.10.199.251:5060>;method="NOTIFY;Event=telephone-event;Duration=500"
Cisco-Guid: 2414147072-3082893189-0000000002-4224127660
Session-Expires: 1800
P-Asserted-Identity: <sip:2002@10.10.199.251>
Remote-Party-ID: <sip:2002@10.10.199.251>;party=calling;screen=yes;privacy=off
Max-Forwards: 70
Content-Length: 0
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
SIP Messages – INVITE with Headers re-grouped (1 of 3)
Request /Header Request Header Content Category
INVITE sip:1001@10.10.199.250:5060 SIP/2.0 Route and
Via: SIP/2.0/TCP 10.10.199.251:5060;branch=z9hG4bK3395a5cdb Transaction
CSeq: 101 INVITE related
headers
See Appendix for additional detailed descriptions and CUCM related configuration
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 20
SIP Request Line :
INVITE
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
SIP INVITE – Related CUCM Configuration affecting the INVITE
Request Line and To Header
CUCM SIP Trunk Request Line/ SIP URI/ SIP Message Header content
Destination SIP Message Header
IP Address Used INVITE Request Line sip:1001@10.10.199.250:5060 SIP/2.0
IP Address Used To : Header <sip:1001@10.10.199.250>
FQDN/DNS SRV Used INVITE Request Line sip:1001@cisco.com:5060 SIP/2.0
FQDN/DNS SRV Used To : Header <sip:1001@cisco.com>
FQDN /DNS SRV resolved to an IP address which is used at the IP Layer
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
SIP Header Categories :
Route and Transaction related headers
A Dialog :
A series of one, or more transactions that take place between two User Agents
RTP Media
Response – 200 OK
Transaction 102 BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
SIP INVITE - Route and Transaction related Headers :
Via Header
A Mandatory Header in Requests and Responses
The Via header is used to record the SIP route taken by a Request and to route a Response back.
A User Agent generating a Request records its own address in a Via header field. Multiple Via Headers
can be used to record the route of a Request through several SIP switches
Exactly the same header is used in Requests and Responses for this transaction
VIA Header content SIP/2.0/TCP 10.10.199.251:5060;branch=z9hG4bK3395a5cdb
SIP Protocol Version 2.0
Transport Protocol TCP Configurable :TCP/UDP/TLS
Incoming and Outgoing Transport Type
Configurable via SIP Trunk Security Profile
User Agent 10.10.199.251 Address of CUCM generating the SIP Request
(As a B2BUA, CUCM is the UA in this transaction)
Incoming Port Number 5060 Incoming TCP/UDP /TLS Port Number
Configurable via SIP Trunk Security Profile
Branch z9hG4bK3395a5cdb Unique Identifier for this transaction
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 26
SIP INVITE – Command Sequence Header
Request /Header Request Header Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Via: SIP/2.0/TCP 10.10.199.251:5060;branch=z9hG4bK3395a5cdb
CSeq: 101 INVITE
The sequence number and method remain the same for each transaction in a dialog
The method matches the Request for the transaction
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
SIP Header Categories :
Dialog related headers
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, Methods and
SUBSCRIBE, NOTIFY Events
Allow-Events: presence, kpml
SME
Cluster
Media
See Appendix for detailed descriptions and CUCM related configuration 32
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
SIP Messages – INVITE with Headers re-grouped (3 of 3)
Request Header Request Header Content Category
Date: Wed, 18 Feb 2015 18:37:57 GMT Other
Max-Forwards: 70 headers
Call-Info: <sip:10.10.199.251:5060>;method="NOTIFY;Event=telephone-
event;Duration=500"
Content-Length 0
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
SIP Basics – Typical Call Set Up
SIP Trunk Message exchange – The Trying Response
SIP Trunk
INVITE sip:1001@10.10.199.250:5060
100 Trying
10.10.199.251 10.10.199.250
100 Trying
180 Ringing
Caller hears
locally
generated
ringback tone
10.10.199.251 10.10.199.250
100 Trying
180 Ringing
200 OK
ACK
10.10.199.251 10.10.199.250
INVITE sip:1001@10.10.199.250:5060
10.10.199.251 10.10.199.250
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 38
SIP Trunk Signaling - Session Description Protocol (SDP)
The Offer / Answer Model
SDP is the companion protocol of SIP
SDP is used to describe media characteristics; it does not deliver media (for voice and video
this is done using the Real-time Transport Protocol (RTP)), but is used to negotiate the
media type, format and associated parameters of a multimedia session between endpoints.
SDP is described in RFC 4566
The media characteristics of a session are described by a series of one line fields in an SDP
message. Within an SDP message there are three main sections, these detail the session
name and purpose, the time the session is active, the media and information needed to
receive the media (addresses, ports, formats, etc.). Additional information about
bandwidth usage and contact information can also be sent.
Media negotiation using SDP is known as the Offer/ Answer model (described in RFC 3264)
Two key concepts in the Offer / Answer model are the “Early Offer” and “Delayed Offer”
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 39
SIP Trunk Signaling and Media Negotiation
The Offer/Answer model - SIP Early Offer
Information about the calling device’s media characteristics are sent with its initial SIP INVITE message
– The media characteristics are contained in the Session Description Protocol (SDP) body sent with the
SIP INVITE – The “Offer” in the SDP body contains the IP Address, UDP Port number, list of codecs etc.
supported by the calling device
The called device selects which of the offered codecs it wishes to use for the call and returns it in its
“Answer” in the SDP body of a SIP response – The Answer also contains the IP address and UDP port
number etc of the called device
Once the Answer has been received two way media can be established
Early Offer is widely used (particularly by Service Providers…….)
INVITE with SDP (Offer) INVITE with SDP (Offer)
One Way
100 Trying 100 Trying Media
180 Ringing 180 Ringing
200 OK with SDP (Answer) 200 OK with SDP (Answer)
Two Way Media
ACK ACK
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
SIP Trunk Signaling and Basic Operation
The Offer/Answer model - SIP Delayed Offer
No information about the calling device’s media characteristics are sent in the initial SIP INVITE
Instead the first set of media characteristics for the call are sent by the called device in the Session
Description Protocol (SDP) body of the next reliable message (200 OK) – The called device’s “Offer”
contains its IP Address, UDP Port number, list of codecs etc.
The calling device selects which of the offered codecs it wishes to use for the call and returns its
“Answer” in the SDP body of a reliable SIP response (ACK) – The Answer also contains the IP address
and UDP port number etc of the calling device
Delayed Offer is a mandatory part of the SIP standard (but not supported by all vendors)
Ordinarily, the Offer or Answer cannot be sent reliably in 100 Trying or 180 Ringing, as 1XX messages
are unacknowledged… This can be resolved using PRACK ….. discussed next…..
INVITE INVITE
100 Trying 100 Trying
180 Ringing 180 Ringing
200 OK with SDP (Offer) 200 OK with SDP (Offer)
ACK with SDP (Answer) ACK with SDP (Answer)
Two Way Media © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
SIP Delayed & Early Offer – PRACK & Early Media
Using PRACK to reduce media cut through delay
SIP Delayed Offer without PRACK
INVITE INVITE
100 Trying 100 Trying
180 Ringing 180 Ringing
200 OK with SDP (Offer) 200 OK with SDP (Offer)
ACK with SDP (Answer) ACK with SDP (Answer)
Two Way Media
You can send SDP in 1XX Responses, but they are unreliable as they are not acknowledged.
By enabling PRACK (Provisional Reliable Acknowledgement), 1XX messages will be
periodically re-sent until their receipt is acknowledged by the receiver by sending a PRACK,
which is also acknowledged by the 1XX sender.
Using PRACK can reduce the number of SIP messages that need to be sent before two way
media is established. PRACK is useful in situations where long Round Trip Times between
SIP devices can cause a delay to media cut through or media clipping
PRACK can be enabled on the SIP Trunk Profile by setting “SIPRel1XX Options”
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 42
CUCM SIP Trunk Signaling – SIP Early Media
Using Provisional Acknowledgement (PRACK)
Early Offer with Early Media Early Offer == Early Media
INVITE w/ SDP Supported:100rel INVITE w/ SDP Supported:100rel
100 Trying 100 Trying
183 Progress w/ SDP Require:100rel 183 Progress w/ SDP Require:100rel
v=0
o=CiscoSystemsCCM-SIP 2000 1 IN IP4 10.10.199.250
s=SIP Call SDP Message Body
c=IN IP4 10.10.199.130
Describes the media characteristics of the
t=0 0 endpoint offering the SDP
m=audio 16444 RTP/AVP 0 8 18 101
a=rtpmap:0 PCMU/8000
a=ptime:20 Includes :
a=rtpmap:8 PCMA/8000 Endpoint IP address
a=ptime:20 Codecs supported
a=rtpmap:18 G729/8000
a=ptime:20 UDP Port number for RTP
a=sendrecv In Band DTMF support details
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
Some SDP lines are REQUIRED some are OPTIONAL, but all MUST appear in exactly theand/or
© 2018 Cisco order described
its affiliates. All rights reserved. in RFC
Cisco Public 4566
SIP Trunk Signaling - Media negotiation Voice calls :
The SDP Offer - Details
Description Attribute Content Comments
o= Origin CiscoSystemsCCM-SIP 2000 1 IN IP4 10.10.199.250 10.10.199.250 = CUCM IP Address
s= Session Name SIP Call
c= Connection Data IN IP4 10.10.199.130 Phone’s IP Address
t= Timing 00 Permanent Session
m= Media audio 16444 RTP/AVP 0 8 18 101 UDP Port 16444, RTP Payload Type –
Descriptions Codecs : G711U, G711A, G729. DTMF
a= Attribute rtpmap:0 G711U/8000 G.711 U-Law codec offered for this call
a= Attribute rtpmap:8 G711A/8000 G.711 A-Law codec offered for this call
a= Attribute rtpmap:18 G729/8000 G.729 codec offered for this call
a= Attribute ptime:20 RTP packet sampling time (mS)
a= Attribute sendrecv Two way Audio
a= Attribute rtpmap:101 telephone-event/8000 101 – DTMF RTP Payload Type number
a= Attribute a=fmtp:101 0-15 DTMF tones (Events 0 through 15 )
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
46
SIP Trunk Signaling - Media negotiation Voice calls :
The SDP Answer - Details
Description Attribute Content Comments
v= Version 0
o= Origin CiscoSystemsCCM-SIP 2000 1 IN IP4 10.10.199.251 10.10.199.251 = CUCM IP Address
s= Session Name SIP Call
c= Connection Data IN IP4 10.10.199.179 Phone’s IP Address
t= Timing 00 Permanent Session
m= Media audio 28668 RTP/AVP 18 101 UDP Port 28668, RTP – 18 = RTP
Descriptions Payload Type number for G729 codec,
101 = DTMF
a= Attribute rtpmap:18 G729/8000 G.729 codec selected for this call
a= Attribute ptime:20 RTP packet sampling time (mS)
a= Attribute sendrecv Two way Audio
a= Attribute rtpmap:101 telephone-event/8000 101 – DTMF RTP Payload Type number
a= Attribute a=fmtp:101 0-15 DTMF tones (Events 0 through 15 )
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 47
SIP Trunk Signaling
Media negotiation Voice calls – The Negotiated Session
10.10.199.250 10.10.199.251
10.10.199.130 10.10.199.179
RTP UDP Port 16444 RTP UDP Port 28668
G.729 codec G.729 codec
Two way Audio Two way Audio
RFC 2833 DTMF RFC 2833 DTMF
o=CiscoSystemsCCM-SIP 2000 1 IN IP4 10.10.199.250 o=CiscoSystemsCCM-SIP 2000 1 IN IP4 10.10.199.251
c=IN IP4 10.10.199.130 c=IN IP4 10.10.199.179
m=audio 16444 RTP/AVP 18 101 m=audio 28668 RTP/AVP 18 101
a=rtpmap:18 G729/8000 a=rtpmap:18 G729/8000
a=ptime:20 a=ptime:20
a=sendrecv a=sendrecv
a=rtpmap:101 telephone-event/8000 a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15 a=fmtp:101©0-15
2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 48
Media negotiation for Video calls
Summarized slides - See Appendix for Detailed slides
SIP Trunk Signaling - Media negotiation for Video calls
Summary
Video is fundamentally different from voice in that there are many use cases where
asymmetric media flows are desirable….
For example, broadband services where the upload and download speeds are different –
often by an order of magnitude.
Also because encoding video is more CPU intensive than decoding video - Video endpoints
can typically decode at a higher resolution than they can encode.
Because of the need to support asymmetric video streams – the video codec capabilities
sent in an SDP Offer and Answer should be considered to be the receive capabilities of the
respective endpoints rather than the negotiated capabilities in common with both devices
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 50
SIP Trunk Signaling - Video calls
The SDP Offer – Abridged – Showing Video details
v=0
o=CiscoSystemsCCM-SIP 161095 1 IN IP4 10.58.9.6
s=SIP Call SDP Session
b=TIAS:6000000 attributes
t=0 0
10.10.199.250 10.10.199.251
10.58.9.86 10.58.9.222
Audio RTP UDP Port 16444 Audio RTP UDP Port 2346
MP4A-LATM Audio codec MP4A-LATM Audio codec
RFC 2833 DTMF Audio RFC 2833 DTMF
Video RTP UDP Port 16446 Video RTP UDP Port 2348
H.264 Video codec Main Video H.264 Video codec
Video RTP UDP Port 16448 Video RTP UDP Port 2350
H.264 Video codec Slide Video H.264 Video codec
BFCP UDP Port 5070 BFCP UDP Port 5070
Binary Floor Control
FECC UDP Port 16450 FECC UDP Port 2352
RTP Payload Type 107 Far End Camera Control RTP Payload Type 107
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Secured SIP Signaling (TLS) and
Encrypted Media (SRTP)
Secure SIP Trunk Signaling and Encrypted Media
Transport Layer Security (TLS) and Secure RTP (SRTP)
SIP over TLS
SRTP
To secure both SIP signalling and related media use TLS on the SIP Trunks and
between each end point and CUCM
Once the SIP signalling path has been authenticated and encrypted, the SRTP
encryption keys are exchanged via SDP using SDES (SDP Security Descriptions
for Media Streams) see RFC 4568
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 57
SIP Trunk Features
SIP Trunk Security Profile Information
Incoming and Outgoing Transport Types
▪UDP – Connectionless – Uses SIP Session
Timers to determine session state
▪TCP – Connection Oriented – TCP maintains
connection state
▪TLS – Connection Oriented Encrypted
Signaling – Uses X.509 Certificates to
authenticate connections (Match incoming
Cert(s) by Subject Name(s). TLS should be
used if encrypted media (SRTP) is required
Incoming port
The Transport protocol port number CUCM
uses to listen on for inbound SIP connections
SIP Messages that the trunk will accept
Digest Authentication - Less secure than TLS (does not provide integrity or confidentiality)
For a good example of how to set up SIP TLS over CUCM SIP Trunks see :
https://supportforums.cisco.com/document/72956/cucm-sip-trunk-tls-configuration-and-troubleshooting
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 58
SIP TLS 1.2 Handshake – Mutual TLS – Client Hello
Client Hello
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 59
SIP TLS 1.2 Handshake – Mutual TLS – Server Hello
Client Hello
Server Hello
Session ID : abcd…1234….wxyz
Server always selects one cypher suite from the list offered by the Client
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 60
SIP TLS 1.2 Handshake – Mutual TLS – Server Cert
Client Hello
Server Hello
Server Certificate
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 61
SIP TLS 1.2 Handshake – Mutual TLS – Server Key
Client Hello
Server Hello
Server Certificate
Server sends
Server Diffie Hellman parameter
Signed by the Server’s Private Key
The Client uses the Server’s Public key to authenticate the server key exchange
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 62
SIP TLS 1.2 Handshake – Mutual TLS – Client Cert
Client Hello
Server Hello
Server Certificate
Client Certificate
Client Hello
Server Hello
Server Certificate
Client Certificate
Client sends
Client Diffie Hellman parameter
Signed by the Client’s Private Key
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 64
SIP TLS 1.2 Handshake – On Prem – Mutual TLS
Client Hello
Server Hello
Server Certificate
Client Certificate
SRTP
The other Endpoint choses one cipher and returns its with their encryption key in its SDP Answer
a=crypto:1 AEAD_AES_256_GCM inline:bmt4MzIzMmYxdnFyaWMds308sMwycIO23d282dGdssR5Z3g0c2k5M3Yx
Endpoints send all supported crypto suites - CUCM can filter cryptoBRKUCC-2006
suites © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 66
Agenda
Disadvantages : MTPs support a single Audio codec only e.g. G711 or G729. The passthru codec is
not supported excluding the use of SRTP and video calls. Since the Trunk’s MTPs are used - The media
path is forced to follow the signaling path.
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 69
CUCM SIP Early Offer – “Insert MTP if Needed” UC 8.5+
SIP Profile Early Offer checkbox option : Mandatory (insert MTP if needed)
SIP Early Offer For Calls from trunks and devices that cannot
SIP Trunk SIP Trunk with Early Offer
MTP provide Early Offer information – use the calling
SIP Delayed Offer
SIP Trunk with Early Offer
device’s MTP resources (first) or the outbound
H323 Trunk
MTP trunk’s MTPs (second) to create a SIP Offer for an
H323 Slow Start
H323 Trunk SIP Trunk with Early Offer
unencrypted voice call. (SRTP and video can
subsequently be initiated by the called device)
H323 Fast Start
MGCP Trunk SIP Trunk with Early Offer Multiple codecs supported using MTP pass-
through codec
MGCP Gateway BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 70
CUCM 10.5+ SIP Trunks – Best Effort Early Offer (No MTP Inserted)
Cisco SIP Phones
SIP Line Best Effort Early Offer SIP Trunk Early Offer sent
H323 Slow Start H323 Trunk Best Effort Early Offer SIP Trunk Delayed Offer sent
MGCP Gateway MGCP Trunk Best Effort Early Offer SIP Trunk Early Offer sent
H323 Fast Start H323 Trunk Best Effort Early Offer SIP Trunk Early Offer sent
SIP Early Offer SIP Trunk Best Effort Early Offer SIP Trunk Early Offer sent
MTPs are not used to create an EO – If the device is not EO capable, DO sent
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 71
Summary and Guidance on CUCM SIP Trunk : Using Delayed
Offer/ Early Offer/ Best Effort Early Offer
Summary
Delayed Offer – The default setting – Voice, Video and Encrypted Calls supported
Early Offer using “MTP Required” ~Obsolete – MTP used for all calls, single voice codec only
Early Offer : Mandatory (insert MTP if needed)” – MTPs inserted for calls from older devices e.g. 7940
and 7960 phones – Voice only on initial call set up, video (N/A) and media encryption set up by
sending a SIP Re-INVITE
Early Offer : Best Effort (No MTP inserted) – No MTPs used for EO generation ( if EO cannot be sent –
DO sent instead), Trunk MTP resources can be used to address DTMF transport mismatches
General Guidance
Do not use “MTP Required” for Early Offer MTP is inserted for every call
If you are using UC version 10.5 or above Use Best Effort Early Offer
If you are using UC versions 8.5/ 9.X/ 10.0
Type and quantities of the phones in the CUCM cluster :
Mostly older SCCP phones (e.g. 7940s/7960s) ----------- Use Delayed Offer
Mostly newer Phones ------------------------------------------- Use Early Offer : Mandatory (insert MTP if needed)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Essential SIP Trunk features that simplify UC designs
• Run On All Unified CM Nodes
• Up to 16 Destination IP addresses
• These features :
• Reduce the number of configured SIP Trunks
• Simplify call distribution
• Simplify call routing through by taking advantage of the “Route Local” rule…..
SIP Trunk A
SIP Trunk B
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 73
Essential SIP Trunk features that simplify UC designs
The Route Local Rule
• Outbound SIP Trunks and Route Lists can take advantage of the Route Local Rule by using
the “Run On All Unified CM Nodes” feature
• The Route Local Rule
• If the CUCM node that the inbound call arrives on – also has an instance of the selected
outbound trunk for that call – then use this node to onward route the call
• The Route Local rule can eliminate call set up traffic between nodes within a cluster
SIP Trunk A
SIP Trunk B
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 74
CUCM SIP Trunks
Matching inbound SIP calls to configured SIP Trunks
CUCM SIP Trunks will only accept inbound calls from a device with a source IP address
and port number that has been defined on the matching Trunk
A A
SIP Trunk 1 SIP Trunk 2
B F B F
C G C G
D H D H
E E
An Audio Codec Preference List presents all the codec types supported by CUCM. The codec
preference order in this list can be modified and saved as a custom preference list.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 79
SIP Trunk Features
Regions with Audio Codec Preference Lists
Cisco Unified CM Administration>System>Region Information>Region
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
SIP Trunk Features
Audio Codec Preference Lists - Audio Codecs Offered
The list of codecs used for codec negotiation during call set up is the subset of
codecs supported by the device and those in the codec preference list, limited
by the maximum audio bit rate for the region/ region pair.
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 81
SIP Trunk Features
Audio Codec Preference Lists - Audio Codecs Offered
The list of codecs used for codec negotiation during call set up is the subset of
codecs supported by the device and those in the codec preference list, limited
by the maximum audio bit rate for the region/ region pair.
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 82
SIP Trunk Features
Audio Codec Preference Lists – Deployment Recommendations
Region A Region A-C Codec Region C Region D Region D-E Codec Region E
Preference List Preference List
(1) G729
G.729 Voice Call (1) G729
(2) G711 (2) G711
(3) G722 (3) G722
(4)…… (4)……
For calls between two Unified CM clusters via SIP Trunks, Audio Codec Preference Lists allow the
codec used for a call to be selected based upon the calling and called devices codec preference.
Note – Equivalent Audio Codec Preference Lists for each device type region should be configured in
each cluster to ensure that a common codec is selected for each device types, irrespective of call
direction or Trunk configuration.
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 83
SIP Trunk Features
“Accept Audio Codec Preferences in Received Offer”
Accept Audio Codec Preferences in
Received Offer
Region A Region C Region D Region E Region F
Region A-C Codec Region E-F Codec
Preference List G.729 Call Preference List
(1) G729 (1) G729
(2) G711 (2) G711
(3) G722 SME (3) G722
Phones Phones
In deployments where calls can pass through more than one Unified CM cluster, for example SME
deployments; the inter-region Audio Codec Preference List of the intermediary Unified CM cluster can over-
ride the preferred codec selection between the calling and called device. To ensure that the endpoints’ codec
preferences are honored as calls pass through SME, enable the SIP Profile feature “Accept Audio Codec
Preferences in Received Offer” on all SIP Trunks. BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 84
SIP Trunk Features
Unified CM and CUBE – SIP Trunk Codec Preference
Region A Region C Inbound Dial-Peer Outbound Dial Peer
Region A-C Codec Voice Class Codec Voice Class Codec
Preference List Preference List Preference List
(1) G729 (1) G729 (1) G729
(2) G711 (2) G711 (2) G711
(3) G722 (3) G722 (3) G722 Phones
(1) G729
G.729 Voice Call (2) G711
Instead of using dedicated SIP Trunks to CUBE for Voice and Fax calls, a single SIP Trunk and a single inbound &
outbound Dial-Peer can be configured on CUBE for all device types. It’s recommended to use the same voice
class codec preference list for both the inbound & outbound dial-peer containing the list of codecs that you
want to negotiate with the service-provider.
The order of the codecs will be dictated, first by the order received in the inbound offer and then
by the order defined under voice class codec.
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 85
Name and Number
Presentation and Restriction
SIP Message Header Message Header Content
From: <sip:2002@10.10.199.251>;tag=1b1993ff-121d-4616-8dc5-353990242dfe-32552697
P-Asserted-Identity: <sip:2002@10.10.199.251>
Privacy: None
Remote-Party-ID: <sip:2002@10.10.199.251>;party=calling;screen=yes;privacy=off
Presentation/Restriction of Calling Line ID & Calling Name
From: “Bob Jones" <sip:2002@10.10.199.251>
or From: “Bob Jones" <sip:localhost>
or From: "Anonymous" <sip:2002@10.10.199.251>
or From: "Anonymous" <sip:localhost>
2002
Bob Jones
Applied at the Trunk Level using
P-Asserted-Identity – Privacy Header
settings
If Non-Default - Overrides
Device/Line and Trunk settings
Applied using Line ID and Name Applied at the Trunk Level using Line
Presentation settings in a Translation ID and Name Presentation settings
Pattern associated with the Calling If Non-Default - Overrides
Search Space on the Device or Line Device/Line settings © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 87
Line/Device - Presentation/Restriction of Calling Line ID and
Calling Name
From: “Bob Jones" <sip:2002@10.10.199.251>
or From: “Bob Jones" <sip:localhost>
or From: "Anonymous" <sip:2002@10.10.199.251>
or From: "Anonymous" <sip:localhost>
2002
Bob Jones
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 88
SIP Trunk - Calling Line ID and Calling Name
Presentation/Restriction – Outbound Calls
From: “Bob Jones" <sip:2002@10.10.199.251>
or From: “Bob Jones" <sip:localhost>
Trunk settings :
Default
Use calling device values
Allowed
RPID privacy value = Off
Restricted
RPID privacy value = Name/URI/Full
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
SIP Trunk - Calling Line ID and Name Presentation/Restriction –
P Asserted Identity (PAI) – SIP Privacy header value
The SIP Trunk PAI Privacy header value always overrides Device
and Trunk ID Presentation/ Restriction settings
SIP Trunk configuration :
SIP Privacy Setting
Default Privacy values taken from Trunk/ Device - Presentation/Restriction settings
None Implies “Presentation Allowed”
ID Presentation restricted for name and number – Overrides device setting
ID Critical Presentation restricted – Must be supported by network, or call fails
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
CUCM SIP Trunk Features
Outbound Calls – Overwriting the Caller DN and Name
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
From: “Cisco Systems UK”<sip:+442088241000@10.10.199.251>
P-Asserted-Identity: “Bob Jones" <sip:2002@10.10.199.251>
Remote-Party-ID: "Bob Jones“ <sip:2002@10.10.199.251>
Contact: <sip:+442088241000@10.10.199.251:5060>
2002
Bob Jones
“HOLD”
On receipt of a mid call INVITE without SDP the remote User Agent should
respond with its full codec list and a=sendrecv
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 100
CUCM SIP Trunk Call functions
Send “Send Receive” in mid call INVITE
CUCM SIP Trunk Interop Feature (1) - Hold
“Send send-receive SDP in mid-call INVITE”
SIP Trunk
“HOLD”
This feature is used to address a=inactive issues with 3rd Party systems
( Issue not widely found - typically with some Service Providers)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 102
CUCM SIP Trunk Interop Feature (2) – Resume - The issue
“Send send-receive SDP in mid-call INVITE”
SIP Trunk
“HOLD”
Call In Progress - Two Way Media
MTP
When the mid-call INVITE is sent – CUCM inserts an MTP to anchors the media to the held device and
allow the holding device to disconnect its media (and optionally insert MOH)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 104
CUCM SIP Trunk Interop Feature – The Fix (2)
“Send send-receive SDP in mid-call INVITE” Enabled
SIP Trunk
MTP
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 105
CUCM SIP Trunk
Call Features explained
CUCM SIP Trunk Features
Require SDP Inactive Exchange for Mid-Call Media Change
SIP allows media changes to be made to an existing session without breaking the media
stream e.g. codec changes, IP address, UDP port number changes
Some SIP devices are not capable of reacting to media changes without disconnecting the
established media channel first.
Unchecked by default – If checked, CUCM Trunk sends a=inactive in the SDP body of mid-
call INVITES to break the media channel, before making media changes.
Note - For Early Offer enabled SIP trunks, this parameter will be overridden by the “Send
send-receive SDP in mid-call INVITE” parameter
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 112
CUCM SIP Trunk Signaling and Operation
The Offer/Answer model - Ringback
INVITE INVITE
100 Trying 100 Trying
180 Ringing 180 Ringing
Caller hears
locally 200 OK with SDP (Offer) 200 OK with SDP (Offer)
generated ACK with SDP (Answer) ACK with SDP (Answer)
ringback tone
Two Way Media
If SDP is sent in a 18X message – CUCM cuts through early media from far end for ringback
INVITE Supported:100rel INVITE Supported:100rel
100 Trying 100 Trying
183 Progress w/ SDP Require:100rel 183 Progress w/ SDP Require:100rel
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 113
CUCM SIP Trunk Features
SIP Profile settings - Disable Early Media on 180
By default, Cisco Unified Communications Manager signals the calling phone to play local
ringback if SDP is not received in the 180 or 183 response.
If SDP is included in the 180 or 183 response, instead of playing ringback locally, Cisco
Unified Communications Manager connects media, and the calling device plays whatever
the called device is sending in the returned media stream (such as ringback or busy signal).
If ringback is not received, the device to which you are connecting may be including SDP in
the 180 response, but it is not sending any media before the 200 OK response. In this case,
check this check box to play local ringback on the calling phone and connect the media
upon receipt of the 200 OK response
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 114
CUCM SIP Trunk Features
SIP Profile settings - Redirect by Application
When checked allows CUCM to apply digit analysis to the redirected contact number to :
a) Make sure that the call gets routed correctly
b) Apply a specific Calling Search Space for Calls of Service/ Call Restriction
c) Prevent DOS attack by limiting the number of redirections
d) Allow other features to be invoked while the redirection is taking place
When unchecked (default) the redirection gets handled at the SIP stack level and the above
features cannot be invoked
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 115
CUCM SIP Trunk Features
Redirect by Application – Disabled (Default setting)
RTP
BRKUCC-2006
+15551230000
116
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
CUCM SIP Trunk Features
Redirect by Application – Enabled – Call Allowed
RTP
2000
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
CUCM SIP Trunk Features
Redirect by Application – Enabled – Call Blocked
+15551230000
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Agenda
So far… we have looked at SIP Trunk features and functions based on a single SIP Trunk
interconnecting two CUCM Clusters
Large scale designs can comprise of multiple call controls from multiple vendors, various UC
applications (Voicemail, Conferencing etc) , Session Border Controllers and Gateways for PSTN
connectivity. Ideally they will all be using SIP Trunks – as this will greatly simplify the UC design and
improve interoperability.
Large scale designs need to be considered holistically, particularly when it comes to Trunk
Aggregation, DO/EO usage, Codecs, DTMF, Dial Plan and Call Admission Control………
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 122
Large Scale UC Designs
Trunk Aggregation using Session Management Edition (SME)
PSTN
CUBE
SBCs SIP
Voicemail Conferencing
System System
Leaf Systems
SME can interconnect 1000’s of UC systems using SIP Trunks and reduces the number of Trunks
needed by using a hub and spoke topology rather than full mesh. SME allows you to centralize
your dial plan and call routing rules on the SME cluster, which helps to simplify the dial plan and
management of the leaf UC systems © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 123
Signaling Delay In Global UC networks
UC 9.1+
SME CoW up SME < 500 mS
to 500mS CoW+
RTT
< 500 mS
Leaf Cluster
New York
Media Resources
SME
Cluster
Media Resources
Leaf Cluster
Leaf Cluster Europe
Los Angeles
Ideally, Media Resources such as MTPs, Transcoders, Music on Hold, Conferencing Resources should
never be utilized in the SME cluster – as this entails hair-pinning media via the media resource
associated with the SME cluster
This design possible if the SME cluster uses of SIP Trunks only and Best Effort Early Offer Trunk
configuration (or for pre UC 10.5 clusters “MTP-less Early Offer” see Appendix for details)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 127
Media Transparent SME clusters
SME SIP Trunks – Best Effort Early Offer/ MTP-less Early Offer
Delayed Offer Delayed Offer
Media Resources Media Resources
SME
Cluster
SME Trunks use Best Effort Early Offer (or (pre UC10.5) MTP-less Early Offer)
If a Transcoder is required – Inserted by Leaf cluster
If Conferencing resources are required – Inserted by Leaf cluster
If MTPs for DTMF mismatch are required – Inserted by Leaf cluster
With no media resources associated with the SME SIP Trunks, IPVMS can be disabled in the SME Cluster
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
One Global SME cluster – Clustered Over the WAN
Call Routing – Route Local for SME
DC1 SME Nodes
North America
Leaf Clusters
Multiple SIP Trunks in Route Groups provide ordered selection of SME nodes.
Route List Call Distribution – priority order – nearest data centre 1st, second nearest data centre 2nd etc
SME CoW cluster
Single SIP Trunk with “Run on all Nodes” enabled pointing to all nodes in each leaf cluster
Route local operates in the SME cluster – No inter node – intra cluster call routing
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 129
Summary SIP Trunk configuration
recommendations for Multi-Cluster
designs
Large Scale SIP Trunk Design Recommendations – UC versions <10.5
SIP MTP-less Early Offer CUBE
IP
SIP Trunk
SIP Delayed Offer PSTN SIP DO to EO
SIP Early Offer
CUCM 8.5+
Mostly Older
Phones (7940/60s)
CUCM 8.5+
Mostly Newer CUCM 8.5+ SME
Phones
Leaf Cluster SIP ICT Trunks - Voice, Video and Encryption supported
SIP Delayed Offer/Early Offer Mandatory (insert MTP if Needed), Run on All Nodes, Multiple Destination
Addresses, OPTIONS Ping, PRACK
SME Cluster SIP ICT Trunks - Voice, Video and Encryption supported
SIP MTP-less Early Offer, Run on All Nodes, Multiple Destination Addresses, OPTIONS Ping, PRACK, No
Media resources can be assigned to Trunks
CUBE/IOS Gateway/ IP PBX SIP Trunks – Typically Voice only, Video and Encryption possible
SIP Delayed Offer/Early Offer (EO commonly used), (EO by sent by the CUBE/ IOS Gateways) OPTIONS
Ping, PRACK, Early Offer usually required by Service Providers (Use CUBE SIP DO to EO)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 131
Large Scale SIP Trunk Design Recommendations – UC versions 10.5+
SIP Best Effort Early Offer CUBE SIP Trunk
IP
SIP Delayed Offer PSTN SIP DO to EO
SIP Early Offer
CUCM 10.5+
Leaf Cluster SIP ICT Trunks - Voice, Video and Encryption supported
SIP Best Effort Early Offer, Run on All Nodes, Multiple Destination Addresses, OPTIONS Ping, PRACK
SME Cluster SIP ICT Trunks - Voice, Video and Encryption supported
SIP Best Effort Early Offer, Run on All Nodes, Multiple Destination Addresses, OPTIONS Ping, PRACK,
Media resources not required
CUBE/IOS Gateway/ IP PBX SIP Trunks – Typically Voice only, Video and Encryption possible
SIP Delayed Offer/Early Offer (EO commonly used), (EO by sent by the CUBE/ IOS Gateways) OPTIONS
Ping, PRACK, Early Offer usually required by Service Providers (Use CUBE SIP DO to EO)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 132
Large Scale UC Designs
Inter Cluster look Up Service (ILS) - URI dialing
Global Dial Plan Replication (GDPR) - Numeric dialing
URI Dialing
Inter-cluster Lookup Service (ILS) – UC 9.0+
• ILS runs as a CUCM service and distributes locally registered URIs to other clusters
• Cluster to cluster ILS connections can be hub and spoke or full mesh
• URIs are associated with a cluster route-string (label) e.g. sanjose-ca.us or london.uk.eu
• URIs and their route string are stored locally, partial ILS file updates are supported
• URIs from 3rd Party systems can be imported into ILS and distributed
SME Flat File
MSFT Lync 1 San Jose London MSFT Lync 1
Rowan@cisco.com Diane@cisco.com Helen@cisco.com Rowan@cisco.com
Jane@cisco.com Chris@cisco.com Greg@cisco.com Jane@cisco.com
Diane@cisco.com Bryan@cisco.com Bob@cisco.com Fran@cisco.com Bryan@cisco.com Helen@cisco.com
Alicia@cisco.com Anne@cisco.com Eric@cisco.com Alicia@cisco.com
Bob@cisco.com Fran@cisco.com
London Avaya FR Avaya FR San Jose
Helen@cisco.com +33666035542 Diane@cisco.com
+33666035542 +14089024567
+442088244567 +33467678921 +33467678921
Fran@cisco.com +33453567619 +33453567619 Bob@cisco.com
+442088241234 +33677687297 +33677687297 +14089021234
affiliates. All rights reserved. +442088241234
+14089021234 +442088241XXX
© 2018 Cisco and/or its+1408902XXXX Cisco Public
Global Dial Plan Replication – Number and URI Configuration
• Number Mask – masks Line DN
• Alternate Number – product of Line
DN and Number Mask
1XXXXX
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Global Dial Plan Replication – Number Pattern Configuration
• Pattern Type :
• Enterprise Alternate Number (these
patterns can also be an internal 164
number pattern) or
• E.164 Number Pattern (e.g. PSTN
number ranges)
• PSTN failover :
• Use pattern as is, or
• Strip digits and/or Prepend digits
3
3
• Note Numbers, URIs and Patterns for
3rd Party systems can be imported
into ILS GDPR
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 148
Global Dial Plan Replication
Partitions for Learned Numbers and Patterns
Four default
partitions are
created to store :
Enterprise
Alternate Numbers
E.164 Alternate
Numbers
Enterprise Patterns
E.164 Patterns
Partitions can be
used to provide
Classes of Service
for Learned
numbers
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 149
ILS – Hierarchical Routing & Route String Summarization
• Each cluster does an ILS look up and makes a local routing decision to its next hop based on the returned
ILS route string e.g. Helen@cisco.com london.uk.eu ---> SIP Trunk A
• Route string summarization allowed e.g. Singapore.Asia.APAC SIP Trunk A
or *.*.APAC SIP Trunk A reducing dial plan size
Routes to :
*.*.EU
*.*.APAC Global Backbone
San Jose.CA.US
New York.NY.US
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
GDPR vs SME
or
GDPR and SME
Large Scale UC design - GDPR vs SME
• GDPR Only
• GDPR uses ILS to advertise a cluster’s URIs and numbers to every other cluster
• One SIP Route pattern is required per remote cluster
• Each cluster must create and manage a SIP Trunk to every other cluster
ILS Toronto
SIP
7 clusters using GDPR : Boston
San Jose
6 SIP Trunks per cluster
6+ SIP Route patterns per
cluster
SIP
7 CUCM clusters
+ 1 SME cluster : San Jose Boston
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 153
Seattle Chicago
Large Scale UC design - GDPR and SME
• Use GDPR and ILS to advertise URIs & numbers to every CUCM cluster and the SME cluster
• Greatly simplified dial plan on the SME cluster - One Route Pattern for each remote CUCM
cluster – rather than per number range
• A single SIP Trunk between each CUCM cluster and the SME cluster
SIP
7 CUCM clusters
+ 1 SME cluster San Jose Boston
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 154
Seattle Chicago
Deploying Applications in
Large Scale UC networks
Large Scale SIP Trunk Design Recommendations – Applications
Unity Cisco
Connection Meetings
Voicemail Server
System (CMS)
Expressway E & C
Session
Management
Edition Cluster
Jabber MRA Client
Cisco
Cisco Unified Emergency Cisco Operator
Contact Center CER Responder IM &P Console
SIP Line
General Guidance
Applications that track user state must be connected to the leaf CUCM cluster
Other applications such as voicemail and conferencing can be centralized © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 156
Centralized Applications - Conferencing
Cisco Meetings Server
SIP Trunk (CMS)
HTTPS
Session
Management
HTTPS connection Edition HTTPS connection
for Ad Hoc Cluster for Ad Hoc
Conferences Conferences
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Q&A
Thank you
Appendix
Lots of detailed information
Deep down into SIP
INVITE
100 Trying
180 Ringing
200 OK
ACK
10.10.199.251 10.10.199.250
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 167
SIP Messages – INVITE Request with SIP Headers
INVITE sip:1001@10.10.199.250:5060 SIP/2.0 ---------------------------- Request INVITE to 1001
Via: SIP/2.0/TCP 10.10.199.251:5060;branch=z9hG4bK3395a5cdb
From: <sip:2002@10.10.199.251>;tag=1b1993ff-121d-4616-8dc5-353990242dfe-32552697
To: <sip:1001@10.10.199.250>
Date: Wed, 18 Feb 2015 18:37:57 GMT
Call-ID: 8fe4f600-b7c13785-3-fbc712ac@10.10.199.251
Supported: timer,resource-priority,replaces
Min-SE: 1800
User-Agent: Cisco-CUCM8.0
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER….. SIP Message
CSeq: 101 INVITE
Contact: <sip:2002@10.10.199.251:5060;transport=tcp> Headers
Expires: 180 Some Mandatory
Allow-Events: presence, kpml
Supported: X-cisco-srtp-fallback Some Optional
Supported: Geolocation
Call-Info: <sip:10.10.199.251:5060>;method="NOTIFY;Event=telephone-event;Duration=500"
Cisco-Guid: 2414147072-3082893189-0000000002-4224127660
Session-Expires: 1800
P-Asserted-Identity: <sip:2002@10.10.199.251>
Remote-Party-ID: <sip:2002@10.10.199.251>;party=calling;screen=yes;privacy=off
Max-Forwards: 70
Content-Length: 0
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 168
SIP Headers Categorized :
Identity, Timers, Supported Methods and
Events, Cisco related and other headers
SIP Messages – INVITE with Headers re-grouped (1 of 3)
Request /Header Request Header Content Category
INVITE sip:1001@10.10.199.250:5060 SIP/2.0 Route and
Via: SIP/2.0/TCP 10.10.199.251:5060;branch=z9hG4bK3395a5cdb Transaction
CSeq: 101 INVITE related
headers
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 170
SIP Messages – INVITE with Headers re-grouped (2 of 3)
Request Header Request Header Content Category
Supported: timer,resource-priority,replaces Timer related
Session-Expires: 1800 headers
Min-SE: 1800
Expires: 180
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, Methods and
SUBSCRIBE, NOTIFY Events
Allow-Events: presence, kpml
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 172
SIP Request Line :
INVITE
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
SIP INVITE – Request Line
Request Request Header Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
SIP URI content sip:user@host:port-number Comments
User 1001 Number /Name
The Called User
Host 10.10.199.250 IP Address/ Hostname/ Domain Name
Configured SIP Trunk Destination
Port 5060 TCP/UDP Port Number
SIP Protocol Version 2.0 Incoming and Outgoing Transport Type
Configurable via SIP Trunk Security Profile
How CUCM configuration affects the contents of the INVITE Request :
CUCM SIP Trunk Request Line/ SIP URI/ SIP Message Header content
Destination SIP Message Header
IP Address Used INVITE Request Line sip:1001@10.10.199.250:5060 SIP/2.0
IP Address Used To : Header <sip:1001@10.10.199.250>
FQDN/DNS SRV Used INVITE Request Line sip:1001@cisco.com:5060 SIP/2.0
FQDN/DNS SRV Used To : Header <sip:1001@cisco.com>
FQDN /DNS SRV resolved to an IP address which is used at the IP Layer
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 175
SIP Header Categories :
Route and Transaction related headers
A Dialog :
A series of one, or more transactions that take place between two User Agents
RTP Media
Response – 200 OK
Transaction 102 BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 177
SIP INVITE - Route and Transaction related Headers :
Via Header
A Mandatory Header in Requests and Responses
The Via header is used to record the SIP route taken by a Request and to route a Response back to the
originator. A User Agent generating a Request records its own address in a Via header field. Multiple
Via Headers can be used to record the route of a Request through several SIP switches
Exactly the same header is used by both client and server User Agents for this transaction
VIA Header content SIP/2.0/TCP 10.10.199.251:5060;branch=z9hG4bK3395a5cdb
SIP Protocol Version 2.0
Transport Protocol TCP Configurable :TCP/UDP/TLS
Incoming and Outgoing Transport Type
Configurable via SIP Trunk Security Profile
User Agent 10.10.199.251 Address of CUCM generating the SIP Request
(As a B2BUA, CUCM is the UA in this transaction)
Incoming Port Number 5060 Incoming TCP/UDP /TLS Port Number
Configurable via SIP Trunk Security Profile
Branch z9hG4bK3395a5cdb Unique Identifier for this transaction
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 178
SIP INVITE – Command Sequence Header
Request /Header Request Header Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Via: SIP/2.0/TCP 10.10.199.251:5060;branch=z9hG4bK3395a5cdb
CSeq: 101 INVITE
The sequence number and method remain the same for each transaction in a dialog
The method matches the Request for the transaction
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 179
SIP Header Categories :
Identity and Dialog related headers
The same Call-ID is used in all SIP messages (Requests and Responses) for all transactions within this
dialog
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 182
P-Asserted-ID and Remote-Party-ID Headers
SIP Message Header Message Header Content
From: <sip:2002@10.10.199.251>;tag=1b1993ff-121d-4616-8dc5-353990242dfe-32552697
P-Asserted-Identity: <sip:2002@10.10.199.251>
Remote-Party-ID: <sip:2002@10.10.199.251>;party=calling;screen=yes;privacy=off
P-Asserted Identity which additionally supports Authentication, supersedes Remote Party ID.
P-Asserted Identity Privacy Header values can also override Device and Trunk settings for Name and/or
Number presentation and restriction
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 183
SIP INVITE : P-Asserted-Identity - Related Headers
SIP Message Header Message Header Content /values
From: “Bob Jones” <sip:2002@10.10.199.251>
P-Asserted-Identity: “Bob Jones” <sip:2002@10.10.199.251>
P-Preferred-Identity: “Bob Jones” <sip:2002@10.10.199.251>
Privacy: None/ ID/ ID Critical
The CUCM SIP Trunk can be configured to send User Identity in either the :
The Privacy header can be configured to indicate whether or not privacy (Identity delivery/ Identity
blocking in the From header) is invoked for this call.
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 184
CUCM Config : P-Asserted-Identity – Asserted Type
2002
Bob Jones Default = P-Asserted-Identity: “Bob Jones” <sip:2002@10.10.199.251>
P-Preferred Identity
P-Asserted Identity
Digest Auth Challenge from SIP Realm B
Digest Authentication Response
Remote-Party-ID: <sip:2002@10.10.199.251>;party=calling;screen=yes;privacy=off
If this box is checked, CUCM will relay an alphanumeric hostname of a caller to the called endpoint in
SIP Identity header information.
If the call is originating from a line device on the CUCM cluster, and is being routed over a SIP trunk
then the configured value for the Enterprise Parameter “Organization Top-Level Domain” will be used
in the Identity headers. e.g. “cisco.com”
SIP Message Header Message Header Content Content with “Use FQDN in SIP Requests”
From: <sip:2002@10.10.199.251> <sip:2002@cisco.com>
P-Asserted-Identity: <sip:2002@10.10.199.251> <sip:2002@cisco.com>
Remote-Party-ID: <sip:2002@10.10.199.251> <sip:2002@cisco.com>
Contact: <sip:2002@10.10.199.251:5060> <sip:2002@cisco.com>
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 189
Number and Name Presentation information
Header Priority : From/ RPID/ PAI
2002
Bob Jones From: “Jim Smith” <sip:1001@10.10.199.251>
Displayed
P-Asserted-Identity: “Bob Jones” <sip:2002@10.10.199.251> Caller
Identity
Remote-Party-ID: “May Brown” <sip:3003@10.10.199.251> ?
For Calling User Identity and Connected User Identity Presentation. The presented
User Identity is taken from Identity Headers in the following priority order :
1) PAI header
2) RPID header
3) From header
UC 10.0 allows this order to be changed…… BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 190
CUCM SIP Trunk Features
SIP Profile settings – CLID Presentation
“Strict From URI presentation” : Process Identity using the From header only
“Strict Identity Headers” : Process Identity using the PAI and RPID Identity headers
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 191
Name and Number
Presentation and Restriction
SIP Message Header Message Header Content
From: <sip:2002@10.10.199.251>;tag=1b1993ff-121d-4616-8dc5-353990242dfe-32552697
P-Asserted-Identity: <sip:2002@10.10.199.251>
Privacy: None
Remote-Party-ID: <sip:2002@10.10.199.251>;party=calling;screen=yes;privacy=off
Presentation/Restriction of Calling Line ID & Calling Name
From: “Bob Jones" <sip:2002@10.10.199.251>
or From: “Bob Jones" <sip:localhost>
or From: "Anonymous" <sip:2002@10.10.199.251>
or From: "Anonymous" <sip:localhost>
2002
Bob Jones
Applied at the Trunk Level using
P-Asserted-Identity – Privacy Header
settings
If Non-Default - Overrides
Device/Line and Trunk settings
Applied using Line ID and Name Applied at the Trunk Level using Line
Presentation settings in a Translation ID and Name Presentation settings
Pattern associated with the Calling If Non-Default - Overrides
Search Space on the Device or Line Device/Line settings
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 193
Line/Device - Presentation/Restriction of Calling Line ID and
Calling Name
From: “Bob Jones" <sip:2002@10.10.199.251>
or From: “Bob Jones" <sip:localhost>
or From: "Anonymous" <sip:2002@10.10.199.251>
or From: "Anonymous" <sip:localhost>
2002
Bob Jones
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 194
SIP Trunk - Calling Line ID and Calling Name
Presentation/Restriction – Outbound Calls
From: “Bob Jones" <sip:2002@10.10.199.251>
or From: “Bob Jones" <sip:localhost>
Trunk settings :
Default
Use calling device values
Allowed
RPID privacy value = Off
Restricted
RPID privacy value = Name/URI/Full
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 195
SIP Trunk - Connected Line ID and Connected Name
Presentation/Restriction – Inbound Calls
Remote-Party-ID: “Jim Brown"sip:1001@10.10.199.250; privacy=Off
or Remote-Party-ID: “Jim Brown"sip:1001@10.10.199.250; privacy=Name
This feature is based on Identity Header Privacy settings, not the values in the From Header
i.e. If the User’s identity is anonymized in the From header and PAI Privacy = None, or RPID Privacy = Off
The Call is not Rejected – The Call Proceeds
x
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 197
CUCM SIP Trunk Features
Outbound Calls – Overwriting the Caller DN and Name
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
From: “Cisco Systems UK”<sip:+442088241000@10.10.199.251>
P-Asserted-Identity: “Bob Jones" <sip:2002@10.10.199.251>
Remote-Party-ID: "Bob Jones“ <sip:2002@10.10.199.251>
Contact: <sip:+442088241000@10.10.199.251:5060>
2002 2002
Bob Jones Bob Jones
London Office
Directory Number = 2002
Name = Bob Jones
For Phones in Edinburgh
Contact: sip:2002@10.10.199.251:5060;transport=tcp
In a Request - The contact field contains the address at which the Calling UA can be reached
In a Response - The contact field contains the address at which the Called UA can be reached
With CUCM – a B2BUA – The address in the contact header field is the address of the CUCM server, not
the phone
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 201
SIP Header Categories :
Timer related headers
Request Header Request Header Content
Supported: timer,resource-priority,replaces
Session-Expires: 1800
Min-SE: 1800
Expires: 180
SIP INVITE – Supported Header
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Supported: timer,resource-priority,replaces
This header indicates support only. i.e. The Trunk will not accept the “replaces” and
“resource-priority” options if the corresponding Trunk settings have not been
configured/ enabled
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 204
SIP INVITE – Session Expires and Min-SE Headers
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Session-Expires 1800
Min-SE 1800
Optional Headers - Support indicated via the Supported: “timer” header option
Session-Expires header used with the “Minimum-Session-Expires (Min-SE)” header as a session keep-
alive mechanism
Called UA responds with a Session-Expires header in a 2XX message and refresher parameter to
indicate who (UAS or UAC) is doing the refreshing. BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 205
Related CUCM configuration
Min-SE Header, Session Expires Header
SIP Profile :
Configurable Session Refresh method - Invite/Update (Update Preferred)
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 206
SIP Session Expires and Min-SE Headers - Operation
During call set up - Session timers and Session Refresh methods are negotiated and
agreed on each SIP Trunk. Once the call is established – the session on each Trunk
periodically refreshed. If no session refresh request or response is received the UA
sends a BYE to terminate the session
SME Node
crash
SME
Cluster
Media
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 207
SIP INVITE – Expires Header
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Expires: 180
Optional Header in INVITE Requests
The Expires header field gives the relative time that the message (INVITE in this case) remains valid in
seconds. Used as the primary “no response timeout” timer for SIP INVITE messages
If CUCM has not received a final response for the INVITE before this timer expires, CUCM will retry
the SIP INVITE up to the configured retry count (6) and if no response cancel the call.
Optional Header - Lists the set of methods supported by the UA sending the message
Note – Although supported – To be used, some methods also need to be enabled on the SIP Trunk e.g.
PRACK, Accept Presence Subscription, Accept Unsolicited NOTIFY etc
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 210
SIP INVITE - Allow-Events Header
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Allow-Events presence, kpml
Optional Header
A UA sending an "Allow-Events" header is advertising that it can process SUBSCRIBE requests and
generate NOTIFY requests for all of the event packages listed in that header.
In the above case : Presence and KPML (Out of Band DTMF)
Default = No Preference – Trunk supports either RFC 2833 or OOB DTMF – UA capabilities sent
RFC 2833 – Will override Allow-Events values from UA
OOB and RFC 2833 - Will override Allow-Events values from UA
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 211
SIP Header Categories :
Cisco and other headers
Request Header Request Header Content
Supported: X-cisco-srtp-fallback
Supported: Geolocation
Call-Info: <sip:10.10.199.251:5060>;method="NOTIFY;Event=telephone-
event;Duration=500"
User-Agent: Cisco-CUCM8.0
Cisco-Guid: 2414147072-3082893189-0000000002-4224127660
Date: Wed, 18 Feb 2015 18:37:57 GMT
Max-Forwards: 70
Content-Length: 0
SIP INVITE – Supported Header
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Supported: X-cisco-srtp-fallback
Optional Header
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 213
SIP INVITE – Supported Header
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Supported: Geolocation
Optional Header
Geolocation – A standardized method to convey geographical location information from one SIP entity to
another SIP entity. Configurable on CUCM SIP Trunks – Used for Logical Partitioning
Supported but needs to be configured on the SIP Trunk to be used
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 214
SIP INVITE – Call-Info Header
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Call-Info: <sip:10.10.199.251:5060>;method="NOTIFY;Event=telephone-
event;Duration=500"
The Call-Info header field provides additional information about the caller or callee, depending on whether
it is found in a request or response. (In the above example - The Calling UA)
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 215
SIP INVITE – User Agent Header
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
User-Agent: Cisco-CUCM8.0
Optional Header - Contains information about the client User Agent originating the request
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 216
SIP INVITE
Cisco GUID Header – Globally Unique Identifier
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Cisco-Guid: 2414147072-3082893189-0000000002-4224127660
Proprietary Header
Uniquely identifies the call on this Trunk
Typically used in INVITE messages
Maps to the Incoming/ Outgoing “ProtocolCallRef” in CUCM Call Detail Records
Note : Trunk to Trunk calls on SME have different GUIDs for inbound and outbound calls
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 217
SIP INVITE – Date Header
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Date: Wed, 18 Feb 2015 18:37:57 GMT
An Optional Header
Date and time the Request or Response sent
Greenwich Mean Time (GMT) only
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 218
SIP INVITE : Max-Forwards Header
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Max-Forwards: 70
Max-Forwards serves to limit the number of hops a request can make on the way to its destination. It
consists of an integer that is decremented by one at each hop. If the Max-Forwards value reaches 0
before the request reaches its destination, it will be rejected with a 483(Too Many Hops) error response.
Can be used for loop detection
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 219
SIP INVITE : Content-Length Header
Request Request URI Content
INVITE sip:1001@10.10.199.250:5060 SIP/2.0
Request Header Request Header Content
Content-Length: 0
The Content-Length header indicates the size of the message-body sent to the recipient in decimal
number of bytes.
Message-Body – For example, the Session Description Protocol (SDP) message body, which if present
would describe the media characteristics supported by the sender. The message body is appended after
the Content-Length header.
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 220
Deep down into SIP
SIP Trunk
INVITE
100 Trying
180 Ringing
200 OK
ACK
10.10.199.251 10.10.199.250
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 222
CUCM SIP Trunk Signaling
180 Ringing Response - Ringback
INVITE INVITE
100 Trying 100 Trying
180 Ringing 180 Ringing
Caller hears
locally 200 OK with SDP (Offer) 200 OK with SDP (Offer)
generated ACK with SDP (Answer) ACK with SDP (Answer)
ringback tone
Two Way Media
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 223
SIP Responses – 180 Ringing
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.10.199.251:5060;branch=z9hG4bK3395a5cdb
From: <sip:2002@10.10.199.251>;tag=1b1993ff-121d-4616-8dc5-353990242dfe-32552697
To: <sip:1001@10.10.199.250>;tag=abee6e2b-75b0-4537-80f3-7a3a37d0fa55-32557664
Date: Wed, 18 Feb 2015 18:37:57 GMT
Call-ID: 8fe4f600-b7c13785-3-fbc712ac@10.10.199.251
CSeq: 101 INVITE
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY
Allow-Events: presence
Contact: <sip:1001@10.10.199.250:5060;transport=tcp>
Call-Info: <sip:10.10.199.250:5060>;method="NOTIFY;Event=telephone-event;Duration=500"
Supported: X-cisco-srtp-fallback
Supported: Geolocation
P-Asserted-Identity: <sip:1001@10.10.199.250>
Remote-Party-ID: <sip:1001@10.10.199.250>;party=called;screen=yes;privacy=off
Content-Length: 0
Note - This Via Header is exactly the same as that sent in the INVITE and remains the same for all
messages in this transaction
The Via header is used to record the SIP route taken by a Request and to route a Response back to
the originator. A UA generating a Request records its own address in a Via header field. Multiple Via
Headers can be used to record the route through several SIP switches
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 226
SIP 180 Ringing Response –
Command Sequence Header
Response /Header Response Header Content
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.10.199.251:5060;branch=z9hG4bK3395a5cdb
CSeq: 101 INVITE
The sequence number and method remain the same for each transaction in a dialog
The method matches the Request for the transaction
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 227
SIP 180 Ringing Response
Identity and Dialog related headers
The From and To tags are used with the Call ID to uniquely identify a dialog between two UAs
Note : The To and From header fields are not reversed in the Response message as one might expect
them to be. This is because the To and From header fields in SIP are defined to indicate the direction of
the request, not the direction of the message
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 229
SIP 180 Ringing Response: Call-ID Header
The same Call-ID is used in all messages (Requests and Responses) for all transactions within this dialog
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 230
SIP 180 Ringing Response: Identity Headers
Response /Header Response Header Content
SIP/2.0 180 Ringing
P-Asserted-Identity: <sip:1001@10.10.199.250>
Remote-Party-ID: <sip:1001@10.10.199.250>;party=calling;screen=yes;privacy=off
A Contact header field value can contain a display name, a URI with URI parameters, and header
parameters
In a Request – The contact field contains the address at which the calling UA can be reached
In a Response - The contact field contains the address at which the called UA can be reached
With CUCM – a B2BUA – The address in the contact header field is the address of the CUCM server, not
the phone
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 232
SIP 180 Ringing Response
Methods and Events supported
Request Header Request Header Content
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY
Allow-Events: presence
SIP 180 Ringing Response: Allow Header
Response/Header Response Header Content
SIP/2.0 180 Ringing
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY
Optional Header
Lists the set of methods supported by the UA sending the message
Note – Although supported – To be used, some methods also need to be enabled on the SIP Trunk
e.g. PRACK, Accept Presence Subscription, Accept Unsolicited NOTIFY etc
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 234
SIP 180 Ringing Response: Allow-Events Header
Response/Header Response Header Content
SIP/2.0 180 Ringing
Allow-Events: presence
Optional Header
A UA sending an "Allow-Events" header is advertising that it can process SUBSCRIBE requests and
generate NOTIFY requests for all of the event packages listed in the header.
In this Response : Presence
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 235
SIP 180 Ringing Response
Cisco and other headers
Optional Headers :
X-Cisco-srtp fallback – proprietary header (can be ignored by other vendors)
Allows an offered SRTP session to fall back to RTP if not supported by both UAs
Geolocation – standardized method to convey geographical location information from one SIP entity to
another SIP entity. Configurable on CUCM SIP Trunks
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 237
SIP 180 Ringing Response: Call-Info Header
Response/Header Response Header Content
SIP/2.0 180 Ringing
Call-Info: <sip:10.10.199.251:5060>;method="NOTIFY;Event=telephone-event;Duration=500"
The Call-Info header field provides additional information about the caller or callee, depending on
whether it is found in a request or response. (In the above example - The Called UA)
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 238
SIP 180 Ringing Response: Date Header
Response/Header Response Header Content
SIP/2.0 180 Ringing
Date: Wed, 18 Feb 2015 18:37:57 GMT
An Optional Header
Date and time the Request or Response sent
Greenwich Mean Time (GMT) only
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 239
SIP 180 Ringing Response: Content Header
Response/Header Response Header Content
SIP/2.0 180 Ringing
Content-Length: 0
The Content-Length header indicates the size of the message-body sent to the recipient in decimal
number of bytes.
Message-Body – For example, the Session Description Protocol (SDP) message body.
The message body is appended after the Content-Length header.
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 240
Deep down into SDP
v=0
o=CiscoSystemsCCM-SIP 2000 1 IN IP4 10.10.199.250
s=SIP Call SDP Message Body
c=IN IP4 10.10.199.130
Describes the media characteristics of the
t=0 0 endpoint offering the SDP
m=audio 16444 RTP/AVP 0 8 18 101
a=rtpmap:0 PCMU/8000
a=ptime:20 Includes :
a=rtpmap:8 PCMA/8000 Endpoint IP address
a=ptime:20 Codecs supported
a=rtpmap:18 G729/8000
a=ptime:20 UDP Port number for RTP
a=sendrecv In Band DTMF support details
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
Some SDP lines are REQUIRED some are OPTIONAL, but all MUST appear in exactly
BRKUCC-2006 theand/or
© 2018 Cisco order described
its affiliates. All rights reserved. in RFC
Cisco Public 4566
242
Media negotiation for Voice calls
The SDP Offer - SDP Session Attributes
Attribute Description Attribute Content Required/Optional
v= Version 0 Required
o= Origin CiscoSystemsCCM-SIP 2000 1 IN IP4 Required
10.10.199.250 10.10.199.250 = CUCM IP Address
s= Session Name SIP Call Required
c= Connection Data IN IP4 10.10.199.130 Optional
10.10.199.130 = Phone’s IP Address
t= Timing 00 Required
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 243
Media negotiation for Voice calls – The SDP Offer
SDP Media Attributes – Voice Codecs Offered
Attribute Description Attribute Content Comments
c= Connection Data IN IP4 10.10.199.130 Phone’s IP Address
m= Media Descriptions audio 16444 RTP/AVP 0 8 18 101 See description below
a= Attribute rtpmap:0 PCMU/8000 G.711 u-law codec
a= Attribute ptime:20 RTP packet sampling time (mS)
a= Attribute rtpmap:8 PCMA/8000 G.711 a-law codec
a= Attribute ptime:20 RTP packet sampling time (mS)
a= Attribute rtpmap:18 G729/8000 G.729 codec
a= Attribute ptime:20 RTP packet sampling time (mS)
m= Media Descriptions = <Media> <Port> <Protocol> <Format> ...Audio 16444 RTP/AVP 0 8 18 101
The Codecs (formats) in the Offer must be listed in preference order. The recipient of the Offer
should use the codec with the highest preference that is acceptable to it in its Answer
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 245
Media negotiation for Voice calls – The SDP Offer
SDP Media Attributes - Audio Direction and DTMF
Attribute Description Attribute Content Comments
m= Media Descriptions audio 16444 RTP/AVP 0 8 18 101 101 = DTMF RTP Payload Type number
a= Attribute sendrecv Describes Audio Direction (see below)
a= Attribute rtpmap:101 telephone-event/8000 In Band DTMF transport (RFC 2833)
a= Attribute fmtp:101 0-15 DTMF tones
(Events 0 through 15
= 0,1,2,3,4,5,6,7,8 ,9,*,#,A ,B,C,D)
Audio Direction
a=sendrecv Media can be sent by this endpoint, media can be received on this endpoint
a=recvonly Media can only be received on this endpoint, it will not send media
a=sendonly Media can only be sent by this endpoint, it will not receive media
a=inactive Media can not be sent to or received from this device (used for “Hold”)
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 246
SIP Trunk Signaling - Media negotiation Voice calls : The SDP
Answer
Attribute Description Attribute Content Comments
v= Version 0 Phone’s IP Address
o= Origin CiscoSystemsCCM-SIP 2000 1 10.10.199.251 = CUCM IP Address
IN IP4 10.10.199.251
s= Session Name SIP Call
c= Connection Data IN IP4 10.10.199.179 Phone’s IP Address
t= Timing 00 Permanent Session
m= Media Descriptions audio 28668 RTP/AVP 18 101 Audio, UDP Port 28668, RTP – G729, DTMF
a= Attribute rtpmap:18 G729/8000 G.729 codec selected for this call
a= Attribute ptime:20 RTP packet sampling time (mS)
a= Attribute sendrecv Two way Audio
a= Attribute rtpmap:101 telephone- 101 – DTMF RTP Payload Type number
event/8000
a= Attribute a=fmtp:101 0-15 DTMF tones (Events 0 through 15 )
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 247
SIP Trunk Signaling
Media negotiation Voice calls – The Negotiated Session
10.10.199.250 10.10.199.251
10.10.199.130 10.10.199.179
RTP UDP Port 16444 RTP UDP Port 28668
G.729 codec G.729 codec
Two way Audio Two way Audio
RFC 2833 DTMF RFC 2833 DTMF
o=CiscoSystemsCCM-SIP 2000 1 IN IP4 10.10.199.250 o=CiscoSystemsCCM-SIP 2000 1 IN IP4 10.10.199.251
c=IN IP4 10.10.199.130 c=IN IP4 10.10.199.179
m=audio 16444 RTP/AVP 18 101 m=audio 28668 RTP/AVP 18 101
a=rtpmap:18 G729/8000 a=rtpmap:18 G729/8000
a=ptime:20 a=ptime:20
a=sendrecv a=sendrecv
a=rtpmap:101 telephone-event/8000 a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15 a=fmtp:101
BRKUCC-2006 0-15
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 248
Deep down into SDP
For example, broadband services where the upload and download speeds are different –
often by an order of magnitude.
Also because encoding video is more CPU intensive than decoding video - Video endpoints
can typically decode at a higher resolution than they can encode.
Because of the need to support asymmetric video streams – the video codec capabilities
sent in an SDP Offer and Answer should be considered to be the receive capabilities of the
respective endpoints rather than the negotiated capabilities in common with both devices
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 250
SIP Trunk Signaling
Voice and Video call with BFCP and FECC
10.10.199.250 10.10.199.251
10.58.9.86 10.58.9.222
Audio
Main Video
Slide Video
Binary Floor Control
Far End Camera Control BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 251
SIP Trunk Signaling
Voice and Video call - Main video channel negotiation
10.10.199.250 10.10.199.251
10.58.9.86 10.58.9.222
Audio
Video
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 252
SIP Trunk Signaling
Video calls – SDP Offer – Detail - Video
v=0
o=CiscoSystemsCCM-SIP 161095 1 IN IP4 10.58.9.6
s=SIP Call
b=TIAS:6000000
b=AS:6000
t=0 0
m=audio 16444 RTP/AVP 102 103 104 9 105 106 0 8 101
c=IN IP4 10.58.9.86
b=TIAS:64000
….attributes of multiple audio codecs in the offer
The Session Level Bandwidth Modifier specifies the maximum amount of bandwidth supported when all
the media streams are used. There are three Session Level Bandwidth Modifiers:
Transport Independent Application Specific (TIAS),
Application Specific (AS), and
Conference Total (CT)
The Maximum Session Bit Rate for video calls limits media bandwidth for the
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 256
SIP Trunk Signaling
Video calls – SDP Offer – Bandwidth in this Offer
o=CiscoSystemsCCM-SIP 161095 1 IN IP4 10.58.9.6
s=SIP Call
b=TIAS:6000000 Transport Independent Application Specific bandwidth (RTP) in bits/sec
b=AS:6000 Application Specific bandwidth (RTP/UDP/IP) in kbps
t=0 0
m=audio 16444 RTP/AVP 102 103 104 9 105 106 0 8 101
b=TIAS:64000
….attributes of multiple audio codecs in the offer
…
m=video 16446 RTP/AVP 98 99
b=TIAS:6000000
For this endpoint – the maximum media stream bandwidths that can be received :
= 6 Mbps for all voice and video streams including UDP and IP headers (AS session bandwidth)
= 64kbps for voice RTP traffic – not including UDP and IP headers (TIAS audio)
= 6 Mbps for video RTP traffic – not including UDP and IP headers (TIAS video)
The bandwidth values in the SDP Answer do not have to be the same
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 257
SIP Trunk Signaling - Video calls
SDP Offer – H.264 and H.263 Video Codecs
…
m=video 16446 RTP/AVP 98 99 The Codecs (formats) in the Offer must be listed in
c=IN IP4 10.58.9.86 preference order. H.264 preferred over H.263
b=TIAS:6000000
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=428016;packetization-mode=1;max-mbps=245000;max-fs=9000;max-cpb=200;max-
br=5000;max-rcmd-nalu-size=3456000;max-smbps=245000;max-fps=6000
a=rtpmap:99 H263-1998/90000
a=fmtp:99 QCIF=1;CIF=1;CIF4=1;CUSTOM=352,240,1
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm tmmbr
The video capabilities sent in the SDP body should be considered as the receive capabilities of the sending
endpoint.
The codecs used by video streams are more complex than audio codecs, particularly for H.264 which is a
more recent codec standard that offers significant improvements when compared with H.263. Today H.263
is considered to be a legacy codec with a lower quality and resolution for a given bandwidth than H.264
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 258
SIP Trunk Signaling
Video calls – SDP Offer – Detail - Video Codecs
…
m=video 16446 RTP/AVP 98 99 The Codecs (formats) in the Offer must be listed in
c=IN IP4 10.58.9.86
preference order. H.264 preferred over H.263
b=TIAS:6000000
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=428016;packetization-mode=1;max-mbps=245000;max-fs=9000;max-cpb=200;max-
br=5000;max-rcmd-nalu-size=3456000;max-smbps=245000;max-fps=6000
a=rtpmap:99 H263-1998/90000
a=fmtp:99 QCIF=1;CIF=1;CIF4=1;CUSTOM=352,240,1 (= Supported Picture Formats/Resolutions)
Two video codecs are offered in SDP by this endpoint : H.263 and H.264
a=rtpmap:98 H264/90000 H.264/ Sampling Rate 90000 Hz
a=rtpmap:99 H263-1998/90000 H.263 version 2/ Sampling Rate 90000 Hz
For each codec type the endpoint sends additional information about the capabilities it supports
The endpoint that responds to this Offer, selects one codec and returns its receive capabilities in its Answer.
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 259
SIP Trunk Signaling
Video calls – SDP Offer – H.264 Video Codec
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=428016;packetization-mode=1;max-mbps=245000;max-fs=9000;max-cpb=200;max-
br=5000;max-rcmd-nalu-size=3456000;max-smbps=245000;max-fps=6000
packetization-mode=1
max-mbps=245000
max-fs=9000
These parameters describe the features and capabilities beyond
max-cpb=200 those of the profile-level-id that are supported by this endpoint
max-br=5000
max-rcmd-nalu-size=3456000
max-smbps=245000
max-fps=6000
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 260
SIP Trunk Signaling – H.264 Video calls
The 1st four digits of the Profile level ID – The Profile
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=428016;packetization-mode=1;max-mbps=245000;max-fs=9000;max-cpb=200;max-
br=5000;max-rcmd-nalu-size=3456000;max-smbps=245000;max-fps=6000
profile-level-id=428016
The Profile Level ID is fundamental in describing which H.264 features have been implemented by the
endpoint.
H.264 defines 21 profiles – which describe the video capabilities of various classes of application. The
profile can be identified primarily by the first two hex digits of the profile-level-id and also by the following
3rd and 4th digits. The negotiated profile-level-id for the call must be symmetrical
profile-level-id=4280XX defines the Baseline Profile of H.264 which is commonly used by UC video
endpoints.
The baseline profile supports video encoding features such as Flexible Macroblock Ordering, Arbitrary Slice
Ordering, Redundant Slices……. ( not covered in this session ☺ )
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 261
SIP Trunk Signaling – H.264 Video calls
The last 2 digits of the Profile level ID – The Level
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=428016;packetization-mode=1;max-mbps=245000;max-fs=9000;max-cpb=200;max-
br=5000;max-rcmd-nalu-size=3456000;max-smbps=245000;max-fps=6000
profile-level-id=428016
The 5th and 6th hex digits of the profile-level-id describe the Level,
The Level describes the resolution, frame rate and bit rate that the endpoint can support.
16 hex = 22 dec = Level 2.2 = 352 x 480 pixels @ 30 frames per second
Levels range from 1 to 5.1 (128 x 96 @30 fps to 4096 x 2048 @30 fps)
H.264 introduces the concept of a Slice - spatially distinct region of a frame that can be encoded
separately from other regions in the frame. H.264 uses I-Slices, P-Slices and B-Slices
Frames and Slices are segmented into Macroblocks (rectangular pixel samples). Several Macroblocks can
be grouped into a Slice such that a video frame can consist of several Slices .
A NALU –– serves as container for a Slice(s) (groups of macroblocks) of the video frame
The Video Coding Layer (VCL) creates a coded representation of the video image by partitioning the
video frame into Macroblocks (rectangular samples) and then encoding them using spatial and temporal
prediction.
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 263
SIP Trunk Signaling
Video calls – SDP Offer – H.264 Video Codec – Detail (1)
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=428016;packetization-mode=1;max-mbps=245000;max-fs=9000;max-cpb=200;max-
br=5000;max-rcmd-nalu-size=3456000;max-smbps=245000;max-fps=6000
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 264
SIP Trunk Signaling
Video calls – SDP Offer – H.264 Video Codec – Detail 2
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=428016;packetization-mode=1;max-mbps=245000;max-fs=9000;max-cpb=200;max-
br=5000;max-rcmd-nalu-size=3456000;max-smbps=245000;max-fps=6000
max-rcmd-nalu-size=3456000 Max NALU packet size (bytes) that the receiver can handle
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 265
SIP Trunk Signaling
Video calls – SDP Offer – H.264 Video Codec - RTCP
…
m=video 16446 RTP/AVP 98 99
…
…
a=rtcp-fb:* nack pli “rtcp-fb” RTP Control Protocol (RTCP) - Feedback
“*” RTCP-Feedback for any of the offered video codecs
NACK – Negative Acknowledgement
– indicates the loss of one or more RTP packets
PLI – Picture Loss Indication
RTCP is used for video rate adaption when congestion/ packet loss encountered
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 266
SIP Trunk Signaling
Video calls – SDP Answer – Detail = Video Only
v=0
o=CiscoSystemsCCM-SIP 112480 1 IN IP4 10.58.9.44
s=SIP Call
b=TIAS:6000000 Symmetric Bandwidth requirements at the session level
b=AS:6000 TIAS = 6Mbps, AS = 6Mbps
t=0 0
10.10.199.250 10.10.199.251
10.58.9.86 10.58.9.222
Audio RTP UDP Port 16444 Audio Audio RTP UDP Port 2346
MP4A-LATM Audio codec MP4A-LATM Audio codec
Bandwidth 64kbps Bandwidth 64kbps
RFC 2833 DTMF RFC 2833 DTMF
Video RTP UDP Port 16446 Video Video RTP UDP Port 2348
H.264 Video codec H.264 Video codec
Asymmetric Receive values Asymmetric Receive values
Bandwidth 6Mbps Bandwidth (6Mbps - 64kbps)
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 269
SIP Trunk Signaling
Video calls – Binary Floor Control Protocol (BFCP)
BFCP – a protocol to manage access to shared resources in a conference, such as the right for a user to
send media to a particular media session (e.g. using a video channel for desktop sharing).
With BFCP in a video call, two additional media channels are negotiated – one video channel to share
content, the other for floor control (BFCP)
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 270
SIP Trunk Signaling – Media Negotiation
Voice and Video call with BFCP
10.10.199.250 10.10.199.251
10.58.9.86 10.58.9.222
Audio
Main Video
Slide Video
Binary Floor Control BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 271
SIP Trunk Signaling
Video calls – SDP Offer part 1: Detail = BFCP only
v=0
o=CiscoSystemsCCM-SIP 161095 1 IN IP4 10.58.9.6
s=SIP Call
b=TIAS:6000000
b=AS:6000 Note - Session Bandwidth value = 6 Mbps total
t=0 0
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 274
SIP Trunk Signaling
Video calls – SDP Answer part 2 : Detail = BFCP Only
m=video 2350 RTP/AVP 98 Selected Video Codec for Desktop Presentation channel
c=IN IP4 10.58.9.222
b=TIAS:5936000
a=label:12 Label 12 used to identify Slides Video Stream
a=rtpmap:98 H264/90000 H.264 Codec selected - receive differences
a=fmtp:98 profile-level-id=428016;packetization-mode=1;max-mbps=108000;max-fs=3840;max-cpb=200; max-
br=5000;max-rcmd-nalu-size=1474560;max-smbps=108000;max-fps=6000
a=content:slides Content :Slides (desktop presentation) Video Stream
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm tmmbr
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 275
SIP Trunk Signaling – Negotiated Media
Voice and Video call with BFCP
10.10.199.250 10.10.199.251
10.58.9.86 10.58.9.222
Audio RTP UDP Port 16444 Audio RTP UDP Port 2346
MP4A-LATM Audio codec MP4A-LATM Audio codec
RFC 2833 DTMF Audio RFC 2833 DTMF
Video RTP UDP Port 16446 Video RTP UDP Port 2348
H.264 Video codec H.264 Video codec
Asymmetric Receive values Main Video Asymmetric Receive values
Video RTP UDP Port 16448 Video RTP UDP Port 2350
H.264 Video codec H.264 Video codec
Asymmetric Receive values Slide Video Asymmetric Receive values
BFCP UDP Port 5070 BFCP UDP Port 5070
Conference 1 User 8 Conference 1 User 6
Binary Floor ControlBRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 276
SIP Trunk Signaling
Video calls – Far End Camera Control (FECC)
Far End Camera Control (FECC) –
A simple protocol based on ITU H.281 frames carried in H.224 packets in an RTP UDP channel
FECC allows a user to select a video source and to control camera actions such as Pan, Tilt, Zoom and
Focus
m=application 16450 RTP/AVP 107 UDP port-number = 16450 , RTP Payload Type = 107
c=IN IP4 10.58.9.86 Endpoint IP address
a=rtpmap:107 H224/0 Attribute H.224 for the transport of FECC messages
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 277
SIP Trunk Signaling
Video calls – SDP Offer : Detail = FECC only
v=0
o=CiscoSystemsCCM-SIP 161095 1 IN IP4 10.58.9.6
….
m=audio 16444 RTP/AVP 102 103 104 9 105 106 0 8 101
….attributes of multiple audio codecs in the offer
m=application 16450 RTP/AVP 107 UDP port-number = 16450 , RTP Payload Type = 107
c=IN IP4 10.58.9.86
a=rtpmap:107 H224/0
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 278
SIP Trunk Signaling
Video calls – SDP Answer : Detail = FECC Only
v=0
o=CiscoSystemsCCM-SIP 112480 1 IN IP4 10.58.9.44
….
m=audio 2346 RTP/AVP 102 101
…. Attributes of selected audio codec and DTMF RFC2388
m=application 2352 RTP/AVP 107 UDP port-number = 2352, RTP Payload Type = 107
c=IN IP4 10.58.9.222
a=rtpmap:107 H224/0
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 279
SIP Trunk Signaling – Negotiated Media
Voice and Video call with BFCP & FECC
10.10.199.250 10.10.199.251
10.58.9.86 10.58.9.222
Audio RTP UDP Port 16444 Audio RTP UDP Port 2346
MP4A-LATM Audio codec MP4A-LATM Audio codec
RFC 2833 DTMF Audio RFC 2833 DTMF
Video RTP UDP Port 16446 Video RTP UDP Port 2348
H.264 Video codec Main Video H.264 Video codec
Video RTP UDP Port 16448 Video RTP UDP Port 2350
H.264 Video codec Slide Video H.264 Video codec
BFCP UDP Port 5070 BFCP UDP Port 5070
Binary Floor Control
FECC UDP Port 16450 FECC UDP Port 2352
RTP Payload Type 107 Far End Camera Control BRKUCC-2006 RTP Payload Type 107
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 280
SIP Trunk Signaling – Video Call
Complete SDP Offer : Voice, Video, BFCP and FECC
v=0
o=CiscoSystemsCCM-SIP 161095 1 IN IP4 10.58.9.6
s=SIP Call
b=TIAS:6000000
b=AS:6000
t=0 0
m=audio 16444 RTP/AVP 102 103 104 9 105 106 0 8 101
c=IN IP4 10.58.9.86
b=TIAS:64000
a=rtpmap:102 MP4A-LATM/90000
a=fmtp:102 bitrate=64000;profile-level-id=24;object=23
a=rtpmap:103 MP4A-LATM/90000
a=fmtp:103 bitrate=56000;profile-level-id=24;object=23
a=rtpmap:104 MP4A-LATM/90000
a=fmtp:104 bitrate=48000;profile-level-id=24;object=23
a=rtpmap:9 G722/8000
a=ptime:20
a=rtpmap:105 G7221/16000
a=fmtp:105 bitrate=32000
a=rtpmap:106 G7221/16000
a=fmtp:106 bitrate=24000
a=rtpmap:0 PCMU/8000
a=ptime:20
BRKUCC-2006
a=rtpmap:8 PCMA/8000 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 281
SIP Trunk Signaling – Video Call
Complete SDP Answer : Voice, Video, BFCP and FECC
v=0
o=CiscoSystemsCCM-SIP 112480 1 IN IP4 10.58.9.44
s=SIP Call
b=TIAS:6000000
b=AS:6000
t=0 0
m=audio 2346 RTP/AVP 102 101
c=IN IP4 10.58.9.222
b=TIAS:64000
a=rtpmap:102 MP4A-LATM/90000
a=fmtp:102 bitrate=64000;profile-level-id=24;object=23
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
m=video 2348 RTP/AVP 98
c=IN IP4 10.58.9.222
b=TIAS:5936000
a=label:11
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=428016;packetization-mode=1;max-mbps=108000;max-fs=3600;max-cpb=200;max-br=5000;max-rcmd-nalu-
size=1382400;max-smbps=108000;max-fps=6000
a=content:main
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm tmmbr
m=video 2350 RTP/AVP 98
c=IN IP4 10.58.9.222 BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 282
b=TIAS:5936000
Deploying an SME cluster with no Media Resources
UC 8.5+ SME SIP Trunks – MTP-less Early Offer
UC 10.5+ SME SIP Trunks – Best Effort Early Offer
Reasons to use SIP Trunks on SME
SME clusters with no Media Resources
Media Resources Media Resources
Leaf Cluster
New York
Media Resources
SME
Cluster
Media Resources
Leaf Cluster
Leaf Cluster Europe
Los Angeles
Ideally, Media Resources such as MTPs, Transcoders, Music on Hold, Conferencing Resources should
never be utilized in the SME cluster – as this entails hair-pinning media via the media resource
associated with the SME cluster
Is this design possible ? Yes, but it requires the use of SIP Trunks only configured to use either
“Best Effort Early Offer” or “MTP-less Early Offer” BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 284
CUCM SIP Trunk Signaling
Enabling SIP Early Offer – “MTP Required” – Pre UC 8.5
SIP Line SIP Trunk with Early Offer
MTP
Disadvantages : MTPs support a single Audio codec only e.g. G711 or G729. The passthru codec is
not supported excluding the use of SRTP and video calls. Since the Trunk’s MTPs are used - The media
path is forced to follow the signaling path. BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 285
CUCM SIP Trunk Signaling
Enabling SIP Early Offer – Method 2 – UC 8.5+
SIP Profile “Early Offer support for voice and video calls (insert MTP if needed)”
SIP Line SIP Trunk with Early Offer
BRKUCC-2006 286
MGCP Gateway © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Deploying SME with no Media Resources - UC 8.5+
SME SIP Trunks – MTP less Early Offer
SME
Cluster
All SME Trunks configured as SIP “Early Offer for Voice and video (Insert MTP if needed)” No media
resources (MTPs, Transcoders etc) associated to the SME Trunks
Takes advantage of SIP Trunk behaviour based on the following Service Parameter
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 287
Deploying SME with no Media Resources – UC 8.5+
MTP less Early Offer
Delayed Offer Delayed Offer
SME
Cluster
All SME Trunks configured as SIP “Early Offer for Voice and Video (Insert MTP if needed)” No media
resources (MTPs, Transcoders etc) associated to the SME Trunks
If an inbound DO call received on SME SIP Trunk – outbound SIP Trunk sends DO
If an inbound EO call received on SME SIP Trunk – outbound SIP Trunk sends EO
This EO/DO pass-through feature also affects media negotiation…… Media choices (e.g. codec/ DTMF
transport decision) made by the leaf systems BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 288
Deploying SME with no Media Resources - UC 8.5+
SME MTP less Early Offer – Delayed Offer Call
Delayed Offer Delayed Offer
Media Resources
INVITE
200 OK with SDP (Offer)
ACK with SDP (Answer)
Leaf Cluster Leaf Cluster
North America Europe
All SME Trunks configured as SIP “Early Offer for Voice and video (Insert MTP if needed)” No media
resources (MTPs, Transcoders etc) associated to the SME Trunks
This EO/DO pass-through feature also affects media negotiation……
With Delayed Offer Calls - Media choices (e.g. codec decision/ DTMF transport decision) made by the
Leaf cluster originating the call
Media resources (if needed) are inserted by the originating Leaf cluster
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 289
Deploying SME with no Media Resources - UC 8.5+
SME MTP less Early Offer – Early Offer Call
Early Offer Early Offer
Media Resources
INVITE with SDP (Offer)
200 OK with SDP (Answer)
All SME Trunks configured as SIP “Early Offer for Voice and video (Insert MTP if needed)” No media
resources (MTPs, Transcoders etc) associated to the SME Trunks
This EO/DO pass-through feature also affects media negotiation……
With Early Offer Calls - Media choices (e.g. codec decision/ DTMF transport decision) made by the Leaf
cluster receiving the call
Media resources (if needed) are inserted by the Leaf cluster receiving the call
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 290
Deploying SME with no Media Resources - UC 8.5+
SME SIP Trunks – MTP less Early Offer - Summary
Delayed Offer Delayed Offer
Media Resources Media Resources
SME
Cluster
“Early Offer support for voice and video calls – Best Effort (no MTP inserted)”
Recommended configuration for all 10.5+ CUCM and SME SIP Trunks
With Best Effort Early Offer – MTPs are never used to create an Offer
Early Offer is sent only if the media characteristics of the calling device can be determined,
If the media characteristics of the device cannot be determined a Delayed Offer is sent.
Best Effort Early Offer is preferred over MTP-less Early Offer in SME clusters
Best Effort Early Offer has the same media transparency effect as MTP-less Early Offer in
SME clusters, but the feature is simpler and easier to configure
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 292
CUCM 10.5+ SIP Trunks – Best Effort Early Offer
SIP Line Best Effort Early Offer SIP Trunk Early Offer sent
Older SCCP Phones SIP Trunk Best Effort Early Offer SIP Trunk Delayed Offer sent
H323 Slow Start MGCP Trunk Best Effort Early Offer SIP Trunk Early Offer sent
MGCP Gateway
H323 Trunk Best Effort Early Offer SIP Trunk Early Offer sent
H323 Fast Start SIP Trunk Best Effort Early Offer SIP Trunk Early Offer sent
SIP Early Offer BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 293
Deploying SME with no Media Resources - UC 10.5+
SME SIP Trunks– Best Effort Early Offer - Summary
Delayed Offer Delayed Offer
Media Resources Media Resources
SME
Cluster
Leaf systems can use SIP Early Offer/Delayed Offer/Best Effort Early Offer (recommended )
Use Codec Preference Lists to avoid transcoding
If a Transcoder is required – Inserted by Leaf cluster
If MOH, Announcement service is required – Inserted by Leaf cluster
If Conferencing resources are required – Inserted by Leaf cluster
If MTPs for DTMF mismatch are required – Inserted by Leaf cluster
BRKUCC-2006 294
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
SME with no Media Resources
Possible with SIP Delayed Offer Trunks Everywhere ?
Delayed Offer Delayed Offer
To support calls with voice, video and encryption – H323 Slow Start Trunks must be used.
Endpoint Media capabilities are sent over H323 Trunks through the exchange of Terminal Capability Set
(TCS) messages. The choice of which codec and DTMF transport method is used for the call is determined
after Master Slave Determination (MSD).
Unlike SIP Trunks, for H323 Inter Cluster Trunks the choice which cluster choses the media characteristics
for the call is not configurable, as the cluster that initiates the TCS exchange and determination of which
cluster is Master and Slave is random BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 298
Reasons to use SIP Trunks only
H323 Slow Start Trunks – Media Negotiation
MSD MSD = Master/ Slave Determination
Slave
Media
SME
Decision
Cluster
made here
Master
Because the cluster that initiates the TCS exchange and determination of which cluster is Master and Slave
is randomly selected
This can lead to situations where, when a DTMF transport mismatch, or Codec mismatch occurs between
the endpoints in call – The SME cluster will try to insert media resources
Without SME media resources the call, or DTMF transport for the call, will fail
Therefore - H323 Trunks cannot be used in SME deployments without media resources
BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 299
Global SME Deployments
Signaling Delay and SME based UC networks
SME
The diagram above shows an example of call set up delays and their impact on the users’ experience. (Note – Phone to
Call Agent signaling delay has been assumed to be minimal)
Delays during call set up will vary based on the protocol(s) used, the trunk configuration and call agent operation –
making it difficult to calculate the time taken to establish each stage of the call set up.
In most cases, signaling delays do not noticeably affect user experience. If signaling delays are a concern enable PRACK
on SIP Trunks. BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 302
Reducing Signaling Delay
Pre UC 9.1 - Multiple regional SME clusters
SME SME
North America Europe
Signalling Path
SME SME
Latin America Asia Pac
< 500 mS
SME
CoW+
< 500 mS
< 500 mS
SME
CoW+
< 500 mS
The upgrade process for an SME cluster consists of two key parts: Version switch-over, where the call processing
node is re-booted and initialized with the new software version (this takes approximately 45 minutes per server),
and database replication, where the subscriber's database is synchronized with that of the publisher node. The
time taken to complete this database replication phase depends on the RTT between the publisher and
subscriber nodes and the number of subscribers in the cluster. The database replication process has a minimal
impact on the subscriber's call processing capability and typically can be run as a background process during
normal SME cluster operation. BRKUCC-2006 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 306
One Global SME CoW cluster
Trunk config from Leaf cluster to SME cluster
DC1 SME Nodes
North America
UC 9.1
SME CoW up Route List
Route List
to 500mS Leaf Cluster Leaf Cluster
North America Europe
RTT
UC 9.1
SME CoW up
Leaf Cluster Leaf Cluster
to 500mS Europe
North America
RTT
UC 9.1
SME CoW up Route List
Leaf Cluster Leaf Cluster
to 500mS Europe
North America
RTT
Leaf Clusters
Multiple Trunks in Route Groups provide ordered selection of SME nodes. Route List Call
st
Distribution – priority order – nearest data centre 1 , second nearest data centre 2 etc nd