Эхо-тест для IP-PBX Elastix

В данной небольшой заметке рассмотрим, как подключить к IP-PBX Elastix набор эхо-тестов, о котором я писал ранее применительно к IP-PBX Asterisk в чистом виде: http://uzlec.ru/echo-test-dlya-asterisk.html
Создаем файл "/etc/asterisk/ext_echo.conf" с внутренними extension’ами:

[echo-mask-dial]
exten => _8XX,1,Macro(record-enable,${CALLERID(number)},OUT)
exten => _8XX,n,Dial(Local/${EXTEN}@echo-peers,60,${DIAL_OPTIONS})
exten => _8XX,n,Hangup

[echo-peers]
exten => 801,1,Playback(demo-echotest)
exten => 801,2,Echo
exten => 801,3,Playback(demo-echodone)

exten => 802,1,Ringing()
exten => 802,n,Wait(3)
exten => 802,n,Answer()
exten => 802,n,Playback(dir-multi3)
exten => 802,n,Wait(1)
exten => 802,n,agi(googletts.agi,${CALLERID(num)},ru)
exten => 802,n,Wait(1)
exten => 802,n,agi(googletts.agi,"Канал.",ru)
exten => 802,n,Wait(1)
exten => 802,n,agi(googletts.agi,${CHANNEL},en)
exten => 802,n,Wait(1)
exten => 802,n,Set(encryption="Этот канал зашифрован.")
exten => 802,n,GotoIF($["${CHANNEL(secure_signaling)}" != "1"]?insecure)
exten => 802,n,GotoIF($["${CHANNEL(secure_media)}" != "1"]?insecure)
exten => 802,n(playencryption),agi(googletts.agi,${encryption},ru)
exten => 802,n,Wait(1)
exten => 802,n,agi(googletts.agi,"Вы переключаетесь в режим эхо-теста. Произнесите контрольную фразу и нажмите любую цифровую клавишу.",ru)
exten => 802,n,Record(/tmp/802-${UNIQUEID}.wav,0,30,y)
exten => 802,n,agi(googletts.agi,"Прослушайте свою контрольную фразу.",ru)
exten => 802,n,Playback(/tmp/802-${UNIQUEID})
exten => 802,n,System(rm /tmp/802-${UNIQUEID}.wav)
exten => 802,n,Wait(1)
exten => 802,n,Playback(demo-echodone)
exten => 802,n,Hangup()
exten => 802,n(insecure),Set(encryption="Этот канал незашифрован.")
exten => 802,n,Goto(playencryption)

exten => 803,1,Answer
exten => 803,n,MusicOnHold()
exten => 803,n,Hangup()

exten => 804,1,agi(googletts.agi,"Ждите звонка.",ru)
exten => 804,n,System(/etc/asterisk/scripts/echo-callback.sh ${CALLERID(num)} &)
exten => 804,n,Hangup()

[echo-test]
include => echo-mask-dial

Скрипт "/etc/asterisk/scripts/echo-callback.sh" обратного звонка абоненту для эхо-теста 804:

#!/bin/sh
NUMBER=$1

sleep 10

echo "Channel: Local/${NUMBER}@from-internal
CallerID: Echo test <802>
MaxRetries: 1
RetryTime: 10
WaitTime: 30
Account: 802
Context: echo-test
Extension: 802
Priority: 1
AlwaysDelete: Yes" >/var/spool/asterisk/tmp/${NUMBER}

mv /var/spool/asterisk/tmp/${NUMBER} /var/spool/asterisk/outgoing/${NUMBER}

exit 0

Включим сервисные extension’ы в план нумерации Elastix в файле "/etc/asterisk/extensions_custom.conf":

#include ext_echo.conf

[from-internal-custom]
include => echo-test

Теперь внутренние абоненты могут проверить качество связи с помощью предложенного набора эхо-тестов.

Похожие публикации

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>