Добрый день! В 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
Просмотрен: 665 раз
Обновлен: Jan 14 '15
Задача: звонок с мобильника клиенту через Asterisk используя AMI
CoreShowChannels как определить кто кому звонит?
Отключение микрофона (mute) через AMI
Можно ли снять трубку на хардфоне после Dial программно?
Asterisk AMI как узнать что канал находится на удержании?
Asterisk AMI сохранение config'ов
Проект компании "АТС Дизайн"
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 )редактировать