a framework for integrating sip-based communication ...

0 downloads 0 Views 1MB Size Report
ABSTRACT. The wide acceptance of Internet technologies and their applications such as voice over IP (VoIP), and video-conferencing leads to the apparition of ...
IADIS International Telecommunications, Networks and Systems 2007

A FRAMEWORK FOR INTEGRATING SIP-BASED COMMUNICATION SERVICES AND WEB SERVICES Abderrahmane Lakas, Mohamed Adel Serhani, Mohamed Boulmalf, Elarbi Badidi College of Information Technology, U.A.E. University, Al-Ain, P.O. Box: 17555, U.A.E.

ABSTRACT The wide acceptance of Internet technologies and their applications such as voice over IP (VoIP), and video-conferencing leads to the apparition of multitude of standards. Session Initiation Protocol (SIP) and Web services technologies are both emergent and well adopted standards. SIP supports several services such as voice, multi-party multimedia conferencing, presence, location-based services, and instant messaging, and therefore, it consists of a common framework for future communication services. However, the lack of an integrating framework for unifying SIP services under common service oriented architecture (SOA) represents an obstacle to their deployment, exploitation, and management. In this paper, we propose a new framework to integrate SIP features within the Service Oriented Architecture. The proposed SIP/Web services integrated framework is of paramount importance for the successful exploitation of SIP services. This will enable both SIP services providers and requestors to gain from the flexibility of exploiting and managing SIP services they are providing and/or consuming. The integration procedures are offered to providers and clients of SIP services and are designed to fit into a highly dynamic and distributed environment of Web services. We have also proposed the composition of some SIP Web services to provide wide range of functionalities to SIP client. Some components of the architecture are implemented. KEYWORDS Web Services, SIP, Composite Web Service, SOA, SOAP.

1. INTRODUCTION Web services (WS) paradigm is a recent concept of emerging web applications. It connects a set of technologies, protocols, and languages to allow automatic communication between web applications through the Internet. A Web Service is an application that exposes its functionality through an interface description and makes it publicly available for use by other programs. Web services can be accessed using different protocols and component models running on different operating systems. Web services technologies are based on open standards recommended by the World Wide Web Consortium (W3C). These standards provide a common approach for defining, publishing, and using web services . In the other hand, with the technological advances in the Internet, communication multimedia services such as voice over IP (VoIP), video-conferencing, and video-streaming services are becoming common today, and threaten to topple the old PSTN-based services (Public Switched Telephone Networks). Voice and video over IP, and associated services such as presence, IM (Instant Messaging) and location-based services (LBS) use many standards such as the Session Initiation Protocol (SIP) and H.323 as signaling protocols, and Session Description Protocol (SDP), XML and S/MIME for data format. In this project, we propose to use SIP features and leverage the capabilities of web services for developing and deploying multimedia and communication services. We propose to extend the WS framework by integrating and mapping SIP features into the web services’ components. However, the lack of an integrating framework for unifying these services under common service oriented architecture represents an obstacle to their deployment. Session Initiation Protocol (SIP) [1] is an application layer signaling protocol for IP networks that is used for establishment, modification and termination of all types of sessions.

59

ISBN: 978-972-8924-40-9 © 2007 IADIS

In this project, we propose to investigate and suggest an architecture of convergence that allow the integration of SIP-based communication services within the web services architecture in such a way to leverage the features provided by the web services in deploying, discovering and rendering multimedia communication services. An open and multi-player SIP/Web services integrated architecture is of paramount importance for the successful deployment, exploitation, and management of SIP services. This will enable both SIP services providers and requestors to gain from the flexibility of exploiting and managing SIP services they are providing and/or consuming. The integration procedures that meant to be developed within an emerging architecture will be offered to providers and clients of SIP services and have to be designed to fit into a highly dynamic and distributed environment of Web services . We intend to adopt the following organization for this paper. In the second section, we present background on SIP services as well as service oriented architecture and it features. In section 3, we review the recent bibliography and investigate the current proposed solutions. Section 4, presents our architecture for mapping SIP services into web services in the context of the SOA. Furthermore, it describes the extensions and interfaces developed for communication and deployment of SIP services. Section 5 describes our proposition of composing some SIP services to provide wide range of SIP features. Section 6 describes the implementation of a prototype based on Web services, which provide SIP-based communications. Finally, last section concludes the paper and point for future extensions.

2. BACKGROUND Session Initiation Protocol (SIP) [1] is an application layer signaling protocol for Internet Protocol (IP) networks that is used for establishment, modification and termination of all types of sessions. Originally it has been developed for signaling of large multicast conferences by the Multiparty Multimedia Session Control. Nowadays, the main focus of SIP is moved toward the signaling of two-party calls but multiparty conferences are also supported by SIP. Two of the most important features of SIP are, first, it widely uses the knowledge and experiences from Web (HTTP) to build a fully open and extensible protocol; second, it clearly separates the signaling part and media part of multimedia applications. Nowadays SIP represents a serious Voice over IP (VoIP) candidate for replacing old Public Switched Telephone Networks (PSTN). SIP is adopted along with H323 as the signaling protocol by 3GPP, and many consider it first in the line in the next generation mobile all IP network (4G). Furthermore, SIP supports several services such as voice, multi-party multimedia conferencing, presence, location-based services, and instant messaging, and therefore, it consists of a common framework for future communication services. With the emerging service oriented architectures (SOA) [9] such as the web services (WS) architecture [10], it is only natural for many researchers and developers to start thinking of the convergence of SIP-based services and web services. SOA is an architectural style for building software applications that use services available in a network such as the web. It promotes loose coupling between software components so that they can be reused. Applications in SOA are built based on services. SOA uses the find-bind-execute paradigm as shown in the figure below.

Figure 1. The SOA model

60

IADIS International Telecommunications, Networks and Systems 2007

In this paradigm, service providers creates a Web service and its service description, using a standard called the Web Services Description Language (WSDL), and then publishes the service (Publish operation in Figure 1) with a service registry based on a standard called the Universal Description, Discovery, and Integration (UDDI) specification. The service registry is a server that acts as a repository, or “yellow pages”, for software interfaces that are published by service providers. Once a Web service is published, a service requester may find the service via the UDDI interface (find operation in Figure1). The UDDI registry provides the service requester with a WSDL service description and a URL (uniform resource locator) pointing to the service itself. The service requester may then use this information to directly bind at runtime to the service and invoke it (bind operation in Figure 1).

3. RELATED WORK Many approaches have been proposed in the near past [2] provided a solution with limited integration where the authors identified SIP interfaces and mapped them to SOAP interfaces. Although the solution claims to be an open framework that resolves problems encountered in carrier grade networks, it consists merely of SIP as an application using web services. In [3], the authors propose a mobile agent-based approach which uses grid networks as a web services model for SIP terminals (User Agent). This approach does not seem to offer a solution for all SIP elements such as the proxy, the registrar and the location server. The solution proposed in [5] leverages the interoperability feature offered by the web services, and defines a web service infrastructure that provide VoIP services: SIP, H323 and PSTN. The benefit resulting from this work consists mainly in providing an abstraction level where voice service is provided to clients transparently and independently of the transport technology used. However, just like for [2] no real convergence solution is proposed. Authors of [4] proposes a WSIP approach where each node is both a SIP endpoint that communicates in the SIP world through SIP signaling, and a web service (SOAP) node that provides a native and generic service integration environment for binding SIP based communication in web services. Similarly this solution takes advantage of the web services abstraction to separate the signaling and media transmission and therefore separating service integration from signaling. Our proposed architecture will be developed to support the following requirements: • supports SIP features without disturbing the overall environment, with reasonable cost, and minimal overhead at both provider’s and client’s environments • benefits from the adoption of extension to the Web services protocols stack mainly WSDL, UDDI, and SOAP to support SIP operations integration; • makes the architecture component’s transparent and available to all concerned parties including the SIP service provider and the requestor since the architecture is based on Web services; • shields the application of the provider and the client from the complexity of managing SIP services;

4. SIP/WEB SERVICES ARCHITECTURE The new architecture that integrates SIP services and Web services is illustrated through the figure below. The logical components include both the SIP components and the Web services components. Among the SIP components we find all the services provided through the SIP proxies, SIP servers and the user agents. SIP services also include services such as voice-mail, voice attendant, and location services. In the figure below, user agents (UA) are considered as WS clients that can invoke any service from the ones cited. Typically, a UA first registers to a SIP server and indicates its current location. Independently, all the servers register to the WS Registrar (UDDI). When a user agent wants to establish a voice communication, it sends a find request to the registrar looking for an appropriate server. After the registrar responds, the user agent binds to the server. In this operation, the user agent sends its voice requests such as initiating or terminating a call. The server maps these requests to SIP methods through the SIP/SOAP handler. Depending on the SOAP method invoked, the server sends SIP messages to the appropriate services using SIP ports.

61

ISBN: 978-972-8924-40-9 © 2007 IADIS

Figure 2. A framework for SIP/WS integration

The framework includes various services such as the voice service, voice-mail service, location service, SIP registrar and a SIP/PSTN gateway. It includes also a SIP/WS communication server which interfaces SIP clients with the other SIP related services. The voice is a SIP stack that handles voice and video communications. All the messages related to establishing and terminating a voice/video call are exchanged through the voice service. The voice-mail service is used to handle voice messages recorded when the callee is not available. The user agent may access the voice-mail server to consult the recorded messages. The location service is used to handle the location-based services. The basic feature of this service is to keep the location of the user agents up to date for future sessions. The SIP registrar is database intended to keep a registry of the user agents’ current locations. The SIP/PSTN gateway is a service which interfaces SIP based networks and PSTN (Public Switched Telephone Network). The gateway operates as a translator between SIP and POTS (Plain Old Telephone System) protocols. This architecture may be extended to other services such as IVR (Interactive Voice recognition) and SIP/H323 gateway. As stated earlier in the architecture requirements, the SIP/WS framework is driven by the concern of preserving the original architectural components of both SIP stack and the Web services. Therefore, we amended the SIP/WS communication server with an adaptation layer that maps SIP methods to SOAP methods. The new architecture obeys to two types of environments: 1. Full-fledged integration: This is the case where the new architecture is fully web services based. All elements of the architecture support WS methods; namely SOAP and WSDL. All SIP elements, UA and the SIP servers benefit of an adaptation layers that maps SIP methods to SOAP methods and vice versa. For instance, when a UA invokes a session with another UA, the SIP method (here INVITE) is encapsulated into a SOAP message that is sent to a web server which will process it as a SOAP message, interprets it then execute it accordingly. Examples are described below. 2. Partly integrated architecture: When not all the SIP elements support WS methods, the web server provides an adaptation layer that can process SIP messages and maps them into a WS method. This operation is carried out at the web server and the request is accordingly related until the service is delivered. In this case, the adaptation layer plays the role of an internal proxy – or an internal SIP stack – that can process and interpret SIP methods. This operation requires mapping procedures that can preserve both the SIP and WS semantics. The mapping operations are described below.

4.1 SIP and SOAP Interfaces Each component that supports SIP and Web service communication is equipped with two ports: one port for SIP communication and one port for SOAP. This requires both SIP and SOAP stack. The SIP port is used to transmit and receive SIP messages such as: - REGISTER, INVITE, ACK - 100 Trying, 180 Ringing, 200 OK

62

IADIS International Telecommunications, Networks and Systems 2007

The SOAP port is used to transmit SOAP messages which carry the find, bind and publish messages as well as the methods invoked by the WS components. Figure 3 shows an example of SOAP message which encapsulates a SIP message. The SIP message is embedded in the SOAP header and describes in XML all the components of the message including the sender information, receiver information, and the content length of the message. POST /Accounts/xxxxx HTTP/1.1 Host: www.Webservicebank.com Content-Length: nnnn Content-Type: text/xml; charset="utf-8" SOAPAction: "Some-URI" 200

Figure 3. SIP message encapsulated in SOAP header

4.2 Full-Fledged Integration In this type of integration, we assume that all user agents are clients in the web services model. They are equipped with SOAP ports and can communicate with all the components of the web services model. This approach makes an abstraction of the details of SIP and only exposes the communication services through web services methods. The role of a voice server, in this case, is to maintain a SOAP communication with the communicating clients and process their requests through a lower layer that supports SIP. The processing of SOAP requests consists then in mapping them into SIP methods that are executed by the SIP stack. The voice server behaves as a proxy for the SIP servers. For instance, the clients are only interested in methods such as: Register (register to a voice service), StartCall (initiate a call with another client), and EndCall (terminate an existing call.

4.3 Partial Integration In the partial integration, we take into the consideration the fact that not all the clients can support web services. In this case, these clients are simple user agents that only support SIP communication. The voice server becomes a gateway between clients which support web services and the user agents that do not support SOAP communication. In order to handle these incompatibilities, the SIP/WS communication server translates SOAP messages into SIP methods. The advantages of this approach that it can service both SOAP components and legacy SIP elements.

63

ISBN: 978-972-8924-40-9 © 2007 IADIS

Figure 4. Full integration

SIP provides multiples methods to supports various multimedia and communication services. In Web services realm, the services provided by SIP are easily conceived as WS services that can be invoked separately or in combinations denoted in WS as service composition. The activation of service composition is dictated through the context in which these services are invoked. For instance, a client may invoke a video communication but due to the context in which the entity called exists, the Web server may decide to invoke rather a voice session. The logic which determines what service to invoke in the other side is controlled by rules similar to those described in work [11]. Similarly, depending on the availably of the entity called, the caller.

Figure 5. Partial integration

5. COMPOSITION OF SIP SERVICES Web service composition is a new approach for building web services. A composed web service is any web service that makes use of a set of available web services to provide a wider, complex, and different range of functionalities. In our architecture we have composed SIP web service and voice mail Web service to provide a SIP client to make a call and if response is not successful he/she can record his/her voice message using the voice mail web service. Figure 6 describe the composition logic of aggregating these two Web services. It

64

IADIS International Telecommunications, Networks and Systems 2007

presents the main participant of the composition process that is the SIP caller and SIP callee, the SIP Web service and the voice mail Web service. In addition it shows the main operations invoked by the SIP client (caller and callee) and involved both Web services. These operations are mainly: invoke, acknowledge record, terminate, check voice, and read voice.

Figure 6. Composition process …. ….. …..… …….

Figure 7. WSDL document of the Voice Mail Web service

6. IMPLEMENTATION We are working on the implementation of the emerging components of the architecture proposed in this paper mainly the SIP web services and their composition. We implemented some SIP web services and we build composition logic for integrating some of these Web services. We implemented the SIP web service and the voice mail web service. The SIP web service handle registration and call management and voice mail Web service provide interface for recording voice messages and check and read voice mail by a SIP client.

65

ISBN: 978-972-8924-40-9 © 2007 IADIS

We have used Weblogic development platform to develop these service and the server to deploy them. The Interface of voice mail web service is presented bellow. Some SIP web service has been implemented mainly voice mail Web service (see WSDL document in Figure 7), and SIP web service. The implementation of SIP services has been implemented as Web services using Netbeans development environment and deployed on Netbeans Server.

7. CONCLUSION Web services are a new emerging technology for developing and/or utilizing web services over the Internet. Web services that support SIP features should promote for a full integration, a flexible use, and high availability. As SIP services becoming ubiquitous on the Internet, it is expected that these application services will become a very hot issue for the SIP services community in the near future. In this paper, we have explored the integration of SIP services within the SOA and we have showed how this integration leaded to a more flexible and ease of exploitation of SIP over standard web services protocols. We have proposed a framework to support providers of SIP services in describing, publishing, and managing theirs service, in addition supporting clients in selecting and communicating with SIP services. Our work emphasizes the availability of wide range of SIP services and the exploitation of Web services standards for the publication, the selection, and the binding to SIP services. As future work, we are planning to enhance our framework to support extra SIP features. Work on progress to implement the mapping procedures of SIP messages into SOAP messages. This will require a fully integration of SIP/WS features that guarantee transparency, high availably, and flexibility of communication. We also intend to integrate web services composition features in our framework.

REFERENCES J. Rosenberg et al, 2002. SIP: Session Initiation Protocol. Internet Engineering Task Force, RFC3261. Hong Cai*, Wei Lu, Bo Yang, LiHua Tang., 2002. Session Initiation Protocol and Web Services for Next Generation Multimedia Applications. IEEE Fourth International Symposium on Multimedia Software Engineering. Rocco Aversa, Beniamino Di Martino, and Nicola Mazzocca. Terminal-aware Grid resource and service discovery and access based on Mobile Agents technology. 12th Euromicro Conference on Parallel, Distributed and Network-Based Processing. Feng Liu, Wu Chou, Li Li, and Jenny Li., 2004. WSIP – Web Service SIP Endpoint for Converged Multimedia/Multimodal Communication over IP. Proceedings of the IEEE International Conference on Web Services. Ge Zhang, Markus Hillenbrand. Implementing SIP and H.323 Signalling as Web Services Proceedings of the 30th EUROMICRO Conference (EUROMICRO’04) Ge Zhang, Markus Hillenbrand, Paul Müller., 2005. Facilitating the Interoperability among Different VoIP Protocols with VoIP Web Services. Proceedings of the First International Conference on Distributed Frameworks for Multimedia Application. Rudolf Pailer and Johannes Stadler and Igor Miladinovic. 2003., Using PARLAY APIs Over a SIP System in a Distributed Service Platform for Carrier Grade Multimedia Services. Wireless Networks 9, 353–363. Rudolf Pailer and Johannes Stadler., 2003. A Service Framework for Carrier Grade Multimedia Services using PARLAY APIs over a SIP System. Journal of Wireless Networks, Volume 9, Issue 4. Ed Ort, 2005. Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools. Sun Microsystems. K. Gottschalk, S. Graham, H. Kreger, and J. Snell., 2002. Introduction to Web services architecture. IBM Systems Journal, V 41, No 2. Xiaotao Wu, Henning Schulzrinne, and Jonathan Lennox., 2002. An Extensible Markup Language Schema for Call Processing Language (CPL)." IETF Internet draft. http://www.ietf.org/internet-drafts/draft-wu-cpl-schema-00.txt

66

Suggest Documents