Harald Seim
This article gives an overview of the current situation of telecommunication services and describes how advanced technologies are applied to solve the complexity of an ever-increasing number of services in the telecommunication networks and to satisfy the requirements of a more and more market oriented situation for the providers.
The demand for advanced telecommunication services has increased enormously the last few years. This has led to situations where the network operators have clashed new services into their networks at high speed to satisfy the customer needs. Today, when the telecommunication monopolies are breaking up, the fight for market shares has become hard. New services are marketed as intelligent services and network operators are talking about intelligent networks.
This chapter will handle the service concept as it is today by defining some different types of services and describing some sample services. The role-players in the service market are described to give an impression of who are involved, and the different problems and solutions concerning current services are touched, just to give an impression of the complexity the telecommunication researchers are facing today.
The word `service' has turned out to be a piece of magic in the telecommunication world the last couple of years. Everybody's attention has moved from switching technology to this word. The service market is expected to grow incredibly in the near future, and the winners of the game are those who can offer the best services at the lowest price. The customers' needs are put in focus, and they shall be satisfied by an irresistible set of fantastic services.
But still, with this enormous focusing on services, this word is somewhat fuzzy and ambiguous. There are so many aspects of services that there is a need for explanation of some of the most used terms.
Telecommunication services is a common name for all services offered by, or over, a telecommunication network. It is normally subdivided into bearer services offered by the network, and teleservices offered by the terminals, but it can also be divided into basic services and supplementary services (see Figure 1).
Bearer services are capabilities for transmission between two points, including physical routing and switching. The services are offered by the network and used by terminals to set up communication paths and transmit information through the network. Examples of bearer services are: circuit-mode speech, circuit-mode audio, circuit switched data and packet switched data.
Teleservices include all capabilities for communication between two applications. The services are offered by the communication software in the terminals and used by applications to set up connections and communicate. Examples of teleservices are: telephony, telefax and videotex.
Basic services are capabilities necessary to handle basic calls, i.e. call setup and call release. These services are always present when telecommunication services are used and can be viewed as the mandatory part of all telecommunication. There are basic bearer services as well as basic teleservices, and examples of those are mentioned above. Supplementary services are optional capabilities that can be used as a supplement to basic services. These services can only be used together with basic services, and some examples are: calling line identification, call forwarding, and call waiting.
Value added services is a term often used for advanced supplementary services, especially services that can be offered and marketed as stand- alone products. Examples of such services are freephone, premium rate and televoting. Many value added services can be offered by special service providers connected to the network.
Service features are the basic components of all telecommunication services. The services are built up by different features like e.g. routing, charging, call control, logging, security and management. Different services are normally distinguished by how these features are used. In many ways these features can be seen as services themselves, or at least service components, since it is the sum of these features that are called telecommunication services.
From an intelligent network point of view, the most interesting services are the so-called value added services. They have the largest market potential and can easily be offered as stand-alone products.
This section will first describe the Plain Old Telephony - POT - service, from which most value added services are developed (see Figure 2), and then describe some of those services in the light of the POT service. The services described here are only a few examples out of hundreds of new services, some already implemented and some which are coming up in the near future.
The Plain Old Telephony service (POT) is based upon a quite simple concept where all users are permanently connected to the network by single telephone lines with only one information channel. This channel is used both for interaction with the network and for conversation with other users.
The basic version of this service allows only three phases to be passed in the right order, namely establishment, conversation and release. During the establishment phase, the user gives information to network by dialling a destination number. The number is analysed to find the right destination before the connection is set up. After setup there are no possibilities for further interaction with the network. There is only one path to follow, and that leads to disconnection.
Newer versions of the POT service allow interception during the conversation phase. This is used to give the network new directions in how to serve the user. Other versions are using a separate signalling channel, by which the user can interact with the network during conversation. These techniques are utilised in many new services like e.g. call waiting and call conferencing.
The call waiting service is normally provided as a supplement to the POT service. The network informs busy users about incoming calls, i.e. waiting calls, so that they can answer them if desired. Normally, the user must disconnect the existing call to be connected to the waiting call. Sometimes it is possible to ask the network to hold the existing call, so it can be resumed at a later point in time. This last feature requires relatively advanced interaction between the user and the network.
The freephone service allows users to make free calls, i.e. make calls without being charged for it. Normally, the called party is charged, but it is also possible to let a third party pay for the calls. Initially, the only difference from the POT service is the charging, but many network operators provide additional features, like e.g. flexible routing, together with this service to make it more attractive.
The freephone service does not require any special interaction between the user and the network. It is more of an internal affair for the network to handle the charging aspects. But, the network still has to be triggered in some way to make the right charging. Today this is done by using a specific area code, also called service code, for the freephone service.
The premium rate service is another example of a typical charging service. Here the calling party is given an additional charge for services provided by the called party. These extra services are normally some kind of valuable information. The network provider charges the service users and pays the information providers. This service is triggered the same way as the freephone service, namely by a specific area code.
The universal personal telecommunication service (UPT) enables the user to receive incoming calls and initiate outgoing calls from any terminal in any network, based upon a unique number called the UPT number, which is assigned to every UPT subscriber. The UPT number can be registered at any terminal in any network to give personal mobility. Outgoing calls are charged to the UPT number and not to the terminal being used. Based on the dialled UPT number, incoming calls are automatically routed to the terminal where the UPT number is currently registered.
This service involves many advanced features. Both routing, charging and user interaction is much more complex to handle for a UPT service than any of the previously described services. In addition, new aspects like security and management of subscriber information have to be addressed.
The previous section used terms like `service users', `service subscribers', `network providers' and `service providers'. But who are they, and what is their impact on the future telecommunication services? This section describes the different role-players, their needs, requirements and offerings.
There are mainly two groups of role-players: the customers and the providers. The customers are those who are requesting, paying or using the services, normally called service users and service subscribers. The providers are those who are providing and selling services to the customers, and they are normally grouped into network providers and service providers.
The service users are those who are served by the telecommunication network in order to satisfy some need they have. Normally, a user wants to communicate with someone, but in many cases the communication is subordinated to other needs, like e.g. access to information of some kind.
Both the calling party and the called party are service users during a call, regardless of who initiated the call and regardless of who is paying for it.
Today's service users want more and more advanced services, but this also puts more requirements on the service users themselves. Advanced services are difficult to use, and normally this involves complicated interaction procedures and advanced terminal equipment.
The service subscribers are those who have more or less permanent needs for being identified by the network, either to be reached by others or to be treated in specific ways during service usage. Normally, the subscribers are paying for permanent connections to the network, from where they can use telecommunication services and be reached by other users.
Today, the subscribers want more and more control of the services they are subscribers of. They want flexible services, which they can customise to fit their specific needs and economies. There are also needs for more flexible network connections. Some subscribers do not want to be bound to a fixed location, but rather be identified by a mobile identity. An example of this are the UPT subscribers.
The network providers are those who own, run and maintain the telecommunication networks, either fixed networks, land mobile networks or satellite networks. The networks consist mainly of transmission systems and switches. In addition, the bearer services are considered as essential parts of the networks.
Until now, most network providers have been protected by monopolies, and have therefore controlled all the services in their networks, including supplementary services and value added services.
The service providers are those who offer services to the service users. Until now, the service providers have been identical with the network providers, but in the future, the network providers will only be one of many kinds of service providers. In addition, we will find providers of different value added services as well as providers of basic services based on leased lines.
Service providers not having their own networks, will need some special connections to networks owned by network providers. The European Commission is going to regulate those connections by the Open Network Provision - ONP. These are regulations for the interfaces between network providers and service providers.
The current network solutions, where the service software are mixed together with the switching software, and new service features are added on as and when it becomes necessary, are starting to be very complex and difficult to manage. Every new service is treated ad hoc, and the networks and switches are looking more and more like enormous software conglomerates.
Long implementation time is much of a hindrance for introduction of new services today. Lack of modularity implies that all new service software has to be merged with existing software, and for most new services this has to be done in all network nodes, which can be several thousand.
An alternative way of introducing new services is to keep their operation to only a few centralised network nodes. By doing this, implementation time and costs are saved by avoiding updating of all network nodes. A drawback with this solution is that all usage of such services has to be routed via the specialised service nodes. This implies a very poor utilisation of network resources, since even local calls may have to be routed twice across the network in order to use a service.
When all services are treated differently, and many of them also executed in different nodes, interaction between them may be quite difficult. There will be situations where two services may cooperate, but there will also be situations where simultaneous invocation of two services will imply conflicts.
There will also be a need for pan-European services. If such services are implemented by interaction between national services, one will meet problems with different implementations of the services in different countries. Lack of common specifications, common implementations and common interfaces makes it almost impossible to implement pan-European services by interconnecting national services. Security will also cause problems here, since many network operators are careful concerning access to their data.
With a large number of services, the users are facing a lot of opportunities. But many users find it difficult to use and utilise all these new features. It is difficult to remember how to invoke different services, and the procedures for doing it are often very complicated. Because of this many of the new services are very seldom in use, even though many people would have liked to make use of them. One way of solving this problem, is to have more intelligent terminals. Terminals with specialised function buttons, or menu choices, can make it easier to use the services.
One of the main goals with the intelligent networks is fast and efficient introduction of new services. Another goal is flexible services, allowing a large degree of customising. Much research effort has been put into reaching these goals and to solve the increasing number of problems concerning telecommunication services. The networks and the services are modelled in new ways and advanced software technologies are applied to manage some of the problems.
This chapter presents some of the research going on in the intelligent networks area. The first section describes the separation of network and services. The next two sections describe how object oriented techniques can be applied to modelling of network and services and how rule based techniques can be applied to marketing, creation, administration and execution of services.
Characteristic for the intelligent networks is the separation of the service logic from the physical network. There are different opinions about exactly where this separation should be done, but the main principles are commonly accepted. Regardless of where the separation is made, new services may be introduced much easier since they can be implemented without modification of the underlying network.
The separation of services and switching requires a well defined interface between the two domains. The switches have to send requests and status information to the service logic, while the service logic will have to do operations on the switching network. If the interface is made very general and independent of particular networks and services, the two domains can be changed independent of each other.
In the first versions of intelligent networks, the separation is true only for the supplementary services, and even not for all of them. All basic call processing, and some of the simplest supplementary services, will be handled by the switching nodes themselves. Only in more complex situations the control will be handed over to some specialised service nodes (see Figure 3). This implies that the basic services and the simplest supplementary services will be handled as they are today. A standard basic call process will be used, and this has to be current in all network nodes. The basic call process will need a trigger table describing the situations for which it has to request help from a service node.
These early versions of the intelligent networks are based on the client/server model where the switching nodes are clients served by the service nodes. It requires that the service nodes are passive until they are asked for help. This type of separation is quite suitable for services requiring some kind of advanced analysis during call establishment or call release, e.g. for number translation, special charging or conditional routing.
The service logic in the first versions of intelligent networks will only be able to control one end of the call at a time. For this purpose, one basic call process model for the originating end and one for the destinating end of a call have been defined. The two models are used to describe how the basic call process shall behave in different situations at the two ends of a call. The basic call models contain trigger points at which the service logic may be invoked. If new service logic requires trigger points not yet defined, the basic call process has to be modified, and this may have to be done in all nodes all over the network. So, with a partial separation of network and services, it will still be necessary to modify the switches, even when working with services.
In some later versions of the intelligent networks all services, except from the bearer services, are separated from the switching network. The result of such total separation is a pure switching domain and a pure service domain. The switching domain is only concerned with transmission and switching, and offered by this domain are the bearer services. The service domain contains all other services, i.e. both basic services and supplementary services. Then all call handling are done in the service domain, since the bearer services do not include call handling, only capabilities for transmission and switching (see Figure 4).
Also in this last model, there will be a natural client/server relation between the service domain and the switching domain, but now the service domain is the client and the switching domain is the server. The switching domain consists more or less of resources controlled by services in the service domain. There are also similar client/server relations between the service users and the services and between different services.
When the service logic is removed from the switches, there will be a need for a set of common switching operations provided by the network. This set of operations will be used by the service logic to control the resources in the network. The actions taken by the service logic will then be sequences of such operations. Examples of operations for call processing are: join, split, modify, etc.
The switching operations represent a set of network independent instructions to be used by all services. They will make the platform upon which all services have to build, and this platform is called the IN platform.
When all services are taken out of the switches, it will also be easier to treat them in a unified way. To do this, we need a generic definition of what a service is. One definition could be:
A service may be either a set of capabilities that is offered to an end-user, e.g. conference call, or a set of capabilities that is used in support of these end-user services, e.g. translation of freephone numbers to real telephone numbers.
With this understanding of what a service is, we can start modelling the service domain.
Object orientation is a way of structuring data and operations in modules called objects. The technique has many advantages to traditional structured programming, and some of the main benefits that can be utilised in the work with intelligent networks are described below (see Figure 5).
Modularisation. The objects represent modules which can be arranged in ways that are more understandable for human beings. The reliability will increase with increasing understandability. It may also be possible to test and verify an object once and for all, and then rely on that for later use and reuse.
Object descriptions, called classes, can be reused over and over again, and if they do not fit exactly, new specialised subclasses can be defined. These subclasses will inherit data and functionality from the more generic classes, and by this reuse as much as possible. An inheritance hierarchy will be very easy to maintain, since global changes can be done just by modifying the generic root class, from which all the other classes inherit.
Encapsulation. All data are encapsulated by the objects, and can only be accessed by calls to the operations. Encapsulation is done to protect the data by controlled access through operations. Object operations are invoked by message passing. The messages, normally implemented as function calls, have to be defined with names and parameters. Many systems are also using contracts to restrict the access and to guarantee the results of the operations. Encapsulation of data will also hide internal differences in the objects. The internal representation of data is unessential as long as the message passing is well defined. Therefore, specification of objects are mainly concerned with the object interfaces, i.e. the operations, and not with the internal structures.
For telecommunication services, encapsulation can be used for hiding implementation specific solutions and thereby to gain manufacturer independence as well as network independence.
Dynamic binding. Dynamic, or late, binding is another feature used by most object oriented systems. It means that function calls are bound to the functions at runtime, rather than at compilation time. This can be utilised by having dynamic objects, i.e. objects that are created, deleted or changed at runtime.
The dynamic binding feature gives a flexibility that can be of great value for provisioning of services. In the service logic, different objects may have to be used depending on e.g. the user, subscriber or even time of day. By dynamic binding, a program's control structure can be changed dynamically at run-time, resulting in more flexible service provisioning.
Object orientation has shown up to be one of the most adequate techniques for data modelling. It can be used for modelling of the network resources used by the services as well as the services themselves. When used to model the network resources, the object model can be viewed as a map of the network, showing only the details necessary for service execution.
In the following, some examples of objects representing network resources used for call handling are described.
The call object represents a request from a service user. This may be a request for connection or just a request for information. Normally, a call contains information describing what service the user wants, e.g. connection to a given address, quality of service for a connection, etc.
The call queue object is a list of calls, i.e. a place where calls can be stored temporarily while they are waiting for something. The call queue may be a special case of a more generic list object, or maybe just of a database object.
The conference bridge object represents the resources needed for switching, mixing and presentation of information in a conference with several users. The object should be able to handle both plain telephony conferences and multimedia conferences, e.g. voice, video and text.
The connection object is an active communication path between two service users. A connection may be a set of legs interconnected by connection points.
The connection point object represents an interconnection of two or more legs.
The counter object represents a generic counter. It can be used for counting of calls, etc.
The database object represents a storage place for information. It should have an interface with functionality for authentication, batch reporting, dialog management, electronic mail, job control, graphics, ordering, reorganisation, etc.
The information object represents information provided by the network. Information objects may contain announcements, directory entries, mail, user dialog boxes, user profiles, etc. Information may be stored as data, picture, text, video, voice, etc. Information objects may be stored in databases and transmitted over connections.
The leg object represents a communication path between two addressable entities. Two or more legs may be interconnected by a connection point.
The subscriber object represents a service subscriber, including all subscriber specific data, or at least references to them. Examples of subscriber specific data are: service profiles, user profiles, etc.
The timer object represents a generic timer which can be used for measuring of call duration, automatic disconnection, etc.
By an object oriented analysis we can break down the services to their basic components. The set of service components will then cover all capabilities necessary to offer the current services. If we define the components so they can be used as building blocks for services, they can be reused in a large number of services just by putting them together in varying combinations.
The first step in a top-down analysis of the services should be to define a set of generic objects covering all the main service features. Then, more specific features can be defined by subclassing the more generic object classes. A first top-down analysis of current services could end up with the following objects:
The charger object is responsible for all charging of service usage. The following types of charging may be done:
The call controller object is responsible for handling of all calls from the service users. It may be subclassed into e.g. basic call controller, conference call controller, etc. The following functionality must be covered:
The logger object is responsible for logging of all relevant information. The following functionality should be covered:
The manager object is responsible for all management activities. This includes the following:
The router object is responsible for routing of all calls, messages, requests, packets, etc. between different network entities. The following functionality should be covered:
The securer object is responsible for all the security in the network. The object should guard both the network's data and the transmitted information from unauthorised access. It should be possible to execute services with different security level, according to the needs of the network operator, the service provider and the service user. The security object should cover the following functionality:
The user object represents a user of a telecommunication service. A user may be a person, a computer program or a combination of these two, i.e. what normally is called an application. A user object may request a service by creating a call and send it to a user agent object. The user object is responsible for the following:
The user agent object is responsible for all interaction with service users and is therefore an essential part of the user/network interface. The following functionality should be covered by this object:
Rule based techniques have until recently only been a part of the mysterious domain of artificial intelligence. But, during the last years, rule based techniques have been approved by many excellent implementations, and are now widely used by the telecommunication industry. The most common use of rule based techniques is in expert systems. There heuristic rules are used for implementation of expert knowledge. The main components and features of rule based systems are described below, and in the following sections some applications of rule based systems are introduced (see Figure 6).
Data represent an essential part of every rule based system. Data structures are used to make models of the real world or to store temporary information. The data in a rule based system are often called `facts'.
Data can be represented in many ways. Frames have been used in many implementations. Frames may be viewed as a kind of objects. They offer modularity and inheritance, but they have no encapsulation and no operations. Frames are well suited for symbolic data, which is the main data type in rule based systems.
Rules are modules used for representation of logical knowledge in a system, i.e. knowledge about how to use the data, when to take different actions and where to find necessary information. All rules have a set of conditions and a set of actions. The actions describe what to do and the conditions describe when to do it.
Conditions are logical expressions that can be evaluated to either `true' or `false'. Symbolic data are used in the expressions. If all conditions of a rule evaluate to true, then the actions in that rule can be executed. The actions can be operations on the data, and if the data are changed, then the set of rules that can be executed will change continuously. This is called data driven control.
An inference engine is used for evaluation of conditions and triggering of rules. This generic inference mechanism will provide domain specific reasoning when applied to a set of domain specific data and rules.
When the inference engine is running, it follows a cycle with pattern matching, conflict resolution and rule execution. The inference engine keeps the data on a blackboard, so they can be accessed by all rules. Common data on the blackboard represent the only coupling between different rules. This weak coupling between system modules gives rule based system a high degree of flexibility.
Even today, the service marketing and sales people need access to a lot of technical information in their contact with the customers. When the intelligent networks are being implemented, the increase in number of services and customised solutions will be enormous. The marketing and sales people will need support to find the best solutions, estimate prices and costs, give proposals and answer questions. System specifications and manuals will be of great help, but even with all information available, one will need much experience to find the relevant information and to know how to use it.
Much of the expertise needed for marketing and sale could be stored in an expert system. Such a system could help the marketing and sales personnel to find the relevant information, and it could use information gathered from the customers for analysing needs and giving recommendations (see Figure 7). Some examples of what expert systems could be used to, are:
Service creation is a very knowledge intensive process where rule based systems could be of great value. A service designer will need a lot of information about network configurations, possibilities and limitations, existing services and the subscribers. A rule based expert system can give easy access to all this information.
The service creation process will also require a lot of intelligent reasoning, where expert systems could be used. This can be for selection of service modules and for right combination of them in order to get the desired service.
Service administration will become a heavy job in the intelligent networks. Service logic will be distributed in the network according to needs, and the distribution will be done in real time, i.e. during service execution. This implies an automatic distribution based on a set of rules for how to distribute. The distribution has to take into account things like performance, response times, resource utilisation, etc.
Another service administration problem is the integration of a large number of databases. Service logic and service data has to be stored in databases all over the network, and even over many networks. All these databases must cooperate in the provision of services. Some services may need information from several databases, and both logic and data has to be moved around between different databases. There are expert systems on the market which are designed especially for integration of databases, and from which ideas can be taken to solve the database integration problem also in the intelligent networks.
Today, most services are implemented as sequential functional programs. This gives very little flexibility and few of the benefits described for object oriented and rule based techniques in this article. It is therefore expected that features from both these techniques will be used in future developments. Object oriented techniques have already been introduced to some current systems, while rule based techniques still remain in the prototype stage.
Some of the benefits of using rule based systems for service execution are:
The best way of implementing complex systems like service logic and service execution environments is probably to combine several techniques using the best features from all of them. Currently, the object oriented and rule based techniques are the most promising, together with conventional programming techniques.