ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Re: Asterisk\FreePBX действие до совершения исходящего вызов

Сообщение skynetyar » 03 ноя 2021, 00:10

Так поянл что
sent to invalid extension but no invalid handler: context,exten,priority=outrt-10,79066358080,2
Потому что номер без + набирал, сделал с + набор и снова уперся в проблему
Код: выделить все
  -- Executing [+79066358080@outrt-10:1] Macro("PJSIP/703-00042cbe", "user-callerid,LIMIT,EXTERNAL,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("PJSIP/703-00042cbe", "TOUCH_MONITOR=1635883349.902353") in new stack
    -- Executing [s@macro-user-callerid:2] Set("PJSIP/703-00042cbe", "AMPUSER=703") in new stack
    -- Executing [s@macro-user-callerid:3] Set("PJSIP/703-00042cbe", "HOTDESCKCHAN=703-00042cbe") in new stack
    -- Executing [s@macro-user-callerid:4] Set("PJSIP/703-00042cbe", "HOTDESKEXTEN=703") in new stack
    -- Executing [s@macro-user-callerid:5] Set("PJSIP/703-00042cbe", "HOTDESKCALL=0") in new stack
    -- Executing [s@macro-user-callerid:6] ExecIf("PJSIP/703-00042cbe", "0?Set(HOTDESKCALL=1)") in new stack
    -- Executing [s@macro-user-callerid:7] ExecIf("PJSIP/703-00042cbe", "0?Set(CALLERID(name)=)") in new stack
    -- Executing [s@macro-user-callerid:8] GotoIf("PJSIP/703-00042cbe", "18?report") in new stack
    -- Goto (macro-user-callerid,s,29)
    -- Executing [s@macro-user-callerid:29] NoOp("PJSIP/703-00042cbe", "Macro Depth is 6") in new stack
    -- Executing [s@macro-user-callerid:30] GotoIf("PJSIP/703-00042cbe", "0?report2:macroerror") in new stack
    -- Goto (macro-user-callerid,s,40)
    -- Executing [s@macro-user-callerid:40] NoOp("PJSIP/703-00042cbe", "Macro Limit Reached. Aborting Call") in new stack
    -- Executing [s@macro-user-callerid:41] Answer("PJSIP/703-00042cbe", "") in new stack
    -- Executing [s@macro-user-callerid:42] Wait("PJSIP/703-00042cbe", "1") in new stack
    -- Executing [s@macro-user-callerid:43] Gosub("PJSIP/703-00042cbe", "macro-user-callerid,lang-playback,1(hook_2)") in new stack
    -- Executing [lang-playback@macro-user-callerid:1] GosubIf("PJSIP/703-00042cbe", "0?macro-user-callerid,ru,hook_2():macro-user-callerid,en,hook_2()") in new stack
    -- Executing [en@macro-user-callerid:5] Playback("PJSIP/703-00042cbe", "im-sorry&an-error-has-occurred") in new stack


Код: выделить все
dialplan show +79066358080@outrt-10
[ 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,9,${EXTEN},,off)      [pbx_config]
                    12. Macro(dialout-trunk,10,${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]

-= 1 extension (15 priorities) in 1 context. =-


Не понял в чем дело =\
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Asterisk\FreePBX действие до совершения исходящего вызов

Сообщение ded » 03 ноя 2021, 12:05

"Macro Limit Reached. Aborting Call"

из-за проблемы с Caller ID
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Asterisk\FreePBX действие до совершения исходящего вызов

Сообщение Zavr2008 » 03 ноя 2021, 21:41

https://www.voipsupport.it/wiki/index.php/Dynamic_Routes

Как раз на AstriCon доклад про него сейчас, делает что нужно)
Бесплатный как я понимаю если Destination выбрать Trunk.
Российские шлюзы E1 Alvis-GW. Модернизация УПАТС с E1, Установка FreePBX, Системы антифрод "в разрыв" потоков E1 PRI / SS#7 ISUP.
Аватар пользователя
Zavr2008
 
Сообщений: 2161
Зарегистрирован: 27 янв 2011, 01:35

Re: Asterisk\FreePBX действие до совершения исходящего вызов

Сообщение skynetyar » 03 ноя 2021, 22:24

А я уже отчаяться хотел =( ничего не выходит, глаза на бекрень уже!
Спасибо, иду напряжонно,вдумчиво изучать!
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Asterisk\FreePBX действие до совершения исходящего вызов

Сообщение Zavr2008 » 03 ноя 2021, 22:31

Там вопрос к докладу задали можно ли для исходящих маршрутов заюзать - говорит вероятно да, но автор не проверял, обещал на форуме freepbx написать.
Российские шлюзы E1 Alvis-GW. Модернизация УПАТС с E1, Установка FreePBX, Системы антифрод "в разрыв" потоков E1 PRI / SS#7 ISUP.
Аватар пользователя
Zavr2008
 
Сообщений: 2161
Зарегистрирован: 27 янв 2011, 01:35

Re: Asterisk\FreePBX действие до совершения исходящего вызов

Сообщение skynetyar » 08 ноя 2021, 13:43

К сожалению ненашел применение его ,да есть AGI что то, можно применять в маршрутах и .и.т.д но в входящих, как я понял модуль строит логику в зависимости данных в БД.
Мне же надо "просто" направить исходящих вызов в группу вызовов исходящих маршрутов Goto(${outrt-X},${OUTNUM},1) даже представить сперва не мог что это станет такой проблемой =\
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Asterisk\FreePBX действие до совершения исходящего вызов

Сообщение skynetyar » 08 ноя 2021, 20:12

Поднял тему на офф. форуме ,там как бы дмаю что не так меня поняли но посоветовали не оферрайдить а все делать в кастом файле.
Стал пробовать так в extensions_custom.conf
[from-internal-custom]
exten => _.,1,Noop(ASR-ASR-ASR-ASR-ASR-ASR-)
exten => _.,n,Noop(${EXTEN})
exten => _.,n,Goto(${outrt-13},${EXTEN},1)

Но это все уходит в цикл, что не так ? =(
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Asterisk\FreePBX действие до совершения исходящего вызов

Сообщение ded » 09 ноя 2021, 00:45

У вас нет переменной ${outrt-13}
outrt-13 - это контекст исходящего маршрута, который вы создали в вэб интерфейсе. И не используйте шаблон _., лучше такой - _Х.
Надо
exten => _X.,n,Goto(outrt-13,${EXTEN},1)

Проверяйте командой
CLI> dialplan show 89012345678@outrt-13
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Asterisk\FreePBX действие до совершения исходящего вызов

Сообщение skynetyar » 11 ноя 2021, 19:59

Выяснил что звонок у меня сперва идет в
[outbound-restricted-routes]

Решил его заоррадить в extensions_override_freepbx.conf

Код: выделить все
[outbound-restricted-routes]
include => outbound-restricted-routes-custom

;--== INCLUDE ==--;
exten => _[+0-9]!,n,AGI(trunk_hook.php,${EXTEN},${CALLERID(number)})
exten => _[+0-9]!,n,Set(var_trunk_outrt=${trunk_outrt})

exten => _[+0-9]!,n,GotoIf($["${var_trunk_outrt}" = "pusto"]?pusto)
exten => _[+0-9]!,n,Goto(${var_trunk_outrt},${EXTEN},1)
exten => _[+0-9]!,n(pusto),Noop(== PUSTO QUIT CUSTOMIZATION ==)
;--== INCLUDE ==--;

exten => _[+0-9]!,n,Macro(user-callerid,LIMIT)
exten => _[+0-9]!,n,Set(ROUTEUSER=${IF($["${EXTTOCALL}"!=""]?${EXTTOCALL}:${AMPUSER})})
exten => _[+0-9]!,n,Set(ROUTEUSER=${IF($["${DB_EXISTS(AMPUSER/${ROUTEUSER}/cidnum)}"="1"]?${ROUTEUSER}:${NODEST})})
exten => _[+0-9]!,n,GotoIf($["${BLINDTRANSFER}" == ""]?notblind)
exten => _[+0-9]!,n,Set(ENDPOINT=${CUT(BLINDTRANSFER,-,1)})
exten => _[+0-9]!,n,Set(ROUTEUSER=${CUT(ENDPOINT,/,2)})
exten => _[+0-9]!,n(notblind),GotoIf($[${LEN(${ROUTEUSER})}>0 & ${DB_EXISTS(AMPUSER/${ROUTEUSER}/outroute_hash)}]?${DB(AMPUSER/${ROUTEUSER}/outroute_hash)},${EXTEN},2:outbound-allroutes,${EXTEN},2)

exten => h,1,Hangup

;--== end of [outbound-restricted-routes] ==--;


Но происходит жесть, он каким то образом не получает отбой о том что клиент которому позвонили сбросил и он звонит другими номерами из данного outbound routes
Например если в исходящей группе 3 номера он будет звонить со всех по очереди если сбрасывает тому кому позвонили....
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 432
Зарегистрирован: 18 авг 2016, 14:25

Re: Asterisk\FreePBX действие до совершения исходящего вызов

Сообщение ded » 12 ноя 2021, 11:56

skynetyar писал(а):Но происходит жесть, он каким то образом не получает отбой о том что клиент которому позвонили сбросил и он звонит другими номерами из данного outbound routes

Я об этом писал выше -
ded писал(а):Как вы представляете себе исходящую группу?

Допустим вам надо звонить на номер +79012345678 и макрос возвращает вам три транка для выполнения этого вызова.
Вы инициируете вызов стразу по трём? Или последовательно по каждому?
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Пред.След.

Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

cron
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH