Имеется такой скрипт (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
у вас в call file написано - позвонит на номер, потом передать контроль на s@auto_dial.
в контеектсе auto_dial не описано что дальше делать для s. вам прийдется это описать.
Задан: 2013-06-24 11:23:29 +0400
Просмотрен: 2,705 раз
Обновлен: Jun 24 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
проблема с правами на 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 )редактировать