Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Отследить звонок через AMI

1

Все привет. Подскажите, как отследить через AMI конкретный звонок. Точнее к какому полю можно привязаться? Например (часть событий опущена):

Event: Join
Privilege: call,all
Channel: SIP/multifon-out-00000071
CallerIDNum: 79265224173
CallerIDName: unknown
ConnectedLineNum: unknown
ConnectedLineName: unknown
Queue: taxi-operators
Position: 1
Count: 1
Uniqueid: 1321511811.113



Event: AgentConnect
Privilege: agent,all
Queue: taxi-operators
Uniqueid: 1321511811.113
Channel: SIP/100-00000072
Member: SIP/100
MemberName: SIP/100
Holdtime: 10
BridgedChannel: 1321511815.114
Ringtime: 9



Event: AgentComplete
Privilege: agent,all
Queue: taxi-operators
Uniqueid: 1321511811.113
Channel: SIP/100-00000072
Member: SIP/100
MemberName: SIP/100
HoldTime: 10
TalkTime: 7
Reason: caller

Здесь звонок сначала попадает в очередь, затем агент отвечает и кладет трубку. Можно ли в этом случае привязаться к поля Uniqueid? Насколько я понял оно уникально и одинаково для всего звонка и совпадает с полем в queue_log?

удалить закрыть спам изменить тег редактировать

спросил 2011-11-17 10:55:36 +0400

foxm Gravatar foxm
167 46 8 28

Comments

1

Uniqueid тоже может менять , если совершить звонок через Local интерфейс.

zzuz ( 2011-11-17 11:12:09 +0400 )редактировать

2 Ответа

2

по uniqueid.

смотрите все события. там сначало идет чтото типо channel create.

а вообще я в таких анализаторах делаю просто. те звонки которые нужно мониторить я предварительно помечаю вызовом userevent.

по userevent->uniqueid создаю запись. по join помечаю ее отвеченой, по hangup удаляю.

ну можно тоже делать по евентам очереди. не принципиально.

ссылка удалить спам редактировать

ответил 2011-11-18 14:37:27 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/
0

Какова основная задача? Если нужно отловить Callerid звонящего определенному оператору, тогда смотрите Newstate где State = Ringing и Channel = Номер вашего оператора. Так же по State можно отловить события начала и конца разговора.

ссылка удалить спам редактировать

ответил 2011-11-21 16:17:42 +0400

VetaLkrot Gravatar VetaLkrot
101 2 4
http://novatel.biz/

Comments

Нет. Задача отслеживать: звонок попал в очередь, агент ответил на звонок, агент/звонящий положил трубку. В общем задачу решили через events: Join, AgentConnect, AgentComplete, QueueCallerAbandon.

foxm ( 2011-11-21 17:16:17 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2011-11-17 10:55:36 +0400

Просмотрен: 2,634 раз

Обновлен: Nov 21 '11

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.