[asterisk-commits] kpfleming: branch kpfleming/rfc5456-ACK-compliance r330106 - in /team/kpflemi...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jul 28 16:09:15 CDT 2011
Author: kpfleming
Date: Thu Jul 28 16:09:11 2011
New Revision: 330106
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=330106
Log:
Branch to hold changes for IAX2 compliance changes related to acknowledgements
of PING, POKE and LAGRQ requests.
Added:
team/kpfleming/rfc5456-ACK-compliance/ (props changed)
- copied from r330104, branches/1.8/
Modified:
team/kpfleming/rfc5456-ACK-compliance/channels/chan_iax2.c
Propchange: team/kpfleming/rfc5456-ACK-compliance/
------------------------------------------------------------------------------
--- branch-1.6.2-blocked (added)
+++ branch-1.6.2-blocked Thu Jul 28 16:09:11 2011
@@ -1,0 +1,1 @@
+/branches/1.6.2:279852,279883,280227,280556,280812,282668,299533,303273,309348,320506
Propchange: team/kpfleming/rfc5456-ACK-compliance/
------------------------------------------------------------------------------
Binary property 'branch-1.6.2-merged' - no diff available.
Propchange: team/kpfleming/rfc5456-ACK-compliance/
------------------------------------------------------------------------------
--- reviewboard:url (added)
+++ reviewboard:url Thu Jul 28 16:09:11 2011
@@ -1,0 +1,1 @@
+https://reviewboard.asterisk.org
Propchange: team/kpfleming/rfc5456-ACK-compliance/
------------------------------------------------------------------------------
--- svn:externals (added)
+++ svn:externals Thu Jul 28 16:09:11 2011
@@ -1,0 +1,1 @@
+menuselect https://origsvn.digium.com/svn/menuselect/trunk
Propchange: team/kpfleming/rfc5456-ACK-compliance/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Jul 28 16:09:11 2011
@@ -1,0 +1,26 @@
+asterisk
+defaults.h
+ast_expr2.output
+.version
+.depend
+.applied
+mpg123-0.59r
+mpg123-0.59r.tar.gz
+update.out
+.lastclean
+.cleancount
+.tags-depend
+.tags-sources
+tags
+TAGS
+testexpr2
+makeopts
+menuselect.makeopts
+menuselect.makedeps
+config.status
+config.log
+menuselect-tree
+autom4te.cache
+makeopts.embed_rules
+aclocal.m4
+update.log
Propchange: team/kpfleming/rfc5456-ACK-compliance/
------------------------------------------------------------------------------
svn:mergeinfo = /be/branches/C.3:256426
Modified: team/kpfleming/rfc5456-ACK-compliance/channels/chan_iax2.c
URL: http://svnview.digium.com/svn/asterisk/team/kpfleming/rfc5456-ACK-compliance/channels/chan_iax2.c?view=diff&rev=330106&r1=330104&r2=330106
==============================================================================
--- team/kpfleming/rfc5456-ACK-compliance/channels/chan_iax2.c (original)
+++ team/kpfleming/rfc5456-ACK-compliance/channels/chan_iax2.c Thu Jul 28 16:09:11 2011
@@ -11390,15 +11390,25 @@
ies.vars = NULL;
}
- /* Don't actually pass these frames along */
- if ((f.subclass.integer != IAX_COMMAND_ACK) &&
- (f.subclass.integer != IAX_COMMAND_TXCNT) &&
- (f.subclass.integer != IAX_COMMAND_TXACC) &&
- (f.subclass.integer != IAX_COMMAND_INVAL) &&
- (f.subclass.integer != IAX_COMMAND_VNAK)) {
- if (iaxs[fr->callno] && iaxs[fr->callno]->aseqno != iaxs[fr->callno]->iseqno)
+ /* Send an ACK if necessary */
+ switch (f.subclass.integer) {
+ case IAX_COMMAND_ACK:
+ case IAX_COMMAND_TXCNT:
+ case IAX_COMMAND_TXACC:
+ case IAX_COMMAND_INVAL:
+ case IAX_COMMAND_VNAK:
+ case IAX_COMMAND_PING:
+ case IAX_COMMAND_POKE:
+ case IAX_COMMAND_LAGRQ:
+ /* None of these command frames need to be ACKed */
+ break;
+ default:
+ /* Send an ACK if the current command frame has not already been ACKed */
+ if (iaxs[fr->callno] && iaxs[fr->callno]->aseqno != iaxs[fr->callno]->iseqno) {
send_command_immediate(iaxs[fr->callno], AST_FRAME_IAX, IAX_COMMAND_ACK, fr->ts, NULL, 0,fr->iseqno);
+ }
}
+
ast_mutex_unlock(&iaxsl[fr->callno]);
return 1;
}
More information about the asterisk-commits
mailing list