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