From 6ea3c53265ea753ce666ffe32a6335b3a72ef91b Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Tue, 5 May 2009 14:32:24 +0000 Subject: [PATCH] Merged revisions 192387 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r192387 | file | 2009-05-05 11:22:47 -0300 (Tue, 05 May 2009) | 10 lines Fix a bug with setting t38pt_udptl at the user or peer level. If an incoming call authenticated as a user or peer and t38pt_udptl was not set to yes in general then no UDPTL session would be present and any T38 related things would fail. This commit changes it so that if after authenticating T38 is enabled but no UDPTL session is present one will be created. (issue AST-215) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@192402 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 60c713defd..5c944a39be 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -18985,6 +18985,11 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int return 0; } + /* 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); + } + /* We have a succesful authentication, process the SDP portion if there is one */ if (find_sdp(req)) { if (process_sdp(p, req, SDP_T38_INITIATE)) {