У моего заказчика не так давно возникла необходимость обзвонить всех своих сотрудников с проигрыванием небольшого голосового сообщения. Устанавливать сложные системы массового обзвона у меня не было никакого желания. В итоге я нашёл очень простой способ решить эту задачу.
Обзвонщик состоит из shell-скрипта:
#!/bin/sh
# Asterisk call from list script for FreePBX
# Based on example at http://asterisk-support.ru/forum/topics/267/
pause=40
spooldir=/astdb/spool # No trailing slash!
diallist=/etc/asterisk/scripts/dialer/diallist.txt
echo `date`": Dialing with $pause second pause"
while read number; do
echo "Channel: Local/8$number@prozvon-dialer
MaxRetries: 0
RetryTime: 5
WaitTime: 30
Context: prozvon-informer
Extension: 2222
Callerid: 2222
Account: autodialer
Priority: 1" > $spooldir/tmp/$number
chmod 777 $spooldir/tmp/$number
chown asterisk:asterisk $spooldir/tmp/$number
mv $spooldir/tmp/$number $spooldir/outgoing
echo "$number"
sleep $pause
done < $diallist
echo "Done"
exit 0
и двух контекстов — набирателя:
[prozvon-dialer]
exten => _8XXXXXXXXXX,1,NoOp(Starting mass dialer exten)
exten => _8XXXXXXXXXX,n,Set(CALLFILENAME=${UNIQUEID})
exten => _8XXXXXXXXXX,n,MixMonitor(${MIXMON_DIR}${CALLFILENAME}.${MIXMON_FORMAT},,${MIXMON_POST})
exten => _8XXXXXXXXXX,n,Dial(SIP/GorodOut/${EXTEN},60)
exten => _8XXXXXXXXXX,n,Set(CDR(userfield)=${HASH(SIP_CAUSE,${CDR(dstchannel)})})
exten => _8XXXXXXXXXX,n,Hangup ; кладем трубку
GorodOut — это учётная запись нашего SIP-провайдера.
и диктователя
[prozvon-informer]
exten => 2222,1,Answer
exten => 2222,n,NoOp(Informer started)
exten => 2222,n,Wait(3)
exten => 2222,n,Background(announcement)
exten => 2222,n,Hangup
диктователь после установки соединения ждёт 3 секунды и потом проговаривает announcement
Скрипт, будучи запущенным, подцепит указанный текстовый файл, в котором просто идут номера по списку, по одному номеру на линию.
А как мы узнаем результаты? Очень просто:
SELECT * FROM cdr WHERE accountcode = 'autodialer';
Также в случае, если дозвон не удался, в поле userfield в CDR будет более подробно указана причина этого.
Ну и напоследок:
Статья 18. Реклама, распространяемая по сетям электросвязи (в ред. Федерального закона от 27.10.2008 N 179-ФЗ)
2. Не допускается использование сетей электросвязи для распространения рекламы с применением средств выбора и (или) набора абонентского номера без участия человека (автоматического дозванивания, автоматической рассылки).
Автор: varnav