]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 176705 via svnmerge from
authorDwayne M. Hubbard <dwayne.hubbard@gmail.com>
Tue, 17 Feb 2009 22:21:59 +0000 (22:21 +0000)
committerDwayne M. Hubbard <dwayne.hubbard@gmail.com>
Tue, 17 Feb 2009 22:21:59 +0000 (22:21 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

........
  r176705 | dhubbard | 2009-02-17 15:59:38 -0600 (Tue, 17 Feb 2009) | 11 lines

  create a UDPTL structure in create_addr_from_peer() if it does not already exist for T38

  This is required to create a UDPTL structure in create_addr_from_peer() to handle the
  scenario where 't38pt_udptl=yes' is not defined in the [general] section of sip.conf but
  is defined the peer's context.  I tested this patch by enabling t38pt_udptl in the
  [general] section on one system and only enabling t38pt_udptl in a peer's context on
  the system sending a fax.  Without the patch, the sending system will fail to initiate
  T38 negotiation with the warning message, "No way to add SDP without an UDPTL structure".
  When this patch is applied the sending side will successfully initiate T38 negotiation.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@176731 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 49220a0bf460ca3f4f0cbc0850e2667a90dec271..115d7b212ad56280157a8e9d06e85217bef81503 100644 (file)
@@ -4304,6 +4304,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;