Добрый вечер!
Проблема следующего характера:
Как прописать маршрутизацию исходящего звонка в зависимости от Caller ID?В частности есть:
3 номера подключены к АТС Panas600 он подключен по E1 (QSIGMaster) к Cisco2811
она соединяется по Eth с Cisco2801, которая в свою очередь подключена аналогично
по e1 к Panas200CO1 TA 2222
1TG \ |
CO2 - [PanasTDA600]---e1---[Cisco2811]----eth----[Cisco 2801]---e1---[PanasTDA200]
/ |
2TG CO3 TA 2111
Звонки пользователей в город с аппаратов подключеных к TDA 200 (TA 2222, TA 2111) проходят через Panas200, последовательно через кошки и выходят в город через 1 TG на Panas600:Диалпиры кошек для звонков:
[Cisco 2801]
dial-peer voice 9 voip
description Call to City
destination-pattern 9[1-5,9]......
session target ipv4:192.168.195.1
dtmf-relay h245-alphanumeric
fax protocol t38 ls-redundancy 0 hs-redundancy 0 fallback cisco
ip qos dscp cs5 media
ip qos dscp cs3 signaling[Cisco 2811]
dial-peer voice 9 pots
description Call to City
huntstop
destination-pattern 9[1-5,9]......
no digit-strip
direct-inward-dial
port 0/3/0:15Нужно чтобы звонок в город с ТА 2111 выходил через 2TG (CO3):
для этого создал правило замены 9 на 802 (номер TG), и создал еще один диалпир:[Cisco 2811]
translation-rule 1
Rule 1 ^9 802dial-peer voice 92 pots
description Call to City throw TG2
huntstop
answer-address 2111
destination-pattern 9[1-5,9]......
translate-outgoing called 1
no digit-strip
port 0/3/0:15Но при звонке с номера TA 2111 выбирается произвольно то 9 то 92 диалпир,
соотвественно выход осуществляется то по 1TG то по 2TG тоже самое и для аппарата TA 2222.Получается что при выборе диалпира не учитывается answer-address?
Вот лог по диалпиру при звонке:
007877: Dec 14 22:46:55 SAMDT: //-1/xxxxxxxxxxxx/DPM/dpAssociateIncomingPeerCore: Calling Number=1901, Called Number=, Voice-Interface=0x46E0E450, Timeout=TRUE, Peer Encap Type=ENCAP_VOICE, Peer Search Type=PEER_TYPE_VOICE, Peer Info Type=DIALPEER_INFO_SPEECH
007878: Dec 14 22:46:55 SAMDT: //-1/xxxxxxxxxxxx/DPM/dpAssociateIncomingPeerCore: Result=Success(0) after DP_MATCH_ANSWER; Incoming Dial-peer=92
007879: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Calling Number=, Called Number=9, Peer Info Type=DIALPEER_INFO_SPEECH
007880: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Match Rule=DP_MATCH_DEST; Called Number=9
007881: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Result=Partial Matches(1) after DP_MATCH_DEST
007882: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersMoreArg: Result=MORE_DIGITS_NEEDED(1)
007883: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Calling Number=, Called Number=92, Peer Info Type=DIALPEER_INFO_SPEECH
007884: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Match Rule=DP_MATCH_DEST; Called Number=92
007885: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Result=Partial Matches(1) after DP_MATCH_DEST
007886: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersMoreArg: Result=MORE_DIGITS_NEEDED(1)
007887: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Calling Number=, Called Number=924, Peer Info Type=DIALPEER_INFO_SPEECH
007888: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Match Rule=DP_MATCH_DEST; Called Number=924
007889: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Result=Partial Matches(1) after DP_MATCH_DEST
007890: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersMoreArg: Result=MORE_DIGITS_NEEDED(1)
007891: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Calling Number=, Called Number=9248, Peer Info Type=DIALPEER_INFO_SPEECH
007892: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Match Rule=DP_MATCH_DEST; Called Number=9248
007893: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Result=Partial Matches(1) after DP_MATCH_DEST
007894: Dec 14 22:46:55 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersMoreArg: Result=MORE_DIGITS_NEEDED(1)
007895: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Calling Number=, Called Number=92482, Peer Info Type=DIALPEER_INFO_SPEECH
007896: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Match Rule=DP_MATCH_DEST; Called Number=92482
007897: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Result=Partial Matches(1) after DP_MATCH_DEST
007898: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersMoreArg: Result=MORE_DIGITS_NEEDED(1)
007899: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Calling Number=, Called Number=924827, Peer Info Type=DIALPEER_INFO_SPEECH
007900: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Match Rule=DP_MATCH_DEST; Called Number=924827
007901: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Result=Partial Matches(1) after DP_MATCH_DEST
007902: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersMoreArg: Result=MORE_DIGITS_NEEDED(1)
007903: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Calling Number=, Called Number=9248278, Peer Info Type=DIALPEER_INFO_SPEECH
007904: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Match Rule=DP_MATCH_DEST; Called Number=9248278
007905: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Result=Partial Matches(1) after DP_MATCH_DEST
007906: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersMoreArg: Result=MORE_DIGITS_NEEDED(1)
007907: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Calling Number=, Called Number=92482786, Peer Info Type=DIALPEER_INFO_SPEECH
007908: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Match Rule=DP_MATCH_DEST; Called Number=92482786
007909: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Result=Success(0) after DP_MATCH_DEST
007910: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersMoreArg:
Result=SUCCESS(0)
List of Matched Outgoing Dial-peer(s):
1: Dial-peer Tag=9
2: Dial-peer Tag=92
007911: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Calling Number=, Called Number=92482786, Peer Info Type=DIALPEER_INFO_SPEECH
007912: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Match Rule=DP_MATCH_DEST; Called Number=92482786
007913: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersCore: Result=Success(0) after DP_MATCH_DEST
007914: Dec 14 22:46:56 SAMDT: //-1/C6927BD684CC/DPM/dpMatchPeersMoreArg:
Result=SUCCESS(0)
List of Matched Outgoing Dial-peer(s):
1: Dial-peer Tag=92
2: Dial-peer Tag=9
Подскажите где копать.
попробуте так:destination-pattern 9[1-59]T
>попробуте так:
>
>destination-pattern 9[1-59]TАналогично: выбиирается один из двух диалпиров. Но не всегда тот который нужно. Рэндомно.
А нужно чтобы выбирался конкретный пир в зависимости от того с какого номера набирается...
>>попробуте так:
>>
>>destination-pattern 9[1-59]T
>
>Аналогично: выбиирается один из двух диалпиров. Но не всегда тот который нужно.
>Рэндомно.
>А нужно чтобы выбирался конкретный пир в зависимости от того с какого
>номера набирается...судя по трассировке из первого поста calling number пустой, поэтому видимо он и не сравнивается с answer-adress. И как результат выбираются dialpeer равновероятно. А на панасонике вообще CLID прописан для этих линий?
>[оверквотинг удален]
>>>destination-pattern 9[1-59]T
>>
>>Аналогично: выбиирается один из двух диалпиров. Но не всегда тот который нужно.
>>Рэндомно.
>>А нужно чтобы выбирался конкретный пир в зависимости от того с какого
>>номера набирается...
>
>судя по трассировке из первого поста calling number пустой, поэтому видимо он
>и не сравнивается с answer-adress. И как результат выбираются dialpeer равновероятно.
>А на панасонике вообще CLID прописан для этих линий?Первая строчка: <Calling Number=1901> - просто вставил лог когда звонил с другого номера
(это удаленный узел и я там присутствовать не мог поэтому звонили с тех номеров с которых было возможно). А далее в логе номер пропадает.
Более того вначале показывает входящий правильный диалпир потом а потом выбирается рэндомно.
>[оверквотинг удален]
>>судя по трассировке из первого поста calling number пустой, поэтому видимо он
>>и не сравнивается с answer-adress. И как результат выбираются dialpeer равновероятно.
>>А на панасонике вообще CLID прописан для этих линий?
>
>Первая строчка: <Calling Number=1901> - просто вставил лог когда звонил с другого номера
>(это удаленный узел и я там присутствовать не мог поэтому звонили с
>тех номеров с которых было возможно). А далее в логе номер
>пропадает.
>Более того вначале показывает входящий правильный диалпир потом а потом выбирается рэндомно.
>так вот надо ИМХО чтобы сначала цифры накопились а потом сравнивалось. Для этого Т поставить в destination-patetrn и трассировку посмотреть. А когда сравнение идет в процессе набора может получиться чертичто. Впрочем, утверждать ничего не берусь.
...и главное то я пропустил :) - dialpeer бывают входящие и исходящие.http://www.cisco.com/en/US/tech/tk652/tk90/technologies_tech...
answer-address проверяется для входящего диалпира, то есть пишем на 2811 както так
dial-peer voice 1 voip
huntstop
translation-profile incoming FROM2111
answer-address 2111и в translation-profile FROM2111 прописать добавления префикса выхода на нужное направлние.
>[оверквотинг удален]
>answer-address проверяется для входящего диалпира, то есть пишем на 2811 както так
>
>
>dial-peer voice 1 voip
>huntstop
>translation-profile incoming FROM2111
>answer-address 2111
>
>и в translation-profile FROM2111 прописать добавления префикса выхода на нужное направлние.
>Добрый день. Спасибо всем, особенно "an". Проблема решена.
Именно таким способом:
Т.к. диалпиры бываю входящие и исходящие, то нужно чтобы префикс добавлялся на входящем диалпире. А далее он идет на дополнительно созданный исходящий диалпир с уже измененым номером:На удаленном узле оставляем все без изменений
[Cisco2801]
dial-peer voice 9 voip
description Call to City
destination-pattern 9[1-5,9]......
session target ipv4:192.168.195.1
dtmf-relay h245-alphanumeric
fax protocol t38 ls-redundancy 0 hs-redundancy 0 fallback cisco
ip qos dscp cs5 media
ip qos dscp cs3 signalingНа ближнем узле добавляем translation-profile и два диалпира
[Cisco2811]
voice translation-rule 1
rule 1 /^9/ /802/
!
voice translation-profile PROM2111
translate called 1
!
! Создаем входящий диалпир для изменения номера (замены 9 на 802 - выход на другую TG на Panas600)
!
dial-peer voice 802 voip
translation-profile incoming PROM2111
answer-address 2111
!
! Создаем диалпир на выход в город через 2TG на Panas600
!
dial-peer voice 92 pots
description Call to City throw TG2
huntstop
destination-pattern 802[1-5,9]......
no digit-strip
port 0/3/0:15Насчет собранного номера (T вместо ...) - в этом случае уже не играет роли, т.к. номер собирается, но префикс уже пришел, и следовательно впри выборе исходящего диалпира остается только вариант 92 :-)
>Вот лог по диалпиру при звонке:
>
>007877: Dec 14 22:46:55 SAMDT: //-1/xxxxxxxxxxxx/DPM/dpAssociateIncomingPeerCore: Calling Number=1901, Called Number=,Есть встречный вопрос: а как такой лог получить ? Надо посмотреть, а, пока, найти не могу. Это в syslog валиться должно, или на консоль ?
>>Вот лог по диалпиру при звонке:
>>
>>007877: Dec 14 22:46:55 SAMDT: //-1/xxxxxxxxxxxx/DPM/dpAssociateIncomingPeerCore: Calling Number=1901, Called Number=,
>
>Есть встречный вопрос: а как такой лог получить ? Надо посмотреть, а,
>пока, найти не могу. Это в syslog валиться должно, или на
>консоль ?Нужно в консоле включить debug dialpeer (или debug voip dialpeer all) затем комманда terminal monitor и лог будет валиться в терминал.