Disa 2.5.1.4 locks system after call

I could see trought the log, when the system rebooted, and because, the system is going to crash, my only way of getting the log is after a reboot. That why I was asking. In the asterisk log. Everything is there? I dont have to type a special command to have it dump into the log?

We have discovered a problem with our system today with DISA, where the system goes into an infinite loop until the system hangs.

This is what the log says:

   -- Executing Gosub("Local/00408008905@from-internal-0d9c,1", "s-CHANUNAVAIL|1") in new stack
    -- Executing NoOp("Local/00408008905@from-internal-0d9c,1", "called s-CHANUNAVAIL in from-internal by "disa") in new stack
    -- Executing Dial("Local/00408008905@from-internal-0d9c,1", "Local/s-CHANUNAVAIL@from-internal|300|") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing Gosub("Local/00408008905@from-internal-0d9c,1", "s-CHANUNAVAIL|1") in new stack
    -- Executing NoOp("Local/00408008905@from-internal-0d9c,1", "called s-CHANUNAVAIL in from-internal by "disa") in new stack
    -- Executing Dial("Local/00408008905@from-internal-0d9c,1", "Local/s-CHANUNAVAIL@from-internal|300|") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)

This just repeats forever. We’re using FreePBX 2.5.1.0 with DISA 2.5.1.6. Any ideas?

We are having the same issue. DISA appears to loop after the first call is hung up and then it pegs the CPU at 100%. The system does not crash but it definitely slows down to a crawl.

Here is the log excerpt,

-- Called T67231234/19051234567 -- Call accepted by 209.217.98.230 (format ulaw) -- Format for call is ulaw -- IAX2/T67231234-13 is making progress passing it to Local/919051234567@from-internal-8097,2 -- Local/919051234567@from-internal-8097,1 is making progress passing it to IAX2/6477231234-7 -- IAX2/T67231234-13 answered Local/919051234567@from-internal-8097,2 -- Executing NoOp("IAX2/T67231234-13", "Setting Outbound Route MoH To: PlayaAzulVol2") in new stack -- Executing SetMusicOnHold("IAX2/T67231234-13", "PlayaAzulVol2") in new stack -- Local/919051234567@from-internal-8097,1 answered IAX2/6477231234-7 -- Attempting native bridge of IAX2/6477231234-7 and IAX2/T67231234-13 == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'Local/919051234567@from-internal-8097,2' in macro 'dialout-trunk' == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'Local/919051234567@from-internal-8097,2' -- Executing Macro("Local/919051234567@from-internal-8097,2", "hangupcall|") in new stack -- Executing ResetCDR("Local/919051234567@from-internal-8097,2", "w") in new stack -- Executing NoCDR("Local/919051234567@from-internal-8097,2", "") in new stack -- Executing GotoIf("Local/919051234567@from-internal-8097,2", "1?skiprg") in new stack -- Goto (macro-hangupcall,s,6) -- Executing GotoIf("Local/919051234567@from-internal-8097,2", "1?skipblkvm") in new stack -- Goto (macro-hangupcall,s,9) -- Executing GotoIf("Local/919051234567@from-internal-8097,2", "1?theend") in new stack -- Goto (macro-hangupcall,s,11) -- Executing Hangup("Local/919051234567@from-internal-8097,2", "") in new stack == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/919051234567@from-internal-8097,2' in macro 'hangupcall' == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/919051234567@from-internal-8097,2' -- Channel 'IAX2/T67231234-13' ready to transfer -- Channel 'IAX2/6477231234-7' ready to transfer -- Releasing IAX2/6477231234-7 and IAX2/T67231234-13 -- Hungup 'IAX2/T67231234-13' == Spawn extension (disa-dial, 919051234567, 2) exited non-zero on 'IAX2/6477231234-7' -- Executing NoOp("IAX2/6477231234-7", "called h in from-internal by "disa") in new stack -- Executing Dial("IAX2/6477231234-7", "Local/h@from-internal|300|") in new stack -- Called h@from-internal -- Executing Macro("Local/h@from-internal-5d19,2", "hangupcall") in new stack -- Executing ResetCDR("Local/h@from-internal-5d19,2", "w") in new stack -- Executing NoCDR("Local/h@from-internal-5d19,2", "") in new stack -- Executing GotoIf("Local/h@from-internal-5d19,2", "1?skiprg") in new stack -- Goto (macro-hangupcall,s,6) -- Executing GotoIf("Local/h@from-internal-5d19,2", "1?skipblkvm") in new stack -- Goto (macro-hangupcall,s,9) -- Executing GotoIf("Local/h@from-internal-5d19,2", "1?theend") in new stack -- Goto (macro-hangupcall,s,11) -- Executing Hangup("Local/h@from-internal-5d19,2", "") in new stack == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/h@from-internal-5d19,2' in macro 'hangupcall' == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/h@from-internal-5d19,2' == Everyone is busy/congested at this time (1:0/0/1) -- Executing Gosub("IAX2/6477231234-7", "s-CHANUNAVAIL|1") in new stack -- Executing NoOp("IAX2/6477231234-7", "called s-CHANUNAVAIL in from-internal by "disa") in new stack -- Executing Dial("IAX2/6477231234-7", "Local/s-CHANUNAVAIL@from-internal|300|") in new stack

This is on Asterisk v1.2.24 and here is a list of modules,

Module Version Status ------------------- ----------------- ------------------- announcement 2.5.1.7 Enabled asterisk-cli 2.5.0.2 Enabled asteriskinfo 2.5.0.1 Enabled backup 2.5.1.5 Enabled blacklist Not Installed (Locally available) builtin Enabled callback 2.5.0.2 Enabled callforward 2.5.0.1 Enabled callwaiting 2.5.0 Enabled cidlookup Not Installed (Locally available) conferences 2.5.1.6 Enabled core 2.5.1.3 Enabled customappsreg Not Installed (Locally available) customerdb Not Installed (Locally available) dashboard 2.5.0.5 Enabled daynight Not Installed (Locally available) dictate Not Installed (Locally available) disa 2.5.1.6 Enabled donotdisturb 2.5.0.5 Enabled featurecodeadmin 2.5.0.3 Enabled findmefollow 2.5.1.7 Enabled framework 2.5.1.0 Enabled gabcast Not Installed (Locally available) infoservices 2.5.0.1 Enabled inventorydb Not Installed (Locally available) irc 2.5.0 Enabled ivr 2.5.20.5 Enabled javassh Not Installed (Locally available) languages Not Installed (Locally available) logfiles 2.5.0 Enabled manager 2.5.0.1 Enabled miscapps 2.5.0.3 Enabled miscdests 2.5.0.2 Enabled music 2.5.1.2 Enabled paging Not Installed (Locally available) parking 2.5.1.3 Enabled pbdirectory 2.5.0 Enabled phonebook Not Installed (Locally available) phpinfo Not Installed (Locally available) pinsets 2.5.0.1 Enabled printextensions 2.5.0.3 Enabled queues 2.5.4.5 Enabled recordings 3.3.8.8 Enabled ringgroups 2.5.1.6 Enabled timeconditions 2.5.0.8 Enabled vmblast Not Installed (Locally available) voicemail 2.5.1.5 Enabled

I dont see any loop happening… While it does seem that your dialplan is a bit quirky, I really dont see any repetitive looping behavior. Do you have custom dialplan? Can you describe the call flow a bit?

Moshe,

I should have elaborated that the following part just keeps looping ad nauseum,

“”"
= Everyone is busy/congested at this time (1:0/0/1)
– Executing Gosub(“IAX2/6477231234-7”, “s-CHANUNAVAIL|1”) in new stack
– Executing NoOp(“IAX2/6477231234-7”, “called s-CHANUNAVAIL in from-internal by “disa”) in new stack
– Executing Dial(“IAX2/6477231234-7”, “Local/s-CHANUNAVAIL@from-internal|300|”) in new stac
”""

The dial plan is pretty generic as I’ve only specified additional trunks. So the flow is as follows,

  • Dial main access number
  • Enter code to access DISA
  • DISA prompts for authentication code
  • User enters code, receive dial tone
  • User enters 9 followed by the number they wish to dial
  • User gets connected
  • User hangs up and Asterisk enters the above loop
  • CPU is spiked at 100%

This is repeatable every single time and the only way to clear the loop is to restart Asterisk. Our configuration, as far as dial plans, extensions, etc. has not changed since FreePBX v2.4 so the loop is a new occurrence with v2.5

We were still hitting this issue, DISA looping after the call. The flow we had was:

  • Call into the system from cellphone
  • Callback module recognises the number
  • Callback module calls back the cell and passes to DISA with no password
  • User keys an INVALID number
  • System plays ‘please check the number and try again’
  • System waits for a few seconds
  • System loops showing the same messages as above (Local/s-CHANUNAVAIL@from-internal, then Busy/congested) spinning the CPU up to 100% until we hard reboot the server.

For now, I have downgraded to DISA 2.4.0.3 until I have time to look at it again. Seems to work OK (well it doesn’t loop in the above scenario anymore).

We also found the same problem - leading to total system lockup and inteference. Reversion to 2.4.0.2 solved it. Our log files loop with this segment when the problem appears:

-- Goto (macro-outbound-callerid,s,6) -- Executing Set("SIP/1012-b7870678", "USEROUTCID=441628000000") in new stack -- Executing Set("SIP/1012-b7870678", "EMERGENCYCID=") in new stack -- Executing Set("SIP/1012-b7870678", "TRUNKOUTCID=") in new stack -- Executing GotoIf("SIP/1012-b7870678", "1?trunkcid") in new stack -- Goto (macro-outbound-callerid,s,12) -- Executing ExecIf("SIP/1012-b7870678", "0|Set|CALLERID(all)=") in new stack -- Executing GotoIf("SIP/1012-b7870678", "0?exit") in new stack -- Executing Set("SIP/1012-b7870678", "CALLERID(all)=441628000000") in new stack -- Executing ExecIf("SIP/1012-b7870678", "0|SetCallerPres|prohib_passed_screen") in new stack -- Executing ExecIf("SIP/1012-b7870678", "1|AGI|fixlocalprefix") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix == fixlocalprefix: Dialpattern 00|X. matched. 00441273000000 -> 441273000000 -- AGI Script fixlocalprefix completed, returning 0 -- Executing Set("SIP/1012-b7870678", "OUTNUM=441273000000") in new stack -- Executing Set("SIP/1012-b7870678", "custom=IAX2/mytrunk3") in new stack -- Executing ExecIf("SIP/1012-b7870678", "0|Set|DIAL_TRUNK_OPTIONS=M(setmusic^)") in new stack -- Executing Macro("SIP/1012-b7870678", "dialout-trunk-predial-hook|") in new stack -- Executing MacroExit("SIP/1012-b7870678", "") in new stack -- Executing GotoIf("SIP/1012-b7870678", "0?bypass|1") in new stack -- Executing GotoIf("SIP/1012-b7870678", "0?customtrunk") in new stack -- Executing Dial("SIP/1012-b7870678", "IAX2/mytrunk3/441273000000|300|") in new stack -- Called mytrunk3/441273000000 -- Call accepted by 0.0.0.0 (format ulaw) -- Format for call is ulaw -- IAX2/mytrunk3-2 is ringing -- IAX2/mytrunk3-2 stopped sounds -- IAX2/mytrunk3-2 answered SIP/1012-b7870678 asterisk1*CLI>