Summary:ASTERISK-07110: qcall - pbx_spool.c always drops call when any sort of progress is received
Reporter:Mark Hagler (hagler)Labels:
Date Opened:2006-06-06 16:58:37Date Closed:2011-06-07 14:03:11
Versions:Frequency of
Environment:Attachments:( 0) ast-output.txt
( 1) ast-output-pri.txt
Description:I am trying to launch calls using call files in /var/spool/asterisk/outgoing.   Asterisk picks up the call file appropriately and begins placing the call.

However, when any sort of progress indication is returned (such as IAX or SIP channel indicating ringing (console logs "SIP/778-xxxx is ringing)) the spool call fails immediately and logs an error saying the call did not go through.

It is easy to reproduce by launching a spool call out to a SIP or IAX or Zaptel device (my PRI does it too...) that indicates some kind of call progress and passes it back to the calling channel.


   -- Attempting call on Local/571@default for start@outcall:1 (Retry 1)
   -- Executing Queue("Local/571@default-60cd,2", "markq|r|||60") in new stack
   -- Called Local/778@stations
   -- Executing Macro("Local/778@stations-45be,2", "house|778|SIP/778") in new stack
   -- Executing Dial("Local/778@stations-45be,2", "SIP/778|20") in new stack
   -- Called 778
   -- SIP/778-2431 is ringing
   -- Local/778@stations-45be,1 is ringing
Jun  6 14:39:44 NOTICE[15746]: pbx_spool.c:269 attempt_thread: Call failed to go through, reason 3
Comments:By: Serge Vecher (serge-v) 2006-06-06 20:36:48

looking at the code, I'm not sure how you've got 'reason 3'. Do you have any code modifications?

By: Mark Hagler (hagler) 2006-06-06 22:02:01

no code mods, running straight 1.2.9 code.  I can reproduce this at will on two boxes, 1.2.9 on each.   I can provide remote access if you would like to investigate.

I just built a brand new, from-scratch 1.2.9 install today.  Using this call file:

Channel: IAX2/teliax/206669xxxx
Context: outcall
WaitTime: 2
Extension: start
Priority: 1

It doesn't even get this far, but here's what outcall,start,1 would do:
exten => start,1,Wait(1)
exten => start,2,Playback(tt-monkeys)
exten => start,3,Hangup

Console says this:
asterisk*CLI> !cp call /var/spool/asterisk/outgoing
   -- Attempting call on IAX2/teliax/2066699900 for start@outcall:1 (Retry 1)
   -- Call accepted by (format ulaw)
   -- Format for call is ulaw
   -- Hungup 'IAX2/teliax-4'
Jun  6 18:47:47 NOTICE[989]: pbx_spool.c:269 attempt_thread: Call failed to go through, reason 3

I have attached the console output with IAX2 debugging turned on... you can see where Asterisk rx's a CONTROL frame, subclass RINGING, then we tx ACK followed quickly by tx HANGUP where the local end dropped the call.

Also, for thoroughness, I tested also the very same thing on a box with a PRI, thus using a Zap channel and not a IAX channel.   The same thing occurs (output w/ q.931 debugging is attached) where local Asterisk sends a DISCONNECT message immediately after the switch sends us an ALERTING call progress indicator.

Please let me know if I can be of assistance.

By: Andrey S Pankov (casper) 2006-06-07 16:59:02

And without 'WaitTime: 2'? This should be at least 30, not 2...

By: Mark Hagler (hagler) 2006-06-07 20:03:46

Problem is user errror, WaitTime: 30 works great.

Sorry for the bother; this is not a bug with the software.

By: Serge Vecher (serge-v) 2006-06-08 09:08:32

Casper, thanks for pointing out a solution. Closing the issue.