Le service d’écho d’Asterisk

Pour tester si le client arrive à émettre des appels, vous pouvez configurer un numéro de téléphone pour appeler le service echo. La fonction echo se configure de la façon suivante :

# nano /etc/asterisk/extensions.conf

[local]

; test d’écho classique
exten => 801,1,Playback(demo-echotest)
exten => 801,2,Echo
exten => 801,3,Playback(demo-echodone); test d’écho étenduexten => 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,SayDigits(${CALLERID(num)})
exten => 802,n,Wait(1)
exten => 802,n,Playback(channel)
exten => 802,n,Wait(1)
exten => 802,n,SayAlpha(${CHANNEL})
exten => 802,n,Wait(1)
exten => 802,n,Set(encryption=channel-secure)
exten => 802,n,GotoIF($[« ${CHANNEL(secure_signaling)} » != « 1 »]?insecure)
exten => 802,n,GotoIF($[« ${CHANNEL(secure_media)} » != « 1 »]?insecure)
exten => 802,n(playencryption),Playback(${encryption})
exten => 802,n,Wait(1)
exten => 802,n,Playback(demo-echotest)
exten => 802,n,Record(/tmp/802-${UNIQUEID}.wav,0,30)
exten => 802,n,Playback(system-status-msg)
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=channel-insecure-warn)
exten => 802,n,Goto(playencryption); Music ON hold pour le tester

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

; test d’echo avec callback

exten => 804,1,Playback(thank-you-for-calling)
exten => 804,n,System(/etc/asterisk/scripts/echo-callback.sh ${CALLERID(num)} &)
exten => 804,n,Hangup()

Le script pour faire le callback

# nano /etc/asterisk/scripts/echo-callback.sh

#!/bin/sh

NUMBER=$1

sleep 10
echo « Channel: Local/${NUMBER}@local
CallerID: Echo test <802>
MaxRetries: 1
RetryTime: 10
WaitTime: 30
Account: 802
Context: local
Extension: 802
Priority: 1
AlwaysDelete: Yes » >/var/spool/asterisk/tmp/${NUMBER}
mv /var/spool/asterisk/tmp/${NUMBER} /var/spool/asterisk/outgoing/${NUMBER}

exit 0

# chmod +x /etc/asterisk/scripts/echo-callback.sh

# service asterisk reload

Laisser un commentaire