[Asterisk-code-review] chan sip: Handle a request to negotiate T.38 after it is ena... (asterisk[certified/11.6])
Joshua Colp
asteriskteam at digium.com
Fri Jul 8 12:52:06 CDT 2016
Joshua Colp has submitted this change and it was merged.
Change subject: chan_sip: Handle a request to negotiate T.38 after it is enabled
......................................................................
chan_sip: Handle a request to negotiate T.38 after it is enabled
Some T.38 implementations may send another re-invite after the initial
one which adds additional negotiation details (such as the max bitrate).
Currently this will fail when passthrough is being done in chan_sip as we
do nothing if T.38 is already active.
Other handlers of T.38 inside of Asterisk (such as res_fax) handle this
scenario so this change adds support for it to chan_sip. If a request
to negotiate is received while T.38 is already enabled a new re-INVITE is
sent and negotiation is done again.
ASTERISK-26179 #close
Change-Id: I0298494d3da6df3219bbfa4be9aa04015043145c
---
M channels/chan_sip.c
1 file changed, 2 insertions(+), 1 deletion(-)
Approvals:
Joshua Colp: Looks good to me, approved; Verified
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 9ec3a69..80f1189 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -7426,7 +7426,8 @@
ast_udptl_set_local_max_ifp(p->udptl, p->t38.our_parms.max_ifp);
change_t38_state(p, T38_ENABLED);
transmit_response_with_t38_sdp(p, "200 OK", &p->initreq, XMIT_CRITICAL);
- } else if (p->t38.state != T38_ENABLED) {
+ } else if ((p->t38.state != T38_ENABLED) || ((p->t38.state == T38_ENABLED) &&
+ (parameters->request_response == AST_T38_REQUEST_NEGOTIATE))) {
p->t38.our_parms = *parameters;
ast_udptl_set_local_max_ifp(p->udptl, p->t38.our_parms.max_ifp);
change_t38_state(p, T38_LOCAL_REINVITE);
--
To view, visit https://gerrit.asterisk.org/3153
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I0298494d3da6df3219bbfa4be9aa04015043145c
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: certified/11.6
Gerrit-Owner: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Kevin Harwell <kharwell at digium.com>
Gerrit-Reviewer: Matt Jordan <mjordan at digium.com>
More information about the asterisk-code-review
mailing list