diff --git a/channels/chan_sip.c b/channels/chan_sip.c index da32f627a..d01a3c26b 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4709,6 +4709,10 @@ static int create_addr_from_peer(struct sip_pvt *dialog, struct sip_peer *peer) } dialog->prefs = peer->prefs; if (ast_test_flag(&dialog->flags[1], SIP_PAGE2_T38SUPPORT)) { + if (!dialog->udptl) { + /* t38pt_udptl was enabled in the peer and not in [general] */ + dialog->udptl = ast_udptl_new_with_bindaddr(sched, io, 0, bindaddr.sin_addr); + } ast_copy_flags(&dialog->t38.t38support, &peer->flags[1], SIP_PAGE2_T38SUPPORT); set_t38_capabilities(dialog); dialog->t38.jointcapability = dialog->t38.capability;