Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

FOP2 Community Forum

  1. Home
  2. Support
  3. DND status indication

DND status indication

Scheduled Pinned Locked Moved Support
16 Posts 3 Posters 431 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S
    S
    siax
    wrote on last edited by
    #6

    yes I use the automatic FreePBX configuration and yes I use device and user mode

    thanks for your help!

    1 Reply Last reply
    0
    • N
      N
      nicolas
      wrote on last edited by
      #7

      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,

      1 Reply Last reply
      0
      • S
        S
        siax
        wrote on last edited by
        #8

        This seems to make sense. I will try it out and give feedback tomorrow.

        Thanks again!

        1 Reply Last reply
        0
        • S
          S
          siax
          wrote on last edited by
          #9

          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!

          1 Reply Last reply
          0
          • M
            M
            MeLikesVoIP
            wrote on last edited by
            #10

            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

            1 Reply Last reply
            0
            • N
              N
              nicolas
              wrote on last edited by
              #11

              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,

              1 Reply Last reply
              0
              • M
                M
                MeLikesVoIP
                wrote on last edited by
                #12

                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...

                1 Reply Last reply
                0
                • N
                  N
                  nicolas
                  wrote on last edited by
                  #13

                  Did you run?

                  /usr/local/fop2/generate_override_contexts.pl -w

                  You must do that in order to fix the freepbx macros and include the special fop2 tidbits.

                  1 Reply Last reply
                  0
                  • M
                    M
                    MeLikesVoIP
                    wrote on last edited by
                    #14

                    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).

                    1 Reply Last reply
                    0
                    • N
                      N
                      nicolas
                      wrote on last edited by
                      #15

                      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,

                      1 Reply Last reply
                      0
                      • M
                        M
                        MeLikesVoIP
                        wrote on last edited by
                        #16

                        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.

                        1 Reply Last reply
                        0

                        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
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        Powered by NodeBB Contributors
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups