diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 7b0deb984e..5c15180f11 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -20227,8 +20227,9 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int } /* If T38 is needed but not present, then make it magically appear */ - if (ast_test_flag(&p->flags[1], SIP_PAGE2_T38SUPPORT) && !p->udptl) { - p->udptl = ast_udptl_new_with_bindaddr(sched, io, 0, bindaddr.sin_addr); + if (ast_test_flag(&p->flags[1], SIP_PAGE2_T38SUPPORT) && !p->udptl && (p->udptl = ast_udptl_new_with_bindaddr(sched, io, 0, bindaddr.sin_addr))) { + set_t38_capabilities(p); + p->t38.jointcapability = p->t38.capability; } /* We have a succesful authentication, process the SDP portion if there is one */