summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2016-07-08 15:21:35 -0500
committerGerrit Code Review <gerrit2@gerrit.digium.api>2016-07-08 15:21:35 -0500
commite0f27ecabb2ff766ea4ec7bdd77fccab2fe826c4 (patch)
treef454543a42b19d1a98d420224e173b47bc3979f3 /channels
parent99cbecd2704a36e59ecf357b9500e02801dc50a3 (diff)
parent302be4809aefc850f9b2335e074e5c88c4655fb6 (diff)
Merge "chan_sip/res_pjsip_t38: Handle a request to negotiate T.38 after it is enabled."
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index e086711c2..28379ff85 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -7669,7 +7669,8 @@ static int interpret_t38_parameters(struct sip_pvt *p, const struct ast_control_
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);