Summary:ASTERISK-03653: agi running on two channels second channel gets interrupted system call when first channel hangs up
Reporter:geisj (geisj)Labels:
Date Opened:2005-03-08 13:40:11.000-0600Date Closed:2011-06-07 14:10:10
Versions:Frequency of
Environment:Attachments:( 0) agi-jerry.agi
( 1) streamoutput.txt
Description:I took the agi-test.agi and copied it to agi-jerry.agi
Added an extension.conf entry to run it.
exten => 5,1,agi(agi-jerry.agi)
I then edited the agi-jerry to remove steps 1 - 4.
changed step 5 to WAIT FOR DIGIT 10000. so step 5 is the first step.

Now when I call in from two grandstream sip phones
and look at the console - I see they both answer and they
are waiting on a digit. I then hangup the first channel
and BOTH hangup.

The second channel gets the interrupted system call below.

 == Spawn extension (default, 5, 1) exited non-zero on 'SIP/401-9e83'
PASS (-1)
6.  Testing 'record'...FAIL (unexpected result '')
6a.  Testing 'record' playback...FAIL (unexpected result '')
================== Complete ======================
3 tests completed, 1 passed, 2 failed
Mar  8 14:28:24 WARNING[23461]: channel.c:1149 ast_waitfordigit_full: Wait failed (Interrupted system call)


I have seen this on my application before but could never
come up with something to post until now. I used the
example agi so I hope it is reproducable on your end.
It happens for me virtually every time.
Comments:By: stevekstevek (stevekstevek) 2005-03-08 14:02:12.000-0600

What does this have to do with Zaptel?

By: geisj (geisj) 2005-03-08 14:07:53.000-0600

Sorry if I chose the wrong category (general). I did not see asterisk there
so I chose general. I dont see how to change it to asterisk now either.

By: Clod Patry (junky) 2005-03-08 14:27:12.000-0600

Please read the bug guidelines before reporting a bug.

By: geisj (geisj) 2005-03-08 14:53:16.000-0600

I now see the project in the upper right corner. I'll know better next time. :)

Also the severity has changed to minor. I would like to disagree with that.
If I am running a REAL agi and having a user interact with with my system
and some other event hangs up a different channel - that is not a very good thing.

Just my view... Thanks,

By: twisted (twisted) 2005-03-08 17:09:18.000-0600

Unable to recreate using zaptel under latest CVS HEAD.

By: Clod Patry (junky) 2005-03-08 22:24:01.000-0600

Also, im using AGIs all days long and never got that problem neither.
And why did ya insist on REAL agi ? all AGIs aren't all real by the way?
If you mean in production, i'd say, 99% of my AGIs are in prod too.

Is it only with WAIT FOR DIGIT ?

By: geisj (geisj) 2005-03-08 22:34:41.000-0600

In addition I am running under Fedora Core 3.
I am running a T100P card also in my box along with the sip phones.
I get hangups on the T1 or the SIP phones using my attached agi.

It doesnt just happen for me on the wait for digit it also happens
when just streaming a file.

The wait for digit was just a way I found to reproduce this problem
without using any of my AGI code. It was not possible to post that.
So I went looking for a way to recreate it purely in asterisk.

Why would I get the interrupted system call on channel 2 when channel 1
hangs up? Aside from that things work fine for me.

By: Clod Patry (junky) 2005-03-08 22:37:42.000-0600

past full CLI's output (from starting the 1st agi to the hangup to the 2nd one) for STREAM FILE and we'll see.

By: geisj (geisj) 2005-03-09 07:32:49.000-0600

I did an asterisk -vvvc 2>&1 > streamoutput.txt (if there is a better way let me know that is what came to mind).

I attached the output.

The agi is from agi-test.agi removing steps 1 - 5
and changing file to demo-congrats.

print STDERR "6a.  Testing 'record' playback...";
print "STREAM FILE demo-congrats \"\"\n";
my $result = <STDIN>;

All I am doing is offhook press 5 on phone1, offhook pressing 5 on phone2.
Wait for the second phone to start the demo-congrats message, hangup phone1
and phone 2 gets the interrupted system call.

By: staffanu (staffanu) 2005-03-17 18:30:38.000-0600

Just to say I have what I believe is the same problem.  This is on FreeBSD, compiled from HEAD on 8 March 2005.  I have an AGI script that starts out by asking for an authentication code:

my $code = $AGI->get_data("welcome", "10000", 7);

If I call the script from two phones simultaneously (only tried through SIP), and hang up one of them while both are waiting for the initial response, the other call is also disconnected.  When this happens, one of the two follwoing messages are displayed on the console (apparantly at random):

WARNING[6357]: channel.c:1176 ast_waitfordigit_full: Wait failed (Interrupted system call)

WARNING[6357]: file.c:1084 ast_waitstream_full: Wait failed (Interrupted system call)

By: () 2005-03-17 19:55:50.000-0600

I can't reproduce this on 1.0.3 STABLE. I run about 10,000 AGI related calls a day and haven't seen this. Fluke?

By: Brian West (bkw918) 2005-03-17 20:50:20.000-0600

Unable to reproduce either.