Re: Автоматизированная Система Речевого Оповещения
/etc/asterisk/extensions_custom.conf
[outboundmsg1]
exten => s,1,Dial(SIP/${EXTEN:1}@cisco) ; @cisco имя экстеншена циски в sip.conf
exten => s,n,Wait(2) ; ожидание 2сек до начала проигрывания сообщения
exten => s,n,Background(outboundmsgs/msg1) ; проигрывание сообщения
exten => s,n,Background(outboundmsgs/msg1) ; проигрывание сообщения второй раз
exten => s,n,Hangup ; кладем трубку
/etc/asterisk/sip_additional.conf
[cisco]
type=friend
host=xxx.xxx.xxx.xxx
context=from-trunk
Заускаем скрипт и начинается прозвон, в это время на экране бегут номера телефонов.
/var/spool/asterisk/call.sh
#!/bin/sh
number=2000000 ; стартовый номер обзвона
LIMIT=2999999 ; финальный номер обзвона
while [ "$number" -lt "$LIMIT" ]
do
cat < /var/spool/asterisk/$number
Channel: SIP/8812$number@cisco
Callerid: $number
MaxRetries: 2
RetryTime: 60
WaitTime: 20
Context: outboundmsg1
Extension: s
Priority: 1
EOF
chown asterisk:asterisk /var/spool/asterisk/$number
mv /var/spool/asterisk/$number /var/spool/asterisk/outgoing
echo "$number"
number=`expr $number + 1`
while [ "$?" -eq "0" ]
do
count_files ()
{
count_f=`ls /var/spool/asterisk/outgoing | wc -l`
if [ "$count_f" -eq "30" ]; then
sleep 10
return 0
else
return 1
fi
}
count_files
done
done
exit 0
Скрипт прозвоки по списку номеров. Список кладем в /var/spool/asterisk/list.txt смотрим что бы в конце строки не было ^M
Для этого можно просто открыть файл в mc и вставить туда строки. Либо man col.
/var/spool/asterisk/call_list.sh
#!/bin/sh
while read number; do
cat < /var/spool/asterisk/$number
Channel: SIP/8812$number@cisco
Callerid: $number
MaxRetries: 2
RetryTime: 60
WaitTime: 20
Context: outboundmsg1
Extension: s
Priority: 1
EOF
chown asterisk:asterisk /var/spool/asterisk/$number
mv /var/spool/asterisk/$number /var/spool/asterisk/outgoing
echo "$number"
number=`expr $number + 1`
while [ "$?" -eq "0" ]
do
count_files ()
{
count_f=`ls /var/spool/asterisk/outgoing | wc -l`
if [ "$count_f" -eq "30" ]; then
sleep 10
return 0
else
return 1
fi
}
count_files
done
done < /var/spool/asterisk/list.txt
exit 0
(Поскольку asterisk@home может проигрывать .mp3 файлы, то конвертирование не требуется)
Конвертируем наш звуковой файл в формат .gsm
/var/lib/asterisk/sounds/outboundmsgs/
sox msg1.mp3 -r 8000 -c1 msg1.gsm resample -ql
Литература:
http://www.voip-info.org/tiki-index.php?page=Asterisk+auto-dial+out
http://www.voip-info.org/wiki/index.php?page=Asterisk+auto-dial+out+deliver+message
http://www.voip-info.org/tiki-index.php?page=Convert+WAV+audio+files+for+use+in+Asterisk
http://www.voip-info.org/wiki-Asterisk+cisco+FXO
|