First time here? Check out the FAQ!

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

Отследить звонок через 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?

спросил Nov 17 '11

foxm Gravatar foxm
167 46 8 28

Comments

1

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

zzuz (Nov 17 '11)edit

2 Ответа

2

по uniqueid.

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

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

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

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

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

ответил Nov 18 '11

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

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

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

ответил Nov 21 '11

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

Comments

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

foxm (Nov 21 '11)edit

Ваш ответ

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 ленту новостей

Статистика

Задан: Nov 17 '11

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

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

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