cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

1558
Views
15
Helpful
12
Replies
ronin2k8cronus
Beginner

CME 7.1 calling id problem

Hi guys,

I am trying to modify the calling number of a dn when I am calling to PSTN but not by using voice translation-profiles on outgoing dial-peers.

Let me describe the problem a little more.

My client has about 250 phones on a CME 7.1 with two E1's to connect to the PSTN.

I have some dn's numbered 71XX. I am trying to translate 71XX to 903721958400 (this is the general rule). Everything ok so far, but my problem is that I have more than 15 exceptions to the general rule (7122 to 903721958422, 7147 to 903721958447,... you get the point).  I cannot make the general rule 71XX to 9037219584XX because again there are too many exceptions (I am limited to the 16 rules possible in the translation rules).

Is there any other way to modify the calling number other than applying a translation-profile to the outgoing-dial peer? I did try to apply translation-profiles to ephone-dns but it modifies the number for internal calls to, not just for external calls.

Thnak you for your help.

2 ACCEPTED SOLUTIONS

Accepted Solutions
dijohn
Cisco Employee

You can have patterns on both Dial-peer and voice-port

You can try num-exp too

voice translation-rule 10

rule 1 /3009/ /123\0/

!

voice translation-rule 11

rule 1 /1233009/ /555\0/

!

voice translation-profile ON_DIALPEER

translate calling 10

!

voice translation-profile ON_PORT

translate calling 11

!

dial-peer voice 3 pots

translation-profile outgoing ON_DIALPEER

destination-pattern 911

port 0/0/0:15

prefix 911

!

voice-port 0/0/0:15

translation-profile outgoing ON_PORT

3009 ----> 1233009(Dial-peer) ----> 5551233009 (On_Port)

EU-R5-BR2#

099851: Jan 29 18:35:46.284: //-1/xxxxxxxxxxxx/RXRULE/regxrule_get_profile_from_trunkgroup_internal: Voice port 0x486D7438 does not belong to any trunk group

099852: Jan 29 18:35:46.288: //-1/6BB71D7598C9/RXRULE/regxrule_stack_pop_RegXruleNumInfo: stack=0x48BCC330; count=1

099853: Jan 29 18:35:46.288: //-1/6BB71D7598C9/RXRULE/regxrule_stack_pop_callinfo_internal: numinfo=0x475A502C

099854: Jan 29 18:35:46.288: //-1/6BB71D7598C9/RXRULE/regxrule_stack_push_RegXruleNumInfo_internal: stack=0x48BCC330; count=1

099855: Jan 29 18:35:46.840: //-1/6BB71D7598C9/RXRULE/regxrule_stack_push_RegXruleNumInfo_internal: stack=0x48BCC330; count=2

099856: Jan 29 18:35:46.840: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number=3009 type=unknown plan=unknown numbertype=calling

099857: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Matched with rule 1 in ruleset 10

099858: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Matched with rule 1 in ruleset 10

099859: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/sed_subst: Successful substitution; pattern=3009 matchPattern=3009 replacePattern=123\0 replaced pattern=1233009

099860: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_subst_num_type: Match Type = none, Replace Type = none Input Type = unknown

099861: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_subst_num_plan: Match Plan = none, Replace Plan = none Input Plan = unknown

099862: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: xlt_number=1233009 xlt_type=unknown xlt_plan=unknown

099863: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number=911 type=unknown plan=unknown numbertype=called

099864: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_get_RegXrule: Invalid translation ruleset tag=0

099865: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Error: ruleset for called number not found

099866: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: No match: number=911 type=unknown plan=unknown

099867: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number= type=unknown plan=unknown numbertype=redirect-target

099868: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_get_RegXrule: Invalid translation ruleset tag=0

099869: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Error: ruleset for redirect-target number not found

099870: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: No match: number= type=unknown plan=unknown

099871: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number= type=unknown plan=unknown numbertype=redirect-called

099872: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_get_RegXrule: Invalid translation ruleset tag=0

099873: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Error: ruleset for redirect-called number not found

099874: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: No match: number= type=unknown plan=unknown

099875: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_dp_translate: calling_number=1233009 calling_octet=0x0

        called_number=911 called_octet=0x80

        redirect_number= redirect_type=0 redirect_plan=0        redirect_PI=0 redirect_SI=0

099876: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_get_profile_from_voiceport_internal: Found profile ON_PORT defined on voice-port

099877: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number=1233009 type=unknown plan=unknown numbertype=calling

099878: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Matched with rule 1 in ruleset 11

099879: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Matched with rule 1 in ruleset 11

099880: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/sed_subst: Successful substitution; pattern=1233009 matchPattern=1233009 replacePattern=555\0 replaced pattern=5551233009

099881: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_subst_num_type: Match Type = none, Replace Type = none Input Type = unknown

099882: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_subst_num_plan: Match Plan = none, Replace Plan = none Input Plan = unknown

099883: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: xlt_number=5551233009 xlt_type=unknown xlt_plan=unknown

099884: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number=911 type=unknown plan=unknown numbertype=called

099885: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_get_RegXrule: Invalid translation ruleset tag=0

099886: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Error: ruleset for called number not found

099887: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: No match: number=911 type=unknown plan=unknown

099888: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number= type=unknown plan=unknown numbertype=redirect-called

099889: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_get_RegXrule: Invalid translation ruleset tag=0

099890: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Error: ruleset for redirect-called number not found

099891: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: No match: number= type=unknown plan=unknown

099892: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_vp_translate: calling_number=5551233009 calling_octet=0x0

        called_number=911 called_octet=0x80

        redirect_number= redirect_type=0 redirect_plan=0

099893: Jan 29 18:35:46.860: ISDN Se0/0/0:15 Q931: Applying typeplan for sw-type 0x2 is 0x2 0x1, Calling num 5551233009

099894: Jan 29 18:35:46.860: ISDN Se0/0/0:15 Q931: Sending SETUP  callref = 0x008B callID = 0x800C switch = primary-4ess interface = User

099895: Jan 29 18:35:46.864: ISDN Se0/0/0:15 Q931: TX -> SETUP pd = 8  callref = 0x008B

        Bearer Capability i = 0x8090A3

                Standard = CCITT

                Transfer Capability = Speech 

                Transfer Mode = Circuit

                Transfer Rate = 64 kbit/s

        Channel ID i = 0xA98381

                Exclusive, Channel 1

        Display i = 'XXX'

        Calling Party Number i = 0x2180, '5551233009'

                Plan:ISDN, Type:National

        Called Party Number i = 0xA1, '911'

                Plan:ISDN, Type:National

099896: Jan 29 18:35:46.924: ISDN Se0/0/0:15 Q931: RX <- CALL_PROC pd = 8  callref = 0x808B

        Channel ID i = 0xA98381

                Exclusive, Channel 1

HTH

PS: Rate useful posts.!

View solution in original post

Use patterns, not punctual transaltations.

You can also use COR so that certain phones will go out certain DPs with the appropriate translation.

View solution in original post

12 REPLIES 12
dijohn
Cisco Employee

You can do this using translation rules. Rules get executed ina TOP DOWN fashion. Once a rule is matched then the processing of other rules further down isn't done. so..

For Eg.

EU-R3-BR1#sh run | sec trans

voice translation-rule 1

rule 1 /^9011/ //

rule 2 /^7122$/ /903721958422/

rule 3 /^71..$/ /903721958400/

EU-R3-BR1#test voice translation-rule 1 7122

Matched with rule 2

Original number: 7122   Translated number: 903721958422

Original number type: none      Translated number type: none

Original number plan: none      Translated number plan: none

EU-R3-BR1#test voice translation-rule 1 7123

Matched with rule 3

Original number: 7123   Translated number: 903721958400

Original number type: none      Translated number type: none

Original number plan: none      Translated number plan: none

7122 is an exception. 7123 is general rule to HEAD Number.

HTH

PS:Rate only useful posts

This is my current implementation.

The problem is that I have more than 15 numbers that need specific transformation. In the example you have provided 7122 is in that situation. I will need to transform 7122, 7123, .... (more than 15 numbers). Voice translation-rule have a limit of 16 transformation (i am using one for the general rule and 15 for some specific transformation). So I can not use this method once my 16 specific transformation is needed.

Thank you for participating in my quest for the solution.

Hi,

Can you list your exception to see if we can make less rules than exceptions.

Regards.

Alain.

Don't forget to rate helpful posts.
dijohn
Cisco Employee

You can have patterns on both Dial-peer and voice-port

You can try num-exp too

voice translation-rule 10

rule 1 /3009/ /123\0/

!

voice translation-rule 11

rule 1 /1233009/ /555\0/

!

voice translation-profile ON_DIALPEER

translate calling 10

!

voice translation-profile ON_PORT

translate calling 11

!

dial-peer voice 3 pots

translation-profile outgoing ON_DIALPEER

destination-pattern 911

port 0/0/0:15

prefix 911

!

voice-port 0/0/0:15

translation-profile outgoing ON_PORT

3009 ----> 1233009(Dial-peer) ----> 5551233009 (On_Port)

EU-R5-BR2#

099851: Jan 29 18:35:46.284: //-1/xxxxxxxxxxxx/RXRULE/regxrule_get_profile_from_trunkgroup_internal: Voice port 0x486D7438 does not belong to any trunk group

099852: Jan 29 18:35:46.288: //-1/6BB71D7598C9/RXRULE/regxrule_stack_pop_RegXruleNumInfo: stack=0x48BCC330; count=1

099853: Jan 29 18:35:46.288: //-1/6BB71D7598C9/RXRULE/regxrule_stack_pop_callinfo_internal: numinfo=0x475A502C

099854: Jan 29 18:35:46.288: //-1/6BB71D7598C9/RXRULE/regxrule_stack_push_RegXruleNumInfo_internal: stack=0x48BCC330; count=1

099855: Jan 29 18:35:46.840: //-1/6BB71D7598C9/RXRULE/regxrule_stack_push_RegXruleNumInfo_internal: stack=0x48BCC330; count=2

099856: Jan 29 18:35:46.840: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number=3009 type=unknown plan=unknown numbertype=calling

099857: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Matched with rule 1 in ruleset 10

099858: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Matched with rule 1 in ruleset 10

099859: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/sed_subst: Successful substitution; pattern=3009 matchPattern=3009 replacePattern=123\0 replaced pattern=1233009

099860: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_subst_num_type: Match Type = none, Replace Type = none Input Type = unknown

099861: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_subst_num_plan: Match Plan = none, Replace Plan = none Input Plan = unknown

099862: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: xlt_number=1233009 xlt_type=unknown xlt_plan=unknown

099863: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number=911 type=unknown plan=unknown numbertype=called

099864: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_get_RegXrule: Invalid translation ruleset tag=0

099865: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Error: ruleset for called number not found

099866: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: No match: number=911 type=unknown plan=unknown

099867: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number= type=unknown plan=unknown numbertype=redirect-target

099868: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_get_RegXrule: Invalid translation ruleset tag=0

099869: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Error: ruleset for redirect-target number not found

099870: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: No match: number= type=unknown plan=unknown

099871: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number= type=unknown plan=unknown numbertype=redirect-called

099872: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_get_RegXrule: Invalid translation ruleset tag=0

099873: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Error: ruleset for redirect-called number not found

099874: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: No match: number= type=unknown plan=unknown

099875: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_dp_translate: calling_number=1233009 calling_octet=0x0

        called_number=911 called_octet=0x80

        redirect_number= redirect_type=0 redirect_plan=0        redirect_PI=0 redirect_SI=0

099876: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_get_profile_from_voiceport_internal: Found profile ON_PORT defined on voice-port

099877: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number=1233009 type=unknown plan=unknown numbertype=calling

099878: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Matched with rule 1 in ruleset 11

099879: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Matched with rule 1 in ruleset 11

099880: Jan 29 18:35:46.844: //-1/6BB71D7598C9/RXRULE/sed_subst: Successful substitution; pattern=1233009 matchPattern=1233009 replacePattern=555\0 replaced pattern=5551233009

099881: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_subst_num_type: Match Type = none, Replace Type = none Input Type = unknown

099882: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_subst_num_plan: Match Plan = none, Replace Plan = none Input Plan = unknown

099883: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: xlt_number=5551233009 xlt_type=unknown xlt_plan=unknown

099884: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number=911 type=unknown plan=unknown numbertype=called

099885: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_get_RegXrule: Invalid translation ruleset tag=0

099886: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Error: ruleset for called number not found

099887: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: No match: number=911 type=unknown plan=unknown

099888: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: number= type=unknown plan=unknown numbertype=redirect-called

099889: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_get_RegXrule: Invalid translation ruleset tag=0

099890: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_match_internal: Error: ruleset for redirect-called number not found

099891: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_profile_translate_internal: No match: number= type=unknown plan=unknown

099892: Jan 29 18:35:46.848: //-1/6BB71D7598C9/RXRULE/regxrule_vp_translate: calling_number=5551233009 calling_octet=0x0

        called_number=911 called_octet=0x80

        redirect_number= redirect_type=0 redirect_plan=0

099893: Jan 29 18:35:46.860: ISDN Se0/0/0:15 Q931: Applying typeplan for sw-type 0x2 is 0x2 0x1, Calling num 5551233009

099894: Jan 29 18:35:46.860: ISDN Se0/0/0:15 Q931: Sending SETUP  callref = 0x008B callID = 0x800C switch = primary-4ess interface = User

099895: Jan 29 18:35:46.864: ISDN Se0/0/0:15 Q931: TX -> SETUP pd = 8  callref = 0x008B

        Bearer Capability i = 0x8090A3

                Standard = CCITT

                Transfer Capability = Speech 

                Transfer Mode = Circuit

                Transfer Rate = 64 kbit/s

        Channel ID i = 0xA98381

                Exclusive, Channel 1

        Display i = 'XXX'

        Calling Party Number i = 0x2180, '5551233009'

                Plan:ISDN, Type:National

        Called Party Number i = 0xA1, '911'

                Plan:ISDN, Type:National

099896: Jan 29 18:35:46.924: ISDN Se0/0/0:15 Q931: RX <- CALL_PROC pd = 8  callref = 0x808B

        Channel ID i = 0xA98381

                Exclusive, Channel 1

HTH

PS: Rate useful posts.!

View solution in original post

Indeed a good ideea. This will extend my number of possible exception to 30.

Thank you for your help.

Is there a diffrent approach in which you will not be limited to a number of exceptions? Like having an external number mask or something like that.

Num-exp should work... have to try in my lab though :-)

You can try looping calls...voip to voip then pots then port

dijohn
Cisco Employee

Here's a post which should help you

https://supportforums.cisco.com/thread/2034931

HTH

PS: Rate Useful posts!

My notes on number expansion say that it "manipulates called number" so this will not be a solution.

Cascading the call through multiple dial-peers is another good ideea. It will probably be a configuration nightmare because it will be very difficult to see through all the manipulations (it will be good to keep the client because no one else will be able to read what I have done - unless for proper doc ).

Thanks for your help.

Yup. You are correct.!

YEah looping dial-peers is a night mare.!

Get a CUCMBE.

Use patterns, not punctual transaltations.

You can also use COR so that certain phones will go out certain DPs with the appropriate translation.

View solution in original post

@Paolo Nice one with the COR lists :-)... Slipped my mind though...

Very nice ideas guys. Thank you all for this brainstorming session.

For now I will go with applying translation profiles on dp and voice port, but very soon i will try the COR ideea since the client asked about hiding the identity for certain numbers (clid restrict - on certain dp will work just great). Looks like a lot of things you can do on CM are possible on CME with a lot of ingeniozity and help from friends.

Content for Community-Ad