Добрый день! В AMI ловлю событие:
...
Event: AgentComplete Queue: <value>
Member: <value> MemberName: <value>
HoldTime: <value> [Variable:] <value>
[Variable:] <value>
...
Вопрос, как передать в "Variable" набор переменных из диалплана?
Заранее спасибо.
queues.conf-dist:
; If this is set to yes, the following manager events will be generated:
AgentCalled, AgentDump, AgentConnect,AgentComplete
setting this to vars also sends all channel variables with the event
(may generate some extra manager events, but probably ones you want)
eventwhencalled = yes|no|vars
У вас что выставлено ?
Для этого есть UserEvent
ну или переписать астериск. по другому никак.
Задан: 2015-01-12 15:35:20 +0400
Просмотрен: 539 раз
Обновлен: Jan 14 '15
Почему после переименования канала AMI Event:Rename используется старое имя канала?
Можно ли снять трубку на хардфоне после Dial программно?(часть 2)
Отслеживание HOLD для Биллинга
AMI, очереди и outcall, asterisk 11
Передать переменную из AGI скрипта BASH
perl Asterisk::AMI вопрос по OriginateResponse
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Из какого такого диаплана ?
zzuz ( 2015-01-12 17:45:29 +0400 )редактироватьВозможно неверно выразился, суть вопроса в том, как передать в событие свою переменную?
lex7310 ( 2015-01-13 11:58:07 +0400 )редактироватьУ меня Asterisk 13, поэтому как я понял смысла в eventwhencalled нет.
lex7310 ( 2015-01-14 15:35:57 +0400 )редактироватьОткуда Вы это поняли?
zzuz ( 2015-01-14 20:52:11 +0400 )редактироватьну вы же не говорили, что у вас Asterisk 13 версии, а телепатов тут нет.
В 13 действительно нет eventwhencalled и в CHANGES написано:
>The configuration options eventwhencalled and eventmemberstatus have been removed.
>As a result, the AMI events QueueMemberStatus, AgentCalled,AgentConnect, AgentComplete, AgentDump, and AgentRingNoAnswer will always be sent.
>The "Variable" fields will also no longer exist on the Agent* events.
Так что ответ получается: никак. Ищите другой способ решения вашей задачи, ведь он 100% есть.
virus_net ( 2015-01-16 09:34:16 +0400 )редактироватьДа, сорри, забыл про версию. Спасибо. Решил проблему другим путем.
lex7310 ( 2015-01-16 19:49:23 +0400 )редактироватьТак рассказали бы остальным как решили.
А то выглядит как "помогите мне !", а затем "всем спасибо, все свободны!"
virus_net ( 2015-01-16 20:14:40 +0400 )редактироватьИзначально была задача: во внешней системе получать событие о завершении звонка и совершать действие. Для этого я хотел в теле самого события передать какой-нибудь КЛЮЧ для соотношения события с записью во внешней системе. В итоге, решил соотносить по Uniqueid, просто во внешней системе приходится ловить еще ловить событие при поступлении звонка. Как-то так :)
lex7310 ( 2015-01-17 16:22:38 +0400 )редактироватьНормуль. Я тоже люблю через голову трусы снимать.
zzuz ( 2015-01-18 15:49:17 +0400 )редактировать