Страница 1 из 1
Падает астериск при получении dtmf
Добавлено: 11 янв 2022, 18:09
Mon4ik
Добрый вечер! Ситуация следующая. Имеем диалплан
[IVR]
exten => s,1,Answer()
same => n,Background(ivr/hello)
same => n,Background(ivr/menu)
same => n,Waitexten(6)
exten => 1,1,Dial(SIP/vladimir&SIP/ivan&SIP/denis,180,tr)
exten => 2,1,Dial(SIP/anton,180,tr)
exten => 3,1,Dial(SIP/kirillv&SIP/igor,180,tr)
exten => t,1,Dial(SIP/vladimir/ivan&SIP/denis,180,tr)
exten => i,1,Dial(SIP/vladimir/ivan&SIP/denis,180,tr)
При звонке на номер все корректно проигрывается, но при нажатии на любою кнопку на телефоне, астериск аварийно завершает работу.
Asterisk 13.38.3
В логах ничего интересного не пишет.
-- Executing [s@IVR:2] BackGround("Local/s@IVR-00000000;2", "ivr/hello") in new stack
-- Playing 'ivr/hello.alaw' (language 'en')
tver-gw*CLI>
Disconnected from Asterisk server
Asterisk cleanly ending (0).
Проверяли и с inband и с rfc2833
В чем может быть проблема?
Re: Падает астериск при получении dtmf
Добавлено: 12 янв 2022, 11:06
ded
1) Желательно смотреть с дебагом DTMF (Google => Как включить дебаг DTMF в Астриске?)
2) у вас два файла по сценарию воспроизводятся последовательно -
same => n,Background(ivr/hello)
same => n,Background(ivr/menu)
а падает после первого
-- Executing [s@IVR:2] BackGround("Local/s@IVR-00000000;2", "ivr/hello") in new stack
-- Playing 'ivr/hello.alaw' (language 'en')
Если ничего не нажимать - воспроизводится ivr/menu ?
Думаю, что нет, упадёт. Думаю его у вас просто нету, или битый, или не в том формате,
Re: Падает астериск при получении dtmf
Добавлено: 12 янв 2022, 11:10
Vlad1983
попробовать заменить
Код: Выделить всё
same => n,Background(ivr/hello)
same => n,Background(ivr/menu)
на
Re: Падает астериск при получении dtmf
Добавлено: 12 янв 2022, 11:48
Mon4ik
Добрый день! Отладка DTMF включена, но ничего не пишет. Ради интереса пробовали оставить только один бэк
same => n,Background(ivr/menu)
, но ничего не поменялось.
Все беки проигрываются, если ничего не нажимать, то по таймауту переходит в нужную группу
exten => t,1,Dial(SIP/vladimir/ivan&SIP/denis,180,tr)
Re: Падает астериск при получении dtmf
Добавлено: 12 янв 2022, 14:49
ded
Ничего не пишет - неверно включена отладка, не сделан
CLI> logger reload
Увеличивайте вербозность и дебаг
CLI> core set verbose 10
CLI> core set debug 10
выводите сообщения debug тоже в CLI через логгер.
Re: Падает астериск при получении dtmf
Добавлено: 13 янв 2022, 11:06
Mon4ik
Доброе утро! Логирование сделали. Может я чего-то не понимаю, но ничего в логах связанного с дтмф не видно.
Код: Выделить всё
Connected to Asterisk 13.38.3 currently running on tver-gw (pid = 23087)
tver-gw*CLI> dialplan reload
Dialplan reloaded.
== Setting global variable 'CONSOLE' to 'Console/dsp'
== Setting global variable 'IAXINFO' to 'guest'
== Setting global variable 'TRUNK' to 'DAHDI/G2'
== Setting global variable 'TRUNKMSD' to '1'
-- Time to scan old dialplan and merge leftovers back into the new: 0.000200 sec
-- Time to restore hints and swap in new dialplan: 0.000025 sec
-- Time to delete the old dialplan: 0.000512 sec
-- Total time merge_contexts_delete: 0.000737 sec
-- pbx_config successfully loaded 18 contexts (enable debug for details).
tver-gw*CLI> logger reload
Asterisk Queue Logger restarted
tver-gw*CLI> core set verbose 10
Console verbose was 4 and is now 10.
tver-gw*CLI> core set debug 10
Core debug was OFF and is now 10.
== Using SIP RTP CoS mark 5
> 0x7f85d4023630 -- Strict RTP learning after remote address set to: 193.105.11.99:54568
-- Executing [398025@town-in:1] Dial("SIP/tver-398025-00000016", "Local/s@IVR") in new stack
-- Called Local/s@IVR
-- Executing [s@IVR:1] Answer("Local/s@IVR-00000000;2", "") in new stack
-- Local/s@IVR-00000000;1 answered SIP/tver-398025-00000016
-- Channel Local/s@IVR-00000000;1 joined 'simple_bridge' basic-bridge <954396cd-5794-49f6-9921-f25d3e0c542a>
-- Channel SIP/tver-398025-00000016 joined 'simple_bridge' basic-bridge <954396cd-5794-49f6-9921-f25d3e0c542a>
-- Executing [s@IVR:2] BackGround("Local/s@IVR-00000000;2", "ivr/hello") in new stack
-- <Local/s@IVR-00000000;2> Playing 'ivr/hello.alaw' (language 'en')
> 0x7f85d4023630 -- Strict RTP switching to RTP target address 193.105.11.99:54568 as source
> 0x7f85d4023630 -- Strict RTP learning complete - Locking on source address 193.105.11.99:54568
-- Executing [s@IVR:3] BackGround("Local/s@IVR-00000000;2", "ivr/menu") in new stack
-- <Local/s@IVR-00000000;2> Playing 'ivr/menu.alaw' (language 'en')
tver-gw*CLI>
Disconnected from Asterisk server
Asterisk cleanly ending (0).
Executing last minute cleanups
Re: Падает астериск при получении dtmf
Добавлено: 13 янв 2022, 12:10
Vlad1983
проверьте загружен ли модуль
res_timing_timerfd
Код: Выделить всё
asterisk -rx "module show"| grep res_timing_timerfd
Re: Падает астериск при получении dtmf
Добавлено: 13 янв 2022, 12:23
ded
1) Непонятно, зачем IVR вызывать в локальном канале? "Local/s@IVR
Проще обрабатывать его в том же town-in
И попробуйте принять входящий в приложение Echo, и там понажимать кнопки чтобы увидеть логгирование dtmf в логе:
Код: Выделить всё
[town-in]
exten => 398025,1,Answer()
exten => 398025,n,Echo()
exten => 398025,n,Hangup()
2) Если всё ОК - перенести ваш IVR в контекст town-in
Код: Выделить всё
[town-in]
exten => 398025,1,Answer()
same => n,Background(ivr/hello)
same => n,Background(ivr/menu)
same => n,Waitexten(6)
exten => 1,1,Dial(SIP/vladimir&SIP/ivan&SIP/denis,180,tr)
exten => 2,1,Dial(SIP/anton,180,tr)
exten => 3,1,Dial(SIP/kirillv&SIP/igor,180,tr)
exten => t,1,Dial(SIP/vladimir/ivan&SIP/denis,180,tr)
exten => i,1,Dial(SIP/vladimir/ivan&SIP/denis,180,tr)
Более подробный дебаг смотреть в файле /var/log/asterisk/full
Re: Падает астериск при получении dtmf
Добавлено: 13 янв 2022, 16:04
Mon4ik
Попробовали demo контексте
[demo]
exten => 600,1,Playback(demo-echotest) ; Let them know what's going on
exten => 600,n,Echo() ; Do the echo test
exten => 600,n,Playback(demo-echodone) ; Let them know it's over
exten => 600,n,Goto(s,6) ; Start over
exten => 650,1,Answer()
same => n,Background(ivr/hello)
same => n,Background(ivr/menu)
same => n,Waitexten(6)
exten => 1,1,Dial(SIP/vladimir&SIP/ivan&SIP/denis,180,tr)
exten => 2,1,Dial(SIP/anton,180,tr)
exten => 3,1,Dial(SIP/kirill.k&SIP/igor,180,tr)
exten => t,1,Dial(SIP/vladimir&SIP/ivan&SIP/denis,180,tr)
exten => i,1,Dial(SIP/vladimir&SIP/ivan&SIP/denis,180,tr)
Всё точно также, падает...
В консоли ничего нет
asterisk -rx "module show"| grep res_timing_timerfd - Пусто. Это может быть причиной падения?
Re: Падает астериск при получении dtmf
Добавлено: 13 янв 2022, 16:49
Mon4ik
Друзья, всем большое спасибо за помощь!
Помогла установка модуля res_timing_timerfd