cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
442
Views
0
Helpful
7
Replies

Can`t write correct "translation-rule"

seducer666
Level 1
Level 1

Hi

I need to block all calls except "77xxx"

Calling from 77xxx to 72xxx.

Here is my config:

----------------------------------------------

voice translation-rule 1

rule 1 /\(77...$\)/ /\1/

rule 2 reject //

voice translation-profile reject_test

translate calling 1

dial-peer voice 72 pots

preference 1

destination-pattern 72...

progress_ind setup enable 3

progress_ind alert enable 8

direct-inward-dial

port 1/1:15

prefix 72

dial-peer voice 77 voip

call-block translation-profile incoming reject_test

call-block disconnect-cause incoming call-reject

destination-pattern 77...

voice-class codec 1

session protocol sipv2

session target ipv4:192.168.255.247

dtmf-relay rtp-nte

no vad

---------------------------------------------

If I test this rule all works:

----------------------------------------------

7204#test voice translation-rule 1 77901

Matched with rule 1

Original number: 77901 Translated number: 77901

Original number type: none Translated number type: none

Original number plan: none Translated number plan: none

7204#test voice translation-rule 1 77901222222

77901222222 blocked on rule 2

7204#test voice translation-rule 1 333333333

333333333 blocked on rule 2

----------------------------------------------

But when I use this rules on dial-peer,all calls drops.When I delete " rule 2 reject //" calls pass true.

Here debug:

---------------------------------------------

Apr 1 08:47:20.162: //-1/12E8115EA3FA/RXRULE/regxrule_stack_pop_RegXruleNumInfo: stack=0x7D8FA04; count=1

Apr 1 08:47:20.162: //-1/12E8115EA3FA/RXRULE/regxrule_match: Matched a call block rule; number=77901 rule precedence=2

Apr 1 08:47:20.162: //-1/12E8115EA3FA/RXRULE/regxrule_profile_block_internal: Matched with rule 2 in ruleset 1

Apr 1 08:47:20.162: //-1/12E8115EA3FA/RXRULE/regxrule_stack_pop_RegXruleNumInfo: stack=0x7D8FA04; count=0

Apr 1 08:47:20.406: //-1/F7B46E599410/RXRULE/regxrule_stack_pop_RegXruleNumInfo: stack=0x7D92A40; count=2

Apr 1 08:47:20.634: //-1/808638C18B44/RXRULE/regxrule_stack_pop_RegXruleNumInfo: stack=0x7D8E7A4; count=2

---------------------------------------------

Can anybody help me to write correct "translation-rule" ?

Thanks

7 Replies 7

paolo bevilacqua
Hall of Fame
Hall of Fame

Hi, with voip DP and "call-block" you don't need to specify reject in rule.

Just build rules so that numbers to reject are matched.

eg

rule 1 /^[^7][^7]/ //

Hope this helps, please rate post if it does!

I fined this solution " rule 1 reject /^[^7]\.*/ "

Its allows only numbers begins with 7 and block all other .But I cant understand how to transform this example to allow only 77xxx .

Have you read my answer above ? reject is not need for "call-block" lists. It is used for rules applies to pots ports or DP.

If I write something like this:

rule 1 /^[^7]/ //

All numbers except 7 will be translate.

In this example all numbers except 7 will be drop.And this what I need.

rule 1 reject /^[^7]\.*/

7204#test voice translation-rule 1 7

7 Didn't match with any of rules

7204#test voice translation-rule 1 6

6 blocked on rule 1

7204#test voice translation-rule 1 8

8 blocked on rule 1

If you can write good example,write it.

I did wrote already, read above.

All what begins with 77 is passed unchanged.

The rest is rejected.

Ok ,maybe I dont understand something but your example dont work:

voice translation-rule 1

rule 1 /^[^7][^7]/ //

!

7204(cfg-translation-rule)#do test voice translation-rule 1 77001

77001 Didn't match with any of rules

7204(cfg-translation-rule)#do test voice translation-rule 1 770011

770011 Didn't match with any of rules

7204(cfg-translation-rule)#do test voice translation-rule 1 7700111

7700111 Didn't match with any of rules

7204(cfg-translation-rule)#do test voice translation-rule 1 66001

Matched with rule 1

Original number: 66001 Translated number: 001

Original number type: none Translated number type: none

Original number plan: none Translated number plan: none

7204(cfg-translation-rule)#

Why number 66001 translates to 001 ?

Once again I need to pass only 5 digit number begins with 77 (77xxx),all other drop.

In my example all calls except 7* drops.

As mentioned above, with call-block command, you don't have to worry translations, because there are no translations.

Again: numbers that matches a rule, are rejected.

All the others are sent not reject and not translated.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: