DND status indication
-
-
Perhaps the problem is fixed by modifying the macros a little bit, as right now is storing state as
SIP/1007
and because user&device mode fop2 will look for
USER/1007
instead...
I have not tried this, just writing it here, try changing the line:
exten => *78,n,Set(CHAN=${CUT(CHANNEL,-,1)})to
exten => *78,n,Set(CHAN=USER/${AMPUSER})If it works, you should do a similar change in all the related macros in extensions_override_freepbx.conf
Best regards,
-
-
you are genius, thanks a lot!
I did the changes in the dnd macros and it works excellent!
As I see for call forwarding similar changes need to be done.[app-dnd-on] include => app-dnd-on-custom exten => *78,1,Answer exten => *78,n,Wait(1) exten => *78,n,Macro(user-callerid,) ; added for fop2 exten => *78,n,Set(DB(DND/${AMPUSER})=YES) ; next line deactivated and changed for device and user mode ; exten => *78,n,Set(CHAN=${CUT(CHANNEL,-,1)}) exten => *78,n,Set(CHAN=USER/${AMPUSER}) exten => *78,n,Set(DB(fop2state/${CHAN})=Do not Disturb) exten => *78,n,UserEvent(FOP2ASTDB,Family: fop2state,Channel: ${CHAN},Value: Do not Disturb) ; end fop2 addition exten => *78,n,Set(DB(DND/${AMPUSER})=YES) exten => *78,n,Set(STATE=BUSY) exten => *78,n,Gosub(app-dnd-on,sstate,1) exten => *78,n,Playback(do-not-disturb&activated) exten => *78,n,Macro(hangupcall,) exten => sstate,1,Set(DEVSTATE(Custom:DND${AMPUSER})=${STATE}) exten => sstate,n,Set(DEVICES=${DB(AMPUSER/${AMPUSER}/device)}) exten => sstate,n,GotoIf($["${DEVICES}" = "" ]?return) exten => sstate,n,Set(LOOPCNT=${FIELDQTY(DEVICES,&)}) exten => sstate,n,Set(ITER=1) exten => sstate,n(begin),Set(DEVSTATE(Custom:DEVDND${CUT(DEVICES,&,${ITER})})=${STATE}) exten => sstate,n,Set(ITER=$[${ITER} + 1]) exten => sstate,n,GotoIf($[${ITER} <= ${LOOPCNT}]?begin) exten => sstate,n(return),Return() [app-dnd-off] include => app-dnd-off-custom exten => *79,1,Answer exten => *79,n,Wait(1) exten => *79,n,Macro(user-callerid,) ; added for fop2 ; next line deactivated and changed for device and user mode ;exten => *79,n,Set(CHAN=${CUT(CHANNEL,-,1)}) exten => *79,n,Set(CHAN=USER/${AMPUSER}) exten => *79,n,dbDel(fop2state/${CHAN}) exten => *79,n,UserEvent(FOP2ASTDB,Family: fop2state,Channel: ${CHAN},Value: ) ; end fop2 addition exten => *79,n,dbDel(DND/${AMPUSER}) exten => *79,n,Set(STATE=NOT_INUSE) exten => *79,n,Gosub(app-dnd-off,sstate,1) exten => *79,n,Playback(do-not-disturb&de-activated) exten => *79,n,Macro(hangupcall,) exten => sstate,1,Set(DEVSTATE(Custom:DND${AMPUSER})=${STATE}) exten => sstate,n,Set(DEVICES=${DB(AMPUSER/${AMPUSER}/device)}) exten => sstate,n,GotoIf($["${DEVICES}" = "" ]?return) exten => sstate,n,Set(LOOPCNT=${FIELDQTY(DEVICES,&)}) exten => sstate,n,Set(ITER=1) exten => sstate,n(begin),Set(DEVSTATE(Custom:DEVDND${CUT(DEVICES,&,${ITER})})=${STATE}) exten => sstate,n,Set(ITER=$[${ITER} + 1]) exten => sstate,n,GotoIf($[${ITER} <= ${LOOPCNT}]?begin) exten => sstate,n(return),Return() [app-dnd-toggle] include => app-dnd-toggle-custom exten => *76,1,Answer exten => *76,n,Wait(1) exten => *76,n,Macro(user-callerid,) exten => *76,n,GotoIf($["${DB(DND/${AMPUSER})}" = ""]?activate:deactivate) exten => *76,n(activate),Set(DB(DND/${AMPUSER})=YES) ; next line deactivated and changed for device and user mode ;exten => *76,n,Set(CHAN=${CUT(CHANNEL,-,1)}) exten => *76,n,Set(CHAN=USER/${AMPUSER}) exten => *76,n,Set(DB(fop2state/${CHAN})=Do not Disturb) exten => *76,n,UserEvent(FOP2ASTDB,Family: fop2state,Channel: ${CHAN},Value: Do not Disturb) exten => *76,n,Set(STATE=BUSY) exten => *76,n,Gosub(app-dnd-toggle,sstate,1) exten => *76,n,Playback(do-not-disturb&activated) exten => *76,n,Macro(hangupcall,) exten => *76,n(deactivate),dbDel(DND/${AMPUSER}) ; next line deactivated and changed for device and user mode ; exten => *76,n,Set(CHAN=${CUT(CHANNEL,-,1)}) exten => *76,n,Set(CHAN=USER/${AMPUSER}) exten => *76,n,dbDel(fop2state/${CHAN}) exten => *76,n,UserEvent(FOP2ASTDB,Family: fop2state,Channel: ${CHAN},Value: ) exten => *76,n,Set(STATE=NOT_INUSE) exten => *76,n,Gosub(app-dnd-toggle,sstate,1) exten => *76,n,Playback(do-not-disturb&de-activated) exten => *76,n,Macro(hangupcall,) exten => sstate,1,Set(DEVSTATE(Custom:DND${AMPUSER})=${STATE}) exten => sstate,n,Set(DEVICES=${DB(AMPUSER/${AMPUSER}/device)}) exten => sstate,n,GotoIf($["${DEVICES}" = "" ]?return) exten => sstate,n,Set(LOOPCNT=${FIELDQTY(DEVICES,&)}) exten => sstate,n,Set(ITER=1) exten => sstate,n(begin),Set(DEVSTATE(Custom:DEVDND${CUT(DEVICES,&,${ITER})})=${STATE}) exten => sstate,n,Set(ITER=$[${ITER} + 1]) exten => sstate,n,GotoIf($[${ITER} <= ${LOOPCNT}]?begin) exten => sstate,n(return),Return()you just won a new customer!
-
Hi,
Don't want to hijack but don't want to start another thread if not necessary as well.
I upgraded (licensed version) from 2.11 to 2.26. Great that you provided the /usr/local/fop2/generate_override_contexts.pl script to adjust freepbx number plans (running trixbox 2.8)!
It seems that the script makes adjustments that are not in line with those necessary for Device&User mode. So I followed the steps in this thread again, like I did when I installed 2.11.
However, only those extensions cashed in the database with keys SIP/<ext> are shown as DND, others are not updated.
DND status updates work by setting status through FOP2 (FOP2 server is running OK), and ringing/call/queue status is showed correctly as well (manager connection and flash-FOP2 connection OK as well).To be sure I followed the steps in http://www.fop2.com/documentation-confi ... server.php another time, but still no luck. Any help would be appreciated
-
Hi,
I upgraded (licensed version) from 2.11 to 2.26. Great that you provided the /usr/local/fop2/generate_override_contexts.pl script to adjust freepbx number plans (running trixbox 2.8)!
It seems that the script makes adjustments that are not in line with those necessary for Device&User mode. So I followed the steps in this thread again, like I did when I installed 2.11.
However, only those extensions cashed in the database with keys SIP/<ext> are shown as DND, others are not updated.
DND status updates work by setting status through FOP2 (FOP2 server is running OK), and ringing/call/queue status is showed correctly as well (manager connection and flash-FOP2 connection OK as well).To be sure I followed the steps in http://www.fop2.com/documentation-confi ... server.php another time, but still no luck. Any help would be appreciated
The modifications to the standard macros from FreePBX are kind of agnostics, the DND key is just the extension number:
DND/xxxxx
not sure where you see the SIP/xxx key. In any case, the question is: how are you setting phones in dnd? The override contexts are for making the fop2 presence state react to the DND/xxx changes in FreePBX, in both directions. So if you dial the dnd feature codes from freepbx, it should signal the presence change in fop2, and viceversa (you change in fop2, it will set the dnd/xxxx astdb entry).
If you use your phone dnd button it will not work as it does not signal asterisk at all. So, what astdb entry is set if you change presence in FOP2? What is exactly the problem? You do not see dnd states in fop2 for extensions that were set to dnd via *78 feature code in freepbx?
Best regards,
-
The phone soft keys are configured to dial the asterisk feature code for DND (which defaults to *78 for this particular installation), and the DND status shows up correctly when I look at the database DND keys. With the previous version, dialing the feature code would set DND in the database correctly and signal FOP2, but with the latest release I only see the database entries change but not the status in FOP2...
-
-
Yes, using -w.
Like I described I saw that it made adjustments that did not reflect Device and User mode, so I adjusted the lines according to your suggestions in this thread on the forum (hence why I posted here instead of starting a new thread).
-
As I said before, the changes in the macros are kind of agnostic on device, as they use the extension number/amp user number. In any case, I will have to look at your server while you set yourself in dnd and trace that, if you catch me on the live help we can arrange a reverse ssh session or something.
We were having really bad luck lately: several strong storms took down our network, power and hardware twice in a little over a month, so lately I am not much on the live help but trying to fix our network.
Best regards,
-
that's bad luck, indeed.
Thanks for the offer. I need to await the VPN access to be available to set up the troubleshooting session.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login