Hello Adrian,

The actual question is IF there is SOMETHING that can be done directly in the usrloc module to help with distributed scenario (to have some built-in functionality to have an auto-of-the-box solution). I'm fully aware you can combine the existing module with other kind of backends and do the work.

Of course we can leave the usrloc module as it is and expect people to have their own fight to distributed it (as you did, as we did and many other did) - the idea is to have a ready to use approach here (if something like this exists) to address the most common and used cases.

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com


On 04/05/2013 08:51 AM, Adrian Georgescu wrote:
Hello Vlad,

We developed such a solution and is operational since 2005 but not in the open source domain. The start point was P2P protocols used for file sharing. Is less of a SIP server issue (we used stock OpenSER and stock OpenSIPS for years) but rather a generic self-organizing network design where SIP accounts map to certain nodes using Chord style hashing function. The problem you need to solve is not necessarily SIP related (as it turns out that it works with any sip servers of client out there) but simply making a join/leave protocol that allows for horizontal scalability and adding this adapter to OpenSIPS. This layer if is abstract enough you can use it for any other thing not just OpenSIPS. We use it to horizontally scale Asterisk servers, OpenXCAP servers, MSRP Relay servers, Media Proxy servers for example. Here is the design document:

https://docs.sipthor.net/projects/documentation/wiki/SipThorDescription

And here is some papers we wrote back in 2005/2006 about this concept which can provide some clues for whomever wants to build this in OpenSIPS.

http://www.ag-projects.com/presentations-corporate-285/41-sip2007

Adrian



On Apr 4, 2013, at 3:05 PM, Vlad Paiu wrote:

Hello all,

We would like to get suggestions and help on the matter of distributing the user location information. Extending the User Location with a built-in distributed support is not straight forward - it is not about simply sharing data - as it is really SIP dependent and network limited

While now, by using the OpenSIPS trunk, it is possible to just share the actual usrloc info ( by using the db_cachedb module and storing the information in a MongoDB cluster ), you can encounter real-life scenarios where just sharing the info is not enough, like : - NAT-ed clients, where only the initial server that received the Register has the pin-hole open, and thus is the only server that can relay traffic back to the respective client - the user has a SIP client that only accepts traffic from the server IP that it's currently registered against, and thus would reject direct traffic from other IPs ( due to security reasons )

We would like to implement a true general solution for this issue, and would appreciate your feedback on this. Also we'd appreciate if you could share the needs that you would have from such a distributed user location feature, and the scenarios that you would use such a feature in real-life setups.


Best Regards,

--
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com


_______________________________________________
Users mailing list
us...@lists.opensips.org <mailto:us...@lists.opensips.org>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
us...@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel

Reply via email to