QueueMetrics > Running QueueMetrics

FreePBX(AsteriskNow) transfer

<< < (2/4) > >>

bhenry:
hmm maybe I just don't understand extension state.  Granted I am not using realtime queues.  Are you using static or dynamic agents?  Is extension state where you are adding a hint to the end of queue membership? like this:
member => Local/3000@default,0,John Smith,HINT:3000@default

Currently with my setup I get no TRANSFER records in queue_log either.  Also I have the issue where agents remain "In Use" after a transfer.

moa:
I'm using dynamic agents, so my queue member association comes out of mysql.  Here's what the table looks like (Sorry I'm not sure how to do it statically in agents.conf):


--- Code: ---
mysql> describe queue_member_table;
+-----------------+------------------+------+-----+---------+----------------+
| Field           | Type             | Null | Key | Default | Extra          |
+-----------------+------------------+------+-----+---------+----------------+
| uniqueid        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| membername      | varchar(40)      | YES  |     | NULL    |                |
| queue_name      | varchar(128)     | YES  | MUL | NULL    |                |
| interface       | varchar(128)     | YES  |     | NULL    |                |
| penalty         | int(11)          | YES  |     | NULL    |                |
| paused          | int(11)          | YES  |     | NULL    |                |
| state_interface | varchar(128)     | YES  |     | NULL    |                |
+-----------------+------------------+------+-----+---------+----------------+
7 rows in set (0.01 sec)

--- End code ---

When an agent logs in, I'm putting a row like this into the table:

--- Code: ---+----------+--------------------+------------+--------------------+---------+--------+-----------------+
| uniqueid | membername         | queue_name | interface          | penalty | paused | state_interface |
+----------+--------------------+------------+--------------------+---------+--------+-----------------+
|   223008 | Agent/106         | TEST        | local/106@agents/n |       1 |   NULL | SIP/157         |
+----------+--------------------+------------+--------------------+---------+--------+-----------------+

--- End code ---

My @agents context does a database lookup to find what sip extension agent 106 is sitting at and dials their phone.

By adding the state interface it tells asterisk to check the state of the sip extension rather than looking at the local channel for agent availability.  This solved my "In Use" issue after the agent transferred a call.

What I've found out about the TRANSFER event not showing up in the queue_log is that since I'm using local channels, asterisk doesn't complete the queue_log entry for the call until the transferred call is completed.

For example:
Caller comes into QueueA : ENTERQUEUE is put in the queue_log
QueueA rings Agent/106 : CONNECT is put in the queue_log
Agent/106 transfers to Agent/107 : Nothing is put in the queue_log, asterisk changes state of Agent/106 from "In use" to "Available"
Agent/107 completes call with Caller : COMPLETEDBYAGENT(Agent/106) is entered in queue_log.

This all seems like an asterisk bug to me (or maybe a feature??).

One solution I've come up with but not implemented is creating my own transfer dialplan.  A dialplan where I inserted the needed TRANSFER event into the queue_log. If I do this though, asterisk will still place into the database it's COMPLETEDBYAGENT row with the same callid.  
How would Queuemetrics handle that? ??? ???

I was hoping I could get some answers on this,  we are currently billing one of our customers per minute. Long untracked transferred call times is causing their bill to go through the roof.  Good for us, not so god for them..

QueueMetrics:
You should be checking whether a TRANSFER record gets created or not,. If it does not, QM has no way of knowing that a transfer was made. This usually works reliably only for unattended transfers that are run by the queue() app; some say they got it with telephones as well, but it is not reliable.

bhenry:
Is there any way to force or fake a TRANSFER record?

moa:

--- Quote from: bhenry on November 15, 2010, 21:22:59 ---Is there any way to force or fake a TRANSFER record?

--- End quote ---

Since QueueMetrics didn't answer me. ;)  I'm going to write up some dialplan and test this very thing.  I'll let everyone know of my findings.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version