[asterisk-commits] file: branch file/issue12437 r184381 - /team/file/issue12437/channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Mar 26 11:48:51 CDT 2009
Author: file
Date: Thu Mar 26 11:48:48 2009
New Revision: 184381
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=184381
Log:
Do not try to reinvite back to T38 if we are setup with T38 as a result of getting it on the initial INVITE.
Modified:
team/file/issue12437/channels/chan_sip.c
Modified: team/file/issue12437/channels/chan_sip.c
URL: http://svn.digium.com/svn-view/asterisk/team/file/issue12437/channels/chan_sip.c?view=diff&rev=184381&r1=184380&r2=184381
==============================================================================
--- team/file/issue12437/channels/chan_sip.c (original)
+++ team/file/issue12437/channels/chan_sip.c Thu Mar 26 11:48:48 2009
@@ -860,6 +860,7 @@
int peercapability; /*!< Peers T38 capability */
int jointcapability; /*!< Supported T38 capability at both ends */
enum t38state state; /*!< T.38 state */
+ int direct; /*!< Whether the T38 came from the initial invite or not */
};
/*! \brief Parameters to know status of transfer */
@@ -3787,7 +3788,7 @@
p->invitestate = INV_EARLY_MEDIA;
transmit_response_with_sdp(p, "183 Session Progress", &p->initreq, XMIT_UNRELIABLE);
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) {
p->t38.state = T38_DISABLED;
transmit_reinvite_with_sdp(p);
} else {
@@ -5249,6 +5250,7 @@
ast_log(LOG_DEBUG, "T38 state changed to %d on channel %s\n", p->t38.state, p->owner ? p->owner->name : "<none>" );
} else {
p->t38.state = T38_PEER_DIRECT; /* T38 Offered directly from peer in first invite */
+ p->t38.direct = 1;
if (option_debug > 1)
ast_log(LOG_DEBUG, "T38 state changed to %d on channel %s\n", p->t38.state, p->owner ? p->owner->name : "<none>");
}
More information about the asterisk-commits
mailing list