Простейший способ обзвона списка номеров с помощью Asterisk

от автора

У моего заказчика не так давно возникла необходимость обзвонить всех своих сотрудников с проигрыванием небольшого голосового сообщения. Устанавливать сложные системы массового обзвона у меня не было никакого желания. В итоге я нашёл очень простой способ решить эту задачу.

Обзвонщик состоит из 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. Не допускается использование сетей электросвязи для распространения рекламы с применением средств выбора и (или) набора абонентского номера без участия человека (автоматического дозванивания, автоматической рассылки).

ссылка на оригинал статьи http://habrahabr.ru/post/159503/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *