Автоматический обзвон абонентов по списку на 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 © Все права защищены 2023

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