Inbound call rejected with leading +

Answered Question
Apr 20th, 2009

I have a small router with Call manager Express on it. I have the system recieving and sending calls from a SIP provider. I also have calls coming in over regular internet to my IP address. Some calls are rejected though. If there is a leading + infront, the Call manager sends a 404 response. If the call comes in without the leading + it works no problem.

I guess my question is how do you get all inbound calls to remove a + if a call comes in with a plus but leave all other calls alone if there is no leading +

I have this problem too.
0 votes
Correct Answer by gogasca about 7 years 7 months ago

can we do:

debug voice ccapin ino

and debug the voice translation rules as well.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
gogasca Tue, 04/21/2009 - 02:24

You can configure a Voice translation rule to remove the (+) plus, before passing it to cucm

in CUCM \+ represents \+

CSCsj17772 is the DDTS which strips the leading '+' in calling/called numbers.

This change was re-introduced so as to be in compliance with the Q.931 standard and also this was the old behavior of

IOS.

According to Q.931, there are two ways to represent an international

number in Q.931 calling party number field (Table 4-11/Q.931, TON):

1. Set TON (Type Of Number) as 'unknown', and include the full number

including the international prefix (+) in Octet 4.

2. Set TON as 'international', and include the full number without

international prefix in Octet 4.

The latter method is the typical one.

To overcome the below issue and if CSCsj17772 fix should not come into

picture, then configure a translation-profile at the inbound dial-peer

such that + will not be stripped.

At global level, configure the following

voice translation-rule 1

rule 1 /^\+/ //

In this case configure a dummy translation rule such that whatever is received will be retained as it is */

!

!

voice translation-profile voip-generic

translate called 1

!

At inbound dial-peer level, configure the following:

Since the matching inbound dial-peer in the customer scenario is "2",

please add the following to this dial-peer.

"translation-profile incoming voip-generic"

dial-peer voice 2 voip

translation-profile incoming voip-generic

service session

session protocol sipv2

session transport tcp

incoming called-number .

codec g711ulaw

no vad

By configuring as shown above, the fix of CSCsj17772 will not be

applied. So now the '+' will not be stripped and TON not set to

"International". By this you don't send the + to cucm

SiteA#test voice translation-rule 1 +14089022653

Matched with rule 1

Original number: +14089022653 Translated number: 14089022653

Original number type: none Translated number type: none

Original number plan: none Translated number plan: none

connectone Tue, 04/21/2009 - 14:33

Thanks for the tip. This actually works to remove the + when I do the test command you show above. The one thing that is still not happening is that the DID is not forwarding to the 201 extension but still gives a 404 response to the caller.

So in your example, if a person calls 14089022653 from outside the system it is translated to 201 it rings my IP communicator. When sending the call with the plus, it gave 404. with the rule I put in we are still expeiriencing a 404 on the inbound call.

What would I be missing in this configuration.

This is what is in the Call Manager Express router.

voice translation-rule 1

rule 1 /^\+/ //

!

voice translation-rule 4

rule 1 /14165551212/ /201/

!

!

voice translation-profile FDID_Called_4

translate called 4

voice translation-profile voip-generic

translate called 1

!

dial-peer voice 3000 voip

description FDID

translation-profile incoming FDID_Called_4

voice-class codec 1

voice-class sip dtmf-relay force rtp-nte

session protocol sipv2

session target sip-server

incoming called-number 14165551212

dtmf-relay rtp-nte

ip qos dscp cs5 media

ip qos dscp cs4 signaling

no vad

!

dial-peer voice 3006 voip

description strip the plus

translation-profile incoming voip-generic

voice-class codec 1

voice-class sip dtmf-relay force rtp-nte

session protocol sipv2

session target sip-server

incoming called-number .

dtmf-relay rtp-nte

ip qos dscp cs5 media

ip qos dscp cs4 signaling

no vad

ephone-dn 11 dual-line

number 201 secondary 14165551212 no-reg primary

label 201

description Phone User

name Phone User

call-forward busy 401

call-forward noan 401 timeout 15

ephone 6

device-security-mode none

video

mac-address 001F.6C80.9033

username "phoneuser" password 1234

type 7971

button 1:11

Correct Answer
gogasca Tue, 04/21/2009 - 22:53

can we do:

debug voice ccapin ino

and debug the voice translation rules as well.

connectone Wed, 04/22/2009 - 14:31

I turned on the debug, and saw it was trying dial-peer 1000.

I looked for that and it was not with the rest of the voip dial-peers. It was matching on .%

I added the translation rule to that dial-peer and it is striping the +.

Thanks

Actions

This Discussion