Автоматический обзвон абонентов по списку на Asterisk

Asterisk

Поступила задача создать сервис, который будет обзванивать автоматически абонентов по списку в файле и проигрывать им уведомление в wav формате. Делаем обзвонщик.

Он состоит в первую очередь из скрипта autodial.sh:

#!/bin/sh

# Пауза между обзвонами
pause=5
# Директория для файлов call
spooldir=/var/spool/asterisk
# Список номеров для обзвона (каждый номер с новой строки)
diallist=/home/diallist.txt

echo `date`": Start dialing with $pause second pause"

while read number; do

echo "Channel: Local/$number@office
MaxRetries: 3
RetryTime: 15
WaitTime: 30
Context: autodial-info
Extension: 555
Callerid: 555
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

Итак, этот скрипт создает call файлы с номерами из списка diallist.txt и астериск начинает обзвон. 3 попытки дозвона, через 15 секунд, ожидание 30 секунд.

Контекст набирателя:

[office]
# здесь основной контекст, по которому можно дозвониться абоненту (у меня это внутренняя телефония)

Контекст информатора:

[autodial-info]
exten => 555,1,Answer
exten => 555,n,Wait(3)
exten => 555,n,Background(announcement)
exten => 555,n,Hangup

Собственно и все. По желанию с помощью System можно сделать, чтобы скрипт запускался по звонку на определенный номер.

exten => 666,1,System(/home/autodial.sh &)


One thought on “Автоматический обзвон абонентов по списку на Asterisk”

  1. не подскажете, а как можно отмечать сколько времени прошло, после прослушивания приветствия до ответа оператором?

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

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2022

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!