Криво косо но решил проблему поставил флаг удачной записи и в h сделал проверку на этот флаг
Код: Выделить всё
exten => 31262,1,Playback(/var/lib/asterisk/sounds/helo8)
exten => 31262,2,Set(Flag=1)
exten => 31262,3,NoOp(${Flag})
exten => 31262,4,Record(/tmp/asterisk/%d-${CALLERID(number)}-as:wav,,,noanswer)
exten => 31262,5, Dial(SIP/zadarma-00000001,60)
exten => 31262,n, Goto(${EXTEN}-${DIALSTATUS},1)
; тут проверка успешно ли прошла запись или нет если успешно то пропускаем системный выхов
exten => h,1,NoOp(${Flag})
exten => h,2,GotoIf($[${Flag}=0]?h,4)
exten => h,3,System(bash request/${CALLERID(number)}/?temp_file=${RECORDED_FILE}.wav)
exten => h,4,Hangup
; Сюда почему-то уходит если нажать решотку при окончании записи
exten => 31262-CHANUNAVAIL,1,System(bash request/${CALLERID(number)}/?temp_file=${RECORDED_FILE}.wav)
exten => 31262-CHANUNAVAIL,2,Wait(2)
exten => 31262-CHANUNAVAIL,3,Set(Flag=0)
exten => 31262-CHANUNAVAIL,4,NoOp(${Flag})
exten => 31262-CHANUNAVAIL,5,Hangup
и отдельный вопрос почему при успешном или сбросе не попадает вот сюда...
Код: Выделить всё
;exten => 31262-ANSWER,1,System(bash request/${CALLERID(number)}/?temp_file=${RECORDED_FILE}.wav)
;exten => 31262-ANSWER,2,Wait(2)
;exten => 31262-ANSWER,3,Hangup
;exten => 31262-CANCEL,1,System(bash request/${CALLERID(number)}/?temp_file=${RECORDED_FILE}.wav)
;exten => 31262-CANCEL,2,Wait(2)
;exten => 31262-CANCEL,3,Hangup