Development |
Development.Design-Distributed-User-Location HistoryHide minor edits - Show changes to markup February 17, 2018, at 07:04 PM
by
- Changed lines 93-94 from:
This solution is an appropriate choice for a single site with a medium-sized subscriber population (order of millions), which could all fit into a single OpenSIPS box (all cluster boxes are mirrored). The NAT bindings are tied to the SBC layer, with the cluster nodes routing out both call and ping traffic through this layer. With the help of the cluster layer, who is able to signal when a node joins/leaves the network, each node is able to determine its very own "pinging slice", by performing an AOR hash modulo current_no_of_cluster_nodes. to:
This solution is an appropriate choice for a single site with a medium-sized subscriber population (order of millions), which could all fit into a single OpenSIPS box (all cluster boxes are mirrored). The NAT bindings are tied to the SBC layer, with the cluster nodes routing out both call and ping traffic through this layer. With the help of the cluster layer, which is able to signal when a node joins/leaves the network, each node is able to determine its very own "pinging slice", by performing an AOR hash modulo current_no_of_cluster_nodes. Changed line 119 from:
Similar to the "basic" solution, the NAT bindings are tied to the SBC layer, with the cluster nodes routing out both call and ping traffic through this layer. With the help of the cluster layer, who is able to signal when a node joins/leaves the network, each node is able to determine its very own "pinging slice", by applying an AOR hash modulo current_no_of_cluster_nodes filter to the DB cluster query. to:
Similar to the "basic" solution, the NAT bindings are tied to the SBC layer, with the cluster nodes routing out both call and ping traffic through this layer. With the help of the cluster layer, which is able to signal when a node joins/leaves the network, each node is able to determine its very own "pinging slice", by applying an AOR hash modulo current_no_of_cluster_nodes filter to the DB cluster query. November 22, 2017, at 03:53 PM
by
- Changed line 55 from:
However, the difference is that we are now using the OpenSIPS clusterer layer for all inter-node communication. Immediately, this reduces the number of messages sent ("alice" is reachable here, rather than Alice's contact "deskphone" is now present here), the size of the messages (metadata only, rather than full-blown SIP) and their nature (instantly parse-able binary packets). Furthermore, by using the cluster-based communication, the platform now becomes resilient to the loss of some of its cross-location data links. As long as the "platform graph" stays connected, the cluster-based distributed location service will remain unaffected. to:
However, the difference is that we are now using the OpenSIPS clusterer layer for all inter-node communication. Immediately, this reduces the number of messages sent ("alice" is reachable here, rather than Alice's contact "deskphone" is now present here), the size of the messages (metadata only, rather than full-blown SIP) and the parsing overhead (binary data vs. SIP syntax). Furthermore, by using the cluster-based communication, the platform now becomes resilient to the loss of some of its cross-location data links. As long as the "platform graph" stays connected, the cluster-based distributed location service will remain unaffected. November 22, 2017, at 03:51 PM
by
- Changed line 12 from:
This page aims at offering high-level information regarding the development of several distributed user location models which are to be included in the OpenSIPS 2.4 release. By putting together several community discussions (2013 "users" mailing list, 2015 public meeting) along with our own experience with regards to this topic, we have put together two models which simultaneously address needs such as horizontal scalability, geo distribution, high availability and NAT traversal. to:
This page aims at offering high-level information regarding the development of several distributed user location models which are to be included in the OpenSIPS 2.4 release. By putting together several community discussions (2013 "users" mailing list, 2015 public meeting) along with our own experience with regards to this topic, we present two models which simultaneously address needs such as horizontal scalability, geo distribution, high availability and NAT traversal. October 24, 2017, at 08:21 PM
by
- Changed line 138 from:
to:
October 24, 2017, at 08:19 PM
by
- Changed line 136 from:
to:
October 24, 2017, at 08:12 PM
by
- Changed lines 135-136 from:
to:
October 24, 2017, at 08:08 PM
by
- Changed line 115 from:
This solution is to be employed by single sites with high population numbers (order of tenths/hundredths of millions). At these magnitudes of data, we cannot rely on OpenSIPS to manage the user location data anymore (unless we kickstart "OpenSIPS DB") - we would rather pass this on to a specialized, cluster-oriented NoSQL database which offers data partitioning and redundancy. to:
This solution is to be employed by single sites with high population numbers (order of tens/hundreds of millions). At these magnitudes of data, we cannot rely on OpenSIPS to manage the user location data anymore (unless we kickstart "OpenSIPS DB") - we would rather pass this on to a specialized, cluster-oriented NoSQL database which offers data partitioning and redundancy. October 24, 2017, at 06:38 PM
by
- Changed lines 97-98 from:
to:
Changed lines 123-124 from:
to:
October 24, 2017, at 06:29 PM
by
- Changed line 53 from:
This solution is a heavily optimized version of the previous one, from three perspectives: performance, network link redundancy and scripting difficulty. Similar to the above, the end results, as seen from outside the platform, are similar: global reachability, NAT traversal and pinging. to:
This solution is a heavily optimized version of the previous one, from three perspectives: performance, network link redundancy and scripting difficulty. Similar to the above, the end results, as seen from outside the platform, stay the same: global reachability, NAT traversal and pinging. October 24, 2017, at 06:28 PM
by
- Changed line 36 from:
to:
October 24, 2017, at 06:11 PM
by
- Changed line 114 from:
This solution is to be employed by single sites with high population numbers (order of tenths/hundredths of millions). At these magnitudes of data, we cannot rely on OpenSIPS to manage the user location data anymore (albeit we kickstart "OpenSIPS DB") - we would rather pass this on to a specialized, cluster-oriented NoSQL database which offers data partitioning and redundancy. to:
This solution is to be employed by single sites with high population numbers (order of tenths/hundredths of millions). At these magnitudes of data, we cannot rely on OpenSIPS to manage the user location data anymore (unless we kickstart "OpenSIPS DB") - we would rather pass this on to a specialized, cluster-oriented NoSQL database which offers data partitioning and redundancy. October 24, 2017, at 06:00 PM
by
- Changed lines 28-29 from:
SIP driven "user facing" topologyto:
"SIP driven" user facing topologyChanged line 49 from:
Cluster driven "user facing" topologyto:
"Cluster driven" user facing topologyOctober 24, 2017, at 05:59 PM
by - October 24, 2017, at 05:57 PM
by
- Changed line 134 from:
to:
October 24, 2017, at 05:52 PM
by
- Changed lines 47-48 from:
to:
Changed lines 98-99 from:
to:
Changed lines 108-109 from:
to:
Added lines 113-134:
This solution is to be employed by single sites with high population numbers (order of tenths/hundredths of millions). At these magnitudes of data, we cannot rely on OpenSIPS to manage the user location data anymore (albeit we kickstart "OpenSIPS DB") - we would rather pass this on to a specialized, cluster-oriented NoSQL database which offers data partitioning and redundancy.
PROs:
CONs:
Development:
October 24, 2017, at 05:13 PM
by
- Changed lines 93-94 from:
to:
This solution is an appropriate choice for a single site with a medium-sized subscriber population (order of millions), which could all fit into a single OpenSIPS box (all cluster boxes are mirrored). The NAT bindings are tied to the SBC layer, with the cluster nodes routing out both call and ping traffic through this layer. With the help of the cluster layer, who is able to signal when a node joins/leaves the network, each node is able to determine its very own "pinging slice", by performing an AOR hash modulo current_no_of_cluster_nodes. PROs:
CONs:
Development:
Added lines 109-110:
http://www.opensips.org/pub/images/distributed-usrloc-2-2.jpg October 24, 2017, at 04:42 PM
by
- Changed line 79 from:
http://www.opensips.org/pub/images/distributed-usrloc-2-1.jpg to:
http://www.opensips.org/pub/images/distributed-usrloc-2-1.jpg October 24, 2017, at 04:41 PM
by
- Changed lines 18-20 from:
Below is a list of requirements addressed by this model:
to:
Below is a set of features specific to this model:
Changed line 23 from:
to:
Changed lines 77-95 from:
"Homogenous cluster" topologyto:
"Homogeneous cluster" topologyhttp://www.opensips.org/pub/images/distributed-usrloc-2-1.jpg The homogeneous cluster solves the following problems:
We present two solutions for achieving this setup: a "basic" solution and an "advanced" one. "Basic" OpenSIPS homogeneous cluster topology"Advanced" OpenSIPS homogeneous cluster topologyOctober 24, 2017, at 03:53 PM
by
- Changed lines 74-75 from:
to:
October 24, 2017, at 03:50 PM
by
- Changed line 51 from:
http://www.opensips.org/pub/images/distributed-usrloc-1-1.jpg to:
http://www.opensips.org/pub/images/distributed-usrloc-1-2.jpg October 24, 2017, at 03:49 PM
by
- Changed lines 47-48 from:
to:
Added lines 51-74:
http://www.opensips.org/pub/images/distributed-usrloc-1-1.jpg This solution is a heavily optimized version of the previous one, from three perspectives: performance, network link redundancy and scripting difficulty. Similar to the above, the end results, as seen from outside the platform, are similar: global reachability, NAT traversal and pinging. However, the difference is that we are now using the OpenSIPS clusterer layer for all inter-node communication. Immediately, this reduces the number of messages sent ("alice" is reachable here, rather than Alice's contact "deskphone" is now present here), the size of the messages (metadata only, rather than full-blown SIP) and their nature (instantly parse-able binary packets). Furthermore, by using the cluster-based communication, the platform now becomes resilient to the loss of some of its cross-location data links. As long as the "platform graph" stays connected, the cluster-based distributed location service will remain unaffected. PROs
CONs
Development:
October 24, 2017, at 03:13 PM
by
- Changed line 32 from:
This solution is ideal for SMBs or as a proof of concept. With the SIP driven solution, after saving an incoming registration, the registrar node records itself using a Path header, after which it replicates the REGISTER to all cluster nodes across all locations. This allows the user to be globally reachable, while also making sure it only receives calls through its "home box" (a mandatory NAT requirement in most cases). NAT pinging is only done from the "home box". to:
This solution is ideal for SMBs or as a proof of concept. With the SIP driven solution, after saving an incoming registration, the registrar node records itself using a Path header, after which it replicates the REGISTER to all cluster nodes across all locations. This allows the user to be globally reachable, while also making sure it only receives calls through its "home box" (a mandatory NAT requirement in most cases). NAT pinging is only performed by the "home box". October 24, 2017, at 03:12 PM
by
- Changed line 32 from:
This solution is ideal for SMBs or as a proof of concept. With the SIP driven solution, after saving an incoming registration, the registrar node records itself using a Path header, after which it replicates the REGISTER to all cluster nodes across all locations. This allows the user to be globally reachable. NAT pinging is only done from the "home box". to:
This solution is ideal for SMBs or as a proof of concept. With the SIP driven solution, after saving an incoming registration, the registrar node records itself using a Path header, after which it replicates the REGISTER to all cluster nodes across all locations. This allows the user to be globally reachable, while also making sure it only receives calls through its "home box" (a mandatory NAT requirement in most cases). NAT pinging is only done from the "home box". October 24, 2017, at 03:11 PM
by
- Changed lines 14-15 from:
"UA-facing" topologyto:
"User facing" topologyAdded lines 25-50:
We present two solutions for achieving this setup: a "SIP driven" solution and a "cluster driven" one. SIP driven "user facing" topologyhttp://www.opensips.org/pub/images/distributed-usrloc-1-1.jpg This solution is ideal for SMBs or as a proof of concept. With the SIP driven solution, after saving an incoming registration, the registrar node records itself using a Path header, after which it replicates the REGISTER to all cluster nodes across all locations. This allows the user to be globally reachable. NAT pinging is only done from the "home box". PROs:
CONs:
Development:
Cluster driven "user facing" topologyOctober 24, 2017, at 02:44 PM
by
- Changed lines 21-22 from:
to:
October 24, 2017, at 02:43 PM
by
- Added lines 3-4:
This page has been visited 4810 times. (:toc-float Table of Content:) Changed line 9 from:
to:
Added lines 11-26:
This page aims at offering high-level information regarding the development of several distributed user location models which are to be included in the OpenSIPS 2.4 release. By putting together several community discussions (2013 "users" mailing list, 2015 public meeting) along with our own experience with regards to this topic, we have put together two models which simultaneously address needs such as horizontal scalability, geo distribution, high availability and NAT traversal. "UA-facing" topologyhttp://www.opensips.org/pub/images/distributed-usrloc-1.jpg Below is a list of requirements addressed by this model:
"Homogenous cluster" topologyOctober 24, 2017, at 12:23 PM
by
- Changed line 1 from:
Development -> Design-Distributed-User-Location?to:
Development -> Design-Distributed-User-LocationOctober 24, 2017, at 12:23 PM
by
- Added lines 1-8:
Development -> Design-Distributed-User-Location?(:title Distributed User Location Design:)
|