Hi Sammy,

Yes, you are correct . The current clustering support for usrloc covers only simple replication (usually for HA purposes). The next step is to achieve distribution and partitioning of registrations across the cluster (this is work in progress) and it will be available in the 2.3 release.

Regards,

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

On 14.06.2016 15:21, SamyGo wrote:

Thanks Bogdan,

Will it be correct to say that usrloc replication is not the way to go if a mesh cluster of OpenSIPS, with every node knowing all the online subscribers anywhere, is to be created. !

Also, even if I do set ip_nonlocal_bind would each OpenSIPS getting this replicated registration start sending keepalives to that subscriber too?

Do you think a shared redis cluster for storing AoRs is more suitable for the task instead of this approach!

Thanks,
Sammy

On Jun 14, 2016 06:07, "Bogdan-Andrei Iancu" <[email protected] <mailto:[email protected]>> wrote:

    Hi Sammy,

    The registration records are usually bound to an interface (the ip
    and port the registration was received) - that interface will be
    used all the time in the communication with the registered end point.

    Now, when if server A receives the Registration on interface X,
    and this is replicated to server B, this server B may not have the
    X interface, but something else (an Y interface). So the
    registration record will loose some information (the interface it
    is bound to). This is the nature of the error message you see.
    And yes, using the ip_nonlocal_bind options is the way to go.

    Once replicated, the registration records are independent and they
    do not depend on the what is happening with the original node
    (where the registration was pushed from).

    Regards,

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

    On 14.06.2016 09:35, SamyGo wrote:
    Hi,
    I've a cluster setup with userloc replication enabled for 3+
    servers. As soon as a user register anywhere the other servers
    which receive this replicated contact display these errors:

    ERROR:usrloc:receive_ucontact_insert: non-local socket
    <udp:1X.2XX.XX.XX:5060>
    ERROR:usrloc:receive_ucontact_insert: failed to process
    replication event. dom: 'location', aor: '[email protected]
    <mailto:[email protected]>'
    ERROR:usrloc:receive_binary_packet: failed to process a binary
    packet!

    The solution(kind of) for the same error has been discussed in
    this thread:
    http://lists.opensips.org/pipermail/users/2015-February/030910.html

    The question here is, is setting /ip_nonlocal_bind /for this
    userlocation replication a solution ? or should the replication
    mechanism be modified to process the replications from other nodes !

    Say even if this works, the next question is, what would happen
    to the contacts from a server which is no longer active. The
    Contacts disappear as soon as the clusterer node becomes inactive ?

    Looking for some clarity on this topic.

    Regards,
    Sammy



    _______________________________________________
    Users mailing list
    [email protected] <mailto:[email protected]>
    http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to