I am trying to figure out which one of our agents is answering the calls. According to http://www.voip-info.org/wiki/view/Asterisk+log+queue_log the only time the queue_log puts the channel (agent) is during logoff & logon. There is the connect & completeagent message, but it doesn't show which channel (agent) answered the phone. I can't even figure it our cross referencing the CDR records, the CDR record only has the queue number. Is there a way around this? Aloha, Matt -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20060502/81f2d0d2/attachment.htm
The wiki page doesn't mention the other fields in the file. <TIMESTAMP>:<UNIQUEID>:<QUEUE>:<AGENT>:<ACTION>:<ARG1>:<ARG2>:<ARG3> Depending on the action some of the fields may contain 'NONE' instead. You will need to use the <AGENT> field to match who the connect and completeagent/completecaller messages are for. Keep in mind the <UNIQUEID> field will be the same for a caller as they go through the queue. So the enterqueue, connect, complete actions will have the same. --johann Thermal Wetland wrote:> I am trying to figure out which one of our agents is answering the calls. > > According to http://www.voip-info.org/wiki/view/Asterisk+log+queue_log > the only time the queue_log puts the channel (agent) is during logoff & > logon. > > There is the connect & completeagent message, but it doesn't show which > channel (agent) answered the phone. > > I can't even figure it our cross referencing the CDR records, the CDR > record only has the queue number. > > Is there a way around this? > > Aloha, > Matt > > > ------------------------------------------------------------------------ > > _______________________________________________ > --Bandwidth and Colocation provided by Easynews.com -- > > Asterisk-Users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users
On the wiki, there is a little perl script that can be used to parse the queue log and insert the data into a database. I've modified the script to use a MySQL database. With that, I have a cron job that shuts down Asterisk, parses the queue-log into the MySQL database, and then restarts Asterisk (thus re-initializing a new (empty) queue log). Once the data is in the database, its pretty easy to find the information you are seeking. Simply query the database for all records (COUNT(*)) where action = 'ENTERQUEUE' and date is between the range you are searching for to find out how many calls entered the queue for that time-period. If you do a similar query for action = 'COMPLETECALLER' or 'COMPLETEAGENT' you will see all of the answered calls. You can further limit that query by specifying a particular agent. I've wrapped all of these queries in PHP and provide web forms (html) to allow the Call Center Manager to select what data to report on (date ranges, queue, agent, etc.). I can send you some of the PHP code if you are interested. In summary, once you've got the data in a database, you can extract it in any way that's meaningful to you. The wiki provides really good information about what ACTIONS are recorded, and then what information is provide in the info1, info2, and info3 fields for each ACTION. The database structure is very flat and easy to work with, so you really don't have to know very much about databases to achieve excellent reporting results. Johann <johann.hoehn@ecommerce.com> wrote the May 3, 2006 8:26 AM:> The wiki page doesn't mention the other fields in the file. > > <TIMESTAMP>:<UNIQUEID>:<QUEUE>:<AGENT>:<ACTION>:<ARG1>:<ARG2>:<ARG3> > > Depending on the action some of the fields may contain 'NONE' instead. You will > need to use the <AGENT> field to match who the connect and > completeagent/completecaller messages are for. > > Keep in mind the <UNIQUEID> field will be the same for a caller as they go > through the queue. So the enterqueue, connect, complete actions will have the same. > > > --johann > > Thermal Wetland wrote: > > I am trying to figure out which one of our agents is answering the calls. > > > > According to http://www.voip-info.org/wiki/view/Asterisk+log+queue_log > > the only time the queue_log puts the channel (agent) is during logoff & > > logon. > > > > There is the connect & completeagent message, but it doesn't show which > > channel (agent) answered the phone. > > > > I can't even figure it our cross referencing the CDR records, the CDR > > record only has the queue number. > > > > Is there a way around this? > > > > Aloha, > > Matt > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > --Bandwidth and Colocation provided by Easynews.com -- > > > > Asterisk-Users mailing list > > To UNSUBSCRIBE or update options visit: > > http://lists.digium.com/mailman/listinfo/asterisk-users > _______________________________________________ > --Bandwidth and Colocation provided by Easynews.com -- > > Asterisk-Users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users
Take a look at the queuelog.txt file located in /usr/src/asterisk-1.0.7/doc, it describes each of the actions that are logged in the queue log as well as any other data that's provided. When that log get's imported into a Database is where the fields info1, info2, etc. come into play. You should be able to grab the information you need. Thermal Wetland <thermalwetland@gmail.com> wrote the May 3, 2006 2:52 PM:> On 5/3/06, Joe Dennick <joe@dennick.net> wrote: > > > > On the wiki, there is a little perl script that can be used to parse the > > queue log and insert the data into a database. I've modified the script to > > use a MySQL database. With that, I have a cron job that shuts down > > Asterisk, parses the queue-log into the MySQL database, and then restarts > > Asterisk (thus re-initializing a new (empty) queue log). Once the data is > > in the database, its pretty easy to find the information you are seeking. > > > > Simply query the database for all records (COUNT(*)) where action > > 'ENTERQUEUE' and date is between the range you are searching for to find out > > how many calls entered the queue for that time-period. > > > > If you do a similar query for action = 'COMPLETECALLER' or 'COMPLETEAGENT' > > you will see all of the answered calls. You can further limit that query by > > specifying a particular agent. > > > > I've wrapped all of these queries in PHP and provide web forms (html) to > > allow the Call Center Manager to select what data to report on (date ranges, > > queue, agent, etc.). I can send you some of the PHP code if you are > > interested. > > > > In summary, once you've got the data in a database, you can extract it in > > any way that's meaningful to you. The wiki provides really good information > > about what ACTIONS are recorded, and then what information is provide in the > > info1, info2, and info3 fields for each ACTION. The database structure is > > very flat and easy to work with, so you really don't have to know very much > > about databases to achieve excellent reporting results. > > > > Johann <johann.hoehn@ecommerce.com> wrote the May 3, 2006 8:26 AM: > > > > I will check out the script to see what you are parsing for. I am sure that > will tell us if fields are missing. > > If we can get it working, I would love to see the PHP code! > > Unfortunatly we can't shut down *, we have customers with 24/7 call centers. > > -Matt