Explore SailFin cluster, high availability features using Basic3pcc sample applicationThis sample ("Basic3pcc") demonstrates a simple Third Party Call Control (3pcc) application in SailFin cluster. First read SipBasic3pcc page to get the overall understanding of this sample (don't execute any instructions from that page). This document describes how to use cluster/high-availability features of SailFin using this sample. Instructions to deploy the sample application Basic3pcc to SailFin clusterNote: For executing this sample user must have installed SailFin V2 or SGCS 2.0. Here 'SF_HOME' is the sailfin installation directory.
It would point to the sailfin sample 'Basic3pcc' direcotry
It would check your environment variable settings and it would display the available targets for use.
it would setup a SailFin cluster as shown in figure below: Jspwiki style: sortable
%% Figure 1. SailFin cluster having 4 instances with instance1 used exclusively as a front-end for this demo.
It would deploy both 3pccConvergedApp.sar and 3pccRegistrarAndProxy.sar files on SailFin cluster with high-availability-enabled=true.
Instructions to execute the sample application Basic3pcc
While configuring make sure that the X-Lite listens on the correct IP address, not on localhost/127.0.0.1. For example, in Linux this can be done by specifying the IP address at Menu > System Settings > Network > Listen on IP. As mentioned in the instruction, you need to register both Alice's and Bob's X-Lite phones with SailFin. The registration happens as per the figure below: Jspwiki style: sortable
%% Figure 2. Registration of SIP phones of Alice and Bob with SailFin cluster
Jspwiki style: sortable
%% Figure 3. Alice and Bob are talking Alice's browser will be updated with the call status and call history, as shown in the figure below: Jspwiki style: sortable
%% Figure 4. Alice's browser showing the call status and call history The call establishment between you (i.e., Alice) and Bob is done as per 3pcc, as shown in Figure 4 of SipBasic3pcc Internal details of how the call establishment between Alice and Bob takes place in the SailFin cluster is described in the figure below: Jspwiki style: sortable
%% Figure 5. Internal details of the call establishment between Alice and Bob in the SailFin cluster. Description of various steps shown in Figure 5:
Testing the failover capabilities of SailFin:As shown in Figure 4, the current serving instance is 'instance4'. Now, to test the failover, you can stop the instance4 by executing % asadmin stop-instance instance4 After the instance4 is stopped, you can click "Refresh Page" link (as shown in Figure 4) in your web page. Once the page reloads, notice the label at the bottom of the page : "This page is served by SailFin ..." gets changed from instance4 to a different instance. You willl also notice that, all other data i.e., call history, login time are not lost. These data were stored in SipApplicationSession and ConvergedHttpSession respectively, and were replicated, and hence there is no data or session loss when the serving instance was brought down. The ongoing call between Alice and Bob also gets handled by the different instance when instance4 is brought down. You can check this by clicking "Hang Up" button in Alice's phone. The BYE request sent from Alice's phone gets routed to a different live instance and the ConvergedApp running in that instance will recover/resume Alice's and Bob's SipSessions, and processes the BYE request, and the call gets ended gracefully on both Alice's and Bob's phones. Continue to read the demonstration of Rolling Upgrade in SailFin using Basic3pcc sample application
|