ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

AMI получение события о входящем звонке

Раздел для разработчиков для обсуждения программных и аппаратных продуктов и их реализации.

Модераторы: april22, Zavr2008

AMI получение события о входящем звонке

Сообщение vadosik » 27 сен 2021, 23:59

Отлавливаю события по AMI от Asterisk.
Есть 2 условия фильтрации событий:
1. ChannelStateDesc = Up
2. Context = from-queue

Звоню - Поднимаю трубку - Прилетают события, но они дублируются

Код: выделить все
[0] {
[0]   event: 'Newstate',
[0]   privilege: 'call,all',
[0]   channel: 'Local/201@from-queue-0000003b;1',
[0]   channelstate: '6',
[0]   channelstatedesc: 'Up',
[0]   calleridnum: '201',
[0]   calleridname: '201',
[0]   connectedlinenum: '202',
[0]   connectedlinename: '202',
[0]   language: 'ru',
[0]   accountcode: '',
[0]   context: 'from-queue',
[0]   exten: '1',
[0]   priority: '1',
[0]   uniqueid: '1632771747.236',
[0]   linkedid: '1632771747.235'
[0] }
[0] {
[0]   event: 'Newstate',
[0]   privilege: 'call,all',
[0]   channel: 'Local/201@from-queue-0000003b;1',
[0]   channelstate: '6',
[0]   channelstatedesc: 'Up',
[0]   calleridnum: '201',
[0]   calleridname: '201',
[0]   connectedlinenum: '202',
[0]   connectedlinename: '202',
[0]   language: 'ru',
[0]   accountcode: '',
[0]   context: 'from-queue',
[0]   exten: '1',
[0]   priority: '1',
[0]   uniqueid: '1632771747.236',
[0]   linkedid: '1632771747.235'
[0] }
[0] {
[0]   event: 'BridgeEnter',
[0]   privilege: 'call,all',
[0]   bridgeuniqueid: '9ba8b041-cc67-4d42-abac-32ef4f048753',
[0]   bridgetype: 'basic',
[0]   bridgetechnology: 'simple_bridge',
[0]   bridgecreator: '<unknown>',
[0]   bridgename: '<unknown>',
[0]   bridgenumchannels: '1',
[0]   bridgevideosourcemode: 'none',
[0]   channel: 'Local/201@from-queue-0000003b;1',
[0]   channelstate: '6',
[0]   channelstatedesc: 'Up',
[0]   calleridnum: '201',
[0]   calleridname: '201',
[0]   connectedlinenum: '202',
[0]   connectedlinename: '202',
[0]   language: 'ru',
[0]   accountcode: '',
[0]   context: 'from-queue',
[0]   exten: '1',
[0]   priority: '1',
[0]   uniqueid: '1632771747.236',
[0]   linkedid: '1632771747.235'
[0] }
[0] {
[0]   event: 'BridgeEnter',
[0]   privilege: 'call,all',
[0]   bridgeuniqueid: '9ba8b041-cc67-4d42-abac-32ef4f048753',
[0]   bridgetype: 'basic',
[0]   bridgetechnology: 'simple_bridge',
[0]   bridgecreator: '<unknown>',
[0]   bridgename: '<unknown>',
[0]   bridgenumchannels: '1',
[0]   bridgevideosourcemode: 'none',
[0]   channel: 'Local/201@from-queue-0000003b;1',
[0]   channelstate: '6',
[0]   channelstatedesc: 'Up',
[0]   calleridnum: '201',
[0]   calleridname: '201',
[0]   connectedlinenum: '202',
[0]   connectedlinename: '202',
[0]   language: 'ru',
[0]   accountcode: '',
[0]   context: 'from-queue',
[0]   exten: '1',
[0]   priority: '1',
[0]   uniqueid: '1632771747.236',
[0]   linkedid: '1632771747.235'
[0] }
[0] {
[0]   event: 'HangupRequest',
[0]   privilege: 'call,all',
[0]   channel: 'Local/201@from-queue-0000003b;1',
[0]   channelstate: '6',
[0]   channelstatedesc: 'Up',
[0]   calleridnum: '201',
[0]   calleridname: '201',
[0]   connectedlinenum: '202',
[0]   connectedlinename: '202',
[0]   language: 'ru',
[0]   accountcode: '',
[0]   context: 'from-queue',
[0]   exten: '1',
[0]   priority: '1',
[0]   uniqueid: '1632771747.236',
[0]   linkedid: '1632771747.235',
[0]   cause: '16'
[0] }
[0] {
[0]   event: 'HangupRequest',
[0]   privilege: 'call,all',
[0]   channel: 'Local/201@from-queue-0000003b;1',
[0]   channelstate: '6',
[0]   channelstatedesc: 'Up',
[0]   calleridnum: '201',
[0]   calleridname: '201',
[0]   connectedlinenum: '202',
[0]   connectedlinename: '202',
[0]   language: 'ru',
[0]   accountcode: '',
[0]   context: 'from-queue',
[0]   exten: '1',
[0]   priority: '1',
[0]   uniqueid: '1632771747.236',
[0]   linkedid: '1632771747.235',
[0]   cause: '16'
[0] }
[0] {
[0]   event: 'BridgeLeave',
[0]   privilege: 'call,all',
[0]   bridgeuniqueid: '9ba8b041-cc67-4d42-abac-32ef4f048753',
[0]   bridgetype: 'basic',
[0]   bridgetechnology: 'simple_bridge',
[0]   bridgecreator: '<unknown>',
[0]   bridgename: '<unknown>',
[0]   bridgenumchannels: '1',
[0]   bridgevideosourcemode: 'none',
[0]   channel: 'Local/201@from-queue-0000003b;1',
[0]   channelstate: '6',
[0]   channelstatedesc: 'Up',
[0]   calleridnum: '201',
[0]   calleridname: '201',
[0]   connectedlinenum: '202',
[0]   connectedlinename: '202',
[0]   language: 'ru',
[0]   accountcode: '',
[0]   context: 'from-queue',
[0]   exten: '1',
[0]   priority: '1',
[0]   uniqueid: '1632771747.236',
[0]   linkedid: '1632771747.235'
[0] }
[0] {
[0]   event: 'BridgeLeave',
[0]   privilege: 'call,all',
[0]   bridgeuniqueid: '9ba8b041-cc67-4d42-abac-32ef4f048753',
[0]   bridgetype: 'basic',
[0]   bridgetechnology: 'simple_bridge',
[0]   bridgecreator: '<unknown>',
[0]   bridgename: '<unknown>',
[0]   bridgenumchannels: '1',
[0]   bridgevideosourcemode: 'none',
[0]   channel: 'Local/201@from-queue-0000003b;1',
[0]   channelstate: '6',
[0]   channelstatedesc: 'Up',
[0]   calleridnum: '201',
[0]   calleridname: '201',
[0]   connectedlinenum: '202',
[0]   connectedlinename: '202',
[0]   language: 'ru',
[0]   accountcode: '',
[0]   context: 'from-queue',
[0]   exten: '1',
[0]   priority: '1',
[0]   uniqueid: '1632771747.236',
[0]   linkedid: '1632771747.235'
[0] }
[0] {
[0]   event: 'Hangup',
[0]   privilege: 'call,all',
[0]   channel: 'Local/201@from-queue-0000003b;1',
[0]   channelstate: '6',
[0]   channelstatedesc: 'Up',
[0]   calleridnum: '201',
[0]   calleridname: '201',
[0]   connectedlinenum: '202',
[0]   connectedlinename: '202',
[0]   language: 'ru',
[0]   accountcode: '',
[0]   context: 'from-queue',
[0]   exten: '1',
[0]   priority: '1',
[0]   uniqueid: '1632771747.236',
[0]   linkedid: '1632771747.235',
[0]   cause: '16',
[0]   'cause-txt': 'Normal Clearing'
[0] }
[0] {
[0]   event: 'Hangup',
[0]   privilege: 'call,all',
[0]   channel: 'Local/201@from-queue-0000003b;1',
[0]   channelstate: '6',
[0]   channelstatedesc: 'Up',
[0]   calleridnum: '201',
[0]   calleridname: '201',
[0]   connectedlinenum: '202',
[0]   connectedlinename: '202',
[0]   language: 'ru',
[0]   accountcode: '',
[0]   context: 'from-queue',
[0]   exten: '1',
[0]   priority: '1',
[0]   uniqueid: '1632771747.236',
[0]   linkedid: '1632771747.235',
[0]   cause: '16',
[0]   'cause-txt': 'Normal Clearing'
[0] }


Вопрос: Из-за чего такие дубли? Или может я не те события ловлю, суть в том что мне нужно событие поднятия трубки оператором.

Asterisk 13. FreePBX 15.
vadosik
 
Сообщений: 10
Зарегистрирован: 26 ноя 2020, 00:54

Re: AMI получение события о входящем звонке

Сообщение Garnish » 02 окт 2021, 21:24

1. Попробуйте подключиться телнетом непосреlственно к астеру и посмотрите будет ли дубляж. Если его нет - смотрите в свой код. Если есть - смотрите в настройки manager.conf
2. Если оператор в очереди, можете смотреть на AgentConnect
3. Если ami не принципиален/не получается настроить, то можно использовать ключ "M" в Dial/Queue
Garnish
 
Сообщений: 43
Зарегистрирован: 09 мар 2016, 12:07

Re: AMI получение события о входящем звонке

Сообщение Repz » 04 окт 2021, 15:25

Ловить события нужно начинать по event, остальное потом.
В ами по одному событию.Дублируется из за ПО, два раза output прописан, нужно код смотреть.
Repz
 
Сообщений: 169
Зарегистрирован: 04 мар 2015, 12:35

Re: AMI получение события о входящем звонке

Сообщение AndyBack » 25 окт 2021, 19:07

В АМИ и без того полно дублирований. Нужна стейт-машина, которая будет разбираться что нужно, а что нет.
AndyBack
 
Сообщений: 40
Зарегистрирован: 31 авг 2018, 23:03


Вернуться в Разработка

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH