Ticket #799 (closed Bugs: fixed)

Opened 3 years ago

Last modified 2 years ago

Queues with unavailable agents doesn't work

Reported by: julianjm Assigned to: wozto1s
Priority: blocker Milestone: 2.1
Component: Queues Version: 2.1
Keywords: Cc:
Confirmation: SVN Revision (if applicable):
Backend Engine: All Backend Engine Version:

Description

Hi,

I've hit this bug in freepbx 2.1beta1 and beta2. It happens when a queue has a static agent busy, or unavailable (e.g., a not registered extension).

I've noticed that extensions.conf, in macro-exten-vm, has a commented line. Uncomenting and removing a question mark fixes the issue. Pls check the attached patch:

--- old/extensions.conf     2006-05-05 20:41:38.000000000 +0100
+++ new/extensions.conf       2006-05-06 13:29:18.000000000 +0100
@@ -102,7 +102,7 @@

 exten => dolocaldial,1,Macro(dial,,${DIAL_OPTIONS},${EXTTOCALL})
 exten => dolocaldial,n,NoOp(Returned to dolocaldial with DIALSTATUS '${DIALSTATUS}')
-;exten => dolocaldial,n,Goto(?s-${DIALSTATUS},1) ; Do not go to voicemail.  This is primarily to avoid vm for call-forwarded extensions in ring groups
+exten => dolocaldial,n,Goto(s-${DIALSTATUS},1) ; Do not go to voicemail.  This is primarily to avoid vm for call-forwarded extensions in ring groups

 exten => docfu,1,Set(RTCFU=${IF($["${VMBOX}"!="novm"]?${RINGTIMER}:"")})
 exten => docfu,n,Dial(Local/${CFUEXT}@from-internal/n,${RTCFU},${DIAL_OPTIONS})


Julian.

Change History

05/06/06 06:14:39 changed by wozto1s

  • owner set to wozto1s.
  • priority changed from 5 to 1.

May have fixed this already with some changes around the DIALSTATUS in dialparties.agi but will take a look with ticket #664 as could be related

05/06/06 06:16:25 changed by wozto1s

  • status changed from new to assigned.

05/07/06 06:34:51 changed by wozto1s

  • status changed from assigned to closed.
  • resolution set to worksforme.

I've re-tested this on my setup today and it works as expected on mine.

It's possible thou that I've misunderstood the issue. Can you re open this ticket with additional information if this is still an issue? i.e. how your Q is setup and what exactly you are expecting to happen and when

05/07/06 12:43:49 changed by julianjm

  • status changed from closed to reopened.
  • resolution deleted.

Ok... I create queue 601 with 1 static agent (Ext 12, SIP/12). That extension isn't registered and doesn't have voicemail enabled. A normal call to that extension would result in ACB (All Circuits Busy prompt).

If I call to that queue, I expect to hear Moh during 60 seconds (or the duration you setup). That extension should be tried to be called every %retry% seconds, until it rings/answers, or the queue times out.

What happens here, is that instead of giving Congestion, the call to extension 12 answers the Queue with the ACB playback.

Here is the call log. Extension 11 calls the Queue. Because SIP/12 is unavailable, the queue is answered, Moh stops, and I can hear ACB. If there was another agent, his phone would ring once, then hangup.

    -- Executing Answer("SIP/11-b8cc", "") in new stack
    -- Executing Set("SIP/11-b8cc", "CALLERID(name)=TESTdevice") in new stack
    -- Executing Set("SIP/11-b8cc", "MONITOR_FILENAME=/var/spool/asterisk/monitor/q601-20060507-203407-1147030446.47") in new stack
    -- Executing Queue("SIP/11-b8cc", "601|t||") in new stack
    -- Started music on hold, class 'default', on SIP/11-b8cc
    -- Called Local/12@from-internal
    -- Executing Macro("Local/12@from-internal-efa8,2", "exten-vm|novm|12") in new stack
    -- Executing Macro("Local/12@from-internal-efa8,2", "user-callerid") in new stack
    -- Executing GotoIf("Local/12@from-internal-efa8,2", "1?report") in new stack
    -- Goto (macro-user-callerid,s,9)
    -- Executing NoOp("Local/12@from-internal-efa8,2", "Using CallerID "TESTdevice" <11>") in new stack
    -- Executing Set("Local/12@from-internal-efa8,2", "FROMCONTEXT=exten-vm") in new stack
    -- Executing Set("Local/12@from-internal-efa8,2", "VMBOX=novm") in new stack
    -- Executing Set("Local/12@from-internal-efa8,2", "EXTTOCALL=12") in new stack
    -- Executing Set("Local/12@from-internal-efa8,2", "CFUEXT=") in new stack
    -- Executing Set("Local/12@from-internal-efa8,2", "RT=") in new stack
    -- Executing Macro("Local/12@from-internal-efa8,2", "record-enable|12|IN") in new stack
    -- Executing GotoIf("Local/12@from-internal-efa8,2", "0 > 0?2:4") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing AGI("Local/12@from-internal-efa8,2", "recordingcheck|20060507-203407|1147030447.49") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
  recordingcheck|20060507-203407|1147030447.49: Inbound recording not enabled
    -- AGI Script recordingcheck completed, returning 0
    -- Executing NoOp("Local/12@from-internal-efa8,2", "No recording needed") in new stack
    -- Executing GotoIf("Local/12@from-internal-efa8,2", "1?dolocaldial|1") in new stack
    -- Goto (macro-exten-vm,dolocaldial,1)
    -- Executing Macro("Local/12@from-internal-efa8,2", "dial||tr|12") in new stack
    -- Executing AGI("Local/12@from-internal-efa8,2", "dialparties.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
  dialparties.agi: Starting New Dialparties.agi
    --  dialparties.agi: priority is 1
  dialparties.agi: Caller ID name is 'TESTdevice' number is '11'
  dialparties.agi: Methodology of ring is  'none'
    --  dialparties.agi: Added extension 12 to extension map
    --  dialparties.agi: Extension 12 cf is disabled
    --  dialparties.agi: Extension 12 do not disturb is disabled
    --  dialparties.agi: DbSet CALLTRACE/12 to 11
    -- AGI Script dialparties.agi completed, returning 0
    -- Executing Dial("Local/12@from-internal-efa8,2", "SIP/12||tr") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing NoOp("Local/12@from-internal-efa8,2", "Returned to dolocaldial with DIALSTATUS CHANUNAVAIL") in new stack
    -- Executing Macro("Local/12@from-internal-efa8,2", "outisbusy|") in new stack
    -- Executing Playback("Local/12@from-internal-efa8,2", "all-circuits-busy-now") in new stack
    -- Local/12@from-internal-efa8,1 answered SIP/11-b8cc
    -- Stopped music on hold on SIP/11-b8cc
  == Spawn extension (from-internal, 601, 4) exited non-zero on 'Local/12@from-internal-efa8,2<ZOMBIE>'
    -- Executing Macro("Local/12@from-internal-efa8,2<ZOMBIE>", "hangupcall") in new stack
    -- Executing ResetCDR("Local/12@from-internal-efa8,2<ZOMBIE>", "w") in new stack
    -- Playing 'all-circuits-busy-now' (language 'en')
    -- Executing NoCDR("Local/12@from-internal-efa8,2<ZOMBIE>", "") in new stack
    -- Executing Wait("Local/12@from-internal-efa8,2<ZOMBIE>", "5") in new stack
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'Local/12@from-internal-efa8,2<ZOMBIE>' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'Local/12@from-internal-efa8,2<ZOMBIE>'
    -- Executing Playback("SIP/11-b8cc", "pls-try-call-later") in new stack
    -- Playing 'pls-try-call-later' (language 'en')
    -- Executing Macro("SIP/11-b8cc", "hangupcall") in new stack
    -- Executing ResetCDR("SIP/11-b8cc", "w") in new stack
    -- Executing NoCDR("SIP/11-b8cc", "") in new stack
    -- Executing Wait("SIP/11-b8cc", "5") in new stack
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'SIP/11-b8cc' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'SIP/11-b8cc' in macro 'outisbusy'
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'SIP/11-b8cc'

Here is the cause of this problem:

    -- Executing Dial("Local/12@from-internal-efa8,2", "SIP/12||tr") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing NoOp("Local/12@from-internal-efa8,2", "Returned to dolocaldial with DIALSTATUS CHANUNAVAIL") in new stack
    -- Executing Macro("Local/12@from-internal-efa8,2", "outisbusy|") in new stack

You see that after the NoOp?(Returned to dolocaldial with DIALSTATUS CHANUNAVAIL) it issues the Macro(outisbusy), instead of Goto(s-${DIALSTATUS},1)

Hope that helps. FYI, this is an old install, upgraded since 1.10.003 until 2.1beta2 ;)

Julian J. M.

05/10/06 16:13:36 changed by ap0ught

btw I am getting this on the current version of astersk at home install and I fixed it with adding exten => dolocaldial,n,Goto(s-${DIALSTATUS},1) ; Do not go to voicemail. This is primarily to avoid vm for call-forwarded extensions in ring groups

05/11/06 12:50:28 changed by ap0ught

ki take that all back q Don't work any sort without the playback mesage

05/17/06 01:12:57 changed by julianjm

Hello again,

I did have to reinstall linux and asterisk. I installed 1.2.7.1 and Freepbx 2.1.0.

I still experience the same problems I described. Only that this time you have took out completely the line 'exten => dolocaldial,n,Goto(s-${DIALSTATUS},1)' from extensions.conf (instead of just commenting it ;)). It is still necesaray for queues to work.

How to reproduce the problem: 1) Create a queue: 2) Add 2 static agents 3) Unregister one of those agents (turn of the phone, or unplug network cable) 4) Call the queue.

The agent that is online won't be able to get the call.

Julian.

05/17/06 05:18:22 changed by wozto1s

  • status changed from reopened to new.

I took that line out to stop ppl accidently putting it back in as although it may appear to fix your issue it will brake other things, such as Call Forward on Unavailable / No Answer.

I'll try the steps you've given later today and see if I can replicate on my system

Mark

05/17/06 05:30:50 changed by julianjm

Ok... I've seen some user reporting this same issue but with busy agents triggering the bug.

Anyway, I thought the dolocaldial (check for Local/ channel type) was meant to avoid jumping to voicemail, playing acb, being forwarded, etc, so that any extension could be used used in ringgroups and queues, regardless of how the extension is setup (sip, iax, etc).

Julian.

05/17/06 12:11:27 changed by wozto1s

  • version deleted.
  • component changed from Core to Queues Module.

I'm not seeing any ZOMBIEs on mine OR any calls to 'outisbusy' I set up a default Q, didn't change any options, using a SIP/12 12 extension that wasn't connected as a static agent and here's what I got....

    -- Executing Answer("Zap/2-1", "") in new stack
    -- Executing GotoIf("Zap/2-1", "1?USERCID:SETCID") in new stack
    -- Goto (from-internal,901,3)
    -- Executing Macro("Zap/2-1", "user-callerid|") in new stack
    -- Executing GotoIf("Zap/2-1", "0?report") in new stack
    -- Executing GotoIf("Zap/2-1", "0?start") in new stack
    -- Executing Set("Zap/2-1", "REALCALLERIDNUM=201") in new stack
    -- Executing NoOp("Zap/2-1", "REALCALLERIDNUM is 201") in new stack
    -- Executing Set("Zap/2-1", "AMPUSER=201") in new stack
    -- Executing Set("Zap/2-1", "AMPUSERCIDNAME=") in new stack
    -- Executing GotoIf("Zap/2-1", "1?report") in new stack
    -- Goto (macro-user-callerid,s,9)
    -- Executing NoOp("Zap/2-1", "Using CallerID "Living Room" <201>") in new stack
    -- Executing Set("Zap/2-1", "CALLERID(name)=Living Room") in new stack
    -- Executing Set("Zap/2-1", "MONITOR_FILENAME=/var/spool/asterisk/monitor/q901-20060517-200700-1147892813.2") in new stack
    -- Executing Queue("Zap/2-1", "901|t||") in new stack
    -- Started music on hold, class 'default', on Zap/2-1
    -- Called Local/12@from-internal
    -- Executing Macro("Local/12@from-internal-41b4,2", "exten-vm|novm|12") in new stack
    -- Executing Macro("Local/12@from-internal-41b4,2", "user-callerid") in new stack
    -- Executing GotoIf("Local/12@from-internal-41b4,2", "1?report") in new stack
    -- Goto (macro-user-callerid,s,9)
    -- Executing NoOp("Local/12@from-internal-41b4,2", "Using CallerID "Living Room" <201>") in new stack
    -- Executing Set("Local/12@from-internal-41b4,2", "FROMCONTEXT=exten-vm") in new stack
    -- Executing Set("Local/12@from-internal-41b4,2", "VMBOX=novm") in new stack
    -- Executing Set("Local/12@from-internal-41b4,2", "EXTTOCALL=12") in new stack
    -- Executing Set("Local/12@from-internal-41b4,2", "CFUEXT=") in new stack
    -- Executing Set("Local/12@from-internal-41b4,2", "RT=") in new stack
    -- Executing Macro("Local/12@from-internal-41b4,2", "record-enable|12|IN") in new stack
    -- Executing GotoIf("Local/12@from-internal-41b4,2", "0 > 0?2:4") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing AGI("Local/12@from-internal-41b4,2", "recordingcheck|20060517-200700|1147892820.4") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
  recordingcheck|20060517-200700|1147892820.4: Inbound recording not enabled
    -- AGI Script recordingcheck completed, returning 0
    -- Executing NoOp("Local/12@from-internal-41b4,2", "No recording needed") in new stack
    -- Executing GotoIf("Local/12@from-internal-41b4,2", "1?dolocaldial|1") in new stack
    -- Goto (macro-exten-vm,dolocaldial,1)
    -- Executing Macro("Local/12@from-internal-41b4,2", "dial||tr|12") in new stack
    -- Executing AGI("Local/12@from-internal-41b4,2", "dialparties.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
  dialparties.agi: Starting New Dialparties.agi
    --  dialparties.agi: priority is 1
  dialparties.agi: Caller ID name is 'Living Room' number is '201'
  dialparties.agi: Methodology of ring is  'none'
    --  dialparties.agi: Added extension 12 to extension map
    --  dialparties.agi: Extension 12 cf is disabled
    --  dialparties.agi: Extension 12 do not disturb is disabled
  == Parsing '/etc/asterisk/manager.conf': Found
  == Parsing '/etc/asterisk/manager_custom.conf': Found
  == Manager 'admin' logged on from 127.0.0.1
  == Manager 'admin' logged off from 127.0.0.1
    --  dialparties.agi: Checking CW and CFB status for extension 12
    --  dialparties.agi: DbSet CALLTRACE/12 to 201
    -- AGI Script dialparties.agi completed, returning 0
    -- Executing Dial("Local/12@from-internal-41b4,2", "SIP/12||tr") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing NoOp("Local/12@from-internal-41b4,2", "Returned to dolocaldial with DIALSTATUS CHANUNAVAIL") in new stack
    -- Executing Macro("Local/12@from-internal-41b4,2", "hangupcall") in new stack
    -- Executing ResetCDR("Local/12@from-internal-41b4,2", "w") in new stack
    -- Executing NoCDR("Local/12@from-internal-41b4,2", "") in new stack
    -- Executing Wait("Local/12@from-internal-41b4,2", "5") in new stack
    -- Executing Hangup("Local/12@from-internal-41b4,2", "") in new stack
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'Local/12@from-internal-41b4,2' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'Local/12@from-internal-41b4,2'
    -- Called Local/12@from-internal
    -- Executing Macro("Local/12@from-internal-338f,2", "exten-vm|novm|12") in new stack
    -- Executing Macro("Local/12@from-internal-338f,2", "user-callerid") in new stack
    -- Executing GotoIf("Local/12@from-internal-338f,2", "1?report") in new stack
    -- Goto (macro-user-callerid,s,9)
    -- Executing NoOp("Local/12@from-internal-338f,2", "Using CallerID "Living Room" <201>") in new stack
    -- Executing Set("Local/12@from-internal-338f,2", "FROMCONTEXT=exten-vm") in new stack
    -- Executing Set("Local/12@from-internal-338f,2", "VMBOX=novm") in new stack
    -- Executing Set("Local/12@from-internal-338f,2", "EXTTOCALL=12") in new stack
    -- Executing Set("Local/12@from-internal-338f,2", "CFUEXT=") in new stack
    -- Executing Set("Local/12@from-internal-338f,2", "RT=") in new stack
    -- Executing Macro("Local/12@from-internal-338f,2", "record-enable|12|IN") in new stack
    -- Executing GotoIf("Local/12@from-internal-338f,2", "0 > 0?2:4") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing AGI("Local/12@from-internal-338f,2", "recordingcheck|20060517-200720|1147892840.6") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
  recordingcheck|20060517-200720|1147892840.6: Inbound recording not enabled
    -- AGI Script recordingcheck completed, returning 0
    -- Executing NoOp("Local/12@from-internal-338f,2", "No recording needed") in new stack
    -- Executing GotoIf("Local/12@from-internal-338f,2", "1?dolocaldial|1") in new stack
    -- Goto (macro-exten-vm,dolocaldial,1)
    -- Executing Macro("Local/12@from-internal-338f,2", "dial||tr|12") in new stack
    -- Executing AGI("Local/12@from-internal-338f,2", "dialparties.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
  dialparties.agi: Starting New Dialparties.agi
    --  dialparties.agi: priority is 1
  dialparties.agi: Caller ID name is 'Living Room' number is '201'
  dialparties.agi: Methodology of ring is  'none'
    --  dialparties.agi: Added extension 12 to extension map
    --  dialparties.agi: Extension 12 cf is disabled
    --  dialparties.agi: Extension 12 do not disturb is disabled
  == Parsing '/etc/asterisk/manager.conf': Found
  == Parsing '/etc/asterisk/manager_custom.conf': Found
  == Manager 'admin' logged on from 127.0.0.1
  == Manager 'admin' logged off from 127.0.0.1
    --  dialparties.agi: Checking CW and CFB status for extension 12
    --  dialparties.agi: DbSet CALLTRACE/12 to 201
    -- AGI Script dialparties.agi completed, returning 0
    -- Executing Dial("Local/12@from-internal-338f,2", "SIP/12||tr") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing NoOp("Local/12@from-internal-338f,2", "Returned to dolocaldial with DIALSTATUS CHANUNAVAIL") in new stack
    -- Stopped music on hold on Zap/2-1
  == Spawn extension (from-internal, 901, 6) exited non-zero on 'Zap/2-1'
    -- Executing Macro("Zap/2-1", "hangupcall") in new stack
    -- Executing ResetCDR("Zap/2-1", "w") in new stack
    -- Executing Macro("Local/12@from-internal-338f,2", "hangupcall") in new stack
    -- Executing ResetCDR("Local/12@from-internal-338f,2", "w") in new stack
    -- Executing NoCDR("Zap/2-1", "") in new stack
    -- Executing Wait("Zap/2-1", "5") in new stack
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'Zap/2-1' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'Zap/2-1'
    -- Hungup 'Zap/2-1'
    -- Executing NoCDR("Local/12@from-internal-338f,2", "") in new stack
    -- Executing Wait("Local/12@from-internal-338f,2", "5") in new stack
    -- Executing Hangup("Local/12@from-internal-338f,2", "") in new stack
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'Local/12@from-internal-338f,2' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'Local/12@from-internal-338f,2'

The music didn't stop, but I hung up after i saw it try SIP/12 twice

Are you ever on IRC? Can we arrange a mutal time to investigate further? I've tried several things now and I've failed to make break on my system. I was spearking to 'ariel_' on IRC who is also having issues but did tell me that not all the Asterisk boxes are having this issue. We MUST be missing something else here I think and could really do with speaking to you in real-time now to debug further.

Mark

05/17/06 12:30:19 changed by julianjm

Well,

this is different from what I am getting:

You:

    -- Executing Dial("Local/12@from-internal-41b4,2", "SIP/12||tr") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing NoOp("Local/12@from-internal-41b4,2", "Returned to dolocaldial with DIALSTATUS CHANUNAVAIL") in new stack
    -- Executing Macro("Local/12@from-internal-41b4,2", "hangupcall") in new stack

Me:

   -- Executing Dial("Local/12@from-internal-efa8,2", "SIP/12||tr") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing NoOp("Local/12@from-internal-efa8,2", "Returned to dolocaldial with DIALSTATUS CHANUNAVAIL") in new stack
    -- Executing Macro("Local/12@from-internal-efa8,2", "outisbusy|") in new stack
    -- Executing Playback("Local/12@from-internal-efa8,2", "all-circuits-busy-now") in new stack

Maybe it's some module writing some extensions where it shouldn't. I must say I have all modules enabled.

I don't have much time really, but i'll try to come online on irc when I get home tomorrow.

Julian.

05/17/06 12:34:49 changed by wozto1s

I have all modules too, so doubt it's that. Can you may post your extensions.conf and extensions_additional.conf, providering there is nothing sensitive in there like passwords or something ???? or maybe email them direct to me or something?

05/27/06 04:28:00 changed by wozto1s

  • milestone set to 2.2.

We have GOT to get to the bottom of this for 2.2 !!!!!

05/28/06 16:59:12 changed by p_lindheimer

  • milestone changed from 2.2 to 2.1.

just helped another person on the wiki solve this same problem with the above proposed solution. He is adding his situation shortly, I'm putting this back to 2.1, it is pretty bad.

05/28/06 17:02:10 changed by Ben

I had the same issue as the original poster, right down to the error in the log:

-- Executing Dial("Local/12@from-internal-efa8,2", "SIP/12||tr") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing NoOp("Local/12@from-internal-efa8,2", "Returned to dolocaldial with DIALSTATUS CHANUNAVAIL") in new stack
    -- Executing Macro("Local/12@from-internal-efa8,2", "outisbusy|") in new stack

Adding in the line from the first posting solved my problem - I did NOT have the original line, I only had the first two lines.

05/28/06 17:30:30 changed by p_lindheimer

here is a link to Ben's log file when error was occuring. It looks like the behavior wasn't 'identical' but it was basically the same thing and the 'fix' originally proposed by Julian did make his work (although no testing done to determine if it broke something else.

Ben's problem was described on the IRC as follows:

okay, if an extension is "down" ... and it is a static agent of a queue, when someone dials into the queue, the whole thing fails with "all circuits are busy" but if i take that extension out ... then it works just fine

05/29/06 07:33:33 changed by wozto1s

p_lindheimer, Queues are due for a re-write in 2.2

Also I still don't understand why some users are getting the call to outisbusy when the dialplan for 2.1+ just doesn't do that !

05/31/06 14:42:20 changed by wozto1s

  • milestone deleted.

06/02/06 11:38:35 changed by ap0ught

well a fix to this that we created a hunt group and put all the ppl in there.

we were having the problem of people calling in and getting the outisbusy without hearing a ring.

at least with a huntgroup we could have it ring a few times to pick it up.

This problem was so bad we had to revert back to the previous version.

GREAT JOB with the freepbx interface though. wish I could have used it

06/02/06 13:24:26 changed by wozto1s

And here we are again with the 'outisbusy'....I JUST DON'T GET IT !!!!!! Where is that coming from ? It's not there in my dialplan !!!!!!

06/02/06 14:47:52 changed by julianjm2

Ok people... I found the problem! You'll see why it doesn't affect everybody, and why we need that line that is missing after the NooP.

I happen to have an outbound route that matches _20. My extensions are 201 and 202

The queue dials Local/202@from-internal/n

In macro-exten-vm, when it's a Local channel, we jump to the dolocaldial ext...

; Local channel should try to ring the phone only then come back out
; i.e. it's wrong for it to Answer the call in any way (including Congestion
; and stop the initiating dialplan from being returned to)
exten => dolocaldial,1,Macro(dial,,${DIAL_OPTIONS},${EXTTOCALL})
exten => dolocaldial,n,NoOp(Returned to dolocaldial with DIALSTATUS '${DIALSTATUS}')
;exten => dolocaldial,n,Goto(s-${DIALSTATUS},1)

If I comment that last line, the macro ends, and we are again on 202@from-internal, priority 2. For completion, this is my ext-local context:

[ext-local]
include => ext-local-custom
exten => 201,1,Macro(exten-vm,novm,201)
exten => 202,1,Macro(exten-vm,novm,202)

That macro ended, and asterisk will try to match ext 202, priority 2, in context [from-internal].

As I told you, I have an outbound route that matches _20. This is the context (included by from-internal)

[outrt-011-sipdiscount]
include => outrt-011-sipdiscount-custom
exten => _20.,1,Macro(dialout-trunk,2,${EXTEN:2},,)
exten => _20.,n,Macro(outisbusy,)

It's not rocket science now that asterisk will follow the dialplan with Macro(outisbusy,)

Well, that's it. I vote for bringing that line back, as it makes the macro finish with Congestion. The queue handles it right, and skips that extension.

Julian J. M.

PS: I forgot the password for user "julianjm" on this Track... Could an admin delete this user (julianjm2), and reset my password for julianjm? ;)

julianjm@gmail.com

06/02/06 16:55:26 changed by wozto1s

Thanks for the additional info Julian, I should have time to try this out tomorrow. I think (and again i'll try this tomorrow) putting the goto s- line back will cause the call forward on unavailable/no answer to fail, but will find out tomorrow and advise

Mark

06/03/06 08:18:44 changed by wozto1s

  • status changed from new to assigned.
  • version set to 2.1.

Julian,

I've just commited a change in SVN HEAD (r. 2001) which adds a Hangup after the call to the dial macro in ext-local, which ensures the dialplan ends basically after calling the extension.

I really can't think why we didn't do this anyway really as seems a bit silly now to NOT forceably end the call when calling local extensions.

I'll leave this open for a while so people can test. If this works, I'll suggest to X-Rob that we commit this to the 2.1 branch and release a 2.1.2

Mark

06/16/06 15:31:15 changed by RyanCourtnage

Mark, Julian,

I just hit this with 2.1.1. Adding Hangup after the call to Dial was the fix I used as well. I then came here and saw this bug. If we both came up with the same fix, then it must be thre right one!!

Ryan

06/17/06 12:11:07 changed by wozto1s

  • milestone set to 2.1.

Rob,

This fix is already HEAD, I recon we should merge the fix into 2.1 and make part of a 2.1.2 release.

Mark

06/18/06 06:32:21 changed by wozto1s

  • status changed from assigned to closed.
  • resolution set to fixed.

Fix now commited to 2.1 branch r.2060

01/08/07 11:46:42 changed by

  • milestone deleted.

Milestone 2.1 deleted

01/08/07 13:27:25 changed by vgster

  • milestone set to 2.1.
Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads