From: Mark Michelson Date: Fri, 12 Jun 2009 19:08:34 +0000 (+0000) Subject: Merged revisions 200361 via svnmerge from X-Git-Tag: 1.6.1.3-rc1~161 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0aa37c39ac3e6d660acce328607cc970502b9b4;p=thirdparty%2Fasterisk.git Merged revisions 200361 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r200361 | mmichelson | 2009-06-12 14:07:51 -0500 (Fri, 12 Jun 2009) | 16 lines Merged revisions 200360 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r200360 | mmichelson | 2009-06-12 14:06:41 -0500 (Fri, 12 Jun 2009) | 10 lines Suppress a warning message and give a better return code when generating inband ringing after a call is answered. (closes issue #15158) Reported by: madkins Patches: 15158.patch uploaded by mmichelson (license 60) Tested by: madkins ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@200363 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/channel.c b/main/channel.c index 1e908533dd..f13f65053e 100644 --- a/main/channel.c +++ b/main/channel.c @@ -3057,6 +3057,16 @@ int ast_indicate_data(struct ast_channel *chan, int _condition, switch (condition) { case AST_CONTROL_RINGING: ts = ast_get_indication_tone(chan->zone, "ring"); + /* It is common practice for channel drivers to return -1 if trying + * to indicate ringing on a channel which is up. The idea is to let the + * core generate the ringing inband. However, we don't want the + * warning message about not being able to handle the specific indication + * to print nor do we want ast_indicate_data to return an "error" for this + * condition + */ + if (chan->_state == AST_STATE_UP) { + res = 0; + } break; case AST_CONTROL_BUSY: ts = ast_get_indication_tone(chan->zone, "busy");