10-17-2022 02:21 AM
Hi to all,
we have an issue with calling phone number presentation.
Setup is as follows:
PSTN <--> CUBE #1 <--> CUCM <--> CUBE #2 <--> External PBX (Awaya)
When call from PSTN that is forwarded to external PBX enters CUBE #2 from CUCM, in INVITE From: field there is correct phone number with one "+" sign (eg. <sip:+38599....@...>) but in INVITE that is sent from CUBE#2 to External PBX there are two + signs in From fiels, Contact and P-Asserted-Identity (eg. <sip:++38599....@...>)
We enabled "sip asserted-id pai" globally as we have an situation that such call from PSTN to External PBX needs to be consult transferred back to phone registered to CUCM and than correct call ID from externall caller should be shown.
In such scenario, when call is transferred back, we have an INVITE from External PBX that contains external caller ID in P-Asserted-Identity, but that phone number is also displayed with double + signs.
Our CUBE#2 is virtual appliance C8000V with IOS XE 17.8.1a software
There is no any SIP header or number manipulations configured on CUBE. Globally, there are only "header-passing" and "asserted-id pai" configured at "voice service voip / sip" section.
Is there any known reason why CUBE adds extra "+" in caller number and how to get rid of it? Without "asserted-id pai" there is no extra "+" in caller number, but in that case call that is consult transferred back to CUCM does not contain "P-Asserted-Identity" header which is needed to transfer original caller ID.
Thanks.
Solved! Go to Solution.
10-17-2022 11:24 PM
This is the defect that you're likely running into. CSCwb40096
And this would be what we did to combat the extra +.
voice translation-rule 110
rule 1 /^\+\(\+.*\)/ /\1/
!
voice translation-profile CLEAN2PLUS-OUT
translate calling 110
!
dial-peer voice 1010 voip
description Outbound Dial-Peer for inbound calls to CUCM
translation-profile outgoing CLEAN2PLUS-OUT
10-17-2022 06:43 AM
@Sinisa Hreljac, Can you apply the SIP profile below to the dial peer facing the External PBX on CUBE#2? This should remove the extra plus sign. If it doesn't work, please share the call logs from CUBE#2.
voice class sip-profiles 1
request ANY sip-header From modify "<sip:++(.*)@" "<sip:+\1@"
request ANY sip-header Contact modify "<sip:++(.*)@" "<sip:+\1@"
request ANY sip-header P-Asserted-Identity modify "<sip:++(.*)@" "<sip:+\1@"
request ANY sip-header Remote-Party-ID modify "<sip:++(.*)@" "<sip:+\1@"
!
!
dial-peer voice 1 voip (outbound to the External PBX)
voice-class sip profiles 1
10-17-2022 11:41 PM
Unfortunately, this is not working.
10-17-2022 10:27 PM
Your running into a known defect. Once I’ll get to work I’ll dig up the details on it. What we have done for this is to have a voice translation rule that outbound from the SBC to CM matches on calling number that starts with double + and then removes one +. As this is an invalid number format there are no risks in doing so. I’ll post the rule and profile we have for this as well.
10-17-2022 11:45 PM
Hi, I created translation rules and now I can strip one + in INVITE, but in process of consult transfer there is also an UPDATE sip message from external PBX that contains P-Asserted-Identity field, and when that UPDATE message is transferred from CUBE to CUCM, there is extra + in P-Asserted-Identity which causing wrong display on phone. I cannot strip that + with sip profiles on CUBE, it looks like CUBE ignores sip profile to modify sip headers.
10-18-2022 12:23 AM
Please post your section of the SIP dialog that you'd want to modify and I'll have a crack at it with the SIP profile test tool at this link. SIP-Profile Test Tool
10-18-2022 12:28 AM
Apart from the extra + removal on the call leg to CM I think that you'd likely have the same problem on the leg to your Avaya PBX. Did you put the remove extra plus on both SBC in the egress direction? Come to think of it you'll likely need to have it in any egress direction on both SBC, ie egress to CM and to Avaya on CUBE #2 and to CM on CUBE #1.
10-17-2022 11:24 PM
This is the defect that you're likely running into. CSCwb40096
And this would be what we did to combat the extra +.
voice translation-rule 110
rule 1 /^\+\(\+.*\)/ /\1/
!
voice translation-profile CLEAN2PLUS-OUT
translate calling 110
!
dial-peer voice 1010 voip
description Outbound Dial-Peer for inbound calls to CUCM
translation-profile outgoing CLEAN2PLUS-OUT
04-26-2023 04:57 PM
Thank you! I was going nuts trying to fix this, but your rule worked like champ.
rule 1 /^\+\(\+.*\)/ /\1/
10-18-2022 12:49 AM
I did it this way and it works:
That profile is associated to all outgoing dialpeers from CUBE (to Awaya and back to CUCM).
Regarding SIP dialog, this is UPDATE that we received from Avaya:
But when that UPDATE is forwarded to CUCM:
P-Asserted-Identity is transferred to Remote-Party-ID and there is extra +
10-18-2022 01:05 AM - edited 10-18-2022 01:05 AM
I'm sorry but I need the SIP dialog as text to use it in the SIP profile test tool. Please replace anything that you do not want to post as you masked some parts in the picture.
10-18-2022 01:08 AM
Apart from that your rule is not matching what I posted. Your missing the ^ on the match part and yours are not slicing the second plus so that you'll have to add a plus on the replace side.
10-18-2022 01:24 AM - edited 10-18-2022 01:30 AM
I looked up some old SIP debug output that I have and made a test. This profile should do the job for you.
voice class sip-profiles 1
request ANY sip-header P-Asserted-Identity modify "<sip:\+(\+.*)@(.*)" "<sip:\1@\2"
response ANY sip-header P-Asserted-Identity modify "<sip:\+(\+.*)@(.*)" "<sip:\1@\2"
request ANY sip-header Remote-Party-ID modify "<sip:\+(\+.*)@(.*)" "<sip:\1@\2"
response ANY sip-header Remote-Party-ID modify "<sip:\+(\+.*)@(.*)" "<sip:\1@\2"
At least the test I made with the test tool indicates that.
10-18-2022 02:15 AM
Thanks for your contribution on this issue. I resolved it by upgrading current CUBE image to fixed release as mentioned in CSCwb40096
So no translations or sip header manipulations are needed.
Thanks for pointing to bug!
10-18-2022 02:52 AM
That is for sure the very best option. I'm glad you managed to get it resolved.
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