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

Call file и запуск скрипта при неудаче

0

Всем здрасте!

Ситуация такая! Есть * по sip подключается к другому *. Система мониторинга при появлении проблем запускает скрипт который генерирует файл с фразой и созадет call файл который скармливается *. Все вроде норм. Но хочется что бы если 3 раза не удалось дозвониться по номеру запускался скрипт, который уже через com порт отошлет команды gsm модему что бы тот позвонил на указанный номер. Если конечно можно то лучше звонить через gsm модем самим *, но данный модем подключен по com порту и как его настроить на * я не знаю. Ну или попробовать сделать выше описаный алгоритм.

Если коротко 3 раза не удалось дозвниться по номеру с интервалом 30 секунд, запустить внешнюю команду.

Заранее спасибо!

удалить закрыть спам изменить тег редактировать

спросил 2014-03-27 19:06:21 +0400

mcleod095 Gravatar mcleod095
1 1

Comments

Почитал доки вроде все понятно но!!! Вот скрипт который создает файл

#!/bin/bash

NUMBER=${1}

cat << EOF > /tmp/call.file Channel:Local/${NUMBER}@office-asterisk Context:office-asterisk CallerID:zabbix Application:Playback MaxRetries:1 RetryTime:30 WaitTime:60 Priority:1 Set: ALARM_TEXT="PROBLEM: TESTSSS" EOF

chown asterisk.asterisk /tmp/call.file cp /tmp/call.file /var/spool/asterisk/outgoing/

вот extensions.conf [office-asterisk]

exten => 7XXXXXXXXXX,1,NoOp(Alarm - ${ALARMTEXT}, CALLERID - ${EXTEN}) exten => _7XXXXXXXXXX,n,Dial(SIP/office-asterisk/98${EXTEN:1},30,r) exten => _7XXXXXXXXXX,n,Hangup

exten => failed,1,NoOp(Failed Exten ${EXTEN}) exten => failed,n,Set(RRR="mmmm") exten => failed,n,NoOp(RRR=${RRR})

При генерации файла идет звонок, я его сбрасываю потом идет второй и все. После этого ничего не просиходит. Где ошибся?

mcleod095 ( 2014-03-31 17:19:56 +0400 )редактировать

MaxRetries:1

meral ( 2014-03-31 19:39:47 +0400 )редактировать

3 Ответа

1

http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out

MaxRetries

RetryTime

неудачные попытки считать в exten => failed. Оттуда же после 3 неудачи запускать скрипт.

ссылка удалить спам редактировать

ответил 2014-03-27 22:29:46 +0400

komrad123 Gravatar komrad123
3810 5 3 44
0

Большое спасибо!

Вроде почитал и сделал как написано, но в итоге не работает. вот скрипт которым я создаю call файл #!/bin/bash

NUMBER=${1}

cat << EOF > /tmp/call.file Channel:Local/${NUMBER}@office-asterisk Context:office-asterisk CallerID:zabbix Application:Playback MaxRetries:1 RetryTime:30 WaitTime:60 Priority:1 Set: ALARM_TEXT="PROBLEM: TESTSSS" EOF

chown asterisk.asterisk /tmp/call.file cp /tmp/call.file /var/spool/asterisk/outgoing/

Все просто.

Вот extensions.conf [office-asterisk]

exten => 7XXXXXXXXXX,1,NoOp(Alarm - ${ALARMTEXT}, CALLERID - ${EXTEN}) exten => _7XXXXXXXXXX,n,Dial(SIP/office-asterisk/98${EXTEN:1},30,r) exten => _7XXXXXXXXXX,n,Hangup

exten => failed,1,NoOp(Failed Exten ${EXTEN}) exten => failed,n,Set(RRR="mmmm") exten => failed,n,NoOp(RRR=${RRR})

В итоге звонок проходит, я его сбрасываю, происходит еще один вызов и все. Далее ничего не происходит. Call файл исчезает из спула и астер выполнил свою работу. Где ошибся? ткните плиз.

ссылка удалить спам редактировать

ответил 2014-03-31 15:20:31 +0400

mcleod095 Gravatar mcleod095
1 1

Comments

Почитал еще раз. Если в call файле указано приложение Application: Playback то даже при неудаче вызов не попадает в exten failure! Вот теперь ломаю дальше голову как сделать. Уж очень не охото через создание нового call файла и вызовов system

mcleod095 ( 2014-03-31 18:13:04 +0400 )редактировать
0

Только дописав эту функциональность в res_spool.c

Ну и,конечно, всегда можно сделать это внешним скриптом(записывать попытки в базу например и отслеживать)

вобщем не стардайте фигней, возмите уже написаное ядро dialler

ссылка удалить спам редактировать

ответил 2014-03-27 21:20:29 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

обновил 2014-03-27 21:21:51 +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)!
[скрыть предварительный просмотр]

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

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

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

Статистика

Задан: 2014-03-27 19:06:21 +0400

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

Обновлен: Mar 31 '14

Похожие вопросы:

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