Integration of SIP VoIP and Messaging Systems with AccessGrid ...


Published on

1 Comment
  • I want to start a new VOIP Business for low cost International calls across the world, but I dont know how to integrate the carrier who provides the calling minutes with IP PBX and with new website thogh which my client may make calls to any destination. Please let me know the process of integration...
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Integration of SIP VoIP and Messaging Systems with AccessGrid ...

  1. 1. Integration of SIP VoIP and Messaging Systems with AccessGrid and H.323 Wenjun Wu, Ahmet Uyar, Hasan Bulut, Geoffrey Fox Community Grid Computing Laboratory, Indiana University,,, Indiana Univ Research Park, 501 North Morton Street, Suite 222, Bloomington, IN47404 Abstract collaboration solutions and enable users from different communities to collaborate. In order to build an integrated collaboration system In [2], we propose a Web-Services framework, named over heterogeneous collaboration environments, we XGSP (XML based General Session Protocol) for an proposed a collaboration Web-Service framework – audio/video collaboration system to solve the issue of XGSP and initially applied it to audio-video (A/V) heterogeneity and integration. Based on this framework, conferencing. SIP is a very important collaboration this paper focuses on how to integrate SIP based standard, which has been widely adopted by many large collaboration resources, and how to make SIP clients or companies for IP telephony, Instant Messaging as well servers communicate with AccessGrid as well as H.323 as desktop videoconferencing. In this paper, we systems. developed a XGSP based system to integrate SIP based The paper is organized in the following way: In collaboration systems with AccessGrid and H.323 based Section 2, the XGSP framework and the design issues systems. This prototype can support various clients and about SIP Web-Services are introduced. Section 3 servers from different collaboration technologies such as presents the design of the SIP Web-Services prototype SIP and AccessGrid as well as H.323 in the same system in detail. The implementation and application conference. examples are introduced in section 4. And we give the conclusion and future work in section 5. Keywords: SIP, XGSP, Instant Messaging, Videoconferencing, Web Services 2. XGSP & SIP Web-Services 1. Introduction 2.1 SIP Architecture and Service Collaboration and videoconferencing systems have The Session Initiation Protocol (SIP) defines how to become a very important application in the Internet. establish, maintain and terminate Internet sessions There are various solutions to such multimedia including multimedia conferences. The architecture of communication applications, among which H.323 [7], SIP based systems is showed in Figure 1. SIP [12], and Access Grid [1] are well-known. H.323 is Registrar Location Redirect an umbrella standard designed by ITU for multimedia Server Server Server conferencing over IP-based networks. It is the most widely adpoted standard by the videoconferencing industry. SIP is a standard of IETF, which is an SIP alternative solution to H.323, especially for Voice over Client IP. SIP has been applied in IP telephony, Instant Messageing (IM) and videoconferencing. AccessGrid is SIP PROXY a derivation from MMUSIC conference [4], which uses SERVER MBONE tools to support large scale videoconferences based on high-speed multicast networks. SIP MC SIP MP It will bring substantial benefits to Internet users if we SIP Client can build an integrated collaboration environment, which SIP MCU combines conferencing, streaming, instant messaging as Fig 1 SIP System Architecture well as other collaborations into a single easy-to-use, A SIP system usually includes SIP clients, a SIP intuitive environment. However, at present all these Proxy Server, a Registrar Server, a Location Server, and systems have features that sometimes can be compared a Redirect Server as well as a SIP Multipoint Control but often they make implicit architecture and Unit (MCU). The SIP Proxy Server primarily plays the implementation assumptions that hamper interoperability role of routing, enforcing policy of call admission. The and functionality. Therefore it is very important to create proxy interprets and if necessary, rewrites specific parts a more general framework to cover the wide range of of a request message before forwarding it. The SIP registrar accepts REGISTER requests and places the
  2. 2. information it receives in the requests into the location many participants in one or many discussions. service for the domain it handles. In addition, the SIP Therefore, we must find a way to combine both of Proxy provides instant messaging service, forwarding the collaboration patterns. SIP Presence Event messages and SIP text messages to  XGSP framework can not only integrate SIP clients SIP clients. but also other SIP communities into the whole collaboration system. SOAP connections should be 2.2 XGSP Web-Services Framework established between the XGSP Manager Server and other SIP collaboration servers so that the SIP MCU In this framework, we divide an A/V collaboration as well as SIP proxy server can be commanded to system into three parts: clients, session servers and connect with XGSP servers. And since SOAP multipoint communication channels providers. We need communication is slower than other protocols such to connect the components from different systems in two as JavaRMI and CORBA, we have to ensure it will ways: firstly the system allows each client whether it is not affect the performance of the collaboration. MBONE, H323 or SIP to build RTP channels with the multipoint communication RTP channel providers; 2.3 XGSP Servers for integrating various secondly the system connects all the channel providers collaboration together to form a global RTP communication infrastructure. We have designed a XGSP prototype system, in The first goal requires a common session protocol, which there are two servers supporting the main which enables different types of clients and servers to framework of XGSP: a Web Server and a XGSP MCU. understand and communicate with each other. We define The XGSP MCU is some kind of bridge between H.323/ a XML based protocol, called XGSP (XML Based SIP endpoints and Access Grid clients, supporting both General Session Protocol). Each native session command centralized channel and decentralized RTP channel in in SIP, H.323 as well as Access Grid is transformed into the same session. For those unicast-only H323/SIP XGSP methods and executed by XGSP servers. Also the endpoints, the XGSP MCU provides unicast audio and XGSP response is transformed back into the native video channel, and perform video switch, video mixing response and returned to the native clients. The and audio mixing services. And the XGSP MCU runs an middleware architecture is required for the second goal agent in an IP multicast group to communicate with to integrate various RTP multipoint communication Access Grid clients. servers. Web-services technology seems to be the best The Web server provides a collaboration portal to candidate for this purpose since it can run across various users and system administrators. Users need the web platforms and is easy to be extended and understood. portal to participant in the audio/video collaboration. In order to build SIP web-services based on the XGSP The user web portal supports the high-level services of framework, we need to solve the following issues: the XGSP collaboration framework, including XGSP  The SIP calling procedure has to be translated into registration, XGSP membership control as well as XGSP XGSP messages. The INVITE, BYE method must session control. A system administrator can use the web be transformed to the Join/Leave Session Command portal to manage the system, for example configuring the in XGSP. components of the system, and uploading some new  SIP URIs has to be mapped into XGSP name space. services and so on. Each SIP Client should make a registration in the SIP Registrar of the local domain. All of these 3. Design of SIP Web-Services registrations must be kept in the name storage of SIP Proxy, Registrar XGSP Naming & Directory the XGSP system. Server Services  SIP Instant Messaging services have to be integrated with Chat Room services. SIP framework Web Server Server SQL can support IM and presence services, usually implemented in the SIP Proxy. IM allows users to SIP XGSP Session SOAP Connection Gateway Server chat in a real-time way and the presence service SIP Clients notifies users of the status of their buddies. It is very useful to integrate them into XGSP RTP Channels Audio Server Video Server Other SIP collaboration systems. However IM mostly works Access Grid Service RTP Channels Snapshot Communities for private chats between two or more people. Only Community ( Multicast ) Server the persons in the buddy list can join or be invited Media Server into a IM session. So IM is suitable for informal Fig 2 SIP Web Services Architecture and ad-hoc chats rather than room-based or scheduled sessions. XGSP framework mainly 3.1 SIP-to-XGSP supports formal and scheduled collaborations, which requires a chat room environment hosting
  3. 3. The figure 2 shows the architecture of SIP Web- specific SIP Proxy for IM services, which can be Services. We combine the SIP proxy and the SIP combined with a SIP Registrar into the SIP Server. registrar into a single server, and divide the XGSP into A XGSP session has a chat room, which can be two different parts: the XGSP Session Server and the implemented by building message reflection function XGSP Media Server, which is the combination of a inside the SIP Gateway. Since the SIP Gateway has SIP Multipoint Controller and a Multipoint Processor. The “clients” for each active XGSP session, the “clients” can Web Server can send commands to the Session Server be regarded as chat rooms. Once a SIP client user starts and the Naming & Directory Server with the support of an IM session with one of these clients in the SIP the SQL database storage. The SIP Gateway works as a Gateway, it joins in the chat session of this XGSP protocol bridge between the SIP Proxy and the XGSP session. The SIP Gateway accepts the MESSAGE sent Session Server, redirecting the RTP channels of SIP by this SIP client, and forwards it to other IM SIP clients clients to the XGSP Media Server. that have been in this chat room. Furthermore, the The signaling translator maintains a dedicated TCP functions of the chat session can be enhanced by connection with XGSP-Session Server for each incoming introducing some shell commands, for example, the SIP client, which is called XGSP-connection. SIP command of listing all the participants in the session. Messages including INVITE and BYE, can be translated into XGSP messages and transferred over this 3.3 HearMe SIP Web-Services connection. The procedure is: when the SIP gateway receives an INVITE request from a SIP client, it will To integrate other SIP communities into the XGSP send a JoinSession message to the XGSP Session Server, system, we need a high-level control level on which the and get the media description by parsing the SDP body XGSP collaboration Manager can co-ordinate with the in the INVITE message. After getting an admission control servers in other SIP communities. And the response from the XGSP Session Server, the SIP general A/V media channels are also necessary for gateway will reply to the SIP client with an OK message connecting all the RTP channels in these communities holding the media description of the XGSP MCU. And and individual clients. Such approaches can separate the when the SIP gateway receives a BYE message, it will control from the multimedia transmission so that the send a LeaveSession message to the Session Server and slow SOAP connection will only increase the delay of reply to the SIP client after it close the XGSP building collaboration session. The architecture for the connection. high-level control level is showed in the Fig 3. The According to SIP standard, the registration creates XGSP Collaboration Manager uses SOAP messages to bindings in a location service for a particular domain send collaboration control commands to Web servers in that associate an address-of-record URI with one or more SIP, AG and H.323 communities. The XGSP MCU contact addresses. And the SIP registrar usually acts as serves the purpose of bridging all the RTP channels from the front end to the location service for a domain, these communities. Dedicated RTP channels can be reading and writing mappings based on the contents of established between the XGSP MCU and SIP/H.323 REGISTER requests. We rely on XGSP naming & MCU as well as AccessGrid multicast groups. directory service to provide our location resolving, which maintains a database for the whole name space of Web Service ( WSDL Directory,SOAP Communication) the XGSP collaboration system. Therefore, all the registrations will be forward to the XGSP naming server Collaboration for storage. Web Service AG Web Server H.323 Web Server SIP Web Server Manager Server The SIP Gateway needs to register several records for different active collaboration sessions. For example, if Access Grid H.323 Session SIP Session there are three sessions created in the Web Server, the Services Services Services SIP Gateway has to register with the SIP Registrar Clients RTP Media channels Server with three session names. When a SIP client Mbone: VIC/RAT wants to join in an active session, it must send an H.323: Netmeeting,Polycom SIP: HearMe, ... ... Audio/Video Media Channel Service invitation to the SIP URL of that session. Fig 3 Integrating other SIP/H.323 Communities 3.2 Instant Messaging & Chat Room Services A Web Server for the SIP community is supposed to IETF IMPP working group defines a standard provide some capabilities for local session management protocol “Model for Presence and Instant Messaging” and floor control. XGSP collaboration manager can [9].SIP provides an Event notification mechanism and invoke these APIs to create a collaboration session MESSAGE method to support the model. A SIP Proxy is across different environments and administration used to route SIP MESSAGE as well as other SIP communities, and control the collaboration applications. methods among SIP clients. So we need to build a For example, if a user wants to create a session named “testsession”, for both AccessGrid users and the
  4. 4. SIP communities, he can define the XGSP session place as “AG: testroom; SIP: confroom” in order to connect two virtual conference rooms from the AG and SIP communities. When the meeting is about to start, the XGSP collaboration manager will activate this “testsession” by starting the AG agent in the XGSP MCU to join in “AG:testroom” and invoking the web services of this SIP community so that the MCU in this community could dial in the XGSP SIP Gateway and <?xml version=”1.0”?> connect to the XGSP MCU. <definitions name=”HearMeSIPServices” targetNamespace=”” XGSP When a collaboration user logs in and joins the session, he is required to choose which rooms he wants xmlns:hearme=”” to connect and by which collaboration protocol. If he xmlns:xsd=”” xmlns:soap=”” uses VIC and RAT and wants to enter “AG: testroom”, xmlns = “”> his VIC definitions -- > may be directed to the multicast <!—Type and RAT session of “AG: testroom”. If he uses a SIP Messenger <types> ……</types> and- Messageto enter “SIP: confroom”, his Messenger may <!- wants definitions -- > <message name=”CreateSessionRequest”> be linkedname=”SessionId” MCU. Since /> <part to the SIP type=”xsd:string” “AG: testroom” multicast name=”Max-Particpants” type=”xsd:string” /> <part room and “SIP: confroom” have been connected, all the clientstype=”hearme:the virtual rooms can <part name=”schedule” in both of scheduleDate” /> </message> make audio collaboration. After the meeting is over, the <message name=”CreateSessionResponse”> XGSP name=”result” type=”xsd:boolean”> <part collaboration manager can invoke web-services of the SIP communitytype=”xsd:string”> <part name=”reason” again to disconnect the SIP MCU from the XGSP MCU. </message> <! – Port use definitions --[6], a SIP based Voice-over-IP We type HearMe > <portType name=”HearMeSIPServicesPortType”> system, asname=”CreateSession”> <operation an example to illustrate the SIP Web-Services interface. Similar interface can also be implemented <input message=”CreateSessionRequest”> <output message=”CreateSessionResponse”> based on other SIP or H.323 collaboration systems.The </operation> HearMe Talk Server plays the… </operation>session server <operation name=”DestroySession”> role of the in other name=”ModifySession”> … </operation> provides SIP <operation systems and HearMe MCU signaling and RTP channels for </operation> meetings. The <operation name=”QuerySession”> … multipoint HearMe name=”ConnectMCU”> …include: CreateSession, <operation Web services </operation> <operation name=”DisconnectMCU”> … </operation> DestroySession, ….. ModifySession, QuerySession, ConnectMCU and DisconnectMCU. All the commands </portType> are– defineddefinitions -- >format and invoked by the XGSP <! Binding in WSDL <binding name=”HearMeSipServiceSOAPBinding” collaboration manager. Fig 4 shows some segments of its type=”HearMeSIPServicesPortType”> WSDL definition, which describes the service of <soap:binding stype=”rpc” CreateSession. transport=” ”/> <operation name=”CreateSession”> <soap:operation soapAction=””/> <input> <soap:body use=”encoded” namespace=”” encodingStyle=”” /> </input> <output> <soap:body use=”encoded” namespace=”” encodingStyle=”” /> </output> </operation> … more binding definition …. </binding> <! – Service definition -- > <service name=”HearMeSIPServices> <port name=”CreateSession” binding=”HearMeSIPServicesSOAPBinding”> <soap:address location=”http://” /> </port> </service> </definitions> Fig 4. HearMe WebService WSDL example
  5. 5. 4. Implementation and Examples using ASCP to communicate with the Talk Server. The We have developed a prototype system to verify and AXIS SOAP processor [15] is used to process SOAP refine our SIP web-services framework. It is developed requests and invoke the HearMe services through the in Java language and can be deployed in Windows or HearMe Wrapper. UNIX system. We follow JAIN SIP [8] stack specified This prototype can support all the SIP compatible by Sun for SIP development. NIST [10] is an open clients. We have tested HearMe clients and Windows source project and implements SIP JAIN library. The Messengers. Windows Messenger (MSN) is becoming a NIST package also includes the examples of Proxy- very popular Instant Messaging client in the Internet, Registrar Server and Instant Messageing client. We use which can support text, audio, video collaborations and the NIST library to develop the SIP Gateway and build connect multiple kinds of servers, including standard SIP our own Proxy Server based on the source codes. Proxy and Registrar Servers. We can configure Windows The HearMe SDK provides an interface called Audio Messenger to register with the XGSP SIP Proxy and Service Control Protocol (ASCP) between the HearMe Registrar server, and attend the XGSP collaborations. Talk Server and the HearMe MCU. ASCP is used to The Fig 5 shows the scenario when two Window control the various aspects of the HearMe voice services. Messengers are talking with a RAT client and a HearMe Based on ASCP, we build a HearMe Wrapper client. implementing the HearMe Web Services interface by Fig 5 XGSP Chat&audio collaboration scenario In this collaboration scenario, the system 5. Conclusion administrator has created a XGSP audio session named In this paper, we have presented the design and ourtestroom for AG: and HearMe: implementation of a SIP Web-services system. Under the ourtestroom. Both of the Messengers have joined in the XGSP framework, this system can support SIP clients, XGSP session “ourtestroom”, and are chatting with each Access Grid and H.323 clients in the same meeting, other in this session. And simultaneously they can also provide Instant Messaging and chat room services to talk with the RAT in the AG multicast session and Windows Messenger clients, and connect with other SIP HearMe clients in the HearMe conference. communities. Such an integrated collaboration environment greatly benefits those users that want to
  6. 6. enter Access Grid world via SIP clients, merge the [15] Steve Graham, Simeon Simeonov, etc, Building collaboration of videoconferencing and IM into a single Web Services with Java, ISBN0-672-32181-5, Sams environment, and create communication channels for publishing. different collaboration communities. [16] Web Services Description Language (WSDL) 1.1, In the next development, we will enhance the capability of this system in the following aspects: (1) In our prototype, single XGSP MCU may become the performance bottleneck for large-scale videoconferences. Narada [3], a distributed event middleware will be introduced to the system to implement a scalable and high-available A/V Event system [5]. (2) Our prototype supports room-based, scheduled collaboration. But many peer-to-peer collaborations need ad-hoc meeting mechanisms. IM seems to be a very promising approach to realize ad-hoc collaboration sessions. We will extend SIP IM to implement this new collaboration pattern. 6. References [1] Access Grid, [2]Geoffrey Fox, Wenjun Wu, Ahmet Uyar, and Hasan Bulut A Web Services Framework for Collaboration and Audio/Videoconferencing, The 2002 International Multiconference in Computer Science and Computer Engineerin g, Internet Computing(IC’02), June 2002, Las Vegas [3] Geoffrey C. Fox and Shrideep Pallickara, “The Narada Event Brokering System: Overview and Extensions”, proceedings of the 2002 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'02) [4] Handley, M., Crowcroft, J., Bormann, C. and J. Ott, "The Internet Multimedia Conferencing Architecture", Internet Draft, draft -ietf-mmusic -confarch-03.txt, July 2000. [5] Hasan Bulut, Geoffrey Fox, Shrideep Pallickara,Ahmet Uyar and Wenjun Wu, Integration of NaradaBrokering and Audio/Video Conferencing as a Web Service, IASTED International Conference on Communications, Internet, and Information Technology, November 2002, US Virgin Islands. [6] HearMe Audio conference system,, [7] H.323 ITU Recommendation [8] Jain SIP, [9] Model for Presence and Instant Messaging, RFC2778, [10] NIST SIP, [11] Real Time Transfer Protocol (RTP), RFC 1889, [12] Session Initiation Protocol (SIP), RFC 2543, http:// [13] SIP-Sepcific Event Notification, RFC3265, [14] Simple Object Access Protocol (SOAP) 1.1,