Собственно задачка простая, чел звонит, не дождался ответа - повесил трубку, а манагеру прилетело письмо на почту. Отправку проверил - работает.
Схема:
GSM-шлюз, 2е симки, каждая звонит на свой номер.
[holidays]
exten => 201,1,Answer()
exten => 201,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 201,n,Dial(SIP/200&SIP/201&SIP/sipnet.ru/номер,1,tTm(manual))
exten => 201,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?:7)
exten => 201,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?:7)
exten => 201,n,Hangup
exten => XXX,n,Goto(send_mail,h,1)
exten => 200,1,Answer()
exten => 200,n,Playback(/music_for_ats/Welcome)
exten => 200,n,Playback(/music_for_ats/Razgovor_zapisan)
exten => 200,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 200,n,Dial(SIP/200&SIP/201&SIP/sipnet.ru/номер,60,tTm(manual))
exten => 200,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?:7)
exten => 200,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?:7)
exten => 200,n,Hangup
[send_mail]
exten => s,1,System(rm /records/body.txt)
exten => s,n,System(echo "${CALLERID(num)}" "${DIALSTATUS}" "${VMSTATUS}" >> /records/body.txt)
exten => s,n,System(/records/send_mail.sh "${CALLERID(num)}" "${STRFTIME(${EPOCH},,%Y-%m-%d/%H:%M)}" "${DIALSTATUS}" "${VMSTATUS}")
exten => s,n,Hangup
Вот если выждать таймаут - все прекрасно отрабатывается, а вот если звонящий положил трубку - всё, конец, остановка выполнения сценария.
Пробовал, безрезултатно, использовать "H".
спросил
2019-08-17 17:36:33 +0400
lamobot 6 ● 6 ● 1
core show application Dial
zzuz ( 2019-08-18 00:04:06 +0400 )редактировать