cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

Blog-Cisco Community Wins Lithy 2018 Award

Router Dial Voip Dial Peer Matching rules

458
Views
0
Helpful
0
Comments

 

Cisco IOS support for voice traffic and voice routing has transit a long road since Cisco started to add voice support to a device that was originally design to route data packets only.

 

Originally only H.323 session was supported using H225 Calling and Called Party Information elements along with other routing techniques. Later SIP support was added and URI based routing.  Since then, many documents on CCO but none of them will clear 100% this ever evolving topic.  The best document i have found is (https://www.cisco.com/c/en/us/support/docs/voice/ip-telephony-voice-over-ip-voip/211306-In-Depth-Explanation-of-Cisco-IOS-and-IO.html) but still have a few incorrect statements that need to be corrected.

 

Based on that document i have created a few enhancements with some support from Cisco TAC engineers.

 

On Match Criteria i am adding some detail of what happens if two dial peer with same preference matches.  This is overlook on many documents or simple wrongly defined in others. At the end, Router has to select a SINGLE dial peer for inbound and a SINGLE dial peer for outbound on any given call that gets routed among two different VOIP signaling destinations.

 

Note:

Equal match on INBOUND number matching (non-uri) also considers same Longest Prefix match.

Equal match on OUTBOUND number matching (non-uri) uses "dial-peer hunt" to break a tie as shown below.

Equal match on INBOUND/OUTBOUND uri matching uses voice class uri sip preference to break a tie when same preference and different voice class uri. 

 

SIP Inbound

Preference

Match Criteria

Dial-peer Commands

1

URI (if two (or more) same preference dial-peer matches it uses what is defined on voice class uri sip preference - After that First Configured on equal match )

incoming uri via <uri-tag>

2

incoming uri request <uri-tag>

3

incoming uri to <uri-tag>

4

incoming uri from <uri-tag>

5

Called Number (Then First configured on equal match)

incoming called-number <number-string>

incoming called e164-pattern-map <pattern-map-number>

6

Calling Number (then First configured on equal match)

incoming calling e164-pattern-map <pattern-map-number>

answer-address <number-string>

7

Destination-pattern (ANI) - Calling Number 

destination-pattern <number-string>

8

Carrier-ID

carrier-id source <string>

 

H323 Inbound 

Preference

Match Criteria

Dial-peer Commands

1

URI (First configured on equal match)

incoming uri called <uri-tag>

incoming uri calling <uri-tag>

2

Called Number (First configured on equal match)

incoming called-number <number-string>

incoming called e164-pattern-map <pattern-map-number>

3

Calling Number (First configured on equal match)

incoming calling e164-pattern-map <pattern-map-number>

answer-address <number-string>

4

Destination-pattern (ANI)

destination-pattern <number-string>

5

Carrier-ID

carrier-id source <string>

 

SIP Outbound

Preference

Match Criteria

Dial-peer Commands

1

Dial-peer Group Dial-peer

destination dpg <dpg-tag> (configured on inbound dial-peer)

2

Dial-peer Provision Policy URI (based on policy preference that statically defines what header to use and the priority)

destination uri-from <uri-tag>

destination uri-to <uri-tag>

destination uri-via <uri-tag>

destination uri-diversion <uri-tag>

destination uri-referred-by <uri-tag>

3

ILS Route String

destination route-string <route-string-tag>

4

URI and Carrier-ID

destination uri <uri-tag> AND carrier-id target <string>

5

Called Number and Carrier-ID

destination-pattern <number-string>  AND carrier-id target <string>

6

URI

destination uri <uri-tag>

7

Called Number (based on dial-peer hunt preference)

destination-pattern <DNIS-number>

destination e164-pattern-map <pattern-map-number>

dnis-map <dnis-map-number>

8

Calling Number

destination calling e164-pattern-map <pattern-map-number>

 

H323 Outbound 

Preference

Match Criteria

Dial-peer Commands

1

Dial-peer Group Dial-peer

destination dpg <dpg-tag> (configured on inbound dial-peer)

2

URI and Carrier-ID

destination uri <uri-tag> AND carrier-id target <string

3

Called Number and Carrier-ID

destination-pattern <number-string> AND carrier-id target <string>

4

URI

destination uri <uri-tag>

5

Called Number (based on dial-peer hunt preference)

destination-pattern <number-string>

destination e164-pattern-map <pattern-map-number>

dnis-map <dnis-map-number>

6

Calling Number

destination calling e164-pattern-map <pattern-map-number>

 

Example:

INVITE sip:16467064065@10.0.0.2:5060 SIP/2.0
Via: SIP/2.0/TCP 10.0.0.1:5060;branch=z9hG4bKfca7b41be10f05
From: "Test" <sip:8298@10.0.0.1>;tag=87765515~4228138e-0f60-4065-8679-3aeda2396d97-137484203
To: <sip:16467064065@10.0.0.2>
Date: Wed, 05 Dec 2018 17:16:13 GMT
Call-ID: 7620b200-c08107dd-f2fa5f-15001dac@10.0.0.1
Supported: timer,resource-priority,replaces
Min-SE: 1800
User-Agent: Cisco-CUCM11.5
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY
CSeq: 101 INVITE
Expires: 180
Allow-Events: presence, kpml
Supported: X-cisco-srtp-fallback,X-cisco-original-called
Call-Info: <sip:10.0.0.1:5060>;method="NOTIFY;Event=telephone-event;Duration=500"
Call-Info: <urn:x-cisco-remotecc:callinfo>;x-cisco-video-traffic-class=DESKTOP
Session-ID: 517fe18f00105000a0002834a283f407;remote=00000000000000000000000000000000
Cisco-Guid: 1981854208-0000065536-0000083913-0352329132
Session-Expires: 1800
P-Asserted-Identity: "Test" <sip:8298@10.0.0.1>
Remote-Party-ID: "Test" <sip:8298@10.0.0.1>;party=calling;screen=yes;privacy=off
Contact: <sip:8298@10.0.0.1:5060;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP2834A283F407"
Max-Forwards: 13
Content-Length: 0

 

 

 

CreatePlease to create content
Ask the Expert- Introduction to Network Design