[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