Skip to content
Snippets Groups Projects
Commit 596d0b0b authored by Scott Griepentrog's avatar Scott Griepentrog
Browse files

PJSIP: provide transport type with received messages

The receipt of a SIP MESSAGE may occur over any transport including TCP
and TLS. When the message is received, the original URI is added to the
message in the field PJSIP_RECVADDR, but this is insufficient to ensure
a reply message can reach the originating endpoint. This patch adds the
PJSIP_TRANSPORT field populated with the transport type.

ASTERISK-26132 #close

Change-Id: I28c4b1e40d573a056c81deb213ecf53e968f725e
parent d22ce6fd
No related branches found
No related tags found
No related merge requests found
......@@ -476,6 +476,24 @@ static enum pjsip_status_code rx_data_to_ast_msg(pjsip_rx_data *rdata, struct as
field = pj_sockaddr_print(&rdata->pkt_info.src_addr, buf, sizeof(buf) - 1, 1);
res |= ast_msg_set_var(msg, "PJSIP_RECVADDR", field);
switch (rdata->tp_info.transport->key.type) {
case PJSIP_TRANSPORT_UDP:
case PJSIP_TRANSPORT_UDP6:
field = "udp";
break;
case PJSIP_TRANSPORT_TCP:
case PJSIP_TRANSPORT_TCP6:
field = "tcp";
break;
case PJSIP_TRANSPORT_TLS:
case PJSIP_TRANSPORT_TLS6:
field = "tls";
break;
default:
field = rdata->tp_info.transport->type_name;
}
ast_msg_set_var(msg, "PJSIP_TRANSPORT", field);
if (print_body(rdata, buf, sizeof(buf) - 1) > 0) {
res |= ast_msg_set_body(msg, "%s", buf);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment