Задать вопрос
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill, У меня есть тестовый стенд на другом севере, правда без рабочих транков но они там заведены..
    Там нет платного модуля и там в вывод попало из кастома
    -- Executing [+79066358080@from-internal:1] NoOp("PJSIP/703-00000000", "======================================================") in new stack
        -- Executing [+79066358080@from-internal:2] NoOp("PJSIP/703-00000000", "========== Context OUTBOUND-ALLROUTES-custom =========") in new stack
        -- Executing [+79066358080@from-internal:3] NoOp("PJSIP/703-00000000", "== Destination: +79066358080 , CID: 703 ==") in new stack
        -- Executing [+79066358080@from-internal:4] NoOp("PJSIP/703-00000000", "======================================================") in new stack
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill, Да,конечно, в GUI делаю submit и apply что тоже самое..
    К сожалению не _+Х не _., не увидел в консоли, вот полный выхлоп при звонке

    https://pastebin.com/A9cSN7Qe
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Запрещенные маршруты это я так понял в настройках групп на последней вкладке можно запрещать кому разрещен доступ а кому нет, наасколько я помню это фишка платного модуля System Admin
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill, Очень признателен Вам за помощь!

    dialplan show outbound-restricted-routes
    spoiler
    [ Context 'outbound-restricted-routes' created by 'pbx_config' ]
    'h' => 1. Hangup() [pbx_config]
    '_[+0-9]!' => 1. Macro(user-callerid,LIMIT) [pbx_config]
    2. Set(ROUTEUSER=${IF($["${EXTTOCALL}"!=""]?${EXTTOCALL}:${AMPUSER})}) [pbx_config]
    3. Set(ROUTEUSER=${IF($["${DB_EXISTS(AMPUSER/${ROUTEUSER}/cidnum)}"="1"]?${ROUTEUSER}:${NODEST})}) [pbx_config]
    4. GotoIf($["${BLINDTRANSFER}" == ""]?notblind) [pbx_config]
    5. Set(ENDPOINT=${CUT(BLINDTRANSFER,-,1)}) [pbx_config]
    6. Set(ROUTEUSER=${CUT(ENDPOINT,/,2)}) [pbx_config]
    [notblind] 7. GotoIf($[${LEN(${ROUTEUSER})}>0 & ${DB_EXISTS(AMPUSER/${ROUTEUSER}/outroute_hash)}]?${DB(AMPUSER/${ROUTEUSER}/outroute_hash)},${EXTEN},2:outbound-allroutes,${EXTEN},2) [pbx_config]
    Include => 'outbound-restricted-routes-custom' [pbx_config]

    -= 2 extensions (8 priorities) in 1 context. =-
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill,
    dialplan show from-internal-additional
    spoiler
    [ Context 'from-internal-additional' created by 'pbx_config' ]
    'h' => 1. Hangup() [pbx_config]
    Include => 'from-internal-additional-custom' [pbx_config]
    Include => 'app-cf-toggle' [pbx_config]
    Include => 'app-cf-busy-prompting-on' [pbx_config]
    Include => 'app-cf-busy-on' [pbx_config]
    Include => 'app-cf-busy-off-any' [pbx_config]
    Include => 'app-cf-busy-off' [pbx_config]
    Include => 'app-cf-off' [pbx_config]
    Include => 'app-cf-off-any' [pbx_config]
    Include => 'app-cf-unavailable-prompt-on' [pbx_config]
    Include => 'app-cf-unavailable-on' [pbx_config]
    Include => 'app-cf-unavailable-off' [pbx_config]
    Include => 'app-cf-on' [pbx_config]
    Include => 'app-cf-prompting-on' [pbx_config]
    Include => 'ext-cf-hints' [pbx_config]
    Include => 'app-callwaiting-cwoff' [pbx_config]
    Include => 'app-callwaiting-cwon' [pbx_config]
    Include => 'ext-meetme' [pbx_config]
    Include => 'app-dictate-record' [pbx_config]
    Include => 'app-dictate-send' [pbx_config]
    Include => 'app-dnd-off' [pbx_config]
    Include => 'app-dnd-on' [pbx_config]
    Include => 'app-dnd-toggle' [pbx_config]
    Include => 'ext-dnd-hints' [pbx_config]
    Include => 'app-fax' [pbx_config]
    Include => 'app-fmf-toggle' [pbx_config]
    Include => 'ext-findmefollow' [pbx_config]
    Include => 'fmgrps' [pbx_config]
    Include => 'app-hotelwakeup' [pbx_config]
    Include => 'app-calltrace' [pbx_config]
    Include => 'app-echo-test' [pbx_config]
    Include => 'app-speakextennum' [pbx_config]
    Include => 'app-speakingclock' [pbx_config]
    Include => 'app-miscapps' [pbx_config]
    Include => 'ext-intercom-users' [pbx_config]
    Include => 'park-hints' [pbx_config]
    Include => 'app-parking' [pbx_config]
    Include => 'app-pbdirectory' [pbx_config]
    Include => 'ext-queues' [pbx_config]
    Include => 'app-queue-toggle' [pbx_config]
    Include => 'app-queue-caller-count' [pbx_config]
    Include => 'app-recordings' [pbx_config]
    Include => 'ext-group' [pbx_config]
    Include => 'grps' [pbx_config]
    Include => 'app-speeddial' [pbx_config]
    Include => 'timeconditions-toggles' [pbx_config]
    Include => 'vmblast-grp' [pbx_config]
    Include => 'app-dialvm' [pbx_config]
    Include => 'app-vmmain' [pbx_config]
    Include => 'app-blacklist' [pbx_config]
    Include => 'app-contactmanager-sd' [pbx_config]
    Include => 'ext-local-confirm' [pbx_config]
    Include => 'findmefollow-ringallv2' [pbx_config]
    Include => 'app-pickup' [pbx_config]
    Include => 'app-chanspy' [pbx_config]
    Include => 'ext-test' [pbx_config]
    Include => 'ext-local' [pbx_config]
    Include => 'outbound-restricted-routes' [pbx_config]
    Include => 'outbound-allroutes' [pbx_config]

    -= 1 extension (1 priority) in 1 context. =-


    dialplan show outbound-allroutes
    spoiler
    [ Context 'outbound-allroutes' created by 'pbx_config' ]
    'foo' => 1. Noop(bar) [pbx_config]
    Include => 'outbound-allroutes-custom' [pbx_config]
    Include => 'outrt-9' [pbx_config]
    Include => 'outrt-16' [pbx_config]
    Include => 'outrt-8' [pbx_config]
    Include => 'outrt-5' [pbx_config]
    Include => 'outrt-11' [pbx_config]
    Include => 'outrt-10' [pbx_config]
    Include => 'outrt-12' [pbx_config]
    Include => 'outrt-13' [pbx_config]
    Include => 'outrt-17' [pbx_config]

    -= 1 extension (1 priority) in 1 context. =-
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill, Спасибо за ответ!

    dialplan show +79066358080@from-internal
    dialplan show +79066358080@from-internal
    [ Included context 'outbound-restricted-routes' created by 'pbx_config' ]
      '_[+0-9]!' =>     1. Macro(user-callerid,LIMIT)                 [pbx_config]
                        2. Set(ROUTEUSER=${IF($["${EXTTOCALL}"!=""]?${EXTTOCALL}:${AMPUSER})}) [pbx_config]
                        3. Set(ROUTEUSER=${IF($["${DB_EXISTS(AMPUSER/${ROUTEUSER}/cidnum)}"="1"]?${ROUTEUSER}:${NODEST})}) [pbx_config]
                        4. GotoIf($["${BLINDTRANSFER}" == ""]?notblind) [pbx_config]
                        5. Set(ENDPOINT=${CUT(BLINDTRANSFER,-,1)})    [pbx_config]
                        6. Set(ROUTEUSER=${CUT(ENDPOINT,/,2)})        [pbx_config]
         [notblind]     7. GotoIf($[${LEN(${ROUTEUSER})}>0 & ${DB_EXISTS(AMPUSER/${ROUTEUSER}/outroute_hash)}]?${DB(AMPUSER/${ROUTEUSER}/outroute_hash)},${EXTEN},2:outbound-allroutes,${EXTEN},2) [pbx_config]
    
    [ Included context 'outrt-5' created by 'pbx_config' ]
      '_.' =>           1. Macro(user-callerid,LIMIT,EXTERNAL,)       [pbx_config]
                        2. Gosub(sub-record-check,s,1(out,${EXTEN},yes)) [pbx_config]
                        3. ExecIf($[ "${CALLEE_ACCOUNCODE}" != "" ] ?Set(CDR(accountcode)=${CALLEE_ACCOUNCODE})) [pbx_config]
                        4. Set(_ROUTEID=5)                            [pbx_config]
                        5. Set(_ROUTENAME=GERMAN ALL)                 [pbx_config]
                        6. Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})}) [pbx_config]
                        7. Set(_CALLERIDNAMEINTERNAL=${CALLERID(name)}) [pbx_config]
                        8. Set(_CALLERIDNUMINTERNAL=${CALLERID(num)}) [pbx_config]
                        9. Set(_EMAILNOTIFICATION=FALSE)              [pbx_config]
                        10. Set(_NODEST=)                             [pbx_config]
                        11. Macro(dialout-trunk,10,${EXTEN},,off)     [pbx_config]
                        12. Macro(dialout-trunk,9,${EXTEN},,off)      [pbx_config]
                        13. Macro(dialout-trunk,2,${EXTEN},,off)      [pbx_config]
                        14. Macro(outisbusy,)                         [pbx_config]
    
    [ Included context 'outrt-10' created by 'pbx_config' ]
      '_+790663[1-9]XXXX' => 1. Macro(user-callerid,LIMIT,EXTERNAL,)       [pbx_config]
                        2. Gosub(sub-record-check,s,1(out,${EXTEN},yes)) [pbx_config]
                        3. ExecIf($[ "${CALLEE_ACCOUNCODE}" != "" ] ?Set(CDR(accountcode)=${CALLEE_ACCOUNCODE})) [pbx_config]
                        4. Set(_ROUTEID=10)                           [pbx_config]
                        5. Set(_ROUTENAME=BEELINE)                    [pbx_config]
                        6. Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})}) [pbx_config]
                        7. Set(_CALLERIDNAMEINTERNAL=${CALLERID(name)}) [pbx_config]
                        8. Set(_CALLERIDNUMINTERNAL=${CALLERID(num)}) [pbx_config]
                        9. Set(_EMAILNOTIFICATION=FALSE)              [pbx_config]
                        10. Set(_NODEST=)                             [pbx_config]
                        11. Macro(dialout-trunk,10,${EXTEN},,off)     [pbx_config]
                        12. Macro(dialout-trunk,9,${EXTEN},,off)      [pbx_config]
                        13. Macro(dialout-trunk,2,${EXTEN},,off)      [pbx_config]
                        14. Macro(dialout-trunk,8,${EXTEN},,off)      [pbx_config]
                        15. Macro(outisbusy,)                         [pbx_config]
    
    [ Included context 'outrt-13' created by 'pbx_config' ]
      '_.' =>           1. Macro(user-callerid,LIMIT,EXTERNAL,)       [pbx_config]
                        2. Gosub(sub-record-check,s,1(out,${EXTEN},yes)) [pbx_config]
                        3. ExecIf($[ "${CALLEE_ACCOUNCODE}" != "" ] ?Set(CDR(accountcode)=${CALLEE_ACCOUNCODE})) [pbx_config]
                        4. Set(_ROUTEID=13)                           [pbx_config]
                        5. Set(_ROUTENAME=ALL)                        [pbx_config]
                        6. Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})}) [pbx_config]
                        7. Set(_CALLERIDNAMEINTERNAL=${CALLERID(name)}) [pbx_config]
                        8. Set(_CALLERIDNUMINTERNAL=${CALLERID(num)}) [pbx_config]
                        9. Set(_EMAILNOTIFICATION=FALSE)              [pbx_config]
                        10. Set(_NODEST=)                             [pbx_config]
                        11. Macro(dialout-trunk,10,${EXTEN},,off)     [pbx_config]
                        12. Macro(dialout-trunk,9,${EXTEN},,off)      [pbx_config]
                        13. Macro(dialout-trunk,2,${EXTEN},,off)      [pbx_config]
                        14. Macro(dialout-trunk,8,${EXTEN},,off)      [pbx_config]
                        15. Macro(outisbusy,)                         [pbx_config]
    
    [ Included context 'outrt-17' created by 'pbx_config' ]
      '_.' =>           1. Macro(user-callerid,LIMIT,EXTERNAL,)       [pbx_config]
                        2. Gosub(sub-record-check,s,1(out,${EXTEN},yes)) [pbx_config]
                        3. ExecIf($[ "${CALLEE_ACCOUNCODE}" != "" ] ?Set(CDR(accountcode)=${CALLEE_ACCOUNCODE})) [pbx_config]
                        4. Set(_ROUTEID=17)                           [pbx_config]
                        5. Set(_ROUTENAME=DEV)                        [pbx_config]
                        6. Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})}) [pbx_config]
                        7. Set(_CALLERIDNAMEINTERNAL=${CALLERID(name)}) [pbx_config]
                        8. Set(_CALLERIDNUMINTERNAL=${CALLERID(num)}) [pbx_config]
                        9. Set(_EMAILNOTIFICATION=FALSE)              [pbx_config]
                        10. Set(_NODEST=)                             [pbx_config]
                        11. Macro(dialout-trunk,120,${EXTEN},,off)    [pbx_config]
                        12. Macro(dialout-trunk,121,${EXTEN},,off)    [pbx_config]
                        13. Macro(outisbusy,)                         [pbx_config]
    
    -= 5 extensions (64 priorities) in 5 contexts. =-
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill, Да,касательно входящих Вы правы, я спутал с исходящим уходящим на другую АТС, но это не про то..
    Совершаю звонок на +7ХХХХХХХХХХ
    Я решил попробовать так сделать в extensions_custom.conf

    [from-internal-custom]
    exten => _.,1,Noop(ASR-ASR-ASR)
    exten => _.,n,Noop(${EXTEN})
    exten => _.,n,Goto(${outrt-13},${EXTEN},1)

    Но у меня все это впадает в цикл =(

    UDP
    Если использую [outbound-allroutes-custom] то не попадаю никуда ,в консолинет noop
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill, Понял почему небыло в консоли ничего про это , когда использую exten => _.,1, то все есть ,когда же exten => _X.,1, то ничего нет, но насколько знаю безопаснее и правильнее испольхховать именно exten => _X.,1, что бы избежать попадания всяких h и.т.д..
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill, Так и стоит, в лог попадают входящие звонкит при этом но исходящие нет...
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill, К сожалению в консоли нет ничего при исходящем звонке =(
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill, Почему то не выходит, попадает но не мой исходящий звонок туда , может примерно покажете как мне построить диалплан ?
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Drill, Сделал как Вы сказали для погнимания что сюда заходит звонок
    [outbound-allroutes-custom]
    exten => s,1,Verbose(0, -----ASR-ASR-ASR-ASR-ASR-ASR-ASR )

    К консоли чисто при звонке, что не так сделал?
  • Asterisk\FreePBX действие до совершения исходящего вызова?

    @SteepNET Автор вопроса
    Спасибо за ответ! Вам доводилось такое реализовывать?
  • Asterisk исходящая маршрутизация\хук?

    @SteepNET Автор вопроса
    Спасибо за ответ!
    На случай падения стороннего сервера будет работать система шаблонов которая уже работает, но там не учитываються номера MNP, поэтому и появился такой замысел, динамического переключения в зависимости от провадера.
    Как сообщилось выше я могу поапробовать это реализовать в [macro-dialout-trunk-predial-hook] в /etc/asterisk/extensions_override_freepbx.conf ,но я немного замешкался в самой реализации ..
    Допустим я отправляю запрос диалплане перед совершением звонка и получаю ответ
    "operator":"Билайн", далее делаю Goto(dial_vimpelcom,${EXTEN},1) где dial_vimpelcom это название транка в FreePBX ?
    Вообще если не сложно можно ли как то примрно изобразить как бы это могло выглядеть если не сложно?
    Спасибо!
  • Update в BD если есть несколько значений?

    @SteepNET Автор вопроса
    Slava Rozhnev, Подскажите поджалуйста а как мне этот параметр (set @q = -1;) передать через php ? делаю это все через php скрипт
  • Update в BD если есть несколько значений?

    @SteepNET Автор вопроса
    Slava Rozhnev, Вы просто золото,это работает!
    Жаль бы еще можно было посталь кого поставить первым а кого вторым и.т.д, но это как шикарное дополнение было бы...
  • Update в BD если есть несколько значений?

    @SteepNET Автор вопроса
    Slava Rozhnev, Спасибо что помогаете! так то все супер, но куда то 2-ка делась =(
    +==========+==========+=====+
    | route_id | trunk_id | seq |
    +==========+==========+=====+
    | 16 | 118 | 0 |
    +----------+----------+-----+
    | 16 | 117 | 1 |
    +----------+----------+-----+
    | 16 | 120 | 3 |
    +----------+----------+-----+
    | 16 | 121 | 4 |
    +----------+----------+-----+

    Если скажем послать trunk_id = 120 то он становиться 0 ,но тот что был 0-вым не становиться 1 и.т.д, непонимаю почему =(
  • Update в BD если есть несколько значений?

    @SteepNET Автор вопроса
    Спасибо боольшое! Но тут не небольшая неточность получается...
    Там результат получился
    +==========+==========+=====+
    | route_id | trunk_id | seq |
    +==========+==========+=====+
    | 16 | 118 | 0 |
    +----------+----------+-----+
    | 16 | 117 | 118 |
    +----------+----------+-----+
    | 16 | 120 | 121 |
    +----------+----------+-----+
    | 16 | 121 | 122 |
    +----------+----------+-----+
    По идее seq у других должен сдвинуться на 1 , тоесть те кто был 0 стать 1 те кто был 1 стать 2, я может сейчас допетрю...
  • Update в BD если есть несколько значений?

    @SteepNET Автор вопроса
    Slava Rozhnev, Имеем
    16,117,0
    16,118,1
    16,120,2
    16,121,3

    Обновляем 16,120,2 до 16,120,0 ,все остальные должны тоже поменяться в +1 сторону(последнее значение)
  • Update в BD если есть несколько значений?

    @SteepNET Автор вопроса
    Slava Rozhnev,
    mysql Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1