2 1 EP B1 2 Description TECHNICAL FIELD [0001] The invention relates generally to the field of telecommunications switching systems and more particularly to a software application in a switching node that enables the switching node to implement subscriberbased services without supervision from a host application. BACKGROUND OF THE INVENTION [0002] An example of a switching system to which the present invention applies is described in U.S. Patent No.,44,163, Expandable Telecommunications System. A telecommunication switching node described therein has line cards with multiple ports connected to subscriber s telephone lines or to other devices such as PSTN trunks. The switching node also includes a switch/matrix card and at least two system buses for switching calls received on one port to another port in the system. One of these buses is an incoming bus that passes messages from the line cards to the matrix card and the other is an outgoing bus which transmits messages from the matrix card to the line cards. In order to perform switching on calls, the switching node receives information from and transmits information to line card ports over the system buses at predetermined times known as time slots. Each time slot generally corresponds with a port on the switch. The time slots associated with each port and the software applications that manage calls on those time slots are generally termed "channels". [0003] Each call involves connection between two ports. Because communication between these ports is bi-directional, it thus requires four time slots on the system buses. One time slot is used for transmission from one port to the matrix card, a second time slot is used for retrieving information from matrix card and sending it to the other port; the other two time slots are used for transmissions in the other direction. [0004] The telecommunications system also includes a host, i.e., a group of software applications that typically reside on a computer dedicated to those applications. The switching nodes on the system are interconnected by an internodal switching network. A second network termed the "host network," interconnects the switching nodes and the host computer for supervisory control. The host, the switching nodes and the line cards each includes a software protocol application that processes calls at its level of the system. Specifically, a Layer (L) protocol application in the host manages calls at the host level; a Layer 4 protocol application (L4) in the switch manages calls at the switch level; and Layer 3 (L3) protocol applications in the line cards handle calls at the line card level of the system. [000] Traditionally, the L application in the host also managed the L4 functions in the switch. All requests from the L3 application to the L4 application were transmitted to the L application and the L application instructed the L4 application on how the handle each request. Since the L application was involved in directing nearly all realtime call processing on the switch, the message traffic between the switch and the host was high and this sometimes delayed the transmission of messages between the host and the switch. Moreover, if the host-to-switch link failed or if the host failed, the switch was basically rendered inoperable. [0006] This problem was largely resolved by expanding the L4 application in the switch to provide functions previously performed exclusively in the L application. The expanded L4 application is a open and programmable layer that provides services such as, channel management, connection management, tone and announcement services and conference services. Channel management enables the L4 application to recognize incoming calls, answer calls, and release calls; connection management provides the ability to disconnect two channels, tone and announcement services provide the ability to play and receive tones and play announcements; and conference services provide the ability to connect multiple parties during a call. With the expanded L4 application, a system owner/operator might expand pre-defined L4 call management operations to accommodate unique call processing requirements. Thus, host applications may be simplified, or in some cases totally eliminated. [0007] Each call on a time slot is associated with a subscriber profile which identifies the supplementary services available to that call. Examples of supplementary services include call waiting, call forwarding and conference calling among others. Applications that process these supplementary services reside in the host. Thus, when a call is received on one time slot from the L3 application, the L4 application transmits a request to the L application in order to identify the appropriate subscriber profile and supplementary services for that call. The L application locates the subscriber profile associated with the call, controls the supplementary services identified in the subscriber profile and returns the appropriate results to the L4 application, The L4 application then performs switching functions on the call. Since the switch still relies on the host to identify and process supplementary services, a host failure prevents the switching node from properly processing calls with supplementary services. [0008] Moreover, when a supplementary service is added or modified, the L application must be updated. This increases the risk of introducing errors to the L application which may adversely affect the processing of supplementary services or other L functions. [0009] International Application No. WO/99/0321 describes a method of reducing message traffic between a service control point and a switching point for executing an intelligent network service; while the service logic may be executed in the switching point, it has to be first transmitted by the service control point. However, this docu- 2

3 3 EP B1 4 ment does not describe a system that includes means for communicating and passing information between a Layer application and a supplementary services application, [00] European Patent Application No describes a system in which services are handled in a separate service network, such as in commonly available networks, such as cable TV networks. [0011] A Concurrent Object-Oriented Switching Program in Chill, by Maruyama et al., IEEE Communications Magazine, vol. 29, (1991) January No. 1, pages 60-68, XP , ISSN: , describes a switching program that includes an enhanced services layer that may be located in a Service Control Point (SCP) or in a Service Adjunct Module (SAM). SUMMARY OF THE INVENTION [0012] We have created a supplementary services layer (SSL) application in the switching node for the development and execution of subscriber-based supplementary services. The SSL communicates with the L4 application through an L4-L interface in order for the SSL to obtain access to services offered by the L4 application. Therefore, a system operator may configure the switching node to execute supplementary services without intervention from a host application and without modification of the current L4 application. The SSL also communicates with the L application in order for that application to integrate supplementary services without further modifications. With this arrangement, the supplementary services functions are separated from the L application and transferred to the switching node. This makes it easier for the system owner to add or modify supplementary services. [0013] Specifically, the SSL comprises a Database Interface service, a Service Object Manager (SOM) and one or more instances of a Supplementary Service Object (SSO). The database interface service provides connection to an external database which stores each subscriber s services profile. Each SSO instance implements one or more supplementary services for a call. The SOM exercises overall control over these SSO instances. It allocates, de-allocates, initializes, addresses, and supports SSO instances. Each SSO instance further comprises a Service Control object (SC), one or more Service Element objects (SE), an Associate Party Manager object (APM), Support Services objects, and Control Services objects. [0014] The SC activates the other objects in an SSO instance on a per-need basis. It also prioritizes these objects and manages interaction between them. The SC is the only object that interfaces with the L4 application; it has access to all of the L4 services and thus, it passes requests from other objects to the L4 application. Each SE object implements a single supplementary service and the SE objects are loosely coupled through the SC. Each SE object defines an interface with the SC for instructing the SC on how to implement a supplementary service. An instance of the SE object is created when it is needed to perform a task and it is de-allocated when the task is completed. The APM serves an interface object to other SSO instances. [001] The SC, SE, and APM each has its own support services. These support services provide the functionality needed to perform each task. An example of a support service is a software object that provides access to an external application. The SE and APM objects also have control services that implement control models for allocating, de-allocating and addressing these SE and APM objects. These control services directly manage multiple instances of the SE and APM state machines and the control services are indirectly accessed by the SC. [0016] The SSL implements both subscriber and PSTN call models. If a call is from a subscriber, the SOM creates a subscriber SSO instance and it obtains the list of supplementary services for that subscriber from the external database. If the call is from the PSTN, the SOM creates a PSTN SSO instance and it obtains the profile for the PSTN subscriber from local sources. BRIEF DESCRIPTION OF THE DRAWINGS [0017] The invention description below refers to the accompanying drawings, of which: Fig. 1 is a diagram of a call switching system incorporating the invention; Fig. 2 is a schematic diagram of the SSL and how the objects interact with each other and with the L and L4 protocol applications; Fig. 3 is a depicts of two SSO instances and the interaction between these instances and other SSL objects; Fig. 4 shows the tables used by the SSL and the relationships between these tables; and Fig. is a flow diagram of how a incoming call is handled. DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT [0018] The communications network in Fig. 1 is configured to process calls to, from and within a switching system. The switching system includes switching nodes 32b-32f that are connected by a ring-like internodal switching network 34 to pass among them the various messages handled by the switching system. Each switching node 32b-32f is associated with a plurality of network/line interfaces (not shown) which provide connections between the switching system and subscribers lines, for example, and also with other switching systems such as the PSTN. These interfaces also provide access to system resources such as DSP resources and voic functions. The communications network also includes a host computer 24 that runs a protocol appli- 3

4 EP B cation 22. The host computer 24 is linked to the switching nodes 32b-32f by a host network 26. [0019] The host computer 24, the switching nodes 32b- 32f and the line cards (not shown) include software applications which process calls in these layers. A Layer (L) protocol application 22 in the host 24 manages calls at the host level; a Layer 4 (L4) protocol application 36b- 36f in each switching node 32b-32f manages calls at the switching node level; and a Layer 3 (L3) protocol application in each line cards manages calls at the line card level. In the present invention, Supplementary services layer (SSL) applications for executing supplementary services were also included in each switching node 32b- 32f. Examples of supplementary services include call waiting, call forwarding, and caller identification, among others. The SSL enables the system operator/owner to develop and execute subscriber-based supplementary services in each switching node 32b-32f without intervention from a host application 22. [00] The illustrative SSL 0 shown in Fig. 2 communicates with the L4 application 2 through the existing host-switch interfaces 2 in the switching nodes 32b-32f. The SSL 0 comprises a Database Interface Service 2, a Service Object Manager (SOM) 4 and one or more instances 6/8 of a Supplementary Service Object (SSO). The database interface service 2 provides connection to an external database (not shown) which stores each subscriber s service profile. Each SSO instance 6 / 8 performs the supplementary services needed during a call. The SOM 4 coordinates the activities of the SSO instances 6 / 8 and exercises overall control over these instances. Specifically it allocates, de-allocate, initializes and addresses each SSO instance 6 / 8. [0021] Fig. 3 is a detailed diagram of two SSO instances 2 / 32. Each SSO instance comprises a Service Control object (SC) 4 / 34, one or more Service Element (SE) objects 6 / 36, an Associate Party Manager object (APM) 8 / 38, Support Services objects / , and Control Services objects / The SC 4 / 34 activates each of the other SSO objects in its SSO instance 2 / 32 on a per-need basis. It also manages interactions between other SSO objects and determines the processing priority for these objects. The SC 4 / 34 is the only SSO object that interfaces with the L4 application 3 and it has access to all L4 services; thus, it services requests from other SSO objects to the L4 application. [0022] Each instance of the SE 6 / 36 implements a single supplementary service for a call and it accesses a suite of standard support services 314 / 364 in order to implement the supplementary service. There may a number of different types of SEs 6 / 36 active for a single call. Each SE object implements a single supplementary service and the SE objects are loosely coupled through the SC. Each SE object defines an interface with the SC for instructing the SC on how to implement a supplementary service. An instance of the SE object is created when it is needed to perform a task and it is deallocated when the task is completed. Specifically, even though an SE 6 / 36 instance is de-allocated, the call may still continue and other SE instances 6 / 36 may be instantiated to perform other supplementary services. The APM 8 / 38 serves as an interface object to other SSO instances 2 / 32. The instance of APM 8 / 38 that initiates a connection with another SSO instance is the "connection owner." The connection owner initiates and terminates communications with the L4 application 3 through its SC 4 / 44. Even though multiple APM instances 8 / 38 may be connected to the L4 application 3, the L4 application 3 can only communicate with one APM 8 / 38 at a time. The communicating APM 8 / 38 is the active APM and all other APMs 8 / 38 connected to the L4 application 3 are held APMs. APMs arc dynamic and may be allocated/de-allocated as need arise. [0023] The SCs 4 / 34, SEs 6 / 36, and APMs 8 / 38 each have support services / These support services / provide the functionality needed to perform each task. An example of a support service is a software object that provides access to external applications such as a Network Protocol Data Intelligence (NPDI) service 3 and 370 and a Dialing Plan Engine (DPE) Application 322 and 372. The NPDI service translates messages in different network signaling protocols. The DPE application applies network processing rules to each call. Network processing rules indicates how calls are processed. The SE 6 / 36 and APM 8 / 38 also have control services / that implement control models for allocating, de-allocating and addressing the SE 6 / 36 and APM 8 / 38 objects. Since multiple instances of the SE 6 / 36 and APM 8 / 38 may be active simultaneously, the control services / directly manage the SE 6 / 36 and APM 8 / 38 services. The control services / are accessed by the SC 4 / 34 in order for the SC 4 / 34 to manage the SE and APM and objects. [0024] Fig. shows the SSL tables and the relationships between them. The L4 application receives calls through a port from the L3 application in a line card. The call is transmitted on two time slots in the switching node. One time slot is used for transmission from the L3 application to the L4 application, and the other time slot is used for retrieving switched data from the L4 application and sending it to the L3 application at another port. The time slots for each call are mapped to trunk groups by using a Time slot to Trunk Group Table 02. A trunk group is a collection of time slots / channels with similar properties. Once a trunk group identifier is obtained, a trunk group table 04 is used to obtain information about that trunk group s properties. For example, the trunk group table 04 includes a field that identifies whether associated ports arc subscriber ports or PSTN ports. Based on the types of port, the SSL derives the calling and called 4

5 7 EP B1 8 parties subscriber profiles, which identify the available supplementary services and ultimately defines which SSO objects may be executed. [002] For each PSTN trunk group, the trunk group table 04 contains profile identifiers common to all calls involving subscribers connected to that PSTN. The PSTN trunk group profile identifier is used by the SSL to obtain a record from a SSL Profile table 06. For subscribers connected to this system, the SOL obtains subscriber port profile identifiers from the external database and uses them to obtain individual records from the SSL Profile Table 06. Based on the records in the SSL Profile Table 06, the SSL creates the SSO instance and instantiates appropriate objects in the SSO instance. [0026] Fig. 4 is a flow diagram of an incoming call to a line card. At Step 1, the L4 application receives a call through a port from the L3 applications in the line card. The L4 application transmits the call to the SSL, which must identify the trunk groups to which the ports belongs. In Step 2, the SOM maps the time slots to trunk groups by using the Time Slot To Trunk Group table. In Step 3, the SOM identifies the trunk group types from a Trunk Group Table. In Step 4, the SOM checks the trunk group types to determine whether the port is a PSTN port or a subscriber port. If the port is a PSTN port, the SOM obtains a profile ID from the trunk group in Step. If the port is a subscriber port, the SOM accesses the external database to obtain the profile ID in Step 6. In Step 7, the SOM maps the profile ID to a record in the SSL profile table. The record identifies which objects in the SSO instance must be activated. In Step 8, the SOM creates an SSO instance that matches the SSL profile table record. In Step 9, the SOM invokes the appropriate objects in the SSO instance. [0027] Since the SSL is separated from the L application and each object in an SSO instance performs a specific task, when the processing requirements for the supplementary services change, the system operator only has to change the SSO object that is affected by the new processing requirements. For example, the system operator may modify a supplementary service by changing only the service element object that implements that service. Moreover, each time a new supplementary service is added, the system operation may only have to add the service element object that implements the supplementary service. Since the SE object for each supplemental service defines its interface with the SC object, the system operator may customized or introduce new Supplementary services without software downloaded from the host and the risk of introducing processing errors that effects other areas in the L4 application is greatly reduced. Claims 1. A switching system () characterized by: A) a plurality of switching nodes (32) each of which contains: 1. means for executing a programmable Layer 4 software application (36) including means for performing call-processing operations defined by a system operator, and 2. line cards with ports for connections between the system and one or more external networks; B) means for executing Layer 3 applications in the line cards having means for exchanging data between the switching system and an external network; C) an internal network interconnecting the switching nodes for conveying switched telecommunications data between them; D) a host computer (24) that includes means for executing a Layer software application (22) configured to exercise supervisory control over the switching nodes; E) a host network (26) for linking the host computer and the switching nodes for supervisory and informational communications; means for executing a supplementary services application (0) in each switching node for the development and execution of supplementary services for each call processed in the switching system wherein the means for executing the supplementary services application comprises: A) means for providing a database interface service (332) for connection to an external database configured to store subscriber s profiles for each call processed node in the switching system; means for instantiating at least one instance of a supplementary services object (2) in each switching node for implementing supplementary services identified in the subscriber s profile and wherein the means for instantiating each instance of the supplementary services object comprises: A) means for instantiating at least one service element object configured to implement a supplementary service; B) means for instantiating an associate party manager object (8) configured to interface with other instances of the supplementary services object; C) means for instantiating a service control object (4) for managing other objects in the supplementary services object instance and serving as the interface between these objects and the Layer 4 application;

6 9 EP B1 D) means for instantiating support services objects (314) for providing the functions needed by the service element object, the associate party manager object, and the service control object to perform their respective tasks; E) means for instantiating control services objects (3) configured to implement control models for allocating, de-allocating and addressing the service element object and the associate party manager object; F) means for instantiating a service object manager (4) configured to exercise overall control over the supplementary services object instances; G) means (2) for communicating and passing information between: 1. the Layer 4 application and the supplementary services application, and 2. the Layer application and the supplementary services application A switching node (32) characterized by: A) means for executing a programmable Layer 4 software application (36) including means for performing call-processing operations defined by a system operator, the means for executing the Layer 4 application comprising: 1. an interface to a Layer software application executing on a host computer and configured to exercise supervisory control over the switching node, and 2. an interface to Layer 3 applications; B) line cards with ports for connections between the switching node and one or more external networks and/or subscribers, said line cards comprise means for executing Layer 3 applications having means for exchanging data between the switching node and an external network and/or subscriber; 2. The switching system of claim 1 further characterized in that the line cards include means for making connections to subscribers and the external database includes means for storing a subscriber profile for each subscriber and each external network. 3. The switching system of claim 1 further characterized in that the means for executing the supplementary services application further comprises: A) a time slot table (02) for associating time slots for a call with a trunk group; B) a trunk group table (04) for obtaining information about trunk group s properties; and C) a profile table (06) for obtaining records with subscribers profiles, and means (12) for associating a record in the profile table with the trunk group. 4. The switching system of claim 3 further characterized in that the trunk group table comprises profile identifiers for trunk groups associated with external networks, the profile identifiers are associated with records in the profile table.. The switching system of claim 4 further characterized in that the supplementary services application is configured to create and execute an instance of the supplementary service object that corresponds with the subscriber profile records. 6. The switching system of claim further characterized in that the supplementary services application and the Layer application are configured to communicate with the Layer 4 application through the same interface means for executing a supplementary services application (3) for the development and execution of supplementary services for each call processed in the switching system wherein the means for executing the supplementary services application comprises: A) means for providing a database interface service (332) for connection to an external database configured to store subscriber s profiles for each call processed in the switching node; means for instantiating at least one instance of a supplementary service object (32) for implementing supplementary services identified in the subscriber s profile and wherein the means for instantiating each instance of the supplementary services object comprises: A) means for instantiating at least one service element object configured to implement a supplementary service; B) means for instantiating an associate party manager object (8) configured to interface with other instances of the supplementary services object (32); C) means for instantiating a service control object (4) for managing other objects in the supplementary services object instance and serving as the interface between these objects and the Layer 4 application; D) means for instantiating support services objects (316) for providing the functions needed by the service element object, the associate party manager object, and the service control object to perform their respective tasks; 6

18 EP B1 REFERENCES CITED IN THE DESCRIPTION This list of references cited by the applicant is for the reader s convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard. Patent documents cited in the description US A [0002] WO A [0009] EP A [00] Non-patent literature cited in the description A Concurrent Object-Oriented Switching Program in Chill. MARUYAMA et al. IEEE Communications Magazine. vol. 29, [0011] 18

RULE 5 - SERVICE OF DOCUMENTS General Rules for Manner of Service Notices of Application and Other Documents 5.01 (1) A notice of application or other document may be served personally, or by an alternative

Rational ClearCase or ClearCase MultiSite Version 7.0.1 Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Product Overview IBM Rational

Phoenix A.M.D. International Inc. - Claim Procedures, Timelines & Expectations Timelines & Expectations 1. All telephone messages and e-mail correspondence is to be handled and responded back to you within

Promotion of bio-methane and its market development through local and regional partnerships A project under the Intelligent Energy Europe programme Contract Number: IEE/10/130 Deliverable Reference: W.P.2.1.3

Page 1 of 6 European Aviation Safety Agency EASA SPECIFIC AIRWORTHINESS SPECIFICATION for as specified in Section I This Specific Airworthiness Specification is issued in accordance with Regulation (EC)

Paxton ins-20605 Net2 desktop reader USB 1 3 2 4 1 2 Desktop Reader The desktop reader is designed to sit next to the PC. It is used for adding tokens to a Net2 system and also for identifying lost cards.

Sun ONE Application Server Platform Summary Version 7, Update 3 Part Number 817-5602-10 February 2004 This document provides the specifics on supported platform components for the Sun Open Net Environment

QUICK START GUIDE for the LiftMaster Internet Gateway Before Starting Before starting STOP you MUST have: a router active internet connection internet gateway serial number Look at the label on the bottom

Pursuant to subsection 12(1) of the Archives Act, the commissioner in Executive Council orders as follows: 1. The annexed regulations respecting Records Management are hereby made and established. 2. The

eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME Agenda What do we have today? What are our plans? What needs to be solved! What do we have today?

PLEASE NOTE This document, prepared by the Legislative Counsel Office, is an office consolidation of this regulation, current to December 14, 2013. It is intended for information and reference purposes

OUTGOing Local Calling Area MAP * montreal, pq Outgoing Local Calling Area Outgoing calling is when you place a call on your wireless device. Your Outgoing Local Calling Area is determined by your physical

INTRODUCTION: Technical Service Bulletin June 25, 2009 Title: M.I.L. "ON" DTC P0AC0, P0AF, P0A7F, AND/OR P0AFA Models: 04-09 Prius Some vehicles may exhibit a M.I.L. ON condition with one or more of the

GRAPHIC STANDARDS MANUAL CHARTE GRAPHIQUE This Graphic Standards Manual is aimed at the relays of the Europe Direct information network. They are members of a single family dedicated to the same aim: the