poniedziałek, 2 kwietnia 2012

Asterisk - automatyczne nawiazywanie polaczen

Do pliku /etc/asterisk/modules.conf dodajemy


load => pbx_spool.so

W bashu klepiemy bardzo prosty skrypt 

#!/bin/bash
sounds=/var/lib/asterisk/sounds/
rOut=/var/spool/asterisk/outgoing/
rUser=root
rGroup=root
nFile=call.csv
rtry=1
mtry=2
stime=1
#############################################
for nums in $(cat $nFile)
        do
                num=`echo $nums | awk -F"," {'print $1'}`
                noise=`echo $nums | awk -F"," {'print $2'}`
                                nTrunk=`echo $nums | awk -F"," {'print $3'}`
echo "`date`,$num,$noise" >> call-log.csv
echo "Channel: SIP/$nTrunk/$num" >> $num.call
echo "RetryTime:$rtry" >> $num.call
echo "MaxRetries:$mtry" >> $num.call
echo "Archive: Yes" >> $num.call
echo "Application: Playback" >> $num.call
echo "Data:$noise" >> $num.call
chown $rUser.$rGroup $num.call
mv $num.call $rOut
sleep $stime
done


Do tego tworzymy plik call.csv 
numer1,nagranie,trunk 
numer2,nagranie,trunk 
numer3,nagranie,trunk 
...


I to wszystko ;) 

Odpalamy skrypt, a asterisk sam dzwoni na numery z pliku call.csv i puszcza odpowiedni komunikat glosowy (nagranie - call.csv). 

Dzieki Archive:Yes  pliki call zostaja zarchiwizowane w katalogu /var/spool/asterisk/outgoing_done/