[asterisk-commits] kpfleming: branch 1.6.0 r204949 - in /branches/1.6.0: ./ main/channel.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Jul 6 08:39:54 CDT 2009
Author: kpfleming
Date: Mon Jul 6 08:39:51 2009
New Revision: 204949
URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=204949
Log:
Merged revisions 204948 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r204948 | kpfleming | 2009-07-06 08:38:29 -0500 (Mon, 06 Jul 2009) | 7 lines
Improve handling of AST_CONTROL_T38 and AST_CONTROL_T38_PARAMETERS for non-T.38-capable channels.
This change allows applications that request T.38 negotiation on a channel that
does not support it to get the proper indication that it is not supported, rather
than thinking that negotiation was started when it was not.
........
Modified:
branches/1.6.0/ (props changed)
branches/1.6.0/main/channel.c
Propchange: branches/1.6.0/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.
Modified: branches/1.6.0/main/channel.c
URL: http://svn.asterisk.org/svn-view/asterisk/branches/1.6.0/main/channel.c?view=diff&rev=204949&r1=204948&r2=204949
==============================================================================
--- branches/1.6.0/main/channel.c (original)
+++ branches/1.6.0/main/channel.c Mon Jul 6 08:39:51 2009
@@ -3085,7 +3085,7 @@
ast_channel_unlock(chan);
- if (chan->tech->indicate && !res) {
+ if (!res) {
/* The channel driver successfully handled this indication */
if (is_visible_indication(condition)) {
chan->visible_indication = condition;
@@ -3107,6 +3107,15 @@
/* Handle conditions that we have tones for. */
switch (condition) {
+ case AST_CONTROL_T38:
+ case AST_CONTROL_T38_PARAMETERS:
+ /* there is no way to provide 'default' behavior for these
+ * control frames, so we need to return failure, but there
+ * is also no value in the log message below being emitted
+ * since failure to handle these frames is not an 'error'
+ * so just return right now.
+ */
+ return -1;
case AST_CONTROL_RINGING:
ts = ast_get_indication_tone(chan->zone, "ring");
/* It is common practice for channel drivers to return -1 if trying
@@ -3142,8 +3151,6 @@
case AST_CONTROL_RING:
case AST_CONTROL_HOLD:
case AST_CONTROL_UNHOLD:
- case AST_CONTROL_T38:
- case AST_CONTROL_T38_PARAMETERS:
/* Nothing left to do for these. */
res = 0;
break;
More information about the asterisk-commits
mailing list