The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Марщрутизация звонка в зависимости от caller ID, !*! IAKOR, 14-Дек-07, 21:51  [смотреть все]
Добрый вечер!
Проблема следующего характера:
Как прописать маршрутизацию исходящего звонка в зависимости от Caller ID?

В частности есть:
3 номера подключены к АТС Panas600 он подключен по E1 (QSIGMaster) к Cisco2811
она соединяется по Eth с Cisco2801, которая в свою очередь подключена аналогично
по e1 к Panas200

          CO1                                                                                                                       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 802

dial-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


Подскажите где копать.

  • Марщрутизация звонка в зависимости от caller ID, !*! an, 22:13 , 14-Дек-07 (1)
    • Марщрутизация звонка в зависимости от caller ID, !*! IAKOR, 12:19 , 15-Дек-07 (2)
      >попробуте так:
      >
      >destination-pattern 9[1-59]T

      Аналогично: выбиирается один из двух диалпиров. Но не всегда тот который нужно. Рэндомно.
      А нужно чтобы выбирался конкретный пир в зависимости от того с какого номера набирается...

      • Марщрутизация звонка в зависимости от caller ID, !*! an, 15:03 , 15-Дек-07 (3)
        • Марщрутизация звонка в зависимости от caller ID, !*! IAKOR, 15:10 , 15-Дек-07 (4)
          >[оверквотинг удален]
          >>>destination-pattern 9[1-59]T
          >>
          >>Аналогично: выбиирается один из двух диалпиров. Но не всегда тот который нужно.
          >>Рэндомно.
          >>А нужно чтобы выбирался конкретный пир в зависимости от того с какого
          >>номера набирается...
          >
          >судя по трассировке из первого поста calling number пустой, поэтому видимо он
          >и не сравнивается с answer-adress. И как результат выбираются dialpeer равновероятно.
          >А на панасонике вообще CLID прописан для этих линий?

          Первая строчка: <Calling Number=1901> - просто вставил лог когда звонил с другого номера
          (это удаленный узел и я там присутствовать не мог поэтому звонили с тех номеров с которых было возможно). А далее в логе номер пропадает.
          Более того вначале показывает входящий правильный диалпир потом а потом выбирается рэндомно.

          • Марщрутизация звонка в зависимости от caller ID, !*! an, 16:23 , 15-Дек-07 (5)
            • Марщрутизация звонка в зависимости от caller ID, !*! an, 18:07 , 15-Дек-07 (6)
              • Марщрутизация звонка в зависимости от caller ID, !*! IAKOR, 10:00 , 17-Дек-07 (7)
                >[оверквотинг удален]
                >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 :-)


  • Марщрутизация звонка в зависимости от caller ID, !*! AS, 11:25 , 28-Апр-08 (8)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру