If contact rewriting is enabled but the contact differs in transport
from what is actually being used, messages after the initial INVITE
transaction can be sent to an incorrect transport/port combination. In
the case where this bug occurred the remote party never received a BYE
since it was sent to the remote party's TCP port over UDP.
Review: https://reviewboard.asterisk.org/r/4032/
........
Merged revisions 424244 from http://svn.asterisk.org/svn/asterisk/branches/12
........
Merged revisions 424245 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@424246
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
pjsip_dialog *dlg = pjsip_rdata_get_dlg(rdata);
pj_cstr(&uri->host, rdata->pkt_info.src_name);
+ if (strcasecmp("udp", rdata->tp_info.transport->type_name)) {
+ uri->transport_param = pj_str(rdata->tp_info.transport->type_name);
+ } else {
+ uri->transport_param.slen = 0;
+ }
uri->port = rdata->pkt_info.src_port;
/* rewrite the session target since it may have already been pulled from the contact header */