[OpenSIPS-Users] Multi-domain issues

Bogdan-Andrei Iancu bogdan at voice-system.ro
Mon Apr 12 17:59:22 CEST 2010


Hi Paris,

as long as you use SIP domains, a client has no reason for placing an IP 
in RURI - it is bogus, it must use the SIP domain.

Anyhow, as fixup, your approach is correct (with the below scripting) ->


If( $rd == ‘192.168.1.1’ ) {

$rd = “domain.com”;

}

Regards,
Bogdan

Paris Stamatopoulos wrote:
>
> Hello again,
>
> I just wanted to mention that obviously if I were to add:
>
> If( $rd =~ ‘192.168.1.1|domain.com’ ) {
>
> $rd = “domain.com”;
>
> }
>
> Just before I do the lookup() it works.
>
> However, I am not sure if this is the correct way to do so.
>
> Regards,
>
> Paris
>
> *From:* users-bounces at lists.opensips.org 
> [mailto:users-bounces at lists.opensips.org] *On Behalf Of *Paris 
> Stamatopoulos
> *Sent:* Friday, April 09, 2010 1:14 PM
> *To:* users at lists.opensips.org
> *Subject:* [OpenSIPS-Users] Multi-domain issues
>
> Hello everyone,
>
> I am having a problem with multi-domain support on OpenSIPS. I’ve 
> enabled it everywhere as mentioned on the documentation. I have 
> created an SRV record for my domain say, ‘domain.com’ and added 
> ‘domain.com’ on the domain table in the database. As long as the user 
> registers at ‘domain.com’ everything works. If the user tries to 
> register directly to the IP say ‘192.168.1.1’ the registration fails.
>
> I thought that the auto_aliases should make ‘192.168.1.1’ an alias of 
> ‘domain.com’ thus serving requests arriving to that domain as well. 
> However from what I’ve seen so far the alias=, auto_aliases=yes 
> directives does not have any effect. I’ve also tried adding the 
> 192.168.1.1 and domain.com as domains in the database, however I 
> realized that subscriber table could only use one domain at a time (so 
> making it impossible to register both at 192.168.1.1 and domain.com)
>
> In order to bypass this I changed my configuration in a couple of 
> points to change the domain accordingly like:
>
> if( $rd =~ "192.168.1.1|domain.com" ) {
>
> if( !www_authorize("domain.com", "subscriber") ) {
>
> www_challenge("domain.com", "0");
>
> exit;
>
> }
>
> } else {
>
> if( !www_authorize("", "subscriber") ) {
>
> www_challenge("", "0");
>
> exit;
>
> }
>
> }
>
> Same concept in proxy_authenticate() portion of the configuration.
>
> Now a new issue occurred. All calls arriving to OpenSIPS come from an 
> asterisk server which has a peer configured with host=192.168.1.1 
> while asterisk runs at 192.168.1.2. When the call arrives it goes 
> through the usrloc module to verify if the user is registered as such:
>
> if (!lookup("location","m")) {
>
> switch ($retcode) {
>
> case -1:
>
> case -3:
>
> t_newtran();
>
> t_reply("404", "Not Found");
>
> exit;
>
> case -2:
>
> sl_send_reply("405", "Method Not Allowed");
>
> exit;
>
> }
>
> }
>
> However, if a user is registered at `domain.com` because asterisk 
> sends the INVITE as user at 192.168.1.1 <mailto:user at 192.168.1.1> the 
> lookup fails and OpenSIPS returns 404.
>
> I am pretty sure I am doing something wrong. Could someone please give 
> me a clue on how to solve this predicament?
>
> Regards,
>
> Paris
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>   


-- 
Bogdan-Andrei Iancu
www.voice-system.ro




More information about the Users mailing list