Member
Last active 9 years ago
After much assistance via my log file and remote support, the problem was pinpointed as duplicate "logged in devices" -- I had deleted some extensions without making sure they were logged out, and then when a new user logged into the device that the old extension was logged into, FOP wound up seeing both users logged in. Resulting race condition wound up with the higher numbered extension usually "winning" -- which was the deleted extension.
Cleaning up the duplicate /DEVICE/<extension>/dial keys in my astdb and then restarting FOP2 fixed the issue.
It looks like I forgot to mention this previously, but the "status" indication within the Queues list is always correct (in use / not in use) for the users, it's just the Extensions button that isn't showing call information for the effected user.
I generated a test call from an extension that is showing call detail in FOP (342) to one that isn't (322). The startup log entries for 322 are below, I'm PMing you with the log file from the test call.
/var/log/fop2_debug.log:main channel for 322 is SIP/58BFEA10AA0C
/AMPUSER/322/device : 322
For the effected users, it seems to work none of the time now, even after a FOP2 restart (a script reloads it at 0100 every morning, so that it picks up new users, etc).
I verified before doing the upgrade today that at least one of the users who isn't working had the correct astdb entries.
We have an Asterisk 11.5.1 server, running FOP 2.28. Our users are set up in a hotdesking configuration, which I've previously described here: http://forum.fop2.com/conversation/post/4634
FOP has been working pretty well for the past 2 years (mostly on 2.24 or 2.26 during that time). At some point within the past 2 months, we've started having intermittent problems with some (but far from all) users not displaying their call detail information on their "button" in the extensions section. At first it seemed like it was just newly set up users, so I kinda back-burnered working on it. Recently, however, we swapped the physical phone for one of our established users, and he is now effected by the problem (and a couple of the most recent new hires are working just fine).
I've verified that my configuration files are still the same as they were when I had it working as referenced in my previous thread. The upgrade from FOP 2.26 to 2.28 did not change the behavior (although it did wipe out my autobuttons.cfg file and didn't back it up correctly, which is probably a separate issue). Any suggestions on where I should start looking, or where there might be logging to help run down what's happening?
Thanks, don't know why I didn't catch that from the documentation.
The one thing that I'm running into at the moment is, I can get a "transfer to mobile" button, but there doesn't seem to be a "dial mobile" option? I tried adding dialexternal permissions for my users, but no "dial mobile" button is available. Similarly, I don't see a "dial mobile" when using a user with "all" permissions. Is there some other way to originate a new call to the user's mobile number that I'm not seeing?
We're running Asterisk Open Source 11 + FOP2, with an extension pattern of XXX. We have several extensions that have a "special" extension (1XXX) that will call the user's cell phone instead of the office phone. Information about the extension (including the cell phone number that gets dialed when a user dials 1XXX) is stored in a database, and FOP2's buttons.cfg is being dynamically generated via bash script using that database.
I see there currently exists a "call" button that will call a given extension when selected. Is there a relatively simple way I can add "call cell phone", either as an action button on top or as a "context menu" item within the menu that pops up when you click on a button's status indicator?
Also, when I try to register through the web interface, the FOP2 service shuts down, but never restarts (service fop2 status returns "fop2_server dead but subsys locked"). I can manually restart the service, but it comes back up in unlicensed mode. The fop2.lic file is not being written, regardless of whether root or apache owns /usr/local/fop2
I'm attempting to transfer my FOP2 license from a server that's being decommissioned to the server that is replacing it. I used --revoke on the old server prior to shutting it down, and it seemed to go through normally. Now I'm trying to use --register on the new server, and it's complaining that my serial number can only be used to register 2.20 (I have 2.26 installed). Is there a way to register without having to downgrade/upgrade?
We also have seen our (previously working) FOP2 installation completely borked by FF 11. Updating to most recent Adobe Flash 11 does not fix the problem. Users can log in with Chrome (version unknown) or IE 8/9, or FF 10 or earlier, but not FF 11. We are currently running FOP 2.24, I haven't tried 2.25 yet.
Also, almost all of my machines are W7 (mostly Pro), and I also have a Win XP machine that has the same problem. Unknown as to whether or not Vista works.
Thank you very much! That worked as you said it should.
My magics for other poor souls that might stumble across this via google or whatever...
1) For the sake of getting up and going, I manually created /AMPUSER/EXTEN/device: EXTEN entries in my AstDB. I probably should set up some sort of bash script or something that goes through my hotdesk MySQL table and keeps the extensions up to date, but that'll be a "later" project.
2) Within the dialplan, when a user successfully logs in, fire this dialplan logic (besides the part to log the user in). Note that ${LOCATION} is the SIP device the user logged into, and ${E} is the user's extension.
same => n,UserEvent(UserDeviceAdded,${E},SIP/${LOCATION}) same => n,Set(DB(DEVICE/${E}/dial)=SIP/${LOCATION})
3) Within the dialplan, when a user successfully logs out, fire this dialplan logic (besides the part to log the user out). NOte that ${LOCATION} is the SIP device the user logged out of, and ${E} is the user's extension.
same => n,UserEvent(UserDeviceRemoved,${E},SIP/${LOCATION}) same => n,Set(LOGOUT=${DB_DELETE(DEVICE/${E}/dial)})
4) Within the FOP2 config files:
fop2.cfg:
#exec autousers.sh buttonfile=autobuttons.cfg
autousers.sh:
#!/bin/bash DBNAME=MyDBName DBUSER=MyDBUser DBPASSWORD=MyDBPassword DBHOST=MyDBHost while read EXTEN PIN do echo "user=${EXTEN}:${PIN}:all" done < <(mysql -h ${DBHOST} ${DBNAME} -u ${DBUSER} -p${DBPASSWORD} -se "SELECT extension, pin FROM ast_hotdesk")
autobuttons.cfg:
#exec autobuttons.sh *snip My Static Buttons (Queues, Trunks, etc)*
autobuttons.sh:
#!/bin/bash DBNAME=MyDBName DBUSER=MyDBUser DBPASSWORD=MyDBPassword DBHOST=MyDBHost while read EXTEN VMCONTEXT NAME do echo "[USER/${EXTEN}]" echo "type=extension" echo "extension=${EXTEN}" echo "context=MyContext" echo "label=${NAME}" echo "mailbox=${EXTEN}@${VMCONTEXT}" done < <(mysql -h ${DBHOST} ${DBNAME} -u ${DBUSER} -p${DBPASSWORD} -se "SELECT extension, vmcontext, cid_name FROM ast_hotdesk ORDER BY extension ASC")
It's important to have cid_name last in your mysql query if you have spaces in your cid_names, otherwise the bash script will split on the space within the cid_name and everything will be messy.
---
I do have two questions. I see some reference in the documentation to "when fop2 is reloaded". Is it possible to fire an event that will reload fop2 from within the Asterisk dialplan?
Related... If I am logged into FOP2 in IE when I change the buttons config file on the server and run service fop2 restart from the server CLI, when IE "reconnects" to FOP2, it doesn't pickup the changed buttons config (and usually this winds up with the "existing" buttons being horribly messed up). Is there a way to fix this, or something I have misconfigured that is causing it?