[Asterisk-code-review] ASTERISK-25072.res pjsip outbound registration:Additional ch... (asterisk[13])

Dmitriy Serov asteriskteam at digium.com
Tue May 19 07:25:33 CDT 2015


Dmitriy Serov has uploaded a new change for review.

  https://gerrit.asterisk.org/482

Change subject: ASTERISK-25072.res_pjsip_outbound_registration:Additional check the request URI
......................................................................

ASTERISK-25072.res_pjsip_outbound_registration:Additional check the request URI

Change-Id: Id4e44debbb80baad623b914a88574371575353c8
---
M res/res_pjsip_outbound_registration.c
1 file changed, 15 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/82/482/1

diff --git a/res/res_pjsip_outbound_registration.c b/res/res_pjsip_outbound_registration.c
index 6af8b86..ac166a3 100644
--- a/res/res_pjsip_outbound_registration.c
+++ b/res/res_pjsip_outbound_registration.c
@@ -383,24 +383,28 @@
 	return !pj_strcmp2(&line->value, state->client_state->line) ? CMP_MATCH | CMP_STOP : 0;
 }
 
+static struct pjsip_param *get_uri_option_line(const void *uri)
+{
+        pjsip_sip_uri *pjuri;
+        static const pj_str_t LINE_STR = { "line", 4 };
+
+        if (!PJSIP_URI_SCHEME_IS_SIP(uri) && !PJSIP_URI_SCHEME_IS_SIPS(uri)) {
+                return NULL;
+        }
+        pjuri = pjsip_uri_get_uri(uri);
+        return pjsip_param_find(&pjuri->other_param, &LINE_STR);
+}
+
 /*! \brief Endpoint identifier which uses the 'line' parameter to establish a relationship to an outgoing registration */
 static struct ast_sip_endpoint *line_identify(pjsip_rx_data *rdata)
 {
-	pjsip_sip_uri *uri;
-	static const pj_str_t LINE_STR = { "line", 4 };
 	pjsip_param *line;
 	RAII_VAR(struct ao2_container *, states, NULL, ao2_cleanup);
 	RAII_VAR(struct sip_outbound_registration_state *, state, NULL, ao2_cleanup);
 
-	if (!PJSIP_URI_SCHEME_IS_SIP(rdata->msg_info.to->uri) && !PJSIP_URI_SCHEME_IS_SIPS(rdata->msg_info.to->uri)) {
-		return NULL;
-	}
-	uri = pjsip_uri_get_uri(rdata->msg_info.to->uri);
-
-	line = pjsip_param_find(&uri->other_param, &LINE_STR);
-	if (!line) {
-		return NULL;
-	}
+        if (!PJSIP_URI_SCHEME_IS_SIP(uri) && !PJSIP_URI_SCHEME_IS_SIPS(uri)) {
+                return NULL;
+        }
 
 	states = ao2_global_obj_ref(current_states);
 	if (!states) {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id4e44debbb80baad623b914a88574371575353c8
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: Dmitriy Serov <serov.d.p at gmail.com>



More information about the asterisk-code-review mailing list