Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

call file по списку

0

Здравствуйте.

Написал скрипт, который обзванивает с интервалом в 30 сек номера по списку и соединяет с ивр, в котором можно нажать цифру и выполнить системное действие. И нужно сделать, чтобы после того как заветная цифра была набрана набор по списку останавливался. К примеру, если повесить на цифру killall sleep, то астериск перестает ждать 30 сек и звонит следующему.

Как отменить выполнение обзвона?

    for client_number in `cat /var/spool/asterisk/list.txt`
do
 echo "Channel: Local/$client_number@from-internal/n
Callerid: nagios
MaxRetries: 10
RetryTime: 20
WaitTime: 20
Context: autoring_nagios
Extension: 687
Priority: 1
Account: nagios
">/var/spool/asterisk/outgoing/${RANDOM}${RANDOM}${RANDOM}.call
sleep 30;
done;
удалить закрыть спам изменить тег редактировать

спросил 2013-01-21 01:33:51 +0400

Artec Gravatar Artec
31 9 2 7

обновил 2013-01-21 01:36:10 +0400

1 Ответ

0

о. вы уже бескоечно далеко от нормального ядра обзвона. но эту задачу решить можно вот так

в диалплане

exten=> 1,1,System(touch /tmp/STOP_CALL)

в скрипте

if test -e /tmp/STOP_CALL
then
 rm /var/spool/asterisk/outgoing/* /tmp/STOP_CALL -f
 exit;
fi;
ссылка удалить спам редактировать

ответил 2013-01-21 02:00:26 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

обновил 2013-01-21 02:00:51 +0400

Comments

Ммм, а почему далеко от ядра обзвона?

Я в свое время точно так же call-файлами делал. Только я их создавал рядышком(в том же разделе) и перемещал после создания. Сам не натыкался что астер читает до того как файл дописался, но во избежание.

Злобный Мыш ( 2013-01-21 10:00:15 +0400 )редактировать

потомучто далеко. поверьте человеку который сам ядро писал.там подводных камней на несколько лет разработки.

meral ( 2013-01-21 14:09:23 +0400 )редактировать

а можно пару не слишком тайных подробностей?

Злобный Мыш ( 2013-01-21 14:46:44 +0400 )редактировать

ну если делать через кол файлы надо следить за ситуацией "файлов больше чем может обработать астриск"+ там очень много гемора с отслеживанием количество текущих каналов в проекте, надо очень аккуратно следить за запросами с большими нагрузками,астериск падает и зависает периодически и так далее. я вот до сих пор не могу найти почему иногда(в среднем один раз на 10000 звонков) увеличивается и не уменьшается назад счетчик. походу диалплан в некоторых странных условиях прекращает выполнение.

meral ( 2013-01-21 17:36:29 +0400 )редактировать

да вы vici поставте, вкачайте в него список на 100к номеров и посмотрите как он мило ложит 8ядерную машину. это проект над которым работаеют люди уже лет 10. правда разработчики удя по всему не очень.

meral ( 2013-01-21 17:38:08 +0400 )редактировать

про такие нагрузки я не думал :) Сомневаюсь что для обзвона по алертам системы мониторинга нужно думать о таких проблемах.

Но в любом случае большое спасибо за информацию.

Злобный Мыш ( 2013-01-22 10:22:18 +0400 )редактировать

как минимум делайте ls /var/spool/asterisk/outgoung|nl|tail -n 1|cut -b 1-8 и смотрите чтоб не стало больше 500 ;).

meral ( 2013-01-22 14:26:58 +0400 )редактировать

Да я вообще по 10 макс закидывал :)

скрипт который кидал call-файлы следил чтобы там больше 10 не накапливалось. Иначе дополнительные не копировал.

Злобный Мыш ( 2013-01-22 15:05:47 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку
1 закладка

подписаться на rss ленту новостей

Статистика

Задан: 2013-01-21 01:33:51 +0400

Просмотрен: 315 раз

Обновлен: Jan 21 '13

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.