[svn-commits] file: branch file/issue12437-1.6.0 r184909 - /team/file/issue12437-1.6.0/chan...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Mar 30 08:45:03 CDT 2009


Author: file
Date: Mon Mar 30 08:44:58 2009
New Revision: 184909

URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=184909
Log:
Bring up to date with 1.4 version.

Modified:
    team/file/issue12437-1.6.0/channels/chan_sip.c

Modified: team/file/issue12437-1.6.0/channels/chan_sip.c
URL: http://svn.digium.com/svn-view/asterisk/team/file/issue12437-1.6.0/channels/chan_sip.c?view=diff&rev=184909&r1=184908&r2=184909
==============================================================================
--- team/file/issue12437-1.6.0/channels/chan_sip.c (original)
+++ team/file/issue12437-1.6.0/channels/chan_sip.c Mon Mar 30 08:44:58 2009
@@ -1069,6 +1069,7 @@
 	int peercapability;		/*!< Peers T38 capability */
 	int jointcapability;		/*!< Supported T38 capability at both ends */
 	enum t38state state;		/*!< T.38 state */
+	unsigned int direct:1;          /*!< Whether the T38 came from the initial invite or not */
 };
 
 /*! \brief Parameters to know status of transfer */
@@ -3958,6 +3959,10 @@
 	if (old == state)
 		return;
 
+	if (state == T38_PEER_DIRECT) {
+		p->t38.direct = 1;
+	}
+
 	p->t38.state = state;
 	ast_debug(2, "T38 state changed to %d on channel %s\n", p->t38.state, chan ? chan->name : "<none>");
 
@@ -5111,7 +5116,7 @@
 					p->invitestate = INV_EARLY_MEDIA;
 					transmit_response_with_sdp(p, "183 Session Progress", &p->initreq, XMIT_UNRELIABLE, FALSE);
 					ast_set_flag(&p->flags[0], SIP_PROGRESS_SENT);	
-				} else if (p->t38.state == T38_ENABLED) {
+				} else if (p->t38.state == T38_ENABLED && !p->t38.direct) {
 					change_t38_state(p, T38_DISABLED);
 					transmit_reinvite_with_sdp(p, FALSE, FALSE);
 				} else {




More information about the svn-commits mailing list