[asterisk-bugs] [Asterisk 0015373]: T38 reinvite started from Asterisk

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Jun 22 04:47:12 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15373 
====================================================================== 
Reported By:                dcolombo
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   15373
Category:                   Channels/chan_sip/T.38
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           1.4.25.1 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-06-22 04:39 CDT
Last Modified:              2009-06-22 04:47 CDT
====================================================================== 
Summary:                    T38 reinvite started from Asterisk
Description: 
If Asterisk starts reinvite for T38 it seems that no UPDTL frame are sent
over the chan_sip.
Asterisk sends reinvite and p->t38.state's value is T38_LOCAL_REINVITE but
when other peer send 200 OK in process_sdp function p->t38.state becomes
T38_PEER_REINVITE but in this case  p->t38.state will never be
T38_ENABLED.

====================================================================== 

---------------------------------------------------------------------- 
 (0106769) dcolombo (reporter) - 2009-06-22 04:47
 https://issues.asterisk.org/view.php?id=15373#c106769 
---------------------------------------------------------------------- 
Pasting here a patch that can fix the issue: 

--- channels/chan_sip.orig	2009-06-22 10:44:00.000000000 +0200
+++ channels/chan_sip.c	2009-06-22 10:45:06.000000000 +0200
@@ -5291,9 +5291,11 @@ static int process_sdp(struct sip_pvt *p
 			numberofmediastreams++;
 			
 			if (p->owner && p->lastinvite) {
-				p->t38.state = T38_PEER_REINVITE; /* T38 Offered in re-invite from
remote party */
-				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>" );
+				if(p->t38.state != T38_LOCAL_REINVITE) {
+					p->t38.state = T38_PEER_REINVITE; /* T38 Offered in re-invite from
remote party */
+					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>" );
+				}
 			} else {
 				p->t38.state = T38_PEER_DIRECT; /* T38 Offered directly from peer in
first invite */
 				p->t38.direct = 1; 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-06-22 04:47 dcolombo       Note Added: 0106769                          
======================================================================




More information about the asterisk-bugs mailing list