[asterisk-users] How do you handle queues with AMI?

Louis Carreiro carreirolt at gmail.com
Fri Mar 11 11:01:40 CST 2011


Thanks Danny! I took a look at the CDR data through AMI but it only throws an event when the call is hung up. About the Unique ID... it looks like it stays the same through the bridge. I've pasted the AMI output from a queue call below. The only part that changes is the decimal increments. 

Event: NewAccountCode
Privilege: call,all
Channel: SIP/Lync-0000000c
Uniqueid: 1299861572.25
AccountCode:
OldAccountCode:

Event: Bridge
Privilege: call,all
Bridgestate: Link
Bridgetype: core
Channel1: Local/1173 at from-queue-ba2a;2
Channel2: SIP/Lync-0000000c
Uniqueid1: 1299861572.24
Uniqueid2: 1299861572.25
CallerID1: 1424
CallerID2: 1173

Event: Unlink
Privilege: call,all
Channel1: SIP/1424-0000000b
Channel2: Local/1173 at from-queue-ba2a;1
Uniqueid1: 1299861572.22
Uniqueid2: 1299861572.23
CallerID1: 1424
CallerID2: <unknown>

Event: VarSet
Privilege: dialplan,all
Channel: Local/1173 at from-queue-ba2a;2
Variable: BRIDGEPEER
Value: SIP/Lync-0000000c
Uniqueid: 1299861572.24

-----Original Message-----
From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Danny Nicholas
Sent: Friday, March 11, 2011 10:21 AM
To: 'Asterisk Users Mailing List - Non-Commercial Discussion'
Subject: Re: [asterisk-users] How do you handle queues with AMI?

________________________________

From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Louis Carreiro
Sent: Friday, March 11, 2011 9:17 AM
To: asterisk-users at lists.digium.com
Subject: [asterisk-users] How do you handle queues with AMI?

 

Hey all,

 

I'm in the process of writing a few applications that are going to either monitor the queue (number of calls, positions, etc) or respond to answering a queue call (if you answer, a window pops up with info about caller, hold time, etc.). I'm writing this in C# but language isn't important. I'm not looking for a hand out on code, what I'm really interested in is theory or logic. How are other people watching the call come into the queue and watch it from there. What events are you watching?

 

I've already got the app to recognize the "packets" of information from the AMI so I can handle them accordingly. I know how to action off of the AgentConnect part but what I'm missing is how to tie that back into the call (Caller ID, etc.). I know the first response will be use the Uniqueid for the call but how? What are your methods for tracking it? How do you know it even entered the queue?

 

Also, as I'm writing this, if anyone would like to help out or share code I'm up for it. I'll make my code available to all interested in doing this in C# (it's pretty painless).

 

Thanks!

Louis

 

If you look through your CDR, you'll see the information you need to develop this methodology.  Keep in my that (as I understand it), when an agent picks up a call, the uniqueid will change just like the call had been transferred.





More information about the asterisk-users mailing list