06-27-2013 04:36 AM - edited 03-12-2019 10:01 AM
This document covers the Procedure for Configuring the URI based outbound Dial-peer matching on Cisco Unified Border Element (CUBE)with examples.
Cisco Unified Border Element:
Cisco IOS Release 15.1(2)T or a later release must be installed and running on your Cisco Unified Border Element.
Cisco Unified Border Element (Enterprise):
Cisco IOS XE Release 3.6S or a later release must be installed and running on your Cisco Unified Border Element (Enterprise).
Cisco Unified Border Element supports dialing using directory URIs (Uniform Resource Identifier) for call addressing. Directory URIs look like email addresses and follow the username@host format. SIP address is similar to an e-mail address and is in the format of sip:userID@gateway.com. The user ID can be either a username or an E.164 address. The gateway can be either a domain (with or without a hostname) or a specific Internet IPv4 or IPv6 address.
Step1: Configure Voice Call uri
voice class uri 1 sip
pattern 12345@cisco.com
Step2: Configure the outbound Dial-peer
dial-peer voice 100 voip
description OUTBOUND DP
destination uri 1
session target ipv4:10.10.10.1
Procedure to configure URI based outbound Dial-peer for SIP Calls
SUMMARY STEPS
1.enable 2.configureterminal 3.voice class uritag 4.pattern 5.exit 6.dial-peer voice tagvoip 7.sessionprotocol sipv2 8.destination uri <tag> 9.session target <ipv4:ipv4-address | ipv6:ipv6-address> 10.end
Outbound Dial-peer configuration on CUBE
dial-peer voice 100 voip description OUTBOUND DP destination uri 1 session target ipv4:10.10.10.1
Different Match pattern on the SIP Invite received and URI configuration :
Below example shows how to configure voice class URI based on the SIP invite received, refer the above call flow.
1. Match based on the exact URI pattern Received: INVITE sip:12345@cisco.com SIP/2.0
voice class uri 1 sip pattern 12345@cisco.com
2. Match based on only the host portion of uri Received: INVITE sip:12345@cisco.com SIP/2.0
voice class uri 1 sip host cisco.com
3. Match based on the user-id portion of the uri Received: INVITE sip:12345@cisco.com SIP/2.0
voice class uri 1 sip user-id 12345*
4. Match based on the phone number portion of the tel-uri Received: INVITE tel:+12345;phone-context=cisco.com SIP/2.0
voice class uri 1 tel phone number 12345 phone context cisco.com |
Great HowTo!
I had an issue to understand the command "destination uri" and then i found your howto faster then a cisco guide
Thanks Lavanya. Good document. Found it very useful
I'm trying to do exactly what this document describes but I'm not having any success. First off, it seems like for CUBE to even attempt to route the call I need this:
voice service voip
sip
call-route url
Once I have that configured, it seems like CUBE attempts to route the call, but with only the IP address in the invite. My call flow and debugs/config are below. Any help is greatly appreciated :)
CUCM (192.168.1.72) --> CUBE (10.10.32.1) --> CUCM (192.168.1.81)
*Apr 8 01:37:33.468: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
Received:
INVITE sip:phone1@br1.ccielab.com:5060 SIP/2.0
Via: SIP/2.0/TCP 192.168.1.72:5060;branch=z9hG4bK5b10bbc7a5
From: "HQ Phone 1" <sip:2001@192.168.1.72>;tag=254~49a57044-9b08-4504-98fd-797fb77c1515-42983622
To: <sip:phone1@br1.ccielab.com>
Date: Tue, 07 Apr 2015 18:46:14 GMT
Call-ID: 5caa6480-524125f6-3c-4801a8c0@192.168.1.72
Supported: timer,resource-priority,replaces
Min-SE: 1800
User-Agent: Cisco-CUCM9.1
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:192.168.1.72:5060>;method="NOTIFY;Event=telephone-event;Duration=500"
Cisco-Guid: 1554670720-0000065536-0000000014-1208068288
Session-Expires: 1800
P-Asserted-Identity: "HQ Phone 1" <sip:2001@192.168.1.72>
Remote-Party-ID: "HQ Phone 1" <sip:2001@192.168.1.72>;party=calling;screen=yes;privacy=off
Contact: <sip:2001@192.168.1.72:5060;transport=tcp>;video;audio
Max-Forwards: 69
Content-Length: 0
*Apr 8 01:37:33.472: //32/5CAA64800000/SIP/Msg/ccsipDisplayMsg:
Sent:
SIP/2.0 100 Trying
Via: SIP/2.0/TCP 192.168.1.72:5060;branch=z9hG4bK5b10bbc7a5
From: "HQ Phone 1" <sip:2001@192.168.1.72>;tag=254~49a57044-9b08-4504-98fd-797fb77c1515-42983622
To: <sip:phone1@br1.ccielab.com>
Date: Wed, 08 Apr 2015 01:37:33 GMT
Call-ID: 5caa6480-524125f6-3c-4801a8c0@192.168.1.72
CSeq: 101 INVITE
Allow-Events: telephone-event
Server: Cisco-SIPGateway/IOS-15.2.4.M4
Content-Length: 0
*Apr 8 01:37:33.476: //33/5CAA64800000/SIP/Msg/ccsipDisplayMsg:
Sent:
INVITE sip:192.168.1.81:5060 SIP/2.0
Via: SIP/2.0/TCP 10.10.32.1:5060;branch=z9hG4bK12B0F
Remote-Party-ID: "HQ Phone 1" <sip:2001@10.10.32.1>;party=calling;screen=yes;privacy=off
From: "HQ Phone 1" <sip:2001@10.10.32.1>;tag=10F32D4-9DB
To: <sip:192.168.1.81>
Date: Wed, 08 Apr 2015 01:37:33 GMT
Call-ID: A995CE66-DCC611E4-805BC28D-76C3BF62@10.10.32.1
Supported: timer,resource-priority,replaces,sdp-anat
Min-SE: 1800
Cisco-Guid: 1554670720-0000065536-0000000014-1208068288
User-Agent: Cisco-SIPGateway/IOS-15.2.4.M4
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
CSeq: 101 INVITE
Timestamp: 1428457053
Contact: <sip:2001@10.10.32.1:5060;transport=tcp>
Call-Info: <sip:10.10.32.1:5060>;method="NOTIFY;Event=telephone-event;Duration=2000"
Expires: 180
Allow-Events: telephone-event
Max-Forwards: 68
Session-Expires: 1800
Content-Length: 0
*Apr 8 01:37:33.480: //33/5CAA64800000/SIP/Msg/ccsipDisplayMsg:
Received:
SIP/2.0 400 Bad Request - 'Malformed/Missing URL'
Via: SIP/2.0/TCP 10.10.32.1:5060;branch=z9hG4bK12B0F
From: "HQ Phone 1" <sip:2001@10.10.32.1>;tag=10F32D4-9DB
To: <sip:192.168.1.81>;tag=99484635
Date: Tue, 07 Apr 2015 18:46:14 GMT
Call-ID: A995CE66-DCC611E4-805BC28D-76C3BF62@10.10.32.1
CSeq: 101 INVITE
Allow-Events: presence
Reason: Q.850;cause=100
Content-Length: 0
*Apr 8 01:37:33.484: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
Sent:
ACK sip:192.168.1.81:5060 SIP/2.0
Via: SIP/2.0/TCP 10.10.32.1:5060;branch=z9hG4bK12B0F
From: "HQ Phone 1" <sip:2001@10.10.32.1>;tag=10F32D4-9DB
To: <sip:192.168.1.81>;tag=99484635
Date: Wed, 08 Apr 2015 01:37:33 GMT
Call-ID: A995CE66-DCC611E4-805BC28D-76C3BF62@10.10.32.1
Max-Forwards: 70
CSeq: 101 ACK
Allow-Events: telephone-event
Content-Length: 0
*Apr 8 01:37:33.484: //34/5CAA64800000/SIP/Msg/ccsipDisplayMsg:
Sent:
INVITE sip:192.168.1.72:5060 SIP/2.0
Via: SIP/2.0/TCP 10.10.32.1:5060;branch=z9hG4bK1322FE
Remote-Party-ID: "HQ Phone 1" <sip:2001@10.10.32.1>;party=calling;screen=yes;privacy=off
From: "HQ Phone 1" <sip:2001@10.10.32.1>;tag=10F32D8-1244
To: <sip:192.168.1.72>
Date: Wed, 08 Apr 2015 01:37:33 GMT
Call-ID: A9966A8E-DCC611E4-805DC28D-76C3BF62@10.10.32.1
Supported: timer,resource-priority,replaces,sdp-anat
Min-SE: 1800
Cisco-Guid: 1554670720-0000065536-0000000014-1208068288
User-Agent: Cisco-SIPGateway/IOS-15.2.4.M4
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
CSeq: 101 INVITE
Timestamp: 1428457053
Contact: <sip:2001@10.10.32.1:5060;transport=tcp>
Call-Info: <sip:10.10.32.1:5060>;method="NOTIFY;Event=telephone-event;Duration=2000"
Expires: 180
Allow-Events: telephone-event
Max-Forwards: 68
Session-Expires: 1800
Content-Length: 0
*Apr 8 01:37:33.484: //34/5CAA64800000/SIP/Msg/ccsipDisplayMsg:
Received:
SIP/2.0 400 Bad Request - 'Malformed/Missing URL'
Via: SIP/2.0/TCP 10.10.32.1:5060;branch=z9hG4bK1322FE
From: "HQ Phone 1" <sip:2001@10.10.32.1>;tag=10F32D8-1244
To: <sip:192.168.1.72>;tag=1404115661
Date: Tue, 07 Apr 2015 18:46:14 GMT
Call-ID: A9966A8E-DCC611E4-805DC28D-76C3BF62@10.10.32.1
CSeq: 101 INVITE
Allow-Events: presence
Reason: Q.850;cause=100
Content-Length: 0
*Apr 8 01:37:33.488: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
Sent:
ACK sip:192.168.1.72:5060 SIP/2.0
Via: SIP/2.0/TCP 10.10.32.1:5060;branch=z9hG4bK1322FE
From: "HQ Phone 1" <sip:2001@10.10.32.1>;tag=10F32D8-1244
To: <sip:192.168.1.72>;tag=1404115661
Date: Wed, 08 Apr 2015 01:37:33 GMT
Call-ID: A9966A8E-DCC611E4-805DC28D-76C3BF62@10.10.32.1
Max-Forwards: 70
CSeq: 101 ACK
Allow-Events: telephone-event
Content-Length: 0
*Apr 8 01:37:33.488: //32/5CAA64800000/SIP/Msg/ccsipDisplayMsg:
Sent:
SIP/2.0 500 Internal Server Error
Via: SIP/2.0/TCP 192.168.1.72:5060;branch=z9hG4bK5b10bbc7a5
From: "HQ Phone 1" <sip:2001@192.168.1.72>;tag=254~49a57044-9b08-4504-98fd-797fb77c1515-42983622
To: <sip:phone1@br1.ccielab.com>;tag=10F32E0-EF0
Date: Wed, 08 Apr 2015 01:37:33 GMT
Call-ID: 5caa6480-524125f6-3c-4801a8c0@192.168.1.72
CSeq: 101 INVITE
Allow-Events: telephone-event
Server: Cisco-SIPGateway/IOS-15.2.4.M4
Reason: Q.850;cause=127
Content-Length: 0
*Apr 8 01:37:33.488: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
Received:
ACK sip:phone1@br1.ccielab.com:5060 SIP/2.0
Via: SIP/2.0/TCP 192.168.1.72:5060;branch=z9hG4bK5b10bbc7a5
From: "HQ Phone 1" <sip:2001@192.168.1.72>;tag=254~49a57044-9b08-4504-98fd-797fb77c1515-42983622
To: <sip:phone1@br1.ccielab.com>;tag=10F32E0-EF0
Date: Tue, 07 Apr 2015 18:46:14 GMT
Call-ID: 5caa6480-524125f6-3c-4801a8c0@192.168.1.72
Max-Forwards: 70
CSeq: 101 ACK
Allow-Events: presence, kpml
Content-Length: 0
voice service voip
no ip address trusted authenticate
mode border-element license capacity 100
allow-connections sip to sip
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
sip
bind control source-interface Loopback0
bind media source-interface Loopback0
session transport tcp
call-route url
pass-thru content sdp
voice class uri BR1 sip
host br1.ccielab.com
voice class uri HQ sip
host ccielab.com
dial-peer voice 1 pots
translation-profile incoming GLOBALIZE
incoming called-number .
dial-peer voice 4 pots
destination-pattern .T
dial-peer voice 10 voip
destination-pattern 4...$
session protocol sipv2
session target ipv4:10.10.160.1
session transport tcp
codec transparent
dial-peer voice 11 voip
incoming called-number .
codec transparent
dial-peer voice 20 voip
destination-pattern 2...$
session protocol sipv2
session target ipv4:192.168.1.72
destination uri HQ
dtmf-relay rtp-nte sip-notify
codec transparent
dial-peer voice 30 voip
destination-pattern 3...$
session protocol sipv2
session target ipv4:192.168.1.81
destination uri BR1
dtmf-relay rtp-nte sip-notify
codec transparent
Mike,
I can see you are a fellow CCIE candidate like myself. How is your study coming along. I wish you all the very best.(may we be amongst the 20% that pass on first attempt :)
There are a few things you need to sort out in your configurations for this to work.
When using URI dialling on IOS, it doesn't send the user portion of the request-URI. You will need to use sip profiles to add it..Here we modify both the To and SIP-Req-URI headers
voice class sip-profiles 50
request INVITE sip-header To modify "<sip:192.168.1.81>" "<sip:phone1@br1.ccielab.com>"
request INVITE sip-header SIP-Req-URI modify "sip:192.168.1.81:5060" "sip:phone1@br1.ccielab.com"
dial-peer voice 30 voip
voice-class sip profiles 50
I also observed that there is no incoming URI configured. You need to match an inbound dial-peer using the incoming URI statement.
For this to happen, you will need to specify the ip address of HQ under your host statement because by default CUCM will send its ip address in its host field. So you need to match the ip address. This is necessary if you want to match incoming uri based on either "via or from" sip header fields. (the host portion only contain the "ip address of cucm as you can see in the trace" In this config I am going to use the "to" header field hence its not important.
voice class uri HQ sip
host 192.168.1.72
The define an inbound dial-p to match
dial-p v 20 v
incoming URI to HQ
dial-p v 30 v
incoming URI to BR1
Now inbound calls from HQ with the following request to BR1..will match inbound dial-p 30 and outbound dial-p 30 (similar to incoming called number and destination-p)
Received:
INVITE sip:phone1@br1.ccielab.com:5060 SIP/2.0
Via: SIP/2.0/TCP 192.168.1.72:5060;branch=z9hG4bK5b10bbc7a5
From: "HQ Phone 1" <sip:2001@192.168.1.72>;tag=254~49a57044-9b08-4504-98fd-797fb77c1515-42983622
To: <sip:phone1@br1.ccielab.com>
Indeed I am studying for CCIE Deji. Amen to being in the 20% :) When are you taking your lab? Mine is in about 3 weeks. I will be cramming between now and then. At this point I'm not where I was hoping to be, but it is what it is.
Thank you for pointing me in the right direction. I found the section on URI dial-peers in the CUBE config guide, so I will read through that before I follow up with any questions.
Mike
Deji, if I'm not mistaken, using your method of SIP profiles to modify the headers would only allow me to dial a single specific URI. What if I needed to dial multiple URIs?
I ran into the same issue going down the same path and this post seems to be the best reference. Its been a while but figured I'd post for the next guy.
Ran into some neat features in the cube config guide for copying fields from the inbound sip header and modifying the outbound with sip profiles.
voice class sip-copylist 3000
sip-header from
sip-header to
!
voice class sip-profiles 3000
request INVITE peer-header sip TO copy "sip:(.*@.*)>" u01
request INVITE sip-header To modify "sip:(.*)(>.*)" "sip:\u01\2"
request INVITE sip-header SIP-Req-URI modify ".*" "INVITE sip:\u01 SIP/2.0"
!
dial-peer voice 3000 voip
rtp payload-type cisco-codec-fax-ack 111
rtp payload-type cisco-codec-video-h264 97
session protocol sipv2
session target ipv4:172.20.110.20
destination uri 2
incoming uri to 2
voice-class sip early-offer forced
voice-class sip profiles 3000
voice-class sip copy-list 3000
dtmf-relay rtp-nte sip-kpml
codec transparent
no vad
http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/cube_fund/configuration/xe-3s/cube-fund-xe-3s-book/voi-sip-param-mod.html#task_0DC87B03479A4DD9A81AD2E405CA8EC9
Hi Mike, yes you are correct that this will only allow single directory URI. I will have to look into how to dial multiple URI. But since this is for the lab only I will just worry about dialling that URI.
Hi Guys,
for you issue , i think you will need to pass through the sip headers in the voice serivce voip global command , because by default CUBE is using the one on the dial-peer.
check this : http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/cube_proto/configuration/15-mt/cube-proto-15-mt-book/sip-supp-uri-based-dialing.pdf
Cheers
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: