[Asterisk-code-review] res pjsip outbound registration: generate correct Contact UR... (asterisk[13])

Sebastian Damm asteriskteam at digium.com
Wed May 11 10:15:13 CDT 2016


Sebastian Damm has uploaded a new change for review.

  https://gerrit.asterisk.org/2802

Change subject: res_pjsip_outbound_registration: generate correct Contact URI for TLS
......................................................................

res_pjsip_outbound_registration: generate correct Contact URI for TLS

There are two types of SIP URIs indicating a secure transport:
* sips:user at example.org
* sip:user at example.org;transport=tls

When using a sips URI, Asterisk checks incoming INVITEs and answers from
the other side for sips URIs, and rejects the packet if there are only 
sip URIs. So Asterisk should only generate a sips Contact URI if the 
other side supports it.

This patch makes Asterisk generate either a sip or sips Contact URI
depending on the format of the server URI.

If you want a sip URI, use:
server_uri=sip:example.org\;transport=tls

If you want a sips URI, use:
server_uri=sips:example.org

ASTERISK-25990 #close
Reported-by: Sebastian Damm

Change-Id: I5ae57d6531ce940b5fc64d5cd2673e60db0f9ba2
---
M res/res_pjsip_outbound_registration.c
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/02/2802/1

diff --git a/res/res_pjsip_outbound_registration.c b/res/res_pjsip_outbound_registration.c
index 8a40cce..1ae3522 100644
--- a/res/res_pjsip_outbound_registration.c
+++ b/res/res_pjsip_outbound_registration.c
@@ -1096,7 +1096,7 @@
 	contact->ptr = pj_pool_alloc(pool, PJSIP_MAX_URL_SIZE);
 	contact->slen = pj_ansi_snprintf(contact->ptr, PJSIP_MAX_URL_SIZE,
 		"<%s:%s@%s%.*s%s:%d%s%s%s%s>",
-		(pjsip_transport_get_flag_from_type(type) & PJSIP_TRANSPORT_SECURE) ? "sips" : "sip",
+		((pjsip_transport_get_flag_from_type(type) & PJSIP_TRANSPORT_SECURE) && PJSIP_URI_SCHEME_IS_SIPS(uri)) ? "sips" : "sip",
 		user,
 		(type & PJSIP_TRANSPORT_IPV6) ? "[" : "",
 		(int)local_addr.slen,

-- 
To view, visit https://gerrit.asterisk.org/2802
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5ae57d6531ce940b5fc64d5cd2673e60db0f9ba2
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: Sebastian Damm <damm at sipgate.de>



More information about the asterisk-code-review mailing list