[Home]

Summary:ASTERISK-02251: [patch] TDM400P FXO: Unexpected control subclass '5'
Reporter:allengwinn (allengwinn)Labels:
Date Opened:2004-08-21 03:37:05Date Closed:2011-06-07 14:10:37
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) 20040821__ignore_fxo_busy_on_waitstream.diff.txt
Description:When set callprogress=y, and you dial in from a line with no disconnect supervision (i.e. Lingo -- I know... defeats the purpose of "real" VoIP to begin with but, hey, their rates rock!), and hang up the outside line on an announcement you get a warning ala "Aug 21 03:12:37 WARNING[442385]: file.c:914 ast_waitstream: Unexpected control subclass '5'.
"

****** ADDITIONAL INFORMATION ******

:: Here is the zapata.conf entry:

group=1
context=from-7200
signalling=fxs_ks
usecallingpres=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=1.5
txgain=1.5
immediate=no
busydetect=yes
busycount=5
callprogress=yes
musiconhold=default
usecallerid=yes
callerid=asreceived
channel => 1

:: Here is the verbose output of the sequence of events.
:: The warning occurs when the incoming line is hung up.

-- Starting simple switch on 'Zap/1-1'
   -- Executing Answer("Zap/1-1", "") in new stack
   -- Executing Wait("Zap/1-1", "1") in new stack
   -- Executing BackGround("Zap/1-1", "tt-allbusy") in new stack
   -- Playing 'tt-allbusy' (language 'en')
Aug 21 03:12:37 WARNING[442385]: file.c:914 ast_waitstream: Unexpected control subclass '5'
   -- Executing Wait("Zap/1-1", "1") in new stack
   -- Executing BackGround("Zap/1-1", "z/ext-or-zero") in new stack
   -- Playing 'z/ext-or-zero' (language 'en')
   -- Executing BackGround("Zap/1-1", "z/for-a-list-of") in new stack
   -- Playing 'z/for-a-list-of' (language 'en')
   -- Executing BackGround("Zap/1-1", "z/extension") in new stack
   -- Playing 'z/extension' (language 'en')
   -- Executing BackGround("Zap/1-1", "z/press-2") in new stack
   -- Playing 'z/press-2' (language 'en')
   -- Executing Wait("Zap/1-1", "1") in new stack
   -- Executing BackGround("Zap/1-1", "z/hear-odd-noise") in new stack
   -- Playing 'z/hear-odd-noise' (language 'en')
   -- Executing BackGround("Zap/1-1", "digits/3") in new stack
   -- Playing 'digits/3' (language 'en')
   -- Executing Wait("Zap/1-1", "1") in new stack
   -- Executing BackGround("Zap/1-1", "z/for-louie-louie") in new stack
   -- Playing 'z/for-louie-louie' (language 'en')
   -- Executing BackGround("Zap/1-1", "digits/4") in new stack
   -- Playing 'digits/4' (language 'en')
   -- Executing Wait("Zap/1-1", "1") in new stack
   -- Executing BackGround("Zap/1-1", "z/to-hear-menu-again") in new stack
   -- Playing 'z/to-hear-menu-again' (language 'en')
   -- Executing BackGround("Zap/1-1", "z/press-9") in new stack
   -- Playing 'z/press-9' (language 'en')
   -- Executing Wait("Zap/1-1", "10") in new stack
 == Spawn extension (from-7200, s, 18) exited non-zero on 'Zap/1-1'
   -- Hungup 'Zap/1-1'

Comments:By: Tilghman Lesher (tilghman) 2004-08-21 10:33:12

Are you using the latest of both zaptel as well as asterisk?

By: allengwinn (allengwinn) 2004-08-21 10:54:58

Yes... just updated from CVS and rebuilt yesterday

By: allengwinn (allengwinn) 2004-08-21 12:22:54

Well, the only other consideration is that if you're doing call progress (in lieu of disconnect supervision) and someone on the other end hangs up the line and generates a busy on Asterisk's end, I would think you'd want to treat that as a hangup.  So maybe put AST_CONTROL_BUSY under AST_CONTROL_HANGUP instead of ignore?

By: allengwinn (allengwinn) 2004-08-21 12:27:27

I just made that change (discussed above) and now when the Lingo user hangs up and generates a BUSY, Asterisk kills the channel.

By: allengwinn (allengwinn) 2004-08-21 12:47:47

"Ring / Off-Hook in strange state 6..."

Well, here's another issue... I tried routing an inbound Zap line to 3 extensions (one of which was offline).  When I picked up the call on the SIP phone, it hung up the FXO.  This is with callprogress = yes.  Then when you hang up the SIP phone, it rings again.  When you pick it up, you're connected to dial-tone on the Zap.

Here's the trace...

- Starting simple switch on 'Zap/3-1'
   -- Executing Wait("Zap/3-1", "1") in new stack
   -- Executing Dial("Zap/3-1", "SIP/501&SIP/502&SIP/503|30") in new stack
   -- Called 501
   -- Called 502
Aug 21 12:38:55 NOTICE[245775]: app_dial.c:714 dial_exec: Unable to create channel of type 'SIP'
   -- SIP/502-8a2c is ringing
   -- SIP/501-e022 is ringing
Aug 21 12:38:59 WARNING[245775]: chan_zap.c:3349 zt_handle_event: Ring/Off-hook in strange state 6 on channel 3
   -- SIP/502-8a2c answered Zap/3-1
 == Spawn extension (from-7203, s, 2) exited non-zero on 'Zap/3-1'
   -- Hungup 'Zap/3-1'
   -- Starting simple switch on 'Zap/3-1'
   -- Saved useragent "WiSIP" for peer 501
Aug 21 12:39:13 WARNING[262159]: chan_zap.c:5124 ss_thread: CallerID returned with error on channel 'Zap/3-1'
   -- Executing Wait("Zap/3-1", "1") in new stack
   -- Executing Dial("Zap/3-1", "SIP/501&SIP/502&SIP/503|30") in new stack
   -- Called 501
   -- Called 502
Aug 21 12:39:14 NOTICE[262159]: app_dial.c:714 dial_exec: Unable to create channel of type 'SIP'
   -- SIP/502-a6fb is ringing
   -- Got SIP response 400 "Bad Request" back from 66.138.85.184
   -- SIP/502-a6fb answered Zap/3-1
 == Spawn extension (from-7203, s, 2) exited non-zero on 'Zap/3-1'
   -- Hungup 'Zap/3-1'

edited on: 08-21-04 13:06

By: Mark Spencer (markster) 2004-08-22 10:54:33

The attached patch is incorrect.  The BUSY should be intercepted within chan_zap and converted to a hangup by virtue of your using progress detect.

By: Mark Spencer (markster) 2004-08-22 10:55:11

Can you confirm also that you have absolutely *no* modifications to your code?

By: allengwinn (allengwinn) 2004-08-22 11:15:22

Hey Mark ... Allen Gwinn from Networld+Interop NOC Team (met you at iLabs). I didn't do the patch :)  I have absolutely no modifications to my code at this point.  Just using the CVS builds.  You want access to this server (with a pair of Lingo's on it) to mess around?

Sorry I'm going to miss Astricon.  Amy (the redhead you met at iLabs) and I are headed to Cozumel to dive that week. But we'll be thinking about you!

By: Mark Spencer (markster) 2004-08-22 14:57:40

Access would be great, find me on IRC.  thanks!

By: allengwinn (allengwinn) 2004-08-28 19:27:51

Mark... just sent you email with my cellphone #.  Call for access info. My nick on #asterisk is JoeGuru.

By: alric (alric) 2004-09-25 08:30:56

Allen, have you made contact with Mark (kram on IRC) yet?  If so, has any progress been made on this bug?

By: allengwinn (allengwinn) 2004-09-26 05:46:12

Yes, he worked on the busy detection on one of my boxes.  I still had to change file.c as follows to get Asterisk to properly recognize a disconnect from the Lingo box:

case AST_FRAME_CONTROL:
                               switch(fr->subclass) {
                               case AST_CONTROL_HANGUP:
                               case AST_CONTROL_BUSY: /* ADDED */
                                       ast_frfree(fr);
                                       return -1;
                               case AST_CONTROL_RINGING:
                               case AST_CONTROL_ANSWER:
                                       /* Unimportant */
                                       break;
                               default:
                                       ast_log(LOG_WARNING, "Unexpected control

By: twisted (twisted) 2004-10-27 15:52:04

Any update on this?

By: twisted (twisted) 2004-11-14 21:11:31.000-0600

THis bug is being closed due to lack of interest.  Please feel free to re-open if this is still an issue/updates/progress/etc..