2.8 queue member issue?

Hi all,

In 2.7, i see Local/[email protected]/n in my queue_log but in 2.8 now shows just the name example Agent5022 and this breaks a couple of apps written in conjunction with reading the queue log like Asternic. Also, once we have these, our agents get “invalid” in the “queue show XXXX” command.

Also, i saw this new pieces of codes in 2.8 macro-agent-add that was quite differnt in 2.7 in the AddQueueMember portion. One quick and dirty fix was to override the macro in 2.8 to the one in 2.7 and things work again.

In addition, we had lots of issues with All-Did’s in the inbound routing module. In 2.7, when this is set, all numbers (or none) just go into our destinations where we wish to send it but in 2.8, if a number comes in with a DID, and the All-DIDs method is used, it goes into a crazy loop and (i belive) that had caused our Asterisk to crash. Had to define DIDs clearly and Asterisk didn’t die.

These seem like a huge change from 2.7…was this intentional or a bug? or am i just the only one here with these problems…

You never replied to this:

You have 1.6, thus the syntax is wrong because of the incorrect amportal.conf setting

# USEQUEUESTATE=true|false
# DEFAULT VALUE: false
# Setting this flag will generate the required dialplan to integrate with the following Asterisk patch:
# https://issues.asterisk.org/view.php?id=15168

Asterisk never implemented this in 1.6 and the only patch that exists, referenced above, is for 1.4. This has not been addressed in a supported version of Asterisk until 1.8. This is why you are getting:

After a little bit of testing, it turns out that Asterisk has made a change to the way they write out the logs. They have added a new parameter allowing a friendly name to be added along with the state information. We use the display name for this which must be where your “Agent35” is coming from. They have chosen to use this in place of the specific technology information in the queue log file.

So Asterisk has changed what they display in their logs when optional friendly names are added. If Asternic has scripts that are being broken by this then you should file a bug with him and have him get in touch with us to see what the options are to address this properly, assuming that it is not something self contained on his side that can’t be dealt with.

Hi

I am using 1.6.2.13.

Agent35 is the name (or Display Name).

Don’t really think its Asterisk IMHO. Its bcs if i use the FBX 2.7’s macro [macro-agent-add] i will get the log displaying correctly to Local/[email protected]/n and in 2.8’s version of that same macro, i will get that as Agent35.

Hope im clear, please help …

Best
sanjay

first off, do you have the patched version of Asterisk 1.4 that allows the “HINT:” syntax for the device state, if not you have your amportal.conf variables set wrong.

As far as the reference to “/cidname” that is simply checking if the member is an extension and if so, adding the additional information that queues allow wrt to the name of the memeber. The queue member, in both cases, as can be seen above, is “Local/${CALLBACKNUM)@from-queue/n” whether 2.7 or 2.8.

If something has changed, it’s the Asterisk side that has changed how they are doing the output assuming everything is the same on your end as far as I can see from what you have shown.

Is “Agent35” the extension name of your queue member or otherwise where is that coming from?

maybe someone else on the forums can comment on where the differences are coming from because the minor changes going form 2.7 to 2.8 will not have resulted in those differences.

Hi Philippe, rest, sorry this may look bad on this page its a long line, pls put those lines in a text editor or sth.

This is the original code from 2.8 in [macro-agent-add]

exten => s,n,ExecIf($[${DB_EXISTS(AMPUSER/${CALLBACKNUM}/cidname)} = 1]?AddQueueMember(${ARG1},Local/${CALLBACKNUM}@from-queue/n,${DB(QPENALTY/${ARG1}/agents/${CALLBACKNUM})},${DB(AMPUSER/${CALLBACKNUM}/cidname)},HINT:${CALLBACKNUM}@ext-local))

exten => s,n,ExecIf($[${DB_EXISTS(AMPUSER/${CALLBACKNUM}/cidname)} = 0]?AddQueueMember(${ARG1},Local/${CALLBACKNUM}@from-queue/n,${DB(QPENALTY/${ARG1}/agents/${CALLBACKNUM})}))

This is the one that basically worked and its in 2.7
exten => s,n(a9),AddQueueMember(${ARG1},Local/${CALLBACKNUM}@from-queue/n,${DB(QPENALTY/${ARG1}/agents/${CALLBACKNUM})})

What i can first see is that the 2.8 there’s reference to /cidname…which was in my original post would then Agent35.

Thanks!

Philippe,

Here’s the /var/log/asterisk/queue_log on when using macro macro-add-agent for FBX 2.8
1289210224|NONE|5002|Agent35|PAUSE|Update_Customer_Record
1289210224|NONE|5003|Agent35|PAUSE|Update_Customer_Record
1289210467|NONE|5002|Agent35|UNPAUSE|Update_Customer_Record
1289210467|NONE|5003|Agent35|UNPAUSE|Update_Customer_Record

and here’s from 2.7

1289218913|NONE|4001|Local/[email protected]/n|UNPAUSE|Update_Customer_Record
1289218913|NONE|4003|Local/[email protected]/n|UNPAUSE|Update_Customer_Record
1289218913|NONE|4002|Local/[email protected]/n|UNPAUSE|Update_Customer_Record
1289218913|NONE|5001|Local/[email protected]/n|UNPAUSE|Update_Customer_Record

Notice field 4?

Sounds like something is wrong with your system. There is no change wrt to inbound routing going from 2.7 to 2.8 that comes to my mind.

As far as Queue changes, I believe most the the changes that should have had any effect were already there in 2.7. There were some changes where additional state information is added to queue members to make the queues more efficient and get rid of other problems, however, the same Local/[email protected] is being used for logging agents in.out - there are just additional state information potentially added during the AddQueueMember portion as indicated, and depending on your Asterisk version.

OK, this is an old thread, but it is exactly my problem after upgrading from 2.7 to 2.8 the other day. The version of Asterisk has not changed. Since that time, FreePBX is writing the friendly name of the agent to the realtime queue_log. This has broken portions of Queuemetrics, as it is configured to look for the old syntax.

I could modify QM to adjust for this change, but that leaves me with a few problems:

1.) Old data does not match new data, making it difficult to compare time periods.
2.) The login/logout logic does not seem to have been updated, so the “ADDQUEUEMEMBER” and “REMOVEMEMBER” events are still listed with the “Local/XXX…” notation, NOT the friendly name.
3.) If I change the name on the extension in FreePBX, I will not see any of the calls taken by that extension prior to the change in a tool such as QueueMetrics.

I am guessing that we are running into a problem related to the difference in how Asterisk 1.6 stores the realtime Queue_Log and how 1.8 stores it (1.8 offers more options).

I may try and revert back to the old method, but I’d like some clarity here, if possible.

Tom

Check your queues_additional.conf, look for the lines that begin with member=
It should look something like this:

member=Local/[email protected]/n,0
member=Local/[email protected]/n,0
member=Local/[email protected]/n,0

We’re using dynamic members and the queue toggle. There is no static entry in queues_additional.conf

This was working just dandy until the snippet of code quoted by the OP was modified to add this to the end:

Tom

I am confused as to why this has not been addressed? The problems described by the OP and by me are not the same as the problem described by Philippe. A change was made in the FreePBX [macro-agent-add] that populates the queue_log with the display name instead of the channel and extension.

It is my guess that this was related to work done to implement the modified queue_log in Asterisk 1.8 (https://issues.asterisk.org/view.php?id=17082), but that is just a guess. If that is the case, then something needs to be done to avoid this undesirable behavior for anyone who is not on 1.8.

Or am I missing something here?

Many thanks for your patience,

Tom

The only difference here is we add a friendly name option. Asterisk than takes that friendly name and uses it for the queue logs. We add the friendly name as recommended by asterisk starting with Asterisk 1.4 for login and put it in FreePBX 2.8. Other queue report packages can handle this fine. I suggest you work with your queue reporting manufacture to get them to adapt to this behavior as other queue packages have been written that only work in this behavior and starting in asterisk 1.4 this is what was recommended.

Tony: If you can point to the recommendation, I would appreciate it.

Thanks for the explanation, but I still have some problems. Among other things:

1.) Not all log entries are being made using the friendly name.
2.) Now I will lose access to data if an agent’s friendly name changes (someone gets married or a new person is associated with that extension).

It seems to me that this would make sense if BOTH channel AND friendly name were logged, but not only the friendly name. Perhaps this is the case with the overhauled logging in 1.8?

Also, is there an easy way to revert back to the old behavior?

Tom

The ADDMEMBER and REMOVEMEMBER entries are still showing up as the old format:

| 700476 | 1313000368 | 1313000365.80084 | 400 | Local/[email protected]/n | ADDMEMBER | | | 700477 | 1313000375 | 1313000373.80085 | 400 | Local/[email protected]/n | REMOVEMEMBER | | | 700478 | 1313000435 | 1313000333.80078 | 400 | Jane Smith | COMPLETEAGENT | 5|86|1 | | 700479 | 1313000500 | 1312999933.79981 | 400 | Susie Jones | COMPLETEAGENT | 7|549|1 | | 700480 | 1313000504 | 1313000499.80096 | 400 | NONE | ENTERQUEUE | | | | 700481 | 1313000504 | 1313000502.80097 | 400 | Local/[email protected]/n | REMOVEMEMBER | | | 700482 | 1313000507 | 1313000499.80096 | 400 | Joe Johnson | CONNECT | 3|1313000504.80098|2 | | 700483 | 1313000516 | 1313000137.80051 | 400 | Frank Smith | COMPLETEAGENT | 20|348|1 | | 700484 | 1313000537 | 1313000534.80105 | 400 | Local/[email protected]/n | REMOVEMEMBER | | | 700485 | 1313000540 | 1313000538.80106 | 400 | Local/[email protected]/n | ADDMEMBER | |

Can anyone provide some clarification here? I am working with Loway to revise Queuemetrics to work properly with the new format, but I don’t think I have enough information.

1.) Is it by design that the ADDMEMBER and REMOVEMEMBER entries do not use the FriendlyName?
2.) Can anyone point me to the documentation where the change in recommended behavior that Tony mentions is outlined?
3.) Tony: You mentioned “The only difference here is we add a friendly name option.”, but I am confused, as it appears that the friendly name has not been ADDED TO the previously recorded information, but rather that the friendly name has REPLACED the previously recorded information.
4.) Do the changes to the queue_log format in Asterisk 1.8 enable both the friendly name AND the extension number to be logged? Or should this already be happening on 1.6, but I have something misconfigured?

Tom