|
|||||||
Examples of SIP ApplicationsThis document provides a number of SIP application samples you can create using SIP servlets. Most of the examples below are implemented in sip-demo where you can actually see how these applications work. Proxy ServerThe first example is the simplest SIP application, SIP proxy server. The figure below shows a sequence where User A calls to User B.
The redirecting function of the SIP proxy can use the Proxy class defined by the SIP Servlet API. By implementing a function of specifying a destination address in the Proxy class, you can create a minimum required element as a proxy server. SIP proxy has various functions such as forking and conditional redirection. You can add these functions to provide your own function like redirection in case of absence as shown below. The development tool ProxyServlet takes destination information from the location management component. When redirection fails or time out, there is a function of redirecting messages to other services such as voice mail through the Web screen. Click2dialClick2Dial is a function that enables you to call to an address by clicking the address on the Web screen. Generally, you can implement Click2Dial using any one of three methods:
The third method (3PCC) is suitable for SIP servlets since they can perform SIP signaling. 3PCC is a model where the third party controls the call, and therefore can be used for other services. For example,
These services can be implemented with 3PCC. Also, since the 3PCC controller functions as B2BUA, you can redirect the destination to another UA for interrupt. sip-demo provides a simple Click2Dial service using 3PCC. Figure 2 illustrates a brief scenario.
Figure 3 shows the HTTP and SIP sequence that implements the scenario. Red lines represent HTTP, blue and green lines represent SIP. This sequence is the simplest example of 3PCC that is defined in draft-ietf-sipping-3pcc-06.txt as Type I. SIP Servlet Engine provides a SIP servlet (CallControlServlet) that performs the 3PCC process as one of the basic components. CallControlServlet supports Type1,Type3, and Type4 defined in the above draft and functions (for example, returning the call state to a requester as an event).
B2BUAB2BUA (Back-to-back User Agent) refers to a method of SIP signaling, not a particular application function. B2BUA can be used as an efficient framework when you build a SIP-enabled application on the server side. SIP Servlet Engine builds the 3PCC servlet shown above on B2BUA, and provides a B2BUA servlet as part of the basic components. With B2BUA, a server application functions as a user agent (UA) and two or more SIP dialogs are associated with each other. The following example shows how a B2BUA servlet receives an INVITE request from User A and sends it to User B.
This sequence seems to be the same as normal proxying, but is different from a SIP transaction point of view. For proxying, the above four SIP messages belong to the same SIP dialog. For B2BUA, the B2BUA servlet terminates the SIP transaction before passing to the destination. This means User A (blue) and User B (red) belong to different SIP dialogs. Taking advantage of such feature of B2BUA, you can develop the following application.
Using these functions:
You can develop these applications.
Voice MailThe following figure illustrates a sequence of voice mail.
In this application, the SIP servlet (RecorderServlet) functions as a terminal. It handles an incoming call from User A, establishes a RTP session, and records voice data as voice mail. Generally, recorded data on voice mail is played by telephone. In sip-demo, data is recorded in the AVI format and played by an application such as Windows Media Player. When designing the system, note that such application may handle a lot of packets. Chat RoomA chat room is an example application of B2BUA. Providing a star connection around a chat room servlet enables chatting by multiple users. OKISoftphone supports 1-to-1 chatting. For conference, maximum of four users. Redirection in Case of AbsenceCombining the above applications, you can provide various functions. The figure below shows an example of the combination of 3PCC and voice mail. When a session can not be established due to a busy line, it asks a user whether he or she wants to record a message on voice mail.
In the above example, the Web screen is already opened when 3PCC call is made. When the session establishment fails, the system can use the progress monitor to ask the user for recording the message on voice mail. For a normal proxy process that does not use a Web screen, the same function can be implemented by popping-up a Web browser from the soft phone.
This application needs a function that starts a Web browser when the Contact header contains HTTP URL. OKISoftphone supports this function. ApplicationsThis document provides only simple applications to clarify the use of the product. Combining and adapting these elements allows you to develop various applications. Such applications include:
Last Modified:Mon May 17 18:27:03 JST 2004 |
|||||||
|