Ip Telephony Services Implementation
Total Page:16
File Type:pdf, Size:1020Kb
IP TELEPHONY SERVICES IMPLEMENTATION
Eero Vaarnas
Abstract Control) or SIP-T (SIP for Telephones). Media transmission is merely a matter of standard codecs and There is a wide variety of tools – both traditional, PSTN- packetization. like (Public Switched Telephone Network) and web- In service creation there are more decisions to be made. oriented – for implementing services in IP telephony. In the PSTN most of the services have been There are so many alternatives for service creation that implemented using Intelligent Networks (IN). IN is only some of them are described here. The scope of this controlled by the operator and typically users activate document is in all-IP environment, where many of the services using DTMF (Dual Tone MultiFrequency) paradigms come from the World Wide Web (WWW). tones. New kind of service creation paradigms come Some of the techniques are more or less standardized, from the World Wide Web, where users can more freely like Call Processing Language (CPL), SIP-CGI (SIP control the services and user interfaces are more Common Gateway Interface) and SIP Servlet API (SIP intuitive. Servlet Application Program Interface). There are some interfaces that can be used to integrate CPL is a simple scripting language with rapid IN services to IP telephony environment. With for implementation cycle but limited capabilities. It is example JAIN (Java Advanced Intelligent Networks, independent of the signalling protocol. SIP-CGI is a Java APIs for Integrated Networks) and/or Parlay, more powerful interface for executing arbitrary programs Intelligent Networks could be utilized from the IP in a SIP proxy server. The interface is language environment. IN connectivity is an important issue, but it independent, but the process handling causes some isn’t considered here. overhead. SIP Servlet API is a similar technique to SIP- The emphasis of this document is in services CGI. It is designed using Java, so it’s platform implemented totally in the IP environment. Most of the independent. All services run on the same Java Virtual new techniques – especially SIP based – borrow slightly Machine (JVM), so the overhead of process generation is from techniques already used in WWW. Because of the eliminated. There are also H.323-based services, but more the open architecture, third parties and even users their major disadvantage is in interoperability problems. themselves can more smoothly create new services. Four service implementation techniques are presented 1 Introduction here: CPL, SIP-CGI, SIP Servlet API and H.323 IP Telephony protocols are in a quite mature state. There services. First three of them work conceptually quite are some competing and/or overlapping standards, but similarly. The server has some default mechanism for the overall picture is pretty clear. It seems more and handling request, which is used for normal signalling more likely that SIP (Session Initiation Protocol 1) is operation. By some means the server decides, which going to be the signalling protocol of All-IP multimedia messages are handled by the default processing and sessions, including voice. SIP is text-based, HTTP-like which are sent to the service interface. Then the service (HyperText Transfer Protocol) protocol standardized by interface can perform signalling or other operations IETF. It is simple but easy to be extended. Of course and/or pass the message back to the default processing. also H.323 from ITU-T 2 will have its own role because H.323 services introduced later on form an exception. its current install base, mainly in corporate use. Though, They are more similar to traditional PSTN services. H.323 has its difficulties, such as scalability and interoperability. 2 Call Processing Language Also PSTN-interoperability can be handled with a CPL (Call Processing Language) 3 is an XML-based limited number of protocols. In media gateway control, (eXtensible Markup Language) markup language that there are practically two protocols, MGCP (Media can be used to describe telephony services. It describes Gateway Control Protocol) and Megaco/H.248. the logical behavior of the signalling server, in principle Megaco/H.248 can be seen – if not directly as an it isn’t tied to any specific protocol. extension – as the successor of MGCP. Both can Like XML, CPL is based on tags that are hierarchically possibly be used also in dumb IP terminals directly. arranged according to the information that they contain. ISUP (Integrated Services User Part) and similar The tags are traversed according to the hierarchy and the signalling over IP networks can be done quite rules they contain. Eventually the traversal ends and the straightforwardly, either by mapping ISUP messages to action specified by the script is executed. In some cases SIP, H.225/H.245 or similar, or tunneling them transparently using e.g. BICC (Bearer Independent Call the action remains unspecified, so some default policy is four types of switches: address-switch, string- resumed. switch, time-switch and priority-switch. The address-switch makes decisions according to 2.1 Structure of CPL addresses. With the field parameter either origin, CPL is specified as an XML DTD (Document Type destination, or original-destination of the Definition). It is going to have a public identifier in request can be chosen. Moreover, the optional XML (-//IETF//DTD RFCxxxx CPL 1.0//EN) subfield parameter can be use to access the and corresponding MIME (Multipurpose Internet Mail address-type, user, host, port, tel, or Extensions) type. Here is only an overview of the display (display name) of the selected address. In the structure, the complete DTD can be seen in 3 and XML address output it can be compared if the address is specification in 4. an exact match, contains substring of the argument After the standard XML headers, CPL script is (for display only) or is in the subdomain-of the enclosed between tags
5.2 Non-H.450-based services H.450-based services are a bit cumbersome to deploy. All the services are specified by ITU-T and often all the 8 References CPL Scripts [1] Schulzrinne, Henning et al: SIP: Session Initiation CPL Protocol, IEFT, March 1999 - April 2001, http://www.ietf.org/rfc/rfc2543.txt, CPL Servlet SIP Servlets SIP-CGI scripts http://search.ietf.org/internet-drafts/draft-ietf-sip- rfc2543bis-02.txt SIP Servlet API SIP-CGI [2] ITU-T Recommendation H.323, Packet-Based Multimedia Communications Systems, since 1996 SIP proxy/application server core [3] Lennox, Jonathan; Schulzrinne, Henning: CPL: A Language for User Control of Internet Telephony Figure 5 Example service architecture Services, IETF, November 14 2000, http://search.ietf.org/internet-drafts/draft-ietf-iptel- In the example architecture, both servlets and CGI cpl-04.txt scripts communicate directly with the signalling server [4] Bray, T. et al: Extensible markup language (XML) through respective interfaces. CPL scripts are handled by 1.0 (second edition), W3C, October 2000 a servlet specialized in that task. CPL support could be [5] Dawson, F; Stenerson, D.: Internet Calendaring and also implemented directly in the signalling server or Scheduling Core Object Specification (iCalendar), through CGI scripts. In general, this is only a reference IETF, November 1998, architecture, application servers or similar components http://www.ietf.org/rfc/rfc2445.txt can be realized in various ways. [6] Schulzrinne, Henning: SIP Implementations, Columbia University, ongoing work, 7 Conclusions http://www.cs.columbia.edu/~hgs/sip/implementatio What comes to signalling and media transmission, IP ns.html telephony isn’t going to change much. In the long term, [7] Lennox, Jonathan et al: Common Gateway Interface of course operation costs will reduce, because it won’t be for SIP, IETF, January 2001 necessary to maintain two separate networks. Issues like http://www.ietf.org/rfc/rfc3050.txt signalling delays and voice quality are going to stay [8] Kristensen, Anders; Byttner, Anders: The SIP pretty much the same (if they will degrade, users will Servlet API, IETF, September 1999, complain). Of course more advanced codecs and other http://www.cs.columbia.edu/~hgs/sip/drafts/draft- improvements are being developed but generally there kristensen-sip-servlet-00.txt isn’t much to do. [9] Schulzrinne, Henning: SIP Drafts: APIs and The part that is going to change most radically is the Programming Environments, Columbia University, services. The existing services in the PSTN and the ongoing work, WWW can be combined. Some examples of the http://www.cs.columbia.edu/~hgs/sip/drafts_api.htm combination are click-to-dial, Unified Messaging (UM) l and different kinds of information services. Also [10] Java 2 Platform, Standard Edition, v 1.3 API completely new kind of services will emerge. The tools Specification, Sun Microsystems, 1993-2000, used to implement these services are going to be http://java.sun.com/j2se/1.3/docs/api/index.html numerous, which can be seen already from the variety of [11] Liu, Hong; Mouchtaris, Petros: Voice over IP service implementation techniques used in WWW. Some Signalling: H.323 and Beyond, IEEE of them have already been adopted in IP telephony. CGI Communications Magazine, October 2000 and servlets are being standardized for SIP, and [12] Isomäki, Markus: SIP Service Architecture, Helsinki components like Java Beans are widely used in service University of Technology, May 2001 creation environments. Just wait for the IP telephony equivalents of ASP, JSP, JavaScript, VBScript, VRML, FutureSplash, Shockwave and others to appear. Like now everyone can run a web server, in the future communications services could be distributed among individuals. There is a project similar to Apache starting to implement an open source SIP proxy server with CGI and servlets. It could be downloaded and installed by anyone, and services could be developed as in a kind of “home-made telephone exchange”. Of course carrier grade communications services will have their own role regardless of the new, more open solutions. How exactly the transition is going to happen, is still to be seen.