<div dir="ltr">Hi All,<div><br></div><div>Can anyone see a problem with doing (something like) the following, to handle the situation like <a href="http://lists.sip-router.org/pipermail/sr-users/2014-October/085251.html" target="_blank">http://lists.sip-router.org/pipermail/sr-users/2014-October/085251.html</a>?</div><div><br></div><div>Admittedly, it is probably a less common use case, but it has been raised several times on the list so I believe it is a genuine one.<br></div><div><br></div><div><br></div><div><div>diff --git a/modules/registrar/lookup.c b/modules/registrar/lookup.c</div><div>index 794d968..66730b4 100644</div><div>--- a/modules/registrar/lookup.c</div><div>+++ b/modules/registrar/lookup.c</div><div>@@ -41,6 +41,7 @@</div><div> #include "../../action.h"</div><div> #include "../../mod_fix.h"</div><div> #include "../../parser/parse_rr.h"</div><div>+#include "../../forward.h"</div><div> #include "../usrloc/usrloc.h"</div><div> #include "common.h"</div><div> #include "regtime.h"</div><div>@@ -121,6 +122,7 @@ int lookup_helper(struct sip_msg* _m, udomain_t* _d, str* _uri, int _mode)</div><div>        sr_xavp_t *list=NULL;</div><div>        str xname = {"ruid", 4};</div><div>        sr_xval_t xval;</div><div>+       sip_uri_t path_uri;</div><div> </div><div>        ret = -1;</div><div> </div><div>@@ -265,6 +267,14 @@ int lookup_helper(struct sip_msg* _m, udomain_t* _d, str* _uri, int _mode)</div><div>                                ret = -3;</div><div>                                goto done;</div><div>                        }</div><div>+                       if (parse_uri(path_dst.s, path_dst.len, &path_uri) < 0){</div><div>+                               LM_ERR("failed to parse the Path URI\n");</div><div>+                               ret = -3;</div><div>+                               goto done;</div><div>+                       }</div><div>+               }</div><div>+               /* Only use path-uri if non-local */</div><div>+               if (path_uri.host.s && !check_self(&(path_uri.host), 0, 0)) {</div><div>                        if (set_path_vector(_m, &ptr->path) < 0) {</div><div>                                LM_ERR("failed to set path vector\n");</div><div>                                ret = -3;</div></div><div><br></div><div><br></div><div><br></div><div>The above needs to be repeated in lookup_branches function of same file, but I wanted to check others' opinions first.<br></div><div><br></div><div>Best regards,<br></div><div><div><br></div><div>Charles</div><div><br></div>
</div></div>

<br>
<font face="Helvetica, Arial, sans-serif"><font size="2"><span style="font-size:10pt"><a href="http://www.sipcentric.com/" title="blocked::http://www.sipcentric.com/" target="_blank">www.sipcentric.com</a><br>
            <br>
            Follow us on twitter <a href="http://twitter.com/sipcentric" title="blocked::http://twitter.com/sipcentric" target="_blank">@sipcentric</a><br>
            <br>
            <font color="gray">Sipcentric Ltd.
                Company registered in England & Wales no. 7365592.</font> <font color="gray">Registered
                office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.</font></span></font></font>