Всем привет, есть один вопрос который думаю как решить. Задача: создается call файл из скрипта, call файл вида
Channel: Local/$number@from-internal
Callerid: 222222
MaxRetries: 2
RetryTime: 40
Context: work
Extension: s
Set: __sp=custom/menu/123
Set: __td=nz
Archive: Yes
если после 2 звонков до абонента дозвониться не получилось то в запускался бы shel скрипт. У меня есть пару идей но они больно сложно ватые, ожет подскажите как это проще реализовать? контекст work выглядит вот так:
exten => s,1,Answer ; отвечаем
exten => s,n,noop(${sp})
exten => s,n,noop(${td})
exten => s,n,System(/var/spool/asterisk/tmp/tdpz ${td})
exten => s,n,Set(TIMEOUT(response)=30)
exten => s,n(naberite),Background(${sp})
exten => s,n,WaitExten(10)
exten => s,n,GotoIf($[${numTries} = 2]?s,ha)
exten => 1,1,Set(numTries=$[${numTries}+1])
exten => 1,2,Goto(s,naberite)
exten => 2,1,Queue(300,t,,,210)
exten => 3,1,System(/var/spool/asterisk/tmp/tdcz ${td})
exten => 3,2,Playback(/var/lib/asterisk/sounds/custom/menu/otkaz)
exten => i,1,GotoIf($[${numTries1} = 2]?s,ha)
exten => i,n,Playback(pbx-invalid)
exten => i,n,Set(numTries1=$[${numTries1}+1])
exten => i,n,Goto(s,naberite)
можно так:
Идите от обратного: сделайте базу, в которой по умолчанию считайте, что не дозвонились, а при дозвоне помечайте, что обзвон выполнен. И через нужное время запускайте скрипт, вытягивающий из базы всех к кому не дозвонились.
Задан: 2011-10-04 16:39:55 +0400
Просмотрен: 643 раз
Обновлен: Oct 04 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.