FreePBX 2.10 bug
This seemed like the best place to report a bug.
I'm using the latest fop 2.26 and there's an issue when generating the buttons
The following code in autoconfig-buttons-freepbx.sh detects FreePBX version 2.10 incorrectly.
AMPVERSION=`cat $AMPDIR | grep "<version>" | sed -e 's/<[^>]*>//g' | cut -b 2,4`
if [ $AMPVERSION -gt 25 ]; then
QUEUECONTEXT="from-queue"
else
QUEUECONTEXT="from-internal"
fi
Its looking for AMPVERSION greater than 25 for versions above 2.5. With FreePBX version 2.10 the string thats returned in AMPVERSION is 21 making it set the wrong queue context. This causes a few features to break.
This is the only place I see this getting detected incorrectly. Not sure if anything in the fop2_server binary would be effected but it seems to be breaking my users ability to add/remove themselves from queues and pause/unpause.
I'm using the latest fop 2.26 and there's an issue when generating the buttons
The following code in autoconfig-buttons-freepbx.sh detects FreePBX version 2.10 incorrectly.
AMPVERSION=`cat $AMPDIR | grep "<version>" | sed -e 's/<[^>]*>//g' | cut -b 2,4`
if [ $AMPVERSION -gt 25 ]; then
QUEUECONTEXT="from-queue"
else
QUEUECONTEXT="from-internal"
fi
Its looking for AMPVERSION greater than 25 for versions above 2.5. With FreePBX version 2.10 the string thats returned in AMPVERSION is 21 making it set the wrong queue context. This causes a few features to break.
This is the only place I see this getting detected incorrectly. Not sure if anything in the fop2_server binary would be effected but it seems to be breaking my users ability to add/remove themselves from queues and pause/unpause.
Comments
I will update the script for the next release.
Thanks again!
I think there may be some other incompatibility with 2.10 going on though.
Agents that add themselves to a queue via FreePBX's various methods are being added as
Name (Local/extension@from-queue/n)
and cannot control their queue status via fop2.
Agents that add themselves to a queue via fop2 function correctly and are added as
Name (Local/extension@from-internal/n)
Running the button script returns the following contexts for the phones
context=from-internal
queuecontext=from-queue
Seems like something may be mixed up other than in the button script.
The license return should be now "210" and that is higher than "25", so it should use from-queue instead of from-internal.
Run the autoconfig-buttons-freepbx.sh script and look at the output, you should see that from-queue is being used.
The problem is the flash panel is still adding the agents with the wrong context.
Here's the debug output showing incorrect context used.
Response: Success
Message: Added interface to queue
Server: 0
127.0.0.1 <- Event: QueueMemberAdded
127.0.0.1 <- Privilege: agent,all
127.0.0.1 <- Queue: 8900
127.0.0.1 <- Location: Local/8090@from-internal/n
127.0.0.1 <- MemberName: Daves Sandbox
127.0.0.1 <- Membership: dynamic
127.0.0.1 <- Penalty: 0
127.0.0.1 <- CallsTaken: 0
127.0.0.1 <- LastCall: 0
127.0.0.1 <- Status: 5
127.0.0.1 <- Paused: 0
127.0.0.1 <- Server: 0
The code generated by patched autoconfig-buttons-freepbx.sh for above button
[USER/8090]
type=extension
extension=8090
label=Daves Sandbox
context=from-internal
queuecontext=from-queue
extenvoicemail=*
privacy=none
group=Support
queuechannel=Local/8090@from-internal/n|Penalty=0|MemberName=Daves Sandbox|StateInterface=SIP/8090
customastdb=CF/8090
It looks like the queuechannel line is being set incorrectly. I dug a little deeper and found that in the fop2buttons table. Since that is generated by the FreePBX plugin I took a look at that code and sure enough, found the same bug.
$ver = getversion();
$ver = str_replace(".","",substr($ver,0,3));
$ver is populated with the value 21 for FreePBX 2.10. The above bug is 3 places that I found in the plugin. I changed the substr function from 0,3 to 0,4 and its fixed. Having my users test functionality now.