DND Broken since installing 2.31.21

  1. 7 months ago

    Here is a pastebin of the install.
    https://pastebin.com/QaiEN50B

    FreePBX 14, fully updated.
    Installed 2.31.21 over the top of whatever version I had. 2.31.??
    When I hit *79 from a phone this is what I get

    $ grep C-00000002 /var/log/asterisk/full
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [*79@from-internal:1] Macro("PJSIP/103-00000001", "user-callerid,") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:1] Set("PJSIP/103-00000001", "TOUCH_MONITOR=1549920463.2") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:2] Set("PJSIP/103-00000001", "AMPUSER=103") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:3] GotoIf("PJSIP/103-00000001", "0?report") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:4] ExecIf("PJSIP/103-00000001", "1?Set(REALCALLERIDNUM=103)") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:5] Set("PJSIP/103-00000001", "AMPUSER=103") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:6] GotoIf("PJSIP/103-00000001", "0?limit") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:7] Set("PJSIP/103-00000001", "AMPUSERCIDNAME=Jared Busch") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:8] ExecIf("PJSIP/103-00000001", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:9] GotoIf("PJSIP/103-00000001", "0?report") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:10] Set("PJSIP/103-00000001", "AMPUSERCID=103") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:11] Set("PJSIP/103-00000001", "__DIAL_OPTIONS=Ttr") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:12] Set("PJSIP/103-00000001", "CALLERID(all)="Jared Busch" <103>") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:13] GotoIf("PJSIP/103-00000001", "0?limit") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:14] ExecIf("PJSIP/103-00000001", "0?Set(GROUP(concurrency_limit)=103)") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:15] ExecIf("PJSIP/103-00000001", "0?Set(CHANNEL(language)=)") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:16] NoOp("PJSIP/103-00000001", "Macro Depth is 1") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:17] GotoIf("PJSIP/103-00000001", "1?report2:macroerror") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx_builtins.c: Goto (macro-user-callerid,s,18)
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:18] GotoIf("PJSIP/103-00000001", "0?continue") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:19] ExecIf("PJSIP/103-00000001", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:20] Set("PJSIP/103-00000001", "__TTL=64") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:21] GotoIf("PJSIP/103-00000001", "1?continue") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx_builtins.c: Goto (macro-user-callerid,s,37)
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:37] Set("PJSIP/103-00000001", "CALLERID(number)=103") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:38] Set("PJSIP/103-00000001", "CALLERID(name)=Jared Busch") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:39] GotoIf("PJSIP/103-00000001", "0?cnum") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:40] Set("PJSIP/103-00000001", "CDR(cnam)=Jared Busch") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:41] Set("PJSIP/103-00000001", "CDR(cnum)=103") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-user-callerid:42] Set("PJSIP/103-00000001", "CHANNEL(language)=en") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [*79@from-internal:2] Set("PJSIP/103-00000001", "CHAN=PJSIP/103") in new stack
    [2019-02-11 15:27:43] WARNING[12951][C-00000002] pbx.c: No application 'dbDel' for extension (from-internal, *79, 3)
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Spawn extension (from-internal, *79, 3) exited non-zero on 'PJSIP/103-00000001'
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [h@from-internal:1] Macro("PJSIP/103-00000001", "hangupcall") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-hangupcall:1] GotoIf("PJSIP/103-00000001", "1?theend") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx_builtins.c: Goto (macro-hangupcall,s,3)
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-hangupcall:3] ExecIf("PJSIP/103-00000001", "0?Set(CDR(recordingfile)=)") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-hangupcall:4] NoOp("PJSIP/103-00000001", " monior file= ") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-hangupcall:5] AGI("PJSIP/103-00000001", "attendedtransfer-rec-restart.php,,") in new stack
    [2019-02-11 15:27:43] VERBOSE[12951][C-00000002] res_agi.c: Launched AGI Script /var/lib/asterisk/agi-bin/attendedtransfer-rec-restart.php
    [2019-02-11 15:27:44] VERBOSE[12951][C-00000002] res_agi.c: <PJSIP/103-00000001>AGI Script attendedtransfer-rec-restart.php completed, returning 0
    [2019-02-11 15:27:44] VERBOSE[12951][C-00000002] pbx.c: Executing [s@macro-hangupcall:6] Hangup("PJSIP/103-00000001", "") in new stack
    [2019-02-11 15:27:44] VERBOSE[12951][C-00000002] app_macro.c: Spawn extension (macro-hangupcall, s, 6) exited non-zero on 'PJSIP/103-00000001' in macro 'hangupcall'
    [2019-02-11 15:27:44] VERBOSE[12951][C-00000002] pbx.c: Spawn extension (from-internal, h, 1) exited non-zero on 'PJSIP/103-00000001'

    When I show the dialplan, it seems to clearly be a problem with FOP2

    jbusch@pbx html]$ sudo asterisk -x 'dialplan show *79@from-internal'
    [sudo] password for jbusch: 
    [ Included context 'app-dnd-off' created by 'pbx_config' ]
      '*79' =>          1. Macro(user-callerid,)                      [extensions_override_fop2.conf:189]
                        2. Set(CHAN=${CUT(CHANNEL,-,1)})              [extensions_override_fop2.conf:191]
                        3. dbDel(fop2state/${CHAN})                   [extensions_override_fop2.conf:192]
                        4. UserEvent(FOP2ASTDB,Family: fop2state,Channel: ${CHAN},Value: ) [extensions_override_fop2.conf:193]
                        5. Set(CONNECTEDLINE(name-charset,i)=utf8)    [extensions_override_fop2.conf:195]
                        6. Set(CONNECTEDLINE(name,i)=Do Not Disturb: OFF) [extensions_override_fop2.conf:196]
                        7. Set(CONNECTEDLINE(num,i)=${AMPUSER})       [extensions_override_fop2.conf:197]
                        8. Answer()                                   [extensions_override_fop2.conf:198]
                        9. Wait(1)                                    [extensions_override_fop2.conf:199]
                        10. Noop(Deleting: DND/${AMPUSER} ${DB_DELETE(DND/${AMPUSER})}) [extensions_override_fop2.conf:200]
                        11. Set(STATE=NOT_INUSE)                      [extensions_override_fop2.conf:201]
                        12. Gosub(app-dnd-off,sstate,1())             [extensions_override_fop2.conf:202]
         [hook_1]       13. Playback(do-not-disturb&de-activated)     [extensions_override_fop2.conf:203]
                        14. Macro(hangupcall,)                        [extensions_override_fop2.conf:204]
    
    -= 1 extension (14 priorities) in 1 context. =-

    We are seeing the same issue. deDel has been depreciated since Asterisk 1.4 and has now been removed from Asterisk.

    Per documentation the replacement is DB_DELETE. the syntax is different.

    Edit: /etc/asterisk/extensions_override_fop2.conf
    Around line 192 and 267 replace dbDel with DB_DELETE.
    192: exten => *79,n,Noop(${DB_DELETE(fop2state/${CHAN})})
    267: exten => *76,n,Noop(${DB_DELETE(fop2state/${CHAN})})

    Gary Herbstman
    For additional details see this KB: https://www.bytesolutions.com/asterisk-freepbx-fop2-error-disabling-do-not-disturb-dnd/

  2. Looking at /etc/asterisk/extensions_override_fop2.conf proves this is a FOP2 issue.

    [app-dnd-off]
    include => app-dnd-off-custom
    exten => *79,1,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,Set(CONNECTEDLINE(name-charset,i)=utf8)
  3. 6 months ago

    I'm having the same issue under the same version of Asterisk.

  4. We are seeing the same issue. deDel has been depreciated since Asterisk 1.4 and has now been removed from Asterisk.

    Per documentation the replacement is DB_DELETE. the syntax is different.

    Edit: /etc/asterisk/extensions_override_fop2.conf
    Around line 192 and 267 replace dbDel with DB_DELETE.
    192: exten => *79,n,Noop(${DB_DELETE(fop2state/${CHAN})})
    267: exten => *76,n,Noop(${DB_DELETE(fop2state/${CHAN})})

    Gary Herbstman
    For additional details see this KB: https://www.bytesolutions.com/asterisk-freepbx-fop2-error-disabling-do-not-disturb-dnd/

  5. 5 months ago
    Edited 5 months ago by JaredBusch

    Looks like it was removed in Asterisk 16 for certain. As soon as I updated to that from 13 it broke.

or Sign Up to reply!