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.4@200360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Michelson
2009-06-12 19:06:41 +00:00
parent a34f50f08b
commit af2e7f5eab

View File

@@ -2555,6 +2555,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");