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

call-file и план прозвона

0

Имеется такой скрипт (auto_dial.pl) для генерации call-файла:

#!/usr/bin/perl $file = "/tmp/$ARGV[0].callfile"; $phone = $ARGV[0]; open(FILE, "> $file"); print FILE "Channel: SIP/".$phone."\@111.222.333.444\n"; print FILE "CallerID: 72222222222\n"; print FILE "MaxRetries: 2\n"; print FILE "RetryTime: 300\n"; print FILE "WaitTime: 60\n"; print FILE "Context: auto_dial\n"; print FILE "Extension: s\n"; print FILE "Priority: 1\n"; close(FILE); 

так же имеется скрипт для прозвона такого типа(autod.sh):

./auto_dial.pl 2222222222 mv /tmp/*.callfile /var/spool/asterisk/outgoing/ ./auto_dial.pl 82222222222 mv /tmp/*.callfile /var/spool/asterisk/outgoing/ ./auto_dial.pl 72222222222 mv /tmp/*.callfile /var/spool/asterisk/outgoing/ ./auto_dial.pl +72222222222 mv /tmp/*.callfile /var/spool/asterisk/outgoing/ 

и план набора такой для всего этого:

[auto_dial] exten = _7XXXXXXXXXX,1,NoOp(${CALLERID(num)}) same = n,Set(CALLERID(all)=Bugaga <71234567890>) same = n,Macro(recordmeggorod,${EXTEN}) same = n,Dial(SIP/${EXTEN}@111.222.333.444) same = n,Background(/tmp/tmp) same = n,Hangup() exten = _8XXXXXXXXXX,1,NoOp(${CALLERID(num)}) same = n,Set(CALLERIDNEW1=${EXTEN:1}) same = n,Set(CALLERIDNEW2=7${CALLERIDNEW1}) same = n,Set(CALLERID(all)=Bugaga <71234567890>) same = n,Macro(recordmeggorod,${EXTEN}) same = n,Dial(SIP/${CALLERIDNEW2}@111.222.333.444) same = n,Background(/tmp/tmp) same = n,Hangup() exten = _+7XXXXXXXXXX,1,NoOp(${CALLERID(num)}) same = n,Set(CALLERIDNEW=${EXTEN:1}) same = n,Set(CALLERID(all)=Bugaga <71234567890>) same = n,Macro(recordmeggorod,${EXTEN}) same = n,Dial(SIP/${CALLERIDNEW}@111.222.333.444) same = n,Background(/tmp/tmp) same = n,Hangup() exten = _XXXXXXXXXXX,1,NoOp(${CALLERID(num)}) same = n,Macro(recordmeggorod,${EXTEN}) same = n,Set(CALLERID(all)=Bugaga <71234567890>) same = n,Dial(SIP/${EXTEN}@111.222.333.444) same = n,Background(/tmp/tmp) same = n,Hangup() exten = _XXXXXXXXXX,1,NoOp(${CALLERID(num)}) same = n,Set(CALLERIDNEW1=7${CALLERID(num)}) same = n,Set(CALLERID(all)=Bugaga <71234567890>) same = n,Macro(recordmeggorod,${EXTEN}) same = n,Dial(SIP/${CALLERIDNEW1}@111.222.333.444) same = n,Background(/tmp/tmp) same = n,Hangup() 

Результат следующий при попытке исполнения файла autod.sh выдаёт в логе следующее, звонит только некоторым и ложит трубку без воспроизведения:

WARNING[26427]: pbx_spool.c:278 safe_append: Unable to set utime on /var/spool/asterisk/outgoing/2222222222.callfile: Operation not permitted -- Attempting call on SIP/2222222222@111.222.333.444 for s@auto_dial:1 (Retry 1) == Using SIP RTP CoS mark 5 WARNING[26427]: pbx_spool.c:278 safe_append: Unable to set utime on /var/spool/asterisk/outgoing/82222222222.callfile: Operation not permitted -- Attempting call on SIP/82222222222@111.222.333.444 for s@auto_dial:1 (Retry 1) == Using SIP RTP CoS mark 5 

Почему так может происходить, что нужно сделать чтобы исправить ситуацию? Звонки должны уходить в формате 72222222222@111.222.333.444

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

спросил 2013-06-24 11:23:29 +0400

mention Gravatar mention flag of Russian Federation
486 ● 43 ● 3 ● 17
http://localhost/

Comments

проблема с правами на call файлы - Астер не может поменять дату у файла

octopas ( 2013-06-24 11:41:02 +0400 )редактировать

права поменял, ситуация аналогичная: NOTICE[14773]: pbxspool.c:353 attemptthread: Call failed to go through, reason (1) Hangup WARNING[14773]: pbxspool.c:278 safeappend: Unable to set utime on /var/spool/asterisk/outgoing/1234567890.callfile: Operation not permitted > Channel SIP/111.222.333.444-00005ed3 was answered. == Starting SIP/111.222.333.444-00005ed3 at autodial,s,1 failed so falling back to exten 's' == Starting SIP/111.222.333.444-00005ed3 at autodial,s,1 still failed so falling back to context 'default'

mention ( 2013-06-24 14:26:20 +0400 )редактировать

у вас экстеншна "s" в контексте auto_dial нет - вот вам об этом и пишет.

octopas ( 2013-06-24 15:13:24 +0400 )редактировать

есть варианты как сделать, ведь он должен по-идее выбирать в зависимости от того какие цифры подставили и поэтому начальный экстеншен может быть разный?

mention ( 2013-06-24 15:20:37 +0400 )редактировать

1 Ответ

1

у вас в call file написано - позвонит на номер, потом передать контроль на s@auto_dial.

в контеектсе auto_dial не описано что дальше делать для s. вам прийдется это описать.

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

ответил 2013-06-24 16:07:00 +0400

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

Ваш ответ

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 ленту новостей

Статистика

Задан: 2013-06-24 11:23:29 +0400

Просмотрен: 2,799 раз

Обновлен: Jun 24 '13

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