Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Current »

Простые (общие) примеры:

Исходящий вызов с добавочного 101 можно отследить следующими событиями:

101 Dial-out
101 Answer (в случае ответа вызываемой стороны)
101 Hangup

Входящий вызов (ivr 099) будут сгенерированы следующие события:

- при успешном соединении будут сгенерированы следующие события:

099 Dial-in
....
<номер принявшего добавочного> answer (не обязателен для анализа)
.... а также любые иные события необязательны для анализа
099 hangup (bridged:yes - обязателен для анализа успешности вызова)

- при неуспешном соединении будут сгенерированы следующие события:

099 Dial-in
.... любые иные события необязательны для анализа
099 hangup (bridged:no - обязателен для анализа успешности вызова)

Сложные примеры включают в себя переадресации при прохождении звонка, переводы и т.п:

Такие звонки нужно логически объединять при получении событий, например в обычном звонке для одного звонящего:

099 Dial-in
....
<номер принявшего добавочного> answer (не обязателен для анализа)
.... любые иные события не обязательны для анализа
099 hangup (bridged:yes - обязателен для анализа успешности вызова)

Может быть множество разных обзвонов внутренних добавочных, переводов на внешний номер и т.д. Если есть необходимость логически соотнести любые исходящие вызовы (например, перевод на внешний номер) с изначальным входящем вызовом- нужно при поступлении 099 Dial-in поместить call_id в память (например, memcached или redis), а при появлении 099 hangup с bridged можно удалять call_id из памяти.
Т.о. внутри одного звонка все исходящие вызовы можно будет соотнести с входящим по call_id

Для исходящего вызова немного сложнее:

101 Dial-out
101 Answer (в случае ответа вызываемой стороны)
101 Hangup

если при исходящем вызове добавочный АТС решил перевести вызов куда-либо, то будет еще один комплект событий:

Dial-out, Answer(в случае ответа вызываемой стороны) и Hangup, но с признаком transfered = yes.

Таким образом, если при исходящем звонке из памяти не удалять сразу call id (а удалять с expires, например, 1 min после hangup) - то можно соотнести все переводы с изначальным исходящим вызовом

  • No labels