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

Парсинг событий AMI

Проблемы и их решения Asterisk как такового

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

Парсинг событий AMI

Сообщение Scarabey » 01 июн 2023, 12:30

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

Можно ли как-то однозначно связать AMI команду Originate со всеми порожденными этой командой событиями которые прилетают в AMI канал, такие как Newchannel, NewConnectedLine и т.д. ?
Asterisk 20.1
Пример команды Originate для соединения добавочного = 10000 с мобилой = 89001112233 с КоллерИД = 74990001122:

[Показать] Спойлер:
Action: Originate
Channel: PJSIP/10000
Context: pstn-out
Exten: 89001112233
Priority: 1
Callerid: 74990001122
Timeout: 30000
Account: 123123
ActionId: SDY4-12837-123878782


Ниже вывод событий AMI порожденных командой Originate с параметрами как указано выше (Тут добавочный 10000 сразу сбросил вызов как только пришел звонок):

[Показать] Спойлер:
Event: Newchannel
Privilege: call,all
Channel: PJSIP/10000-000000a7
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: <unknown>
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode:
Context: pstn-out
Exten: s
Priority: 1
Uniqueid: 1685606276.305
Linkedid: 1685606276.305

Event: NewAccountCode
Privilege: call,all
Channel: PJSIP/10000-000000a7
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: <unknown>
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode: 123123
Context: pstn-out
Exten: s
Priority: 1
Uniqueid: 1685606276.305
Linkedid: 1685606276.305
OldAccountCode:

Event: NewCallerid
Privilege: call,all
Channel: PJSIP/10000-000000a7
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 74990001122
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode: 123123
Context: pstn-out
Exten: s
Priority: 1
Uniqueid: 1685606276.305
Linkedid: 1685606276.305
CID-CallingPres: 0 (Presentation Allowed, Not Screened)

Event: NewConnectedLine
Privilege: call,all
Channel: PJSIP/10000-000000a7
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 74990001122
CallerIDName: <unknown>
ConnectedLineNum: 74990001122
ConnectedLineName: <unknown>
Language: en
AccountCode: 123123
Context: pstn-out
Exten: s
Priority: 1
Uniqueid: 1685606276.305
Linkedid: 1685606276.305

Event: DialBegin
Privilege: call,all
DestChannel: PJSIP/10000-000000a7
DestChannelState: 0
DestChannelStateDesc: Down
DestCallerIDNum: 74990001122
DestCallerIDName: <unknown>
DestConnectedLineNum: 74990001122
DestConnectedLineName: <unknown>
DestLanguage: en
DestAccountCode: 123123
DestContext: pstn-out
DestExten: s
DestPriority: 1
DestUniqueid: 1685606276.305
DestLinkedid: 1685606276.305
DialString: 10000

Event: Newstate
Privilege: call,all
Channel: PJSIP/10000-000000a7
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 74990001122
CallerIDName: <unknown>
ConnectedLineNum: 74990001122
ConnectedLineName: <unknown>
Language: en
AccountCode: 123123
Context: pstn-out
Exten: s
Priority: 1
Uniqueid: 1685606276.305
Linkedid: 1685606276.305

Event: DialState
Privilege: call,all
DestChannel: PJSIP/10000-000000a7
DestChannelState: 5
DestChannelStateDesc: Ringing
DestCallerIDNum: 74990001122
DestCallerIDName: <unknown>
DestConnectedLineNum: 74990001122
DestConnectedLineName: <unknown>
DestLanguage: en
DestAccountCode: 123123
DestContext: pstn-out
DestExten: s
DestPriority: 1
DestUniqueid: 1685606276.305
DestLinkedid: 1685606276.305
DialStatus: RINGING

Event: HangupRequest
Privilege: call,all
Channel: PJSIP/10000-000000a7
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 74990001122
CallerIDName: <unknown>
ConnectedLineNum: 74990001122
ConnectedLineName: <unknown>
Language: en
AccountCode: 123123
Context: pstn-out
Exten: s
Priority: 1
Uniqueid: 1685606276.305
Linkedid: 1685606276.305
Cause: 17

Event: DialEnd
Privilege: call,all
DestChannel: PJSIP/10000-000000a7
DestChannelState: 5
DestChannelStateDesc: Ringing
DestCallerIDNum: 74990001122
DestCallerIDName: <unknown>
DestConnectedLineNum: 74990001122
DestConnectedLineName: <unknown>
DestLanguage: en
DestAccountCode: 123123
DestContext: pstn-out
DestExten: s
DestPriority: 1
DestUniqueid: 1685606276.305
DestLinkedid: 1685606276.305
DialStatus: BUSY

Event: Newchannel
Privilege: call,all
Channel: OutgoingSpoolFailed
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 74990001122
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode: 123123
Context: pstn-out
Exten: failed
Priority: 1
Uniqueid: 1685606278.306
Linkedid: 1685606278.306

Event: Hangup
Privilege: call,all
Channel: PJSIP/10000-000000a7
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 74990001122
CallerIDName: <unknown>
ConnectedLineNum: 74990001122
ConnectedLineName: <unknown>
Language: en
AccountCode: 123123
Context: pstn-out
Exten: s
Priority: 1
Uniqueid: 1685606276.305
Linkedid: 1685606276.305
Cause: 17
Cause-txt: User busy

Event: SoftHangupRequest
Privilege: call,all
Channel: OutgoingSpoolFailed
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 74990001122
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode: 123123
Context: pstn-out
Exten: failed
Priority: 1
Uniqueid: 1685606278.306
Linkedid: 1685606278.306
Cause: 16

Event: Hangup
Privilege: call,all
Channel: OutgoingSpoolFailed
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 74990001122
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode: 123123
Context: pstn-out
Exten: failed
Priority: 2
Uniqueid: 1685606278.306
Linkedid: 1685606278.306
Cause: 0
Cause-txt: Unknown


Заранее спасибо за помощь :roll:
Scarabey
 
Сообщений: 8
Зарегистрирован: 19 фев 2021, 15:06

Re: Парсинг событий AMI

Сообщение Scarabey » 01 июн 2023, 17:10

Нашел решение
если в команде Originate указать
ChannelId: 111122223333
то во всех порожденных событиях в AMI
LinkedId будет равен 111122223333
что полностью решает задачу поиска событий связанных с действием Originate
Scarabey
 
Сообщений: 8
Зарегистрирован: 19 фев 2021, 15:06

Re: Парсинг событий AMI

Сообщение Zavr2008 » 04 июн 2023, 00:08

Я бы четно говоря так не делал, тут и уникальность должна быть данного параметра, также и формат в астере может поменяться обычно он на конце .XXX сейчас, у Вас например .305.
Думаю правильнее просто в диалплане в том контексте генерировать AMI событие юзеровское и там уже однозначно связывать все что нужно. Это еще и второй плюс - Вы можете получать подтверждение что фаза дозвона началась.
Российские шлюзы E1 Alvis-GW. Модернизация УПАТС с E1, Установка FreePBX, Системы антифрод "в разрыв" потоков E1 PRI / SS#7 ISUP.
Аватар пользователя
Zavr2008
 
Сообщений: 2161
Зарегистрирован: 27 янв 2011, 01:35


Вернуться в Конфигурация и настройка Asterisk

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

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

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