In today’s world, there are mainly two types of communication networks: circuitswitched networks and packet-switched networks. The current telephone networks are mostly based on the circuit-switched networks, whereas the Internet is mainly based on the packetswitched networks, which are also called IP networks. However, there is a strong tendency to combine both of these networks, which points to the direction that the IP networks are going to replace services provided by current telephone networks. This would eventually mean that IP networks might replace the telephone networks, in the future.
Following are some reasons why IP networks seem to replace the circuit-switched
networks:
· First of all, the IP networks provide cheaper communication. Considering that
the Internet access is nearly free, the cost advantage of IP networks gets clearer
[25].
· Secondly, IP networks provide the ability of integrating the data and voice
applications, and even some other applications, like video-conferencing,
integrated voice mail, e-mail, and the like [26].
· Another important reason is that IP networks allow open implementation of
end systems. With a reasonable programming knowledge everybody could
implement an end system for IP networks. In the classical telephony end users
cannot implement any end system, but have to use whatever provided by the
service providers. [27]
Table of Contents
1 Introduction
2 Fundamentals
2.1 Extensible Markup Language (XML)
2.1.1 XML Overview
2.1.2 XML Specifications
2.1.2.1 Document Type Definition (DTD)
2.1.2.2 Well-Formed XML Documents
2.1.2.3 Valid XML documents
2.1.3 How XML works
2.1.4 SGML
2.1.5 HTML
2.1.6 XML vs. HTML
2.2 Session Initiation Protocol (SIP)
2.2.1 SIP Characteristics
2.2.2 SIP Basics
2.2.3 SIP Addresses
2.2.4 SIP Messages
2.2.5 SIP Operation
2.3 Intelligent Networks (IN)
2.3.1 IN Architecture
2.3.2 Benefits of Intelligent Networks
2.3.3 IN Services
3 Call Processing Language (CPL)
3.1 Language Specifications
3.1.1 Top Level Actions
3.1.2 Switches
3.1.3 Location Modifiers
3.1.4 Signaling Actions
3.1.5 Non-signaling actions
3.1.6 Subactions
3.2 Examples
3.2.1 Example 1: Simple call forwarding
3.2.2 Example 2: A more complicated example
3.3 Extensibility
4 Architecture
4.1 SIP User
4.2 SIP Server
4.3 Location Database
4.4 CPL Engine
4.4.1 Design
4.4.2 Flow diagram
4.4.3 Tag Classes
4.5 CPL Repository
4.5.1 Flat File vs. Database
4.5.1.1 Flat File
4.5.1.2 Database
4.5.2 Active vs. Passive Repository
4.6 CPL User Editor
4.7 The relations of the components
5 Tools used in the project
5.1 XML Parser
5.1.1 Document Object Model (DOM)
5.1.2 Simple API for XML (SAX)
5.1.3 DOM vs. SAX
5.2 Common Object Request Broker Architecture (CORBA)
5.2.1 History of Distributed Systems
5.2.2 Alternatives of CORBA
5.2.2.1 Socket Programming
5.2.2.2 Remote Procedure Call (RPC)
5.2.2.3 OSF Distributed Computing Environment (DCE)
5.2.2.4 Microsoft Distributed Component Object Model (DCOM)
5.2.2.5 Java Remote Method Invocation (RMI)
5.2.3 Advantages of CORBA
5.2.4 The TAO CORBA
5.2.5 The Naming Service
5.2.6 The Event Service
5.3 Lightweight Directory Access Protocol (LDAP)
6 Implementation
6.1 SIP Server
6.2 CPL Engine
6.2.1 General overview
6.2.2 CORBA Interface
6.2.3 Classes
6.3 CPL Repository
6.4 CPL User Editor
6.5 Evaluation Results
6.6 Performance Measurements
6.7 Suggestions for further studies
7 Conclusions
Objectives & Core Topics
This thesis aims to design, implement, and evaluate the creation of intelligent services for Internet Telephony using the Call Processing Language (CPL), an XML-based language, as the data definition format. The research addresses the integration of these services into converged voice and data networks using the Session Initiation Protocol (SIP) for signaling.
- Implementation of service creation logic using XML and CPL.
- Integration of a SIP Server with a CPL Engine via CORBA interfaces.
- Development of a repository for managing user-specific CPL scripts.
- Evaluation of system performance and service creation capabilities.
Excerpt from the Book
3.1 Language Specifications
The CPL has been designed to allow end users of the Internet Telephony describe their own service scripts and customize these scripts to their own needs. However, at the same time, it has got a limited power that end users cannot harm the system. For example, a CPL script cannot call any external program, or it cannot have any loops internally.
The CPL is based on XML that allows simple creation and edition of the scripts by graphical tools. Since it is text based, the editor can also understand the script by simply looking at the script.
In the following subchapters, the tags defined in the CPL are explained. The tags are classified in 6 classes: top level actions, switches, location modifiers, signaling actions, non-signaling actions and subactions.
Summary of Chapters
1 Introduction: Discusses the transition from circuit-switched to packet-switched IP networks and defines the goal of using CPL for Internet Telephony service creation.
2 Fundamentals: Provides background on XML, Session Initiation Protocol (SIP), and Intelligent Networks (IN) as the conceptual foundation.
3 Call Processing Language (CPL): Details the CPL specifications, including language syntax, tags, and practical examples of service scripts.
4 Architecture: Outlines the system components, including the SIP Server, CPL Engine, Location Database, and Repository, and their inter-relationships.
5 Tools used in the project: Describes the technologies used for implementation, specifically the XML parser (Xerces-C) and the CORBA middleware (TAO).
6 Implementation: Covers the technical details of integrating the components and provides performance evaluation results.
7 Conclusions: Summarizes the project outcomes and evaluates the viability of CPL for service creation from both developer and end-user perspectives.
Keywords
Internet Telephony, CPL, XML, SIP, CORBA, Service Provisioning, Intelligent Networks, LDAP, Call Processing Language, Middleware, Network Architecture, Performance Measurement, Scripting, Signaling Protocols, Distributed Systems
Frequently Asked Questions
What is the primary focus of this thesis?
The thesis focuses on using the XML-based Call Processing Language (CPL) to create and control additional intelligent services for Internet Telephony.
Which protocols are central to the proposed system?
The primary protocols are the Session Initiation Protocol (SIP) for signaling and the Call Processing Language (CPL) for service definition.
What is the main objective regarding service creation?
The objective is to enable end users to define their own call handling logic, such as call forwarding or redirection, in a secure and restricted environment.
How do the system components communicate with each other?
The project utilizes CORBA (Common Object Request Broker Architecture), specifically the TAO implementation, to handle communication between the SIP Server and the CPL Engine.
What is the role of the CPL Engine?
The CPL Engine serves as the core processor that parses and interprets CPL scripts retrieved from the repository to inform the SIP Server about required signaling actions.
How is the CPL Repository implemented?
The CPL Repository is implemented as a database (using LDAP) that stores user-specific scripts and maintains their activation status.
Why was the DOM approach preferred for XML parsing?
DOM (Document Object Model) was chosen over SAX because it keeps the entire XML document structure in memory, which is necessary for processing the states of a CPL script throughout the call duration.
What does the performance evaluation indicate?
The evaluation shows that while processing CPL scripts adds latency compared to native SIP signaling, the results are acceptable for a prototype and can be further improved through code optimization.
- Quote paper
- Sertac Cetiner (Author), 2001, XML Based Service Provisioning in Converged Voice and Data Networks, Munich, GRIN Verlag, https://www.grin.com/document/81280