As stated before, the load-balanced FusionPBX Cluster will allow you to register some endpoints in different servers while you can communicate between extensions within the same context. While this is really cool, it could present a CPU cost. A non-optimized cluster like this will force the FreeSWITCH to proxy the RTP flow, which in my opinion, it is useless and it wastes precious CPU resources.
The following image shows the SIP/RTP flow.
As you see, regardless the PBXes are smart enough to identify if a user is registered locally or if it is in registered in a peer, the RTP flow flows between PBX`1 and PBX 2. Now, lest imagine worst case scenario, let's think we have transcoding. I do not need to explain the advantage and disadvantages of this, but just remind you that transcoding is CPU hungry.
Offloading your Load-Balanced FusionPBX Cluster
The concept is really simple. As you do not need the first PBX to proxy the RTP. It is convenient to take it out of the path. This is possible because the SIP protocol is able to tell the endpoints and other PBX'es that the RTP flow can be managed by another device different than the one who is handling the SIP. If you are curious, you may want to read about the SDP payload, especially focus on the a, c and o headers.
The idea is as follows:
When the user1 at the domain A tries to call user2 at domain A, the PBX 1 detects it is not a local extension but it is actually active in a peer PBX. As the PBX 1 knows where user2 is registered, it tells in the answer of the INVITE (from user 1) that the RTP will be handled by PBX 2. The PBX 1 sends the invitation to PBX 2 telling that the RTP will be handled by the endpoint (user1 at domain A). Therefore, PBX 1 is out of the RTP flux and as a consequence, we do not overload PBX 1's CPU without reason.
Beware of the unfriendly routers although this is very uncommon now, you may still find some unfriendly SIP routers. Also please note that PBX 1 and PBX 2 must have a public IP attached.
I want my Load-balanced FusionPBX Cluster!
Glad you want it! Just contact me through my social media. If you are reading this in a mobile, change the view to desktop and you will find some icons at the top-right corner of this page. I look forward to communicating with you all.
Good luck!blog comments powered by Disqus