12-19-2014 03:34 PM - edited 03-17-2019 01:23 AM
Hello All,
We have installed a CUBE to communicate with the SIP provider, the setup goes as followed:
Call Manager => CUBE => SIP Provider , The CUBE has 2 interfaces: LAN & to SIP provider. The network for the SIP media is not a directly connected network because the provider has added his own router, so we had to add a static route in order to route the traffic.
Now we are facing with a small trickle here, the provider only accepts / sends the numbers as the full e.164 (in sweden +46). Which is a bit difficult for us because in Call Manager we try to send all the numbers to CUBE as e.164. So if for example someone types 2 zeroes to dial outside line, one 0 for outside the office and the other for the land line, there is a translation patterns that puts those to 2 zeroes to a +
The problem we are having is that we can't dial outside because we have some overlapping dial - peer:
For example the voip dial-peer to call manager looks like this:
dial peer voice voip 100
destination-pattern +46850441...
session target <cucm pub ip>
preference 1
dial peer voice voip 101
destination-pattern +46850441...
session target <cucm sub ip>
preference 2
The one to the provider looks like this:
dial peer voice voip 1
destination pattern +T
session target <provider>
As you can see it overlaps, so when we call out, you can see in the dial-peer voice inout debug that he matches all the dialpeers and is unable to dial out.
What i could do there is to modify the incomming number from the provider? Say we could make a translation profile for this, where i translate the full e.164 number to 8 digits that match a DN in call manager.
translation profile 1
rule 1 /46850441/ /23088/ => So all the digits that follow the "441" will be added on the back to "23088" and like that sent to Call Manager and i could change my destination pattern. But this has one problem, the provider sends +46, how can i match that + in my translation profile?? For example:
rule 1 /+46850441/ /23088/ => Doesn't work because he sees that + as a regular expression, is there a way to match that incoming number?
The current situation is that we take in the full E.164 in the CUBE and do the translation to internal numbers on Call Manager.
I will provider full config tomorrow
Kr,
12-20-2014 05:43 AM
Guys,
I think the main problem is that we are not reaching their destination for outgoing calls.
The dial-peer is configured with a DNS name, and in the Cisco Router there is the command to resolve it
ip host c-se-19149.btrunk.se X.X.X.X => with the ip address behind it
Ok the dial peers go as following:
!
dial-peer voice 1 voip
description Outbound SIP Calling TDC
preference 1
destination-pattern +.T
session protocol sipv2
session target dns::c-se-19149.btrunk.se
voice-class codec 1
voice-class sip bind control source-interface GigabitEthernet0/1.99
voice-class sip bind media source-interface GigabitEthernet0/1.99
dtmf-relay rtp-nte
no vad
!
dial-peer voice 100 voip
description VoIP Dial Peer to CUCM Sub
preference 1
destination-pattern +46850441...
session protocol sipv2
session target ipv4:10.3.26.10
voice-class codec 1
voice-class sip bind control source-interface GigabitEthernet0/1.101
voice-class sip bind media source-interface GigabitEthernet0/1.101
dtmf-relay rtp-nte
no vad
!
dial-peer voice 101 voip
description VoIP Dial Peer to CUCM Pub
preference 2
destination-pattern +46850441...
session protocol sipv2
session target ipv4:10.3.26.11
voice-class codec 1
voice-class sip bind control source-interface GigabitEthernet0/1.101
voice-class sip bind media source-interface GigabitEthernet0/1.101
dtmf-relay rtp-nte
no vad
!
If i change the dns name towards the IP of the provider i get a forbidden, i will attach the traces of the CUBE. The forbidden trace is when i changed the session target to the IP, and the not found is when i changed the session target to the DNS name
PLEASE NOTE: In order to test the outgoing calling, i had to forward an internal phone to a national number locally, because i don't have a test phone onsite and neither a softphone.
01-07-2015 09:36 AM
This issue has been resolved
We had the to change the following:
in the "voice service voip"
the local dns: Must be set to the trunk address of the provider to make outbound calling work and get the correct headers
Under the SIP-UA configuration we had to change the SIP server:
The provider didn't accept an IP but a DNS name, but i forgot the SIP port so: dnsname:5060
This resolved the issue entirely
12-20-2014 08:15 AM
Like CUCM, you need to put \ in front of + in IOS also to match the + prefix.
ex: rule 1 /^\+46850441/ /23088/
result: Original number: +46850441999 Translated number: 23088999
if after this translation too, the calls are not working, capture debug ccsip message & debug voice ccapi inout for a test call and provide the calling & called number and the relevant config
12-22-2014 12:14 AM
The translation works in incoming calls perfect
I still can't dial out to the provider, still says SIP 404 not found, i've atteched the trace
To make it clear, i'm calling a number into the site with a forward to dial out
Called Numb: +3222299024
Calling number: +46850441886
Forwarded to: +32474804628
This fails to call out
12-22-2014 12:27 AM
seems provider is not responding back to the forwarded call invite message.
can you enable 'Redirecting Diversion Header Outbound' in the SIP Trunk and try making the test call please.
also collect 'debug voice ccapi inout' which will give information on which dialpeers the calls are matching. we need to capture debug ccsip message together with the mentioned one.
also the CUBE disconnected the call with Reason: Q.850;cause=3.
*Dec 22 09:08:19: //4928/CD995C800000/SIP/Msg/ccsipDisplayMsg:
Sent:
SIP/2.0 404 Not Found
Via: SIP/2.0/TCP 10.3.26.11:5060;branch=z9hG4bK2ba23216630c6
From: <sip:+3222299024@c-se-15343-scnd.btrunk.se>;tag=1006004~5eaf8f8c-6191-4e99-9578-b6d8606e956f-30782575
To: <sip:+32474804628@10.90.49.10>;tag=8244E6C-952
Date: Mon, 22 Dec 2014 08:08:14 GMT
Call-ID: cd995c80-4971d1a6-962b-b1a030a@10.3.26.11
CSeq: 101 INVITE
Allow-Events: telephone-event
Server: Cisco-SIPGateway/IOS-15.3.3.M3
Reason: Q.850;cause=3
Content-Length: 0
>> You may need to consider the DNS resolution configuration as well.
12-22-2014 01:15 AM
Hey,
I'm still getting an error dialing-out, i've attched the trace to the message.
I was also thinking in the lines of a dns problem, this is something i don't understand about this configuration.
When you try to dial the provider over DNS what do you need on the CUBE?
I've already added the following:
ip host c-se-19149.btrunk.se 195.22.64.67
I've added this to CUBE so he can resolve the name to IP
!
voice service voip
ip address trusted list
ipv4 10.90.49.0 255.255.255.0
ipv4 195.22.64.0 255.255.255.0
no ip address trusted authenticate
address-hiding
media statistics
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
sip
registrar server
redirect contact order best-match
localhost dns:c-se-15343-scnd.btrunk.se
early-offer forced
!
12-22-2014 01:38 AM
This is the info the provider sends me for outbound calling
Outbound Call Format
Considering the above, the requirements on an outbound INVITE can be
summarized as follows:
1. The From- and To-header must contain E.164 numbers with a leading
plus in the user part. The user part in the From-header must be a
provisioned user.
2. The From- and To-header must contain the same domain name as
used while registering the trunk.
3. A P-Asserted-Identity-header must be included, containing the same
trunk URI as used while registering the trunk (this does not apply
when using peering). A P-Preferred-Identity-header can be used instead
of a P-Asserted-Identity-header.
4. An SDP body must be included.
VALID Header for them:
INVITE sip:+46851981808@c-tdctest18.btrunk.se SIP/2.0
Via: SIP/2.0/UDP 88.131.246.78:5060;branch=z9hG4bK2b579317;rport
From: <sip:+46851911091@c-tdctest18.btrunk.se>;tag=as532da744
To: <sip:+46851981808@c-tdctest18.btrunk.se>
Contact: <sip:+46851911091@88.131.246.78>
Call-ID: 54618fa404194c9e6beec60a44ceba94@c-tdctest18.btrunk.se
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Tue, 19 Oct 2010 13:14:06 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
P-Asserted-Identity: <sip:4685191109101@c-tdctest18.btrunk.se>
Content-Type: application/sdp
Content-Length: 184
12-22-2014 02:23 AM
As per their requirement, you are sending FROM & TO headers with E164 format & domain name and SDP also included but PAI is missing.
you may check the 'Asserted Identity' under Call Routing Information in the SIP Trunk and select the 'Asserted type' as PAI.
BTW, the debugs you've attached in incomplete. please attach the complete logs after checking the PAI
*Dec 22 10:09:32: //5164/5B7945800000/SIP/Msg/ccsipDisplayMsg:
Sent:
INVITE sip:+3222299024@c-se-19149.btrunk.se:5060 SIP/2.0
Via: SIP/2.0/UDP 10.90.49.130:5060;branch=z9hG4bK11B8C9
Remote-Party-ID: "Georgios Sarampasinas" <sip:+46850441886@c-se-15343-scnd.btrunk.se>;party=calling;screen=yes;privacy=off
From: "Georgios Sarampasinas" <sip:+46850441886@c-se-19149.btrunk.se>;tag=85C4F28-845
To: <sip:+3222299024@c-se-19149.btrunk.se>
Date: Mon, 22 Dec 2014 09:09:32 GMT
Call-ID: 11F1A660-88F111E4-9809DA8E-6E23C3C9@c-se-15343-scnd.btrunk.se
Supported: 100rel,timer,resource-priority,replaces,sdp-anat
Min-SE: 1800
Cisco-Guid: 1534674304-0000065536-0000034592-0186254090
User-Agent: Cisco-SIPGateway/IOS-15.3.3.M3
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
CSeq: 101 INVITE
Timestamp: 1419239372
Contact: <sip:+46850441886@10.90.49.130:5060>
Expires: 180
Allow-Events: telephone-event
Max-Forwards: 69
Session-Expires: 1800
Content-Type: application/sdp
Content-Disposition: session;handling=required
Content-Length: 318
v=0
o=CiscoSystemsSIP-GW-UserAgent 5780 5899 IN IP4 10.90.49.130
s=SIP Call
c=IN IP4 10.90.49.130
t=0 0
m=audio 17432 RTP/AVP 0 8 18 101
c=IN IP4 10.90.49.130
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
12-22-2014 02:42 AM
12-22-2014 08:41 AM
can you enable both debug voice ccapi inout & debug ccsip messge together pelase
12-23-2014 04:43 AM
12-23-2014 06:27 AM
Suresh,
Found something out, we are doing sip peering with the provider, only asked it 4 times to them.
We needed to change the sip-server to X.X.X.X:5060 and not to the DNS name.
But now they are saying the to & from header are wrong
They are saying the From & To headers must contain their names, i've put generic names where the provider says things have to be changed.
-example.com
- IP SIP provider
Via: SIP/2.0/UDP 10.90.1.2:5060;branch=z9hG4bK34F19A2
From: "User" <sip:+46850441886@example.com>;tag=E83EB70-22CB
To: <sip:+3222299024@IP SIP provider>
Date: Tue, 23 Dec 2014 13:50:28 GMT
Call-ID: 7D394C6C-89E111E4-AEC4DA8E-6E23C3C9@greif.com
Supported: 100rel,timer,resource-priority,replaces
Min-SE: 1800
Cisco-Guid: 3332523264-0000065536-0000035013-0186254090
User-Agent: Cisco-SIPGateway/IOS-15.3.3.M3
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
CSeq: 101 INVITE
Timestamp: 1419342628
Contact: <sip:+46850441886@10.90.1.2:5060>
Expires: 180
Allow-Events: telephone-event
Max-Forwards: 69
Session-Expires: 1800
Content-Type: application/sdp
Content-Disposition: session;handling=required
Content-Length: 244
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide