cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2306
Views
12
Helpful
14
Replies

CUBE adds extra "+" sign in globalized E.164 phone format

Sinisa Hreljac
Level 1
Level 1

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.

 

1 Accepted Solution

Accepted Solutions

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


Response Signature


View solution in original post

14 Replies 14

TechLvr
Spotlight
Spotlight

@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

Unfortunately, this is not working.

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.



Response Signature


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.

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 



Response Signature


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.



Response Signature


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


Response Signature


Thank you! I was going nuts trying to fix this, but your rule worked like champ. 

rule 1 /^\+\(\+.*\)/ /\1/

Sinisa Hreljac
Level 1
Level 1

I did it this way and it works:

SinisaHreljac_0-1666078999808.png

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:

 

SinisaHreljac_1-1666079101011.png

But when that UPDATE is forwarded to CUCM:

SinisaHreljac_2-1666079240534.png

P-Asserted-Identity is transferred to Remote-Party-ID and there is extra +

 

 

 

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.



Response Signature


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.



Response Signature


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.

image.png

image.png



Response Signature


Sinisa Hreljac
Level 1
Level 1

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!

That is for sure the very best option. I'm glad you managed to get it resolved.



Response Signature