отмена
Отображаются результаты для 
Вместо этого искать 
Вы имели в виду: 
cancel
2299
Просмотры
10
Полезный материал
18
Ответы
Yury Lipkin
Beginner

Процесс выбора Dial-peer

Добрый день.

Есть голосовой шлюз с 2-мя dial-peer:

dial-peer voice 1 voip

destination-pattern 200

voice-class sip early-offer forced

session protocol sipv2

session target ipv4:10.0.131.13

dtmf-relay rtp-nte

codec g711ulaw

no vad

!

dial-peer voice 2 voip

destination-pattern 20[0-1]

voice-class sip early-offer forced

session protocol sipv2

session target ipv4:10.0.131.101

dtmf-relay rtp-nte

codec g711ulaw

no vad

Пользователь набирает номер 200

Судя по документации, должен отработать первый dial-peer, т.к. происходит максимальное совпадение цифр, но по факту dial-peer выбираются в произвольном порядке, то один, то другой.

Сначала столкнулся с проблемой у Заказчика, потом воспроизвёл на стенде - то же самое. Как объяснить подобное недокументированное поведение шлюза?

IOS 12.4-24.T5

18 ОТВЕТ 18
Igor Yakimchuk
Beginner

так у вас и по второму dial-peer происходит максимальное совпадение, ведь и там есть 200.

dial-peer voice 1 voip

destination-pattern 555[1-3]...

session target ipv4:10.1.1.1

dial-peer voice 2 voip

destination-pattern 5551...

session target ipv4:10.1.1.2

If a user dials the number 5551234, both dial peers match, but the router chooses to use

dial peer 2 because it is a more specific match (5551... matches 1000 numbers while 555[1-

3]... matches 3000 numbers).

CCNA Voice - sert guide

у себя проверил вашу схему, выбирает реально рандомно, то 1й то 2й диалпиры.

инетресно просто. Но в обоих же случаях при звонке начинающих на 5551 будет 1000 номеров. Почему тогд атак выбор идет, то есть учитывает все возможные варианты.

kogribak
Cisco Employee

А в документации, кстати, вот что написано:

Variable-Length Matching

When matching dial peers, the router defaults to variable-length matching, which means that as long as the left-justified digits in the dial string match the configured pattern in the dial peer, any digits beyond the configured pattern are ignored for the purposes of matching. For example, dial string 5551212 would match both of the following dial peers:

dial-peer voice 1 voip
 destination-pattern 555
 session target ipv4:10.10.1.1
dial-peer voice 2 voip
 destination-pattern 5551212
 session target ipv4:10.10.1.2

To disable variable-length matching for a dial peer, add the dollar sign ($) to the end of the destination pattern, as shown:

dial-peer voice 1 voip
 destination-pattern 555$
 session target ipv4:10.10.1.1

Конечно, шаблоны здесь не используются, но я полагаю, это тоже применимо.

http://www.cisco.com/en/US/docs/ios-xml/ios/voice/dialpeer/configuration/12-4/vd-dp-feat-cfg.html

Константин, спасибо за ссылку.

В общем для себя я сделал следующий вывод:

т.к. документация в общем довольно размыто описывает поведение шлюза в подобных случаях (особенно в учебнике по CVOICE), то для определённости лучше в конце строки ставить $, например destination-pattern 200$, если мы хотим, чтобы шлюз отработал вызов именно по этому диалпиру.

Да, именно так.

Константин,

А не подскажите, как выключить variable-length matching на CUCM(чтобы настроить звонки для филиалов без набора когда города, а добавлять его автоматически через translation rule)? К примеру, есть: 

Route pattern 7[2-8]!

Translation rule 7.XXXXXXX

Так вот, при наборе 7 + 7-ми значный номер, всегда матчится route pattern.

Дамир, попробуйте

7.XXXXXXX#

http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/admin/6_0_1/ccmsys/a03rp.html#wp1043520

The octothorpe (#) character generally identifies the end of the dialing sequence.

Ensure the # character is the last character in the pattern.

The route pattern 901181910555# routes or blocks an international number that is dialed from within the NANP. The # character after the last 5 identifies this digit as the last digit in the sequence.

Юрий,

Это работает. Но тогда пользователям придется набирать # после набора номера. А хотелось бы уж совсем юзер-френдли. Тем более, что это логично.. количество потенциально совпадающих номеров

Route pattern 7[2-8]! - 720000000000000 до 789999999999999 (если брать максимально 15 символов в номере)

Translation rule 7.XXXXXXX - 7000000 до 79999999

Второй диапазон явно меньше. Но видимо CUCM интерпретирует ! как-то по другому. Интересно, как-нибудь возможно это обойти

Думаю, что Route Pattern выбирается, т.к. при наборе приходят цифры при одной и 7.[2-8] дает меньше вариантов, чем 7.X

Почему бы вам не убрать Route Pattern в другой Partition? Перекрывающиеся паттерны никогда не являются хорошим дизайном.

_____
Please rate helpful posts
Пожалуйста оценивайте полезные сообщения

_____ Please rate helpful posts Пожалуйста оценивайте полезные сообщения

Он и так в другом Partition. Просто через CSS пользователя доступны оба. Убрать какой-то один Pt нельзя, так как они отвечают за разные направления.

К примеру, для Питера. Для местных звонков используется translation pattern 7.X, а для междугородних направлений 7.[2-8].

Сейчас translation pattern реализован как 7.[1-5]XXXXXX (что перекрывает 7.[2-8]). Но хочется чтобы было красиво

Дамир, для междугороднего направления можно указать чёткое количество цифр для набора номера. Разное количество цифр может быть только на международном направлении.

Ниже примеры Route Pattern'ов для стандартного филиала с 7-значными городскими номерами и выходом в город через "9":

9.8[2-478]XXXXXXXXX Long distance calls  

9.[1-79]XXXXXX Local calls 

9.89XXXXXXXXX Mobile calls 

9.810X+ International calls

9.810X+# International calls

Работает без проблем. Решётку надо набирать только для международных звонков или дождаться Interdigit Timeout.

Правильно ли я понимаю, что у вас 7 используется для выхода на PSTN?

В таком случае, у вас после 7 должен идти либо местный 7-и значный номер, либо префикс для выхода на национальные номера 8хх либо префикс выхода на международные номера 8хх

http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D0%BB%D0%B0%D0%BD_%D0%BD%D1%83%D0%BC%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8

т.е.

7.[1234679]XXXXXX - местные

7.8[34689]XXXXXXXXX - национальные

7.82[1-3]ХХХХХХХХХХ - национальные через альтернативного оператора

7.85[1-5]ХХХХХХХХХХ - национальные через альтернативного оператора

7.810! - международные

7.82[6-8]!- международные через альтернативного оператора

7.85[6-9]!- международные через альтернативного оператора

И никаких перекрывающихся паттернов

_____
Please rate helpful posts
Пожалуйста оценивайте полезные сообщения

_____ Please rate helpful posts Пожалуйста оценивайте полезные сообщения

Нужно попробовать.

А что значит "Альтернативный оператор"?