DND Broken since installing 2.31.21

  1. 2 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 weeks ago

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

  4. gherbstman

    Mar 6 Answer

    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. last week
    Edited last week 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!