Once you are logged in, you will see a list of buddies in your web page. Select the radio button against "Bob" and click "Call" button. This will establish a call between you (i.e., Alice) and Bob, as shown in the figure below:
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:
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 my previous blog post
Internal details of how the call establishment between Alice and Bob takes place in the SailFin cluster is described in the figure below:
Figure 5. Internal details of the call establishment between Alice and Bob in the SailFin cluster.
Description of various steps shown in Figure 5:
(1) Alice clicks "Call" Bob@sailfin.org from her browser.
(2) The http request gets routed to instance4.
(3) In instance4, upon receiving the http request, the CallInitiatorServlet (of ConvergedApp) creates INVITE Alice@sailfin.org request and sends it to CLB front-end so that the INVITE request gets forwarded to a different application (RegistrarAndProxyApp in this case).
The reason for forwarding to a different application is because, in real IMS deployments, ConvergedApp is not expected to maintain the location/registration information of the SIP phones, instead registration/location information is maintained by a different application which is RegistrarAndProxyApp in our deployment. So these two need to be separated as different entities.
(4) CLB front-end routes this INVITE request to the correct server instance which has Alice's registration information.
(5) ProxyServlet (of RegistrarAndProxyApp) running in instance4 sends out the INVITE request to Alice's registered location available in Alice's_SipAppSession.
(6) Once Alice answers the call, the B2BUAServlet (of ConvergedApp) tries to place a call to Bob@sailfin.org by sending a INVITE Bob@sailfin.org request to CLB front end.
(7) CLB front-end routes this INVITE request to the correct server instance which has Bob's registration information.
(8) ProxyServlet (of RegistrarAndProxyApp) running in instance3 sends out the INVITE request to Bob's registered location available in Bob's_SipAppSession.