Задать вопрос
@maxkzt

Не получает статус вызова ANSWER отправка curl?

Здравствуйте,
Возникла такая необходимость передавать статусы всех звонков на другой сервер и там их анализировать
Написал такой dialplan
Нужно получить статус звонка Отвечен Не отвечен, занято и отменен звонок и отправить curl запрос на удаленный сервер с параметрами кто позвонил и кому позвонили с указанием, года времени, и т.д.
В данном диалплане отрабатываются только правила BUSY и NOANSWER, а правила ANSWER и CANCEL не отправляют curl запрос 1ни как не могу понять в чем проблема.

Заранее спасибо
[test_dial]
exten => _XXXX,1,NoOp(Тест DIALSTATUS)
;; Параметры
    same => n,Set(DAY=${STRFTIME(${NOW},,%d)})
    same => n,Set(MONTH=${STRFTIME(${NOW},,%m)})
    same => n,Set(YEAR=${STRFTIME(${NOW},,%Y)})
    same => n,Set(HS=${STRFTIME(${EPOCH},,%H:%M:%S)})
    same => n,Set(CURL_URL=https://example.com/asterisk/)
    same => n,Set(CURL_ANSWER=answer=callerid=${CALLERID(num)}&to=${EXTEN}&date=${YEAR}-${MONTH}-${DAY}&time=${HS}&id=${UNIQUEID})
    same => n,Set(CURL_BUSY=busy=callerid=${CALLERID(num)}&to=${EXTEN}&date=${YEAR}-${MONTH}-${DAY}&time=${HS}&id=${UNIQUEID})
    same => n,Set(CURL_NOANSWER=noanswer=callerid=${CALLERID(num)}&to=${EXTEN}&date=${YEAR}-${MONTH}-${DAY}&time=${HS}&id=${UNIQUEID})
    same => n,Set(CURL_CANCEL=hangup=callerid=${CALLERID(num)}&to=${EXTEN}&date=${YEAR}-${MONTH}-${DAY}&time=${HS}&id=${UNIQUEID})


same => n,Dial(SIP/${EXTEN},10)

; Check DialStatus
;same => n,Set(call_status=${DIALSTATUS})
same => n,GotoIf($["${DIALSTATUS}"="ANSWER"]?Call_answer)
same => n,GotoIf($["${DIALSTATUS}"="BUSY"]?Call_busy)
same => n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?Call_noanswer)
same => n,GotoIf($["${DIALSTATUS}"="CANCEL"]?Call_cancel)

; Answer
same => n(Call_answer),NoOp(Call was answered)
same => n,System(curl ${CURL_URL}"${CURL_ANSWER}")
same => n,Hangup()

; Busy
same => n(Call_busy),NoOp(Call busy)
same => n,System(curl ${CURL_URL}"${CURL_BUSY}")
same => n,Hangup()

; No Answer
same => n(Call_noanswer),NoOp(Call was noanswered)
same => n,System(curl ${CURL_URL}"${CURL_NOANSWER}")
same => n,Hangup()

; Cancel
same => n(Call_cancel),NoOp(Call was Cancel)
same => n,System(curl ${CURL_URL}"${CURL_CANCEL}")
same => n,Hangup()
  • Вопрос задан
  • 30 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
-same => n,Dial(SIP/${EXTEN},10)
+same => n,Dial(SIP/${EXTEN},10,g)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы