Страница 1 из 2

нужно продолжить звонок после проверки

Добавлено: 22 сен 2011, 07:54
978143
нужно продолжить звонок после проверки
не хватает понимания что бы реализовать, подскажите.
exten => s,n,Dial(sip/localnum100,10) ;а можно до набор проверить канал
exten => s,n,GotoIf($["${DIALSTATUS}" <> "ANSWER"]?no_answer_true:no_answer_false)
exten => s,n,(no_answer_true),Dial(Local/88000000000@outbound_pbx/n,120,et)
exten => s,n,Hangup()
exten => s,n(no_answer_false),Playback(reno_project-system.wav) ;!!!я так понимаю здесь нужна функция продолжаем звонить еще.
exten => s,n,Hangup()

хочу сделать проверку на доступность, если доступно звоним если, если нет то делаем переадресацию.

Re: нужно продолжить звонок после проверки

Добавлено: 22 сен 2011, 07:57
Vlad1983
это бред
exten => s,n,(no_answer_true),

Re: нужно продолжить звонок после проверки

Добавлено: 22 сен 2011, 08:06
978143
exten => s,1,Dial(sip/localnum100,10) ;а можно до набор проверить канал
exten => s,n,GotoIf($["${DIALSTATUS}" <> "ANSWER"]?no_answer_true:no_answer_false)
exten => no_answer_true,1,Dial(Local/88000000000@outbound_pbx/n,120,et)
exten => no_answer_true,n,Hangup()
exten => no_answer_false,1,Playback(reno_project-system.wav) ;!!!я так понимаю здесь нужна функция продолжаем звонить еще.
exten => no_answer_false,n,Hangup()

;хорошо сделаю так.

Re: нужно продолжить звонок после проверки

Добавлено: 22 сен 2011, 08:37
Vlad1983
сделал одолжение...

не правильная запись сама по себе
exten => s,n,(no_answer_true),
запятая лишняя между n и (

Код: Выделить всё

exten => s,n(no_answer_true),
если будет ANSWER на эту строку
exten => s,n,GotoIf($["${DIALSTATUS}" <> "ANSWER"]?no_answer_true:no_answer_false)
никогда и не перейдет при данных параметрах в Dial
соответственно можно упростить до безобразия

Код: Выделить всё

exten => s,1,Dial(sip/localnum100,10)
exten => s,n,Dial(Local/88000000000@outbound_pbx/n,120,et)
exten => s,n,Playback(reno_project-system.wav)
exten => s,n,Goto(s,1)
можно ввести ещё проверку от зацикливания, но это уже сами

Re: нужно продолжить звонок после проверки

Добавлено: 22 сен 2011, 08:43
zzuz
Нынче после ответа на Dial продолжать обработку диаплана в текущем контексте астериск не будет без соответствующей опции.
core show application Dial

Re: нужно продолжить звонок после проверки

Добавлено: 22 сен 2011, 08:46
978143
нет суть в другом

есть телефон, иногда иногда он отключен, мне нужно сделать пере адресацию по недоступности.

то есть я просто пишу

exten => s,1,Dial(sip/localnum100,10) ; и если нет ответа то он звонит
exten => s,n,Dial(Local/88000000000@outbound_pbx/n,120,et); по этому номеру? я правильно понял.

Re: нужно продолжить звонок после проверки

Добавлено: 22 сен 2011, 08:49
978143
zzuz писал(а):Нынче после ответа на Dial продолжать обработку диаплана в текущем контексте астериск не будет без соответствующей опции.
core show application Dial
может глупый вопрос, а как из консоли после командыcore show application Dial вывести ответ в файл.

Re: нужно продолжить звонок после проверки

Добавлено: 22 сен 2011, 08:54
Vlad1983
zzuz, про это уже сказано

и вообще если уже был ответ накой проигрывать сообщение и ещё куда-то пытаться звонить?
если не ответили, логичней проиграть сообщение типа "все заняты. либо перезвоните позднее либо не ложите трубу для повторной попытки"

Код: Выделить всё

asterisk -rx "show application Dial" > /tmp/cmd_dial.man
exten => s,1,Dial(sip/localnum100,10) ; и если нет ответа то он звонит
exten => s,n,Dial(Local/88000000000@outbound_pbx/n,120,et); по этому номеру? я правильно понял.
правильно

Re: нужно продолжить звонок после проверки

Добавлено: 22 сен 2011, 09:10
978143
и вообще если уже был ответ накой проигрывать сообщение и ещё куда-то пытаться звонить?
если не ответили, логичней проиграть сообщение типа "все заняты. либо перезвоните позднее либо не ложите трубу для повторной попытки"
нужна пере адресация только по CHANUNAVAIL канала.
пере адресация по BUSY не нужна )

Re: нужно продолжить звонок после проверки

Добавлено: 22 сен 2011, 09:11
Vlad1983
вот тогда и проверяй на BUSY накой надо было c ANSWER заморачиваться