]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
When the IAX2 read callback gets called, return NULL instead of a "null frame".
authorRussell Bryant <russell@russellbryant.com>
Thu, 29 Mar 2007 16:55:39 +0000 (16:55 +0000)
committerRussell Bryant <russell@russellbryant.com>
Thu, 29 Mar 2007 16:55:39 +0000 (16:55 +0000)
This will cause Asterisk to hangup the call instead of keep trying whatever it
was doing.  Under normal conditions, this function would *never* be called.
However, the author of this patch says an error will occur that will cause it
to get called every 100 thousand calls or so.  When this does happen, it puts
the channel in a loop that eventually brings down the system.  So, hangup up
the call is certainly a better alternative.  (issue #8286, john)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59341 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_iax2.c

index 3f2a54fdf1387f6867db593461054d294586955d..c3249e47d262ebde1577475924c6bdae5ebd0053 100644 (file)
@@ -2986,8 +2986,8 @@ static int iax2_setoption(struct ast_channel *c, int option, void *data, int dat
 
 static struct ast_frame *iax2_read(struct ast_channel *c) 
 {
-       ast_log(LOG_NOTICE, "I should never be called!\n");
-       return &ast_null_frame;
+       ast_log(LOG_NOTICE, "I should never be called! Hanging up.\n");
+       return NULL;
 }
 
 static int iax2_start_transfer(unsigned short callno0, unsigned short callno1, int mediaonly)