<div dir="ltr">Richard, plz don't use deprecated STR_PARAM. I've just cleaned up all modules so Daniel could remove these defines from sr_module.h<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">
2014-08-25 14:55 GMT+04:00 Richard Good <span dir="ltr"><<a href="mailto:richard.good@smilecoms.com" target="_blank">richard.good@smilecoms.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Module: sip-router<br>
Branch: master<br>
Commit: a00ee5174b573edd243caf4de68113e9460791eb<br>
URL: <a href="http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=a00ee5174b573edd243caf4de68113e9460791eb" target="_blank">http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=a00ee5174b573edd243caf4de68113e9460791eb</a><br>
<br>
Author: Richard Good <<a href="mailto:richard.good@smilecoms.com">richard.good@smilecoms.com</a>><br>
Committer: Richard Good <<a href="mailto:richard.good@smilecoms.com">richard.good@smilecoms.com</a>><br>
Date: Mon Aug 25 12:53:38 2014 +0200<br>
<br>
modules/ims_registrar_pcscf: new parameter force_icscf_uri<br>
New module parameter force_icscf_uri - if set we use it as the ICSCF next hop<br>
If not set (default) we use DNS SRV to find ICSCF next hop<br>
<br>
---<br>
<br>
modules/ims_registrar_pcscf/reg_mod.c | 7 +++----<br>
modules/ims_registrar_pcscf/subscribe.c | 6 ++++++<br>
2 files changed, 9 insertions(+), 4 deletions(-)<br>
<br>
diff --git a/modules/ims_registrar_pcscf/reg_mod.c b/modules/ims_registrar_pcscf/reg_mod.c<br>
index 0c2ba77..06febf9 100644<br>
--- a/modules/ims_registrar_pcscf/reg_mod.c<br>
+++ b/modules/ims_registrar_pcscf/reg_mod.c<br>
@@ -82,7 +82,8 @@ int ignore_contact_rxport_check = 0; /**!< ignore po<br>
<br>
time_t time_now;<br>
char * pcscf_uri = "sip:<a href="http://pcscf.ims.smilecoms.com:4060" target="_blank">pcscf.ims.smilecoms.com:4060</a>";<br>
-str pcscf_uri_str;<br>
+char * force_icscf_uri = "";<br>
+<br>
unsigned int pending_reg_expires = 30; /**!< parameter for expiry time of a pending registration before receiving confirmation from SCSCF */<br>
<br>
int is_registered_fallback2ip = 0;<br>
@@ -157,6 +158,7 @@ static param_export_t params[] = {<br>
{"subscribe_to_reginfo", INT_PARAM, &subscribe_to_reginfo },<br>
{"subscription_expires", INT_PARAM, &subscription_expires },<br>
{"ignore_contact_rxport_check", INT_PARAM, &ignore_contact_rxport_check },<br>
+ {"force_icscf_uri", STR_PARAM, &force_icscf_uri },<br>
// {"store_profile_dereg", INT_PARAM, &store_data_on_dereg},<br>
{0, 0, 0}<br>
};<br>
@@ -196,9 +198,6 @@ int fix_parameters() {<br>
str s;<br>
pv_spec_t avp_spec;<br>
<br>
- pcscf_uri_str.s = pcscf_uri;<br>
- pcscf_uri_str.len = strlen(pcscf_uri);<br>
-<br>
if (rcv_avp_param && *rcv_avp_param) {<br>
s.s = rcv_avp_param; s.len = strlen(s.s);<br>
if (pv_parse_spec(&s, &avp_spec)==0<br>
diff --git a/modules/ims_registrar_pcscf/subscribe.c b/modules/ims_registrar_pcscf/subscribe.c<br>
index bf5bb8e..cc2065d 100644<br>
--- a/modules/ims_registrar_pcscf/subscribe.c<br>
+++ b/modules/ims_registrar_pcscf/subscribe.c<br>
@@ -36,6 +36,7 @@<br>
<br>
extern pua_api_t pua;<br>
extern char* pcscf_uri;<br>
+extern char * force_icscf_uri;<br>
<br>
#define P_ASSERTED_IDENTITY_HDR_PREFIX "P-Asserted-Identity: <"<br>
<br>
@@ -45,6 +46,7 @@ int reginfo_subscribe_real(struct sip_msg* msg, pv_elem_t* uri, str* service_rou<br>
int uri_buf_len = 512;<br>
subs_info_t subs;<br>
str server_address = {pcscf_uri, strlen(pcscf_uri)};<br>
+ str outbound_proxy = {force_icscf_uri, strlen (force_icscf_uri)};<br>
str p_asserted_identity_header;<br>
<br>
int len = strlen(P_ASSERTED_IDENTITY_HDR_PREFIX) + server_address.len + 1 + CRLF_LEN;<br>
@@ -89,6 +91,10 @@ int reginfo_subscribe_real(struct sip_msg* msg, pv_elem_t* uri, str* service_rou<br>
subs.contact= &server_address;<br>
subs.extra_headers = &p_asserted_identity_header;<br>
<br>
+ if(outbound_proxy.s && outbound_proxy.len) {<br>
+ subs.outbound_proxy= &outbound_proxy;<br>
+ }<br>
+<br>
subs.flag|= UPDATE_TYPE;<br>
<br>
if(pua.send_subscribe(&subs)< 0) {<br>
<br>
<br>
_______________________________________________<br>
sr-dev mailing list<br>
<a href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div><div>Best regards,<br>Alekzander Spiridonov</div><br></div>
</div>