From: Russell Bryant Date: Thu, 29 Mar 2007 16:56:35 +0000 (+0000) Subject: Merged revisions 59341 via svnmerge from X-Git-Tag: 1.6.0-beta1~3^2~2937 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5a1c6826cec0a5b91ea803af4813a3091c30ba03;p=thirdparty%2Fasterisk.git Merged revisions 59341 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r59341 | russell | 2007-03-29 11:55:39 -0500 (Thu, 29 Mar 2007) | 8 lines When the IAX2 read callback gets called, return NULL instead of a "null frame". 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/trunk@59343 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index d470b02fda..712ecad7f1 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -3125,8 +3125,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)