The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Asterisk помощь с dialplan, !*! Shodan, 17-Окт-17, 18:55  [смотреть все]
Подскажите как стандартными средствами астериска реализовать такую логику

если CID такой то - звоним через такого провайдера
если CID такой то - звоним через другого провайдера

Например

exten => _[+0-9]X.,1,NoOp()
same => n,Set(sip=${IF($["${CALLERID(num)}" = "+12345"]?sip_trunk1)})
same => n,Set(sip=${IF($["${CALLERID(num)}" = "+67891"]?sip_trunk2)})
same => n,Dial(SIP/${sip}/${EXTEN})

Проблема в том что астериск смотрит только на первое правило с IF и дальше уже не проверяет
Можно ли реализовать цикличную проверку по всем IF-ам?

  • Asterisk помощь с dialplan, !*! Andrey, 22:44 , 17-Окт-17 (1)
    • Asterisk помощь с dialplan, !*! Shodan, 22:59 , 17-Окт-17 (2)
      >[оверквотинг удален]
      >> Например
      >> exten => _[+0-9]X.,1,NoOp()
      >> same => n,Set(sip=${IF($["${CALLERID(num)}" = "+12345"]?sip_trunk1)})
      >> same => n,Set(sip=${IF($["${CALLERID(num)}" = "+67891"]?sip_trunk2)})
      >> same => n,Dial(SIP/${sip}/${EXTEN})
      >> Проблема в том что астериск смотрит только на первое правило с IF
      >> и дальше уже не проверяет
      >> Можно ли реализовать цикличную проверку по всем IF-ам?
      > Вы используете в операторе IF только одно условие - true. Попробуйте использовать
      > переход по false

      Как раз false не хотело бы использовать, хотелось чтобы астер шел сверху вниз по ифам, и если тру, то прекращал поиск.
      Я сейчас сделал через gotoif, но вышло более громоздко

      • Asterisk помощь с dialplan, !*! mmm62, 05:27 , 18-Окт-17 (3)
        • Asterisk помощь с dialplan, !*! Shodan, 19:07 , 18-Окт-17 (5)
          > Все уже придумано
          > exten => куда/кто
          > У ненадо с if извращаться

          Да, проглядел, этот вариант подходит

          Other options for defining extensions include an option commonly referred to as the ex-girlfriend logic. This logic matches the dialed extension irrespective of its origin based on the callerid of the person calling it

        • Asterisk помощь с dialplan, !*! Shodan, 14:09 , 19-Окт-17 (6)
          > Все уже придумано
          > exten => куда/кто
          > У ненадо с if извращаться

          Хотя как-то странно это работает, на одних правилах работает, на других нет, так и не понял причину.

          • Asterisk помощь с dialplan, !*! mmm62, 14:21 , 19-Окт-17 (7)
            • Asterisk помощь с dialplan, !*! Shodan, 17:35 , 19-Окт-17 (8)
              >>> Все уже придумано
              >>> exten => куда/кто
              >>> У ненадо с if извращаться
              >> Хотя как-то странно это работает, на одних правилах работает, на других нет,
              >> так и не понял причину.
              > ищите причину в callerid

              Например есть такой дайлплан

              exten => _[+0-9]X.,1,NoOp
              same => n,NoOp(CID ${CALLERID(num)})
              same => n,Dial(SIP/1234/test_trunk1/${EXTEN})
              same => n,Dial(SIP/5678/test_trunk2/${EXTEN})
              same => n,Hangup()

              Астериск всегда срабатывает на первое правило same => n,Dial(SIP/1234/test_trunk1/${EXTEN})
              Хотя noop показывает что CID 5678

              • Asterisk помощь с dialplan, !*! Andrey, 08:30 , 20-Окт-17 (10)
                • Asterisk помощь с dialplan, !*! Shodan, 10:40 , 20-Окт-17 (11)
                  >[оверквотинг удален]
                  >> Например есть такой дайлплан
                  >> exten => _[+0-9]X.,1,NoOp
                  >> same => n,NoOp(CID ${CALLERID(num)})
                  >> same => n,Dial(SIP/1234/test_trunk1/${EXTEN})
                  >> same => n,Dial(SIP/5678/test_trunk2/${EXTEN})
                  >> same => n,Hangup()
                  >> Астериск всегда срабатывает на первое правило same => n,Dial(SIP/1234/test_trunk1/${EXTEN})
                  >> Хотя noop показывает что CID 5678
                  > Здесь: https://www.voip-info.org/wiki/view/Asterisk+config+extensio...
                  > в разделе Example.

                  Да, ошибся
                  Я сделал так, немного более компактно

                  exten => _[+0-9]X.,1,NoOp
                  same => n,NoOp(CID ${CALLERID(num)})
                  same => n,Set(cid=${CALLERID(num)})
                  same => n,GotoIf($["${cid}" = "7777"]?dial1)
                  same => n,GotoIf($["${cid}" = "55555"]?dial3)
                  same => n,GotoIf($["${cid}" = "66666"]?dial2)
                  same => n(dial1),Dial(SIP/trunk1/${EXTEN})
                  same => n(dial3),Dial(SIP/trunk3/${EXTEN})
                  same => n(dial2),Dial(SIP/trunk2/${EXTEN})
                  same => n,Hangup()

                  • Asterisk помощь с dialplan, !*! Andrey, 10:53 , 20-Окт-17 (12)
                    • Asterisk помощь с dialplan, !*! Shodan, 11:06 , 20-Окт-17 (13)
                      >[оверквотинг удален]
                      >> same => n,GotoIf($["${cid}" = "66666"]?dial2)
                      >> same => n(dial1),Dial(SIP/trunk1/${EXTEN})
                      >> same => n(dial3),Dial(SIP/trunk3/${EXTEN})
                      >> same => n(dial2),Dial(SIP/trunk2/${EXTEN})
                      >> same => n,Hangup()
                      > Хозяин - барин. Только у вас есть уверенность, что через год этих
                      > проверок не будет под пол сотни? В этой схеме у вас
                      > на каждый callerid по 2 строки - gotoif и dial.
                      > В данном решении, если _звонящий_, который пройдет через dial1, не положит трубку,
                      > то с большой вероятностью звонок пойдет повторяться через dial2,dial3.

                      Нет, не будет
                      Будет несколько openvox железок, на каждую будет свой контекст, где будет максимум пять проверок. Если звонок пойдет повторяться это ок

              • Asterisk помощь с dialplan, !*! mmm62, 16:06 , 21-Окт-17 (17)
      • Asterisk помощь с dialplan, !*! Andrey, 08:21 , 18-Окт-17 (4)
  • Asterisk помощь с dialplan, !*! PavelR, 07:32 , 20-Окт-17 (9)
  • Asterisk помощь с dialplan, !*! mmm62, 11:21 , 21-Окт-17 (14)



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

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