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
    #1

    System:
    Centos 5 (AsteriskNow)
    Asterisk 1.6.2.17.2
    FreePBX 2.8.1.4
    FOP2 2.20

    Hello,

    so far my FOP2 installation is running fine. Login and call status is indicated without any big trouble. Unfortunately the Do not Disturb status of the users does not reach the FOP. What I checked so far:

    Manager permissions:

    read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
    write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate

    extensions_override_freepbx.conf in /etc/asterisk (from FOP 2.20, no changes made):

    [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)
    exten => *78,n,Set(CHAN=${CUT(CHANNEL,-,1)})
    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
    exten => *79,n,Set(CHAN=${CUT(CHANNEL,-,1)})
    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)
    exten => *76,n,Set(CHAN=${CUT(CHANNEL,-,1)})
    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})
    exten => *76,n,Set(CHAN=${CUT(CHANNEL,-,1)})
    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()
    
    [app-cf-off]
    include => app-cf-off-custom
    exten => *73,1,Answer
    exten => *73,n,Wait(1)
    exten => *73,n,Macro(user-callerid,)
    exten => *73,n,dbDel(CF/${AMPUSER})
    exten => *73,n,Set(CHAN=${CUT(CHANNEL,-,1)})
    exten => *73,n,UserEvent(FOP2CUST,Family: astdbcust,Channel: ${CHAN},Value: )
    exten => *73,n,Playback(call-fwd-unconditional&de-activated)
    exten => *73,n,Macro(hangupcall,)
    exten => _*73.,1,Answer
    exten => _*73.,n,Wait(1)
    exten => _*73.,n,Set(fromext=${EXTEN:3})
    exten => _*73.,n,dbDel(CF/${fromext})
    exten => _*73.,n,Set(CHAN=${DB(DEVICE/${fromext}/dial)})
    exten => _*73.,n,UserEvent(FOP2CUST,Family: astdbcust,Channel: ${CHAN},Value: )
    exten => _*73.,n,Playback(call-fwd-unconditional&for&extension)
    exten => _*73.,n,SayDigits(${fromext})
    exten => _*73.,n,Playback(cancelled)
    exten => _*73.,n,Macro(hangupcall,)
    
    [app-cf-on]
    include => app-cf-on-custom
    exten => *72,1,Answer
    exten => *72,n,Wait(1)
    exten => *72,n,Macro(user-callerid,)
    exten => *72,n,Playback(call-fwd-unconditional)
    exten => *72,n,Playback(please-enter-your&extension)
    exten => *72,n,Read(fromext,then-press-pound,,,,)
    exten => *72,n,Set(fromext=${IF($["foo${fromext}"="foo"]?${AMPUSER}:${fromext})})
    exten => *72,n,Wait(1)
    exten => *72,n(startread),Playback(ent-target-attendant)
    exten => *72,n,Read(toext,then-press-pound,,,,)
    exten => *72,n,GotoIf($["foo${toext}"="foo"]?startread)
    exten => *72,n,Wait(1)
    exten => *72,n,Set(DB(CF/${fromext})=${toext})
    exten => *72,n,Set(CHAN=${DB(DEVICE/${fromext}/dial)})
    exten => *72,n,UserEvent(FOP2CUST,Family: astdbcust,Channel: ${CHAN},Value: ${toext} )
    exten => *72,n,Playback(call-fwd-unconditional&for&extension)
    exten => *72,n,SayDigits(${fromext})
    exten => *72,n,Playback(is-set-to)
    exten => *72,n,SayDigits(${toext})
    exten => *72,n,Macro(hangupcall,)
    exten => _*72.,1,Answer
    exten => _*72.,n,Wait(1)
    exten => _*72.,n,Macro(user-callerid,)
    exten => _*72.,n,Set(DB(CF/${AMPUSER})=${EXTEN:3})
    exten => _*72.,n,Set(CHAN=${DB(DEVICE/${AMPUSER}/dial)})
    exten => _*72.,n,UserEvent(FOP2CUST,Family: astdbcust,Channel: ${CHAN},Value: ${EXTEN:3} )
    exten => _*72.,n,Playback(call-fwd-unconditional&for&extension)
    exten => _*72.,n,SayDigits(${AMPUSER})
    exten => _*72.,n,Playback(is-set-to)
    exten => _*72.,n,SayDigits(${EXTEN:3})
    exten => _*72.,n,Macro(hangupcall,)
    
    [fop2-park]
    exten => _X.,1,Set(ARRAY(RETURN_EXTENSION,RETURN_CONTEXT)=${CUT(EXTEN,:,1)}\,${CUT(EXTEN,:,2)})
    exten => _X.,n,ParkAndAnnounce(PARKED,,Console/dsp,${RETURN_CONTEXT},${RETURN_EXTENSION},1)
    exten => _X.,n,Goto(${RETURN_CONTEXT},${RETURN_EXTENSION},1)
    exten => _X.,n,Hangup
    
    [fop2-dummy]
    exten => dummy,1,Answer
    exten => dummy,2,Wait(1)
    exten => dummy,3,Hangup
    
    ;[fop2-park]
    ; Alternative fop2-park for asterisk 1.6 and up, using parkinglots and Park application
    ;exten => _X.,1,Set(ARRAY(RETURN_EXTENSION,RETURN_CONTEXT)=${CUT(EXTEN,:,1)},${CUT(EXTEN,:,2)})
    ;exten => _X.,n,Set(PARKINGLOT=parkinglot_${RETURN_CONTEXT})
    ;exten => _X.,n,Park(,${RETURN_CONTEXT},${RETURN_EXTENSION},1,s)
    
    

    log during DND dial via *78 my phone is 1007 my user exten is 9666

    
    127.0.0.1       <- Event: VarSet
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Variable: MACRO_DEPTH
    127.0.0.1       <- Value: 1
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: Newexten
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Context: macro-hangupcall
    127.0.0.1       <- Extension: s
    127.0.0.1       <- Priority: 4
    127.0.0.1       <- Application: GotoIf
    127.0.0.1       <- AppData: 1?skipblkvm
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: VarSet
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Variable: MACRO_DEPTH
    127.0.0.1       <- Value: 1
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: Newexten
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Context: macro-hangupcall
    127.0.0.1       <- Extension: s
    127.0.0.1       <- Priority: 7
    127.0.0.1       <- Application: GotoIf
    127.0.0.1       <- AppData: 1?theend
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: VarSet
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Variable: MACRO_DEPTH
    127.0.0.1       <- Value: 1
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: Newexten
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Context: macro-hangupcall
    127.0.0.1       <- Extension: s
    127.0.0.1       <- Priority: 9
    127.0.0.1       <- Application: Hangup
    127.0.0.1       <- AppData:
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: VarSet
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Variable: MACRO_DEPTH
    127.0.0.1       <- Value: 0
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: VarSet
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Variable: RTPAUDIOQOS
    127.0.0.1       <- Value: ssrc=164155281;themssrc=1923237859;lp=0;rxjitter=0.000215;rxcount=152;txjitter=0.000000;txcount=179;rlp=0;rtt=0.000000
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: VarSet
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Variable: RTPAUDIOQOSJITTER
    127.0.0.1       <- Value: minrxjitter=0.000001;maxrxjitter=0.009601;avgrxjitter=0.001482;stdevrxjitter=16831570662546681178158623672130372778864813544777170415896070931141270497851246435101681526382304928610904811525591468605440.000000;reported_minjitter=0.000000;reported_maxjitte
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: VarSet
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Variable: RTPAUDIOQOSLOSS
    127.0.0.1       <- Value: lost=0;expected=152;
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: VarSet
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Variable: RTPAUDIOQOSRTT
    127.0.0.1       <- Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: VarSet
    127.0.0.1       <- Privilege: dialplan,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Variable: RTPAUDIOQOS
    127.0.0.1       <- Value:
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: Hangup
    127.0.0.1       <- Privilege: call,all
    127.0.0.1       <- Channel: SIP/1007-00003937
    127.0.0.1       <- Uniqueid: 1305630186.72219
    127.0.0.1       <- CallerIDNum: 9666
    127.0.0.1       <- CallerIDName: Simon
    127.0.0.1       <- Cause: 16
    127.0.0.1       <- Cause-txt: Normal Clearing
    127.0.0.1       <- Server: 0
    
    127.0.0.1       <- Event: ExtensionStatus
    127.0.0.1       <- Privilege: call,all
    127.0.0.1       <- Exten: 9666
    127.0.0.1       <- Context: ext-local
    127.0.0.1       <- Hint: SIP/1007&Custom:DND9666
    127.0.0.1       <- Status: 0
    127.0.0.1       <- Server: 0
    

    what else can I check to make this working?
    btw. while reading I also found that some have trouble with the Pause/Unpause status not getting updated. I seem to have that too, but it's a feature we didn't use so far.

    Thanks in advance
    Simon

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

      Hi Simon,

      Unfortunately your manager capture does not have relevant information to tracking the problem down (all the varsets are just noise, the meat is on the newchannel and newexten events that come before , the ones traversing your app-dnd macros).

      You can do a quick test by adding ",all" at the end of both read and write in /etc/asterisk/manager.conf (in some asterisk implementations user events are not being sent even if you have the user permission set).

      read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,all
      write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,all
      

      Perhaps it is not a dialplan/context issue but just a manager permission thing.

      Best regards,

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

        Hello Nicolas,

        thanks for your reply. Unfortunately this does not do the trick. There are quite many calls already running, so I obviously didn't extract the right informartion. here's for you all newchannel and and newexten and everything else I though which might be useful

        127.0.0.1       <- Event: Newchannel
        127.0.0.1       <- Privilege: call,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- ChannelState: 0
        127.0.0.1       <- ChannelStateDesc: Down
        127.0.0.1       <- CallerIDNum: 1007
        127.0.0.1       <- CallerIDName: IETSIPTELCGN007 (Aastra 6757i)
        127.0.0.1       <- AccountCode: 
        127.0.0.1       <- Exten: *78
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: ChannelUpdate
        127.0.0.1       <- Privilege: system,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Channeltype: SIP
        127.0.0.1       <- SIPcallid: 24f1ee7c692d1af5
        127.0.0.1       <- SIPfullcontact: sip:1007@10.0.1.101:5060;transport=udp
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newstate
        127.0.0.1       <- Privilege: call,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- ChannelState: 4
        127.0.0.1       <- ChannelStateDesc: Ring
        127.0.0.1       <- CallerIDNum: 1007
        127.0.0.1       <- CallerIDName: IETSIPTELCGN007 (Aastra 6757i)
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: ExtensionStatus
        127.0.0.1       <- Privilege: call,all
        127.0.0.1       <- Exten: 9666
        127.0.0.1       <- Context: ext-local
        127.0.0.1       <- Hint: SIP/1007&Custom:DND9666
        127.0.0.1       <- Status: 1
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 1
        127.0.0.1       <- Application: Answer
        127.0.0.1       <- AppData: 
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newstate
        127.0.0.1       <- Privilege: call,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- ChannelState: 6
        127.0.0.1       <- ChannelStateDesc: Up
        127.0.0.1       <- CallerIDNum: 1007
        127.0.0.1       <- CallerIDName: IETSIPTELCGN007 (Aastra 6757i)
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 2
        127.0.0.1       <- Application: Wait
        127.0.0.1       <- AppData: 1
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 3
        127.0.0.1       <- Application: Macro
        127.0.0.1       <- AppData: user-callerid,
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 1
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: AMPUSER=1007
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 2
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 0?report
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 3
        127.0.0.1       <- Application: ExecIf
        127.0.0.1       <- AppData: 1?Set(REALCALLERIDNUM=1007)
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 4
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: AMPUSER=9666
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 5
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: AMPUSERCIDNAME=Simon
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 6
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 0?report
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 7
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: AMPUSERCID=9666
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 8
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: CALLERID(all)="Simon" <9666>
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 10
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 0?continue
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 11
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: __TTL=64
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 12
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 1?continue
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 19
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: CALLERID(number)=9666
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: NewCallerid
        127.0.0.1       <- Privilege: call,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- CallerIDNum: 9666
        127.0.0.1       <- CallerIDName: Simon
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- CID-CallingPres: 0 (Presentation Allowed, Not Screened)
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 20
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: CALLERID(name)=Simon
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        
        127.0.0.1       <- Event: NewCallerid
        127.0.0.1       <- Privilege: call,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- CallerIDNum: 9666
        127.0.0.1       <- CallerIDName: Simon
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- CID-CallingPres: 0 (Presentation Allowed, Not Screened)
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-user-callerid
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 21
        127.0.0.1       <- Application: NoOp
        127.0.0.1       <- AppData: Using CallerID "Simon" <9666>
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 4
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: DB(DND/9666)=YES
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 5
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: CHAN=SIP/1007
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 6
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: DB(fop2state/SIP/1007)=Do not Disturb
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 7
        127.0.0.1       <- Application: UserEvent
        127.0.0.1       <- AppData: FOP2ASTDB,Family: fop2state,Channel: SIP/1007,Value: Do not Disturb
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: UserEvent
        127.0.0.1       <- Privilege: user,all
        127.0.0.1       <- UserEvent: FOP2ASTDB
        127.0.0.1       <- Family: fop2state
        127.0.0.1       <- Channel: SIP/1007
        127.0.0.1       <- Value: Do not Disturb
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 8
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: DB(DND/9666)=YES
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 9
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: STATE=BUSY
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 10
        127.0.0.1       <- Application: Gosub
        127.0.0.1       <- AppData: app-dnd-on,sstate,1
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: app-dnd-on
        127.0.0.1       <- Extension: sstate
        127.0.0.1       <- Priority: 1
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: DEVSTATE(Custom:DND9666)=BUSY
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: app-dnd-on
        127.0.0.1       <- Extension: sstate
        127.0.0.1       <- Priority: 2
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: DEVICES=1007
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: app-dnd-on
        127.0.0.1       <- Extension: sstate
        127.0.0.1       <- Priority: 3
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 0?return
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: app-dnd-on
        127.0.0.1       <- Extension: sstate
        127.0.0.1       <- Priority: 4
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: LOOPCNT=1
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: app-dnd-on
        127.0.0.1       <- Extension: sstate
        127.0.0.1       <- Priority: 5
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: ITER=1
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: app-dnd-on
        127.0.0.1       <- Extension: sstate
        127.0.0.1       <- Priority: 6
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: DEVSTATE(Custom:DEVDND1007)=BUSY
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: app-dnd-on
        127.0.0.1       <- Extension: sstate
        127.0.0.1       <- Priority: 7
        127.0.0.1       <- Application: Set
        127.0.0.1       <- AppData: ITER=2
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: app-dnd-on
        127.0.0.1       <- Extension: sstate
        127.0.0.1       <- Priority: 8
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 0?begin
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: app-dnd-on
        127.0.0.1       <- Extension: sstate
        127.0.0.1       <- Priority: 9
        127.0.0.1       <- Application: Return
        127.0.0.1       <- AppData: 
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 11
        127.0.0.1       <- Application: Playback
        127.0.0.1       <- AppData: do-not-disturb&activated
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: *78
        127.0.0.1       <- Priority: 12
        127.0.0.1       <- Application: Macro
        127.0.0.1       <- AppData: hangupcall,
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-hangupcall
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 4
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 1?skipblkvm
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-hangupcall
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 7
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 1?theend
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-hangupcall
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 9
        127.0.0.1       <- Application: Hangup
        127.0.0.1       <- AppData: 
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: from-internal
        127.0.0.1       <- Extension: h
        127.0.0.1       <- Priority: 1
        127.0.0.1       <- Application: Macro
        127.0.0.1       <- AppData: hangupcall
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-hangupcall
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 1
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 1?skiprg
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-hangupcall
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 4
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 1?skipblkvm
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-hangupcall
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 7
        127.0.0.1       <- Application: GotoIf
        127.0.0.1       <- AppData: 1?theend
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        
        127.0.0.1       <- Event: Newexten
        127.0.0.1       <- Privilege: dialplan,all
        127.0.0.1       <- Channel: SIP/1007-0000619b
        127.0.0.1       <- Context: macro-hangupcall
        127.0.0.1       <- Extension: s
        127.0.0.1       <- Priority: 9
        127.0.0.1       <- Application: Hangup
        127.0.0.1       <- AppData: 
        127.0.0.1       <- Uniqueid: 1305721003.106490
        127.0.0.1       <- Server: 0
        
        127.0.0.1       <- Event: ExtensionStatus
        127.0.0.1       <- Privilege: call,all
        127.0.0.1       <- Exten: 9666
        127.0.0.1       <- Context: ext-local
        127.0.0.1       <- Hint: SIP/1007&Custom:DND9666
        127.0.0.1       <- Status: 0
        127.0.0.1       <- Server: 0
        
        

        Cheers,
        Simon

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

          btw. I did a manager reload and no amportal restart/ core restart but this should no matter I guess (?)

          are we talking about the manager "admin" account? this is where I set the permissions and it's the one entered in fop2.conf

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

            Hi,

            The permissions is for the user that you set in fop2.cfg. The events look fine and permissions too, you had the two actions that are being injected for fop2 (setting an astdb entry and fire a userevent).

            With this events, DND should be reflected in the fop2 display. Are you using the automatic freepbx configuration? Are you using device&user mode in FreePBX?

            1 Reply Last reply
            0
            • 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