• Как получить информацию о входящем звонке Asterisk ARI?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Что такое канал и мост?
    Канал - это соединение между Asterisk и конечной точкой (телефоном). Мост - внутреннее соединение между несколькими каналами в Asterisk.
    Например есть статья, но по всей видимости, она устарела
    В этой статье используют AMI, а не ARI.

    По ARI простейший разговор выглядит так:
    spoiler
    ChannelCreated - создан канал с вызывающим абонентом
    DeviceStateChanged, INUSE - вызывающее устройство сменило статус
    ChannelVarset, SIPURI - установка значения переменной
    ChannelVarset, SIPDOMAIN
    ChannelVarset, SIPCALLID
    ChannelStateChange, Ring - изменение статуса канала
    ChannelDialplan, Dial - сработала команда Dial в диалплане
    ChannelVarset, DIALSTATUS
    ChannelVarset, DIALEDPEERNUMBER
    ChannelVarset, DIALEDPEERNAME
    ChannelVarset, ANSWEREDTIME
    ChannelVarset, DIALEDTIME
    DeviceStateChanged, RINGING - звонок у вызываемого абонента
    ChannelCreated - создан канал до вызываемого абонента
    ChannelVarset, SIPCALLID
    ChannelVarset, DIALEDPEERNUMBER
    ChannelDialplan, AppDial - команда Dial в канале вызываемого абонента
    ChannelConnectedLine - изменилась информация о каналах
    Dial - производится вызов абонента
    ChannelConnectedLine
    ChannelStateChange, Ringing - изменение статуса канала
    Dial, RINGING - звонок на вызываемой линии
    DeviceStateChanged, BUSY - поднята трубка у вызываемого абонента
    ChannelStateChange, Up - изменение статуса канала вызываемого абонента
    ChannelVarset, DIALSTATUS
    ChannelVarset, DIALEDPEERNAME
    ChannelVarset, DIALEDPEERNUMBER
    Dial, ANSWER - ответ на вызываемой линии
    ChannelStateChange, Up - изменение статуса канала вызывающего абонента
    BridgeCreated - создан мост
    ChannelDialplan, AppDial - команда Dial в канале вызываемого абонента
    DeviceStateChanged, INUSE - у вызывающего абонента
    ChannelEnteredBridge - вызываемый канал подключился к мосту
    ChannelEnteredBridge - вызывающий канал подключился к мосту
    ChannelVarset, BRIDGEPEER
    ChannelVarset, BRIDGEPVTCALLID
    ChannelVarset, BRIDGEPEER
    ChannelVarset, BRIDGEPVTCALLID
    ChannelVarset, RTPAUDIOQOS
    ChannelVarset, RTPAUDIOQOSBRIDGED
    ChannelVarset, RTPAUDIOQOSJITTER
    ChannelVarset, RTPAUDIOQOSJITTERBRIDGED
    ChannelVarset, RTPAUDIOQOSLOSS
    ChannelVarset, RTPAUDIOQOSLOSSBRIDGED
    ChannelVarset, RTPAUDIOQOSRTT
    ChannelVarset, RTPAUDIOQOSRTTBRIDGED
    ChannelVarset, RTPAUDIOQOSBRIDGED
    ChannelVarset, RTPAUDIOQOS
    ChannelVarset, RTPAUDIOQOSBRIDGED
    ChannelVarset, RTPAUDIOQOSJITTER
    ChannelVarset, RTPAUDIOQOSJITTERBRIDGED
    ChannelVarset, RTPAUDIOQOSLOSS
    ChannelVarset, RTPAUDIOQOSLOSSBRIDGED
    ChannelVarset, RTPAUDIOQOSRTT
    ChannelVarset, RTPAUDIOQOSRTTBRIDGED
    ChannelVarset, RTPTEXTQOS
    DeviceStateChanged, NOT_INUSE - вызываемый абонент положил трубку
    ChannelHangupRequest - завершение канала вызывающего абонента
    ChannelVarset, BRIDGEPEER
    ChannelVarset, BRIDGEPVTCALLID
    ChannelVarset, BRIDGEPEER
    ChannelVarset, BRIDGEPVTCALLID
    ChannelLeftBridge - вызывающий канал вышел из моста
    ChannelLeftBridge - вызываемый канал вышел из моста
    ChannelVarset, ANSWEREDTIME
    ChannelVarset, DIALEDTIME
    ChannelVarset, DIALSTATUS
    ChannelHangupRequest - завершение канала вызывающего абонента
    ChannelVarset, RTPAUDIOQOS
    ChannelVarset, RTPAUDIOQOSJITTER
    ChannelVarset, RTPAUDIOQOSLOSS
    ChannelVarset, RTPAUDIOQOSRTT
    ChannelDestroyed - вызывающий канал уничтожен
    ChannelDestroyed - вызываемый канал уничтожен
    DeviceStateChanged, NOT_INUSE - вызывающий абонент положил трубку
    Ответ написан
    3 комментария