Назад | Перейти на главную страницу

Пропал звук в IVR в Asterisk

Я настраиваю IVR звездочкой. Он работал нормально, но я установил новое оборудование, и звук пропал. Я вижу это в консоли:

Feb 22 22:24:00 DEBUG[10555]: pbx.c:1697 pbx_extension_helper: Launching 'Set'
    -- Executing Set("SIP/208.77.200.13-08b174f8", "__IVR_RETVM=") in new stack
Feb 22 22:24:00 DEBUG[10555]: pbx.c:1609 pbx_substitute_variables_helper_full: Expression result is '1'
Feb 22 22:24:00 DEBUG[10555]: pbx.c:1697 pbx_extension_helper: Launching 'ExecIf'
    -- Executing ExecIf("SIP/208.77.200.13-08b174f8", "1|Background|custom/Sales") in new stack
Feb 22 22:24:00 DEBUG[10555]: channel.c:2432 set_format: Set channel SIP/208.77.200.13-08b174f8 to write format slin
Feb 22 22:24:00 DEBUG[10555]: rtp.c:1372 ast_rtp_write: Ooh, format changed from unknown to ulaw
Feb 22 22:24:00 DEBUG[10555]: channel.c:1777 ast_settimeout: Scheduling timer at 160 sample intervals
    -- Playing 'custom/Sales' (language 'en')

Понятия не имею, почему я не слышу звук, даже если он говорит «Играет». Файл (custom / Sales.wav) присутствует, разрешения правильные, право собственности правильное, кодеки ulaw и slin разрешены в sip.conf.

Может ли кто-нибудь подсказать, как отладить эту штуку? (Кстати, я использую FreePBX для настройки IVR).

Спасибо.

Одна маленькая вещь, которую нужно проверить; из интерфейса командной строки asterisk (запускается с помощью asterisk -r) выполните "sip show channels" во время воспроизведения записи, чтобы подтвердить, что ожидаемые кодеки используются на проблемном канале. В своих системах я также обнаружил дублирующиеся записи с расширениями .WAV и .wav, каждая из которых работала с определенными кодеками. Когда у меня были похожие проблемы, я обнаружил, что записи были созданы с использованием другого кодека, чем тот, который используется в настоящее время. (т. е. записано с телефона, подключенного через g729, а затем скопировано в систему с помощью ulaw.)

Это также помогает узнать, какое новое оборудование было установлено.

Если вы не слышите никакого звука, самый простой инструмент отладки - это настроить [по умолчанию] контекст, который отвечает на телефонные звонки и воспроизводит один из звуковых файлов Asterisk по умолчанию.

[default]
exten => s,1,Wait(0.5)             ; wait half a second for things to settle
exten => s,n,Answer()              ; pick up
exten => s,n,Playback(hello-world) ; play the hello-world.gsm sample
exten => s,n,Hangup()              ; bye now!

Если ваши SIP-телефоны попадают в контекст по умолчанию, то любые входящие вызовы будут воспроизводить образец звука «Hello World».

Это, по крайней мере, скажет вам, могут ли SIP-телефоны регистрироваться на сервере и совершать SIP-вызовы, и сообщит вам, достигается ли ваш диалплан вообще.