VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Падает астериск при получении dtmf

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

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

Ответить
Mon4ik
Сообщения: 5
Зарегистрирован: 11 янв 2022, 18:00

Падает астериск при получении dtmf

Сообщение 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
В чем может быть проблема?
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: Падает астериск при получении dtmf

Сообщение 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 ?
Думаю, что нет, упадёт. Думаю его у вас просто нету, или битый, или не в том формате,
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Падает астериск при получении dtmf

Сообщение Vlad1983 »

попробовать заменить

Код: Выделить всё

same => n,Background(ivr/hello)
same => n,Background(ivr/menu)
на

Код: Выделить всё

same => n,Background(ivr/hello&ivr/menu)
ЛС: @rostel
Mon4ik
Сообщения: 5
Зарегистрирован: 11 янв 2022, 18:00

Re: Падает астериск при получении dtmf

Сообщение Mon4ik »

Добрый день! Отладка DTMF включена, но ничего не пишет. Ради интереса пробовали оставить только один бэк
same => n,Background(ivr/menu)
, но ничего не поменялось.
Все беки проигрываются, если ничего не нажимать, то по таймауту переходит в нужную группу
exten => t,1,Dial(SIP/vladimir/ivan&SIP/denis,180,tr)
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: Падает астериск при получении dtmf

Сообщение ded »

Ничего не пишет - неверно включена отладка, не сделан
CLI> logger reload

Увеличивайте вербозность и дебаг
CLI> core set verbose 10
CLI> core set debug 10
выводите сообщения debug тоже в CLI через логгер.
Mon4ik
Сообщения: 5
Зарегистрирован: 11 янв 2022, 18:00

Re: Падает астериск при получении dtmf

Сообщение 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
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Падает астериск при получении dtmf

Сообщение Vlad1983 »

проверьте загружен ли модуль res_timing_timerfd

Код: Выделить всё

asterisk -rx "module show"| grep res_timing_timerfd
ЛС: @rostel
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: Падает астериск при получении dtmf

Сообщение 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
Mon4ik
Сообщения: 5
Зарегистрирован: 11 янв 2022, 18:00

Re: Падает астериск при получении dtmf

Сообщение 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 - Пусто. Это может быть причиной падения?
Mon4ik
Сообщения: 5
Зарегистрирован: 11 янв 2022, 18:00

Re: Падает астериск при получении dtmf

Сообщение Mon4ik »

Друзья, всем большое спасибо за помощь!
Помогла установка модуля res_timing_timerfd
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH