CA2312325C - Method and system for media connectivity over a packet-based network - Google Patents

Method and system for media connectivity over a packet-based network Download PDF

Info

Publication number
CA2312325C
CA2312325C CA002312325A CA2312325A CA2312325C CA 2312325 C CA2312325 C CA 2312325C CA 002312325 A CA002312325 A CA 002312325A CA 2312325 A CA2312325 A CA 2312325A CA 2312325 C CA2312325 C CA 2312325C
Authority
CA
Canada
Prior art keywords
call agent
call
agent cluster
indicator
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA002312325A
Other languages
French (fr)
Other versions
CA2312325A1 (en
Inventor
Mauricio Arango
Louis Cahl
Michael J. Cook
Thomas C. Ely
Christian Huitema
Frederick Obrock
Darek A. Smyk
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telcordia Licensing Co LLC
Original Assignee
Telcordia Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telcordia Technologies Inc filed Critical Telcordia Technologies Inc
Publication of CA2312325A1 publication Critical patent/CA2312325A1/en
Application granted granted Critical
Publication of CA2312325C publication Critical patent/CA2312325C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/06Arrangements for interconnection between switching centres using auxiliary connections for control or supervision, e.g. where the auxiliary connection is a signalling system number 7 link
    • H04M7/063Arrangements for interconnection between switching centres using auxiliary connections for control or supervision, e.g. where the auxiliary connection is a signalling system number 7 link where the telephone network is a network other than PSTN/ISDN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/12Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
    • H04M7/1205Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
    • H04M7/1245Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks where a network other than PSTN/ISDN interconnects two PSTN/ISDN networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0029Provisions for intelligent networking
    • H04Q3/0045Provisions for intelligent networking involving hybrid, i.e. a mixture of public and private, or multi-vendor systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/563Signalling, e.g. protocols, reference model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5663Support of N-ISDN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6472Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6475N-ISDN, Public Switched Telephone Network [PSTN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6486Signalling Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/12Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
    • H04M7/1205Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
    • H04M7/126Interworking of session control protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/12Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
    • H04M7/1205Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
    • H04M7/128Details of addressing, directories or routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/12Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
    • H04M7/1205Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
    • H04M7/129Details of providing call progress tones or announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13034A/D conversion, code compression/expansion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13176Common channel signaling, CCS7
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13196Connection circuit/link/trunk/junction, bridge, router, gateway
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13296Packet switching, X.25, frame relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13388Saturation signaling systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

Methods and systems for a distributed scalable hardware independent system that supports multiple functions regarding management and support of communications over a packet-based network. The communications supported by these methods and systems include, but are not limited to, Voice Over Internet Protocol ("VOIP"), voice over Asynchronous Transfer Mode ("ATM"), video conferencing, data transfer, telephony, and downloading video or other data.
These methods and systems use a call agent, which is composed of various objects distributed along a CORBA software bus, for exercising call management over two endpoints communicating over a packet-based network.

Description

METHOD AND SYSTEM FOR MEDIA CONNECTIVITY
OVER A PACKET-BASED NETWORK
BACKGROUND OF THE INVENTION
The present invention relates generally to communications, and more particularly, to a method and system for managing media sessions.
The telecommunications industry is pushing to develop effective systems for implementing voice-based communications over packet-based networks, particularly voice over Internet Protocol ("IP"). The H.323 protocol standards represent one such attempt, but suffer from several disadvantages.
In particular, these standards require a logical data connection between network elements, which limits flexibility, scalability and efficiency.
Therefore, it is desirable to have a method and system for overcoming the disadvantages of conventional voice over packet-based network systems.
DESCRIPTION OF THE INVENITON
Accordingly, the present invention is directed to a communication system that substantially obviates one or more of the problems due to limitations and disadvantages of the prior art.

In accordance with the purposes of the invention, as embodied and broadly described herein, the invention comprises a packet-based network, a first subscriber unit, a first media control device connecting the first subscriber unit to the packet-based network, a second subscriber unit, a second media control device connecting the second subscriber unit to the packet-based network, and a call agent. The call agent of this embodiment is a device for managing communications between the first and second subscriber units over the network, and a device for sending and/or receiving SS7 signaling information.
In another aspect, the invention comprises a first subscriber unit coupled to a network through a first media control device, a second subscriber unit coupled to the network through a second media control device, and a call agent. The call agent of this embodiment includes a first call agent cluster coupled to the first subscriber unit through a media control device. The first call agent cluster includes a device for translating information received from the first media control device in a first protocol into a common protocol, a device for communicating with a second call agent cluster using the common protocol, a device for translating the information in the common protocol into the first protocol, and a device for controlling the first media control device for managing a media session between the first subscriber unit and the second subscriber unit over the network.
In another aspect, the invention comprises a method of managing communications between a first subscriber unit and a second subscriber unit over a network, wherein this method includes the call agent sending and/or receiving SS7 signaling information regarding management of communications SUBSTITUTE SHEET (RULE 26) over a packet-based network, the call agent managing communications between the first and second subscriber units over the nefinrork, and the first and second subscriber units communicating over the network.
In another aspect, the invention comprises a method of managing communications between a first subscriber unit and a second subscriber unit.
This method comprises the steps of a first media control device coupled to the first subscriber unit transmitting information in a first protocol to a first call agent cluster regarding establishing a media session with the second subscriber unit over a packet-based network. The first call agent cluster translates the information in the first protocol to a common protocol and sets up a connection between the first call agent cluster and a second call agent cluster. The first call agent cluster and the second call agent cluster exchange information using the common protocol, the first call agent cluster translating information in the common protocol to the first protocol. The first call agent cluster transmits the information in the first protocol to the first media control device coupled to the first subscriber unit. The second call agent cluster translates information in the common protocol to a second protocol, and transmits the information in the second protocol to a second media control device coupled to the second subscriber unit. The first subscriber unit and the second subscriber unit then exchange information over the network.
In accordance with one aspect of the present invention there is provided a communication system for providing local and long distance telephone service over a packet based network to telephone subscribers connected to circuit switched switching offices, said system comprising: a plurality of gateways including trunk gateways connecting the packet based network to individual ones of the switching offices, residential gateways connected to subscriber telephones, and SS7 gateways connected to individual ones of the switching offices; and a service control system including: a plurality of call agent clusters, each of said gateways being connected to one of said call agent clusters, one of said call agent clusters serving as an ingress call agent cluster and another of said call agent clusters serving as an egress call agent cluster for a specific communication to be set up through the packet based network between a calling and a called telephone subscriber, and a software bus interconnecting the ingress call agent cluster receiving information from the calling subscriber and the egress call agent cluster associate with the called subscriber, said egress call agent cluster communicating to the gateway element associated with the called subscriber for establishing the connection over the packet based network.
In accordance with another aspect of the present invention there is provided a method for establishing communication for local and long distance telephone service over a packet based network between a calling and a called subscriber connected to circuit switched switching systems, the calling and called subscribers being connected to a service control system by gateways and said service control system including a plurality of call agent clusters, and said method comprising the steps of: transmitting information from a calling subscriber through a gateway to first call agent cluster, said information regarding establishing a communication with a called subscriber; setting up a connection in said service control system between said first call agent cluster and a called agent cluster associated with the calling subscriber, said setting up the connection comprising the first call agent cluster transmitting information to a routing engine and the routing engine determining a second call agent cluster associated with the called subscriber from the plurality of called agent clusters in the service control system and transmitting the information to the determined second call agent cluster; and thereafter exchanging communication over the packet network between the calling and called subscribers.
The description of the invention and the following description for carrying out the best mode of the invention should not restrict the scope of the claimed invention. Both provide examples and explanations to enable others to practice the invention. The accompanying drawings, which form part of the description for carrying out the best mode of the invention, show several embodiments of 3a the invention, and together with the description, explain the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram of the IGCS system according to one embodiment of the invention.
Fig. 2 is a diagram of a call agent according to one embodiment of the invention.
Fig. 3 shows connectivity between two TGWs over a packet-based network according to one embodiment of the invention.
Fig. 4 shows connectivity between a RGW and a TGW over a packet-based network according to one embodiment of the invention.
Fig. 5 shows connectivity between two RGWs over a packet-based network according to one embodiment of the invention.
Fig. 6 is a diagram of a call agent cluster for RGW connection management and a call agent cluster for TGW connection management according to one embodiment of the invention.
Fig. 7 is a diagram of call models supported by call agent clusters according to one embodiment of the invention.
Fig. 8 is a diagram of calf models supported by a traditional switch.
Fig. 9 is a flow diagram for RGW - RGW connection set-up according to one embodiment of the invention.
Fig. 10 is a flow diagram for the call agent cluster supporting RGW - RGW
connectivity according to one embodiment of the invention.

SUBSTITUTE SHEET (RULE 26) Fig. 11 is a flow diagram for RGW - RGW connection tear down according to one embodiment of the invention.
Fig. 12 is a flow diagram for TGW - TGW connection set-up according to one embodiment of the invention.
Fig. 13 is a flow diagram for TGW - TGW connection tear down according to one embodiment of the invention.
Fig. 14 is a flow diagram for RGW - TGW connection set-up according to one embodiment of the invention.
Fig. 15 is a flow diagram for RGW - TGW connection tear down according to one embodiment of the invention.
Fig. 16 is a flow diagram for TGW - RGW connection set-up according to one embodiment of the invention.
Fig. 17 is a flow diagram for TGW - RGW tear down according to one embodiment of the invention.
Fig. 18 is a flow diagram of a service broker for connection set-up according to one embodiment of the invention.
BEST MODE FOR CARRYING OUT THE INVENTION
Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings.
Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
In a preferred embodiment of the invention, an Internet Gateway Call Server ("IGCS") is a distributed scalable hardware independent system that supports multiple functions regarding management and support of SUBSTITUTE SHEET (RULE 26) communications over a packet-based network. The communications supported by the IGCS include, but are not limited to, Voice Over Internet Protocol ("VOIP"), voice over Asynchronous Transfer Mode ("ATM"), video conferencing, data transfer, telephony, and downloading video or other data. These communications will be referred to as media sessions.
To accommodate various possible future requirements, the IGCS may be divided into separate components, each of which may or may not be present in a particular IGCS deployment. As shown in Fig. 1, these components include a call agent 160, SS7 gateways 170, an accounting gateway 182, and an announcement server 184. The SS7 gateway 170 within a preferred embodiment of the IGCS allows the IGCS to attach to and be part of the existing PSTN while other components within the system may interface with packet-based media devices. In a preferred embodiment of this system, a call agent 160 sets-up a connection between subscriber units 110 and 130 over a network 150. In a preferred embodiment, the subscriber units 110 and 130 are telephones, and the network is an IP network 150. Although, the invention is not limited to this application, and the subscriber units can be any user device for sending and receiving information. Also, the network can be any packet-based network capable of carrying data information, including an ATM network.
Media control devices 120 and 140 each connect a subscriber unit, 110 or 130, respectively, to the network 150. For supporting voice over Internet protocol (VOIP) communications, the media control devices 120 and 140 are termed VOIP gateways and in a preferred embodiment can be either a Trunking Gateway ("TGW") 140 or a residential gateway ("RGW") 120. A TGW 140 connects a Public Switched Telephone Network {"PSTN") 180 to the network SUBSTITUTE SHEET (RULE 26) 150, and thus provides the subscriber unit 130 with a connection to the network 150.
For this type of connectivity, signaling information, such as call-set up, tear-down, and management signaling, i.e., SS7 signaling, is sent through the PSTN 180 to an SS7 gateway 170, which connects the SS7 signaling information to the call agent 160. The call agent uses this information to set-up, tear-down, or manage the connection by sending messages to the TGW 140.
In a preferred embodiment, these messages are Simple Gateway Control Protocol ("SGCP") messages, however, other protocols may be supported depending on the type of media control device the call agent is supporting.
After the call agent 160 sets-up a connection for the subscriber unit 130 over the network 150, information is exchanged between the subscriber units 110 and 130 over the network through their respective gateways 120 and 140.
Thus, in a preferred embodiment, the call agent 160 is used for call management and the information exchanged between the subscriber units 110 and 130 does not pass through the call agent 160. In a preferred embodiment, the media control devices use Real Time Protocol ("RTP") and Real Time Control Protocol ("RTCP") to communicate over an IP network.
In another preferred embodiment, the media control devices use an appropriate ATM Adaptation Layer ("AAL") type to communicate over an ATM
network.
An RGW 120 provides a traditional analog interface to the network.
RGWs may include "set-top boxes." Unlike a TGW, RGWs both send and receive signaling information to/from the call agent 160.
SUBSTITUTE SHEET (RULE 26) In addition, the call agent of a preferred embodiment can communicate with various media control devices controlling various other types of subscriber units. For example, as shown in Fig. 1, an H.323 gateway 172 may be used as a media control device to provide an interface between the call agent and H.323 clients 174.
The call agent objects, illustrated in Fig. 2, consist of call agent clusters 210, an ingress service broker 220, an egress service broker 230, and a network resource database 240. These objects are distributed along a Common Object Request Broker Architecture ("CORBA") software bus 250.
CORBA allows applications to communicate with one another no matter where they are located or who has designed them, thus allowing for flexible placement of them to suit considerations of cost, performance, and availability.
Call agent clusters are logical groupings of call agent components, and handle the specifics of call management. Their two central functions are exercising control over a media control device, which in a preferred embodiment is a VOIP gateway, and translating messages from one protocol, such as SGCP or ISDN User Part ("ISUP"), into a protocol that is common to all objects within the call agent. In a preferred embodiment, this common protocol is the Multi Call Agent Protocol ("MCAP") developed by Bellcore, which is defined using the CORBA Interface Definition Language ("IDL"). A script for this protocol is provided in Appendix A.
The detailed operation of a call agent cluster varies depending on the type of media control device it manages. The operations of call agent clusters for managing RGWs and TGWs are discussed later.

SUBSTITUTE SHEET (RULE 26) In a preferred embodiment, there are three possible connection types between subscriber units where the subscriber unit is connected to the network via a TGW or RGW. The first connection type is where both subscriber units are connected to the network via a TGW, as illustrated in Fig. 3. The second is where one subscriber unit is connected to the network via an RGW and another is connected to the network via a TGW, as illustrated in Fig. 4. The third connection type is where both subscriber units are connected to the network via RGWs as illustrated in Fig. 5. These figures are discussed in more detail below.
Fig. 3 illustrates the relevant system components for supporting communications between two subscriber units both connected to the network 150 via a TGW (a TGW-TGW connection). These components preferably include TGWs 310 and 312, an ingress call agent cluster 314, an egress call agent cluster 316, an ingress service broker 318, an egress service broker 320, a network resource database 322, SS7 gateways 326 and 328, and a CORBA
software bus 324. Flow diagrams for connection set-up and tear down for this type of connection are shown in Figs. 12 and 13, respectively, which are discussed later.
Fig. 4 illustrates the relevant system components for supporting communications between two subscriber units where one is connected to the network 150 via an RGW and the other via a TGW. For this embodiment the relevant components include an RGW 410, a TGW 412, an ingress call agent cluster 414, an egress call agent cluster 416, an ingress service broker 418, an egress service broker 420, a network resource database 422, and a CORBA
software bus 424. Flow diagrams for connection set-up and tear down for this SUBSTITUTE SHEET (RULE 26) type of connection are shown in Figs. 14 and 15, respectively, which are discussed later.
Fig. 5 illustrates the relevant components where both subscriber units are connected to the 150 network via an RGW. These components preferably include RGWs 510 and 512, an ingress call agent cluster 514, an egress call agent cluster 516, an ingress service broker 518, an egress service broker 520, a network resource database 522, and a CORBA software bus 524. Flow diagrams for connection set-up and tear down for this type of connection are shown in Figs. 9 and 11, respectively, which are discussed later.
The objects comprising a call agent cluster vary depending on the type of media control device managed by the cluster. Fig. 6 provides a top level diagram of the objects of a generic call agent cluster for managing a TGW 640 and a call agent cluster for managing an RGW 660. These objects include a message queue 610 and 620, an endpoint manager 614 and 624, a state machine 616 and 626, and a media control device manager 618 and 628. In addition, the call agent cluster may also contain a message handler 612, which is used in TGW connection management. These components are distributed along a CORBA software bus 630.
The message queue 610 and 620 of a call agent cluster temporarily stores messages received from a media control device 426 or 410, respectively.
Each call agent cluster preferably contains at least one message queue, and different queues are used for managing different types of media control devices.
For example, there are different message queues for RGW and TGW
connection management. The message queue for TGW connection management is referred to as an ISUP message queue, and the message SUBSTITUTE SHEET (RULE 26) queue for RGW connection management is referred to as an SGCP message queue.
The operation of a message queue for TGW connection management consists of an SS7 gateway 426 sending iSUP messages to the queue 610.
The queue stores the messages and then forwards them to a message handler 612 on a first in first out basis. For RGW connection management, an RGW
410 sends SGCP messages to the queue 620. The messages are stored and then transmitted directly to an endpoint manager 624. As such, a call agent cluster for RGW connection management need not contain a message handler.
The endpoint manager 614 and 624 is responsible for managing the state of each call, and each call agent cluster contains at least one. The endpoint manager 614 and 624 has two principal functions. The first is receiving messages from the various components of the system, such as message queues 610 and 620, service brokers 418 and 420 and state machines of peer call agent clusters 616 and 626.
The second principal function of the endpoint manager 614 and 624 is storing information on the state of each connection. The endpoint manager 614 and 624 preferably stores this information in a construct called the connection set descriptor. This construct is sufficiently generic to contain information associated with the various possible types of endpoints, such as TGWs and RGWs. The contents of the connection set descriptor for the preferred embodiment are illustrated in the following table:

SUBSTITUTE SHEET (RULE 26) Field ~ Data Descri tion Source State Enumeration An enumeration of states indicating the cal source status' e. . for SS7, a blocked circ Connection Call ID A unique value used to correlate descripto between the source and tar et Call A ent Source EndpointEnumeration An enumeration of state indicating the call status, e.g., for SS7, waiting for Address Com lete Messa a "ACM" .

Timestamp Used by an independent thread within the Endpoint Manager to determine if the allotted time has expired for next state change; e.g. for SS7, the receipt of an AC

in response to sending an Initial Address Messa a "IAM" .

Media Control Hardware specific source media Devic control Information device information; e.g., the compression al orithm in use.

Target EndpointClC Source ID of target endpoint.

Telephone #

Announcement ID

IOR Target Endpoint Manager Interoperable Ob'ect Reference "IOR" .

Telephone # Telephone number associated with the tar et end oint.

Media Control Hardware specific target gateway Devic Information information, e.g., the compression algorith~

in use.

The above summary serves as a guideline that can be specialized for use with specific types of endpoints.
The call agent cluster preferably stores these connection set descriptors in a connection set descriptor manager 670 and 680, an independent object visible only to the endpoint manager. In a preferred embodiment, the storage is in memory with backups written to disk, and there is one connection set descriptor manager per endpoint manager. Although, in other embodiments, there can be one per call agent cluster.
The endpoint manager 614 and 624 upon receiving a message, determines the connection set descriptor associated with the connection, SUBSTITUTE SHEET (RULE 26) determines the appropriate state machine and then forwards both the connection set descriptor and message to the state machine 616 and 626.
State machines 616 and 626, based on the received message and connection set descriptor, determine an associated action (transition) to take using a call model. The call model used by the state machine 616 and 626 depends upon the type of media control device that the call agent cluster exercises control over. For example, a call agent cluster uses an SGCP
ingress/egress call model for RGW connection management, while an ISUP call model would be used for TGW connection management. Appendix B provides a call model script for a preferred embodiment.
As shown in Fig. 7, each call agent cluster preferably supports a half call model on either the ingress or egress side of the call. That is, the ingress call agent cluster 710 supports an ingress call model 720, and the egress call agent cluster 730 supports an egress call model 740. In contrast, as shown in Fig.
8, in traditional telephony, both the ingress switch 810 and egress switch 830 support both an ingress call model 820 and 840 and an egress call model 822 and 842, respectively.
After the action is determined, it is taken. This action can involve a sequence of interactions and include transmitting messages to a gateway manager 618 and 628, service broker 418, or an endpoint manager of a peer call agent cluster 614 and 624. In a preferred embodiment, these messages are transmitted over a CORBA software bus using the MCAP protocol.
The state machine can be described as "stateless," meaning that the state machine has no independent knowledge of the state of a connection. It preferably receives this information from the endpoint manager as part of the SUBSTITUTE SHEET (RULE 26) connection set descriptor. This permits an endpoint manager to work with a number of different state machines over the course of a connection for management purposes. In addition, it permits the endpoint manager to work with the state machines of different network service providers that may perform unique functions.
The media control device manager 618 and 628 preferably interacts with the state machine 616 and 626 to manage the respective media control device.
It accomplishes this by receiving MCAP messages from the state manager 616 and 626, translating them to the appropriate protocol, and transmitting SGCP
messages to the respective media control device 410 or 412, respectively.
In addition to the above components, the call agent cluster may also contain a message handler. This component is preferably used for TGW
connection management, and there is no counterpart for RGW connection management. The principal function of the message handler is determining which of a plurality of endpoint managers should service the call. Thus, the message handler receives an 1SUP message from the message queue, determines which endpoint manager should receive the message, and forwards the message to this endpoint manager.
From an Object Oriented ("00") perspective, the implementation of similar objects, e.g. the RGW and TGW Message Queues, are candidates for inheritance, meaning the objects inherent to the call agent cluster are designed to be generic in structure and can be reused for handling different protocols.
In this way, the implementation can take advantage of the benefits gained from identifying common behavior and design patterns.

SUBSTITUTE SHEET (RULE 26) Fig. 9 provides a flow diagram for describing the operation of the call agent for setting up a connection between end-users connected to the network via RGWs, such as illustrated in Fig. 5. The process is initialized by the RGW
(Step 101 ). The ingress call agent cluster and the RGW then exchange several messages (Step 102). These messages may include messages to play a dial-tone, collect digits, and enter receive mode. The ingress call agent cluster then sends an MCAP message to the egress call agent cluster regarding setting up a connection between the call agent clusters (Step 103). The internal operations of the call agent clusters are discussed later.
The egress call agent cluster then instructs, using SGCP, the RGW to setup a connection in send/receive mode and start a ringing signal in the subscriber unit (Step 104). After which, the egress call agent cluster sends an MCAP message to the ingress call agent cluster indicating that it created a connection (Step 105). The ingress call agent cluster then instructs, using SGCP, the RGW to start a ringing tone in the subscriber unit (Step i Ofi).
When the call is answered, the RGW sends an off-hook message to the egress call agent cluster (Step 107), which is forwarded, using MCAP, to the ingress call agent cluster {Step 108). After which, the ingress call agent cluster, using SGCP, instructs the RGW to enter send/receive mode (Step 109).
Fig. 10, provides a more detailed flow diagram for describing the internal operations of the ingress call agent cluster for the above described RGW to RGW connection set-up. An RGW sends an SGCP message to the message queue of the ingress call agent cluster indicating that it wishes to establish a connection with a second media control device (Step 201 ). This message is placed in the queue.
1s SUBSTITUTE SHEET (RULE 26) The message is then passed to the endpoint manager (Step 202) on a first in first out of the queue basis. The endpoint manager then transmits the connection set descriptor and message to the state machine (Step 203).
The state machine then uses the received message and connection set descriptor to take a specified action, determined by the applicable call model.
In this case, the specified action is sending an MCAP message to the endpoint manager of the egress call agent cluster (Step 204). It should be noted that a service broker is used to establish the connection between call agent clusters;
the operations of this process are discussed later.
The state machine of the egress call agent cluster then sends an MCAP
message to the endpoint manager of the ingress call agent cluster indicating that it set-up a connection with the RGW (Step 205). The endpoint manager forwards this message and the connection set descriptor to the state machine {Step 206). The state machine determines which action to take using this received information and the applicable call model. In this case, the state machine sends an MCAP message to the gateway manager instructing it to instruct the RGW gateway to start ringing (Step 207). After which, the gateway manager sends an SGCP message to the RGW to start ringing (Step 208).
When the call is answered, the state machine of the egress call agent cluster sends a message to the endpoint manager of the ingress call agent cluster indicating that the phone on the egress side is off-hook (Step 209).
The endpoint manager then forwards this message along with the associated connection set descriptor to the state machine (Step 210).
The state machine then determines the action to take using this received information. In this case, t1;2 state machine transmits an MCAP message to the lb SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98l25760 gateway manager indicating that the phone has been answered (Step 211 ).
The gateway manager then forwards, using SGCP, this message to the RGW
(Step 212).
In a preferred embodiment, call agent cluster objects may be shadowed.
For example, a call agent cluster can contain an idle second state machine for use in the event the first state machine fails. Because a CORBA bus is used in the preferred embodiment and state machines are stateless, this second state machine need not share the same hardware environment as the primary object.
Fig. 11 provides a flow diagram for tearing down a connection between RGWs. The process is initialized when an RGW sends an on-hook message to the ingress call agent cluster (Step 301 ), which is received by the message queue of the call agent cluster and forwarded to the state machine via the endpoint manager. The ingress call agent cluster then instructs the RGW to tear down the connection (Step 302). After which, the ingress call agent cluster sends an MCAP message to the egress calf agent cluster (Step 303), which instructs, using SGCP, its RGW to tear down the connection (Step 304). The egress call agent cluster then sends a message to the ingress call agent cluster indicating that the above action was taken (Step 305).
Fig. 12 provides a flow diagram for setting up a TGW to TGW connection.
The process is initialized by a switch sending an Initial Address Message ("IAM") message to the ingress call agent cluster indicating it wishes to establish a media session between two subscriber units (Step 401 ). The ingress call agent cluster then instructs, using SGCP, the TGW on the ingress side to set up a connection in receive mode. (Step 402) The ingress call agent then forwards an MCAP message indicating this information to the egress call SUBSTITUTE SHEET (RULE 26) agent cluster (Step 403). After which, the egress call agent cluster instructs, using SGCP, the TGW to set-up a connection in send/receive mode (Step 404).
The egress call agent cluster then sends an IAM message to the switch (Step 405). After which, the switch sends an Address Complete Message ("ACM") to the egress call agent cluster (Step 406). The egress call agent cluster then sends an MCAP message to the ingress call agent cluster indicating that it took the requested action (Step 407). The ingress call agent cluster then sends an ACM to the switch (Step 408). After which, the switch sends an Answer Message ("ANM") to the egress call agent cluster (Step 409). The egress call agent cluster then sends an MCAP message to the ingress call agent cluster indicating that the call has been answered (Step 410). After which, the ingress call agent cluster instructs the TGW to enter send/receive mode (Step 411 ).
The ingress call agent cluster then sends an ANM message to the switch (Step 412).
Fig. 13 provides a flow diagram for tearing down a TGW to TGW
connection. The process is initialized by a switch sending a Release Message ("REL") to the ingress call agent cluster (Step 501 ). The ingress call agent cluster then instructs the TGW to tear down the connection (Step 502). After which, the ingress call agent cluster sends an MCAP message to the egress call agent cluster (Step 503). The egress call agent cluster then instructs the TGW to tear down the connection (Step 504). The egress call agent cluster then sends an REL to the switch (Step 505). The switch then sends a Release Confirm ("RLC") to the egress call agent cluster (Step 506). The egress call agent cluster sends an MCAP message to the ingress call agent cluster 1s SUBSTITUTE SHEET (RULE 26) indicating that the connection has been released (Step 507). After which, the ingress call agent cluster sends an RLC message to the switch.
Fig. 14, provides a flow diagram for setting-up a connection between an RGW and a TGW. The process is initialized by the RGW and ingress call agent cluster exchanging several SGCP messages relating to setting up a connection.
(Step 601 ). These messagss include messages related to playing a dial-tone, collecting digits and entering receive mode. The ingress call agent cluster then sends an MCAP message to the egress call agent cluster indicating it wishes to set-up a media session (Step 602). The egress call agent cluster then instructs the TGW to set up a connection in send/receive mode (Step 603). After which, the egress call agent cluster constructs an IAM and sends it to the switch (Step 604). The switch then sends an ACM to the egress call agent cluster (Step 605). The egress call agent cluster then sends an MCAP message to the ingress call agent cluster indicating that it took the above action (Step 606).
The ingress call agent cluster then instructs the RGW to start a ringing tone (Step 607). The switch then sends an ANM to the egress call agent cluster (Step 608). After which, the egress call agent cluster sends an MCAP message indicating that the call was answered to the ingress call agent cluster (Step 609). The ingress call agent cluster then instructs the RGW to enter send/receive mode (Step 610).
Fig. 15 provides a flow diagram for tearing down an RGW to TGW
connection. The RGW initializes the process by sending an on-hook message to the ingress call agent cluster (Step 701 ), which instructs the RGW to tear down the connection (Step 702). The ingress call agent cluster then sends an MCAP message to the egress call agent cluster instructing it to tear down the SUBSTITUTE SHEET (RULE 26) connection {Step 703). After which, the egress call agent cluster instructs the TGW to tear down the connection by sending it an SGCP message {Step 704).
The egress call agent cluster then constructs a REL and sends it to the switch (Step 705). After which, the switch sends an RLC to the egress call agent cluster (Step 706). The egress call agent cluster then sends an MCAP
message to the ingress call agent cluster indicating that the connection has been released (Step 707).
Fig. 16 provides a flow diagram for setting up a TGW to RGW connection.
The switch initializes the process by sending an IAM to the ingress call agent cluster (Step 801 ). After which, the ingress call agent cluster instructs the TGW
to set-up a connection in receive mode (Step 802). The ingress call agent cluster then sends an MCAP message to the egress call agent cluster regarding establishing a connection (Step 803). The egress call agent cluster then instructs the RGW to setup a connection in send/receive mode and start a ringing signal (Step 804). After which, the egress call agent cluster sends an MCAP message to the ingress call agent cluster indicating that it took the above action (Step 805). The egress call agent cluster then constructs an ACM and sends it to the switch (Step 806). The RGW then sends an off-hook message to the egress call agent cluster {Step 807). The egress call agent cluster then sends an MCAP message to the ingress call agent cluster indicating that the call was answered. (Step 808). The ingress call agent cluster then instructs the TGW to enter send/receive mode (Step 809). After which, the ingress call agent cluster constructs an ANM and sends it to the switch (Step 810).
Fig. i7, provides a flow diagram for tearing down a TGW to RGW
connection. The switch initializes the process by sending a REL to the ingress SUBSTITUTE SHEET (RULE 26) call agent cluster {Step 901 ). The ingress call agent cluster then instructs the TGW to tear down the connection (Step 902). The ingress call agent cluster then sends an MCAP message to the egress call agent cluster indicating that the connection is to be torn down. (Step 903). The egress call agent cluster then instructs the TGW to tear down the connection (Step 904). The egress calf agent cluster then sends an MCAP message to the ingress call agent cluster indicating that the connection was released (Step 905). After which, the ingress call agent cluster constructs an RLC and sends it to the switch (Step 906).
The call agent uses a service broker for establishing communications between an ingress and egress call agent cluster. When a subscriber unit wishes to establish communications with another subscriber unit, the ingress call agent cluster forwards the information to an ingress service broker. The ingress service broker performs an algorithm for determining the egress service broker for the egress call agent cluster of the subscriber unit it wishes to establish communications with. The egress service broker then performs an algorithm for determining the appropriate egress call agent cluster. The service brokers use routing engines for performing these algorithms, which use a routing table, a look-up table, for determining the appropriate information.
In addition, the routing performs the functions of digit translation and classifying the connection (e.g., is it a 800 call or long distance call).
In a preferred embodiment, the proper execution of the routing engine is assured by, during initialization, loading into a table in a high speed database the egress call agent cluster's endpoint manager's Interoperable Object Reference ("IOR"). In a preferred embodiment, the table points to a relationship SUBSTITUTE SHEET (RULE 26) WO 99/28827 PC'f/US98/25760 between a given endpoint manager's IOR and a route path for a media session.
The routing engine consults with this table and, depending on the number dialed, selects the appropriated endpoint manager's IOR and routes MCAP
messages to it to establish a connection.
Fig. 18 provides a flow diagram for this process. Once a call agent cluster receives a request from a subscriber unit to establish communications with a second subscriber unit, the message is forwarded from an endpoint manager to the state machine, as discussed above (Step 1001 ). The state machine then forwards this request using MCAP to the ingress service broker (Step 1002). The ingress service broker, using a routing engine, determines the appropriate egress service broker and forwards the request to it using MCAP (Step 1003). The egress service broker then, using a routing engine, determines the appropriate egress call agent cluster and, using MCAP, forwards the message to its endpoint manager (Step 1004). After which, the ingress and egress call agent clusters communicate directly with one another (Step 1005).
In a preferred embodiment, a network resource data base stores information regarding the network. This network resource database is coupled to the CORBA bus. As such, the service brokers and call agent clusters can access this database.
In addition to the above described call agent and SS7 gateways, the IGCS may include a call agent manager 186, accounting gateway 182 announcement server 184, and an IGCS management agent 188.
The accounting gateway 182 in a preferred embodiment is a media control device by which start/stop call records are disseminated to a central SUBSTITUTE SHEET (RULE 26) point where they are translated from CORBA into Remote Authentication Dial-In User Service ("RADIUS"), then translated into industry standard BAF records for distribution to back-end billing systems. As shown in Fig. 2, the accounting gateway 182, in a preferred embodiment, communicates with a call agent cluster 210 of a call agent 160.
In a preferred embodiment, the announcement server 184 is a media control device which responds to SGCP messages by playing recorded announcements. As shown in Fig. 2, the announcement server communicates with a call agent cluster 210 of a call agent 160.
The call agent manager 186 is directly responsible for the local management of the call agent, for example: displaying the state of the call agent components, displaying alarms reported by the call agent components and object control, such as shutdown.
The IGCS management agent 188 of a preferred embodiment manages all IGCS components including the call agent clusters, network resource database, accounting gateway and announcement server.
In a preferred embodiment, the overall network management software is capable of displaying usage statistics accumulated in the call agent clusters.
A
call agent of a preferred embodiment is designed to be Simple Network Management Protocol ("SNMP") manageable by any third party SNMP
management software, e.g., HP open view. The architecture allows for SNMP
sets, gets, and traps to be sent to a call agent SNMP agent whose function is the gathering of statistics via CORBA method invocations executed against call agent cluster objects. Also, SNMP sets are handled via method invocations that update data in the call agent cluster.

SUBSTITUTE SHEET (RULE 26) While it has been illustrated and described what are at present considered to be preferred embodiments and methods of the present invention, it will be understood by those skilled in the art that various changes and modifications may be made, and equivalents may be substituted for elements thereof without departing from the true scope of the invention.
In addition, many modifications may be made to adapt a particular element, technique or implementation to the teachings of the present invention without departing from the central scope of the invention. Therefore, it is intended that this invention not be limited to the particular embodiments and methods disclosed herein, but that the invention include all embodiments falling within the scope of the appended claims.

SUBSTITUTE SHEET (RULE 26) Appendix A
The Multi Call Agent Protocol (MCAP) is designed to provide two capabilities:
1. Core information, logically grouped in the following categories:
Session A session ties users (calling party and called party) together, Manageme who are identified by such means as the calling number and nt the called number.
Connection A call is composed of a set of connections, each of which Manageme ties together a pair of Call Agent Clusters. The associated nt resources are keyed by a globally unique ID.
Gateway A Call Agent controls a specific connection on an associated Manageme gateway by exchanging information keyed by a locally nt unique ID.
Routing Routing specific information, e.g. toll-free number Manageme translation.
nt Service Both the calling party and the called party can have specific Manageme services with potential interactions. The Service Execution nt Engine identifies the associated services and determines their application.
Parameter MCAP message specific information; e.g. version.
2. A tunnel for messages of a specific protocol that can be carried as a payload either in a native or a parsed format. The native format is the given octet stream; the parsed format is the representation of the given octet stream in the MCAP definition language.
The following primitive message types can support these capabilities.
MCAP_CRE Create a new connection between Call Agent Clusters.

ATE

EVE Indicate an event that occurs during the MCAP lifetime of a _ connection. This can serve as, for example, NT an acknowledgement or an indication of connection state change.

MCAP DEL Delete an existing connection between Call Agent Clusters.
ETE
MCAP TUN Tunnel, i.e. passthrough, a specific protocol message from NEL one Call Agent Cluster to another without providing other information.

SUBSTITUTE SHEET (RULE 26) Arguably, MCAP_CREATE and MCAP_DELETE can be subsumed by MCAP_EVENT, but it is useful to distinguish these actions.
MCAP TUNNEL is provided to generically accommodate the needs of a specific protocol.
informally, MCAP is summarized as follows:
Infor MCAP Message matio CR MCAP_E MCAP_DE MCAP TU
MCAP

_ VENT LET E NNEL
EATE

Cate gory Sessi Calling on Number Calling Name Called Number Conn Call ID CalllD Call ID Call ID

ection Return Return Address Address Gate Connection Connection way Descriptor Descriptor Routi Parameter ng Service Parameters Paramet Parameter Parameter Parameter er Tunn Protocol Protocol Protocol Protocol el TYPe TYPe TYPe Type Message Message Message Message TYPe TYPe TYPe TYPe Message Message Message Message Notes ~ Italicized items are optional; others are mandatory.
~ The Call ID is a globally unique value defined by the Call Agent that is associated with the connection throughout its duration. It is used as the key to identify the associated resources.
~ The return address is the handle to be used by the receiver to locate the sender in the event that subsequent messaging is needed.

SUBSTITUTE SHEET (RULE 26) . The Connection Descriptor contains the Connection ID, which is locally defined and used by the gateway, and specific Real Time Protocol (RTP) parameters; e.g. encoding method.
~ The tunnel message can be in either parsed or native format.
The initial MCAP version was primarily the result of empirical work done in the development of the Call Agent. This version reflects the next step in addressing challenge presented by rapidly evolving Internet Protocol (IP) Telephony technology.
The formal MCAP reference definition uses the Common Object Request Broker Architecture (CORBA) 2.0 [1 ] [2] Interface Definition Language (IDL) for the high level description and the associated Internet Inter-ORB Protocol (IIOP) for the low-level "wire" encoding. This is similar to the use of Abstract Syntax Notation One (ASN.1 ) [3] [4] and the companion Basic Encoding Rules (BER) [4j [5]: the protocol designer is able to described structured information in a high-level, machine independent language and then mechanically derive the actual encoding.
CORBA is chosen because it is used in the implementation of the Call Agent and has widespread interest and support throughout the industry.
This version of MCAP supports the following tunnel protocols:
~ Simple Gateway Control Protocol (SGCP) [6J.
~ Integrated Services Digital Network User Part (ISUP) [7J.
The complete MCAP IDL is presented in:
~ Appendix A1: MCAP IDL
~ Appendix A2 : VOIP Gateway IDL
~ Appendix A3: Routing IDL
~ Appendix A4: Service IDL
~ Appendix A5: Parameter IDL
~ Appendix A6: SGCP Tunnel IDL
~ Appendix A7: ISUP Tunnel IDL
~ Appendix A8: ISUP Message IDL
References [1 ] CORBA: Architecture and Specification, OMG, 1997.
This covers CORBA V 2.0, which is commonly supported in current SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/257f~0 implementations; e.g. INPRISE VisiBroker; V3.2 (Java). OMG has published V2.2.
[2] A. Vogel & K. buddy, Java Programming with CORBA, 2"d edition, John Wiley & Sons, 1998.
[3] Recommendation X.208, Open systems interconnection: specification of Abstract Syntax Notation (ASN.1), CCITT Blue Book, Fascicle VI1.4, ITU, 1989, pp. 57-130.
[4] D. Steedman, Abstract Syntax Notation One (ASN.1), the Tutorial and Reference, Technology Appraisals, 1993.
[5] Recommendation X.209, Open systems interconnection: specification of Basic Encoding Rules for Abstract Syntax Notation (ASN.1), CCITT
Blue Book, Fascicle Vll.4, ITU, 1989, pp. 131-151.
[6] Arango, M., Huitema, C., Simple Gateway Control Protocol (SGCP), Version 1.0, May 15 '98.
[7] GR-317-CORE, Switching Systems Generic Requirements for Cal!
Control Using the Integrated Services Digital Network User Part (ISDN), Issue 2, Dec. '97.

SUBSTITUTE SHEET (RULE 26) Appendix A1: MCAP IDI.
#include "mcapVoipGateway.idl"
#include "mcapRouting.idl"
#include "mcapService.idl"
#include "mcapParameter.idl"
#include "mcapSgcpTunnel.idl"
#include "mcaplsupTunnel.idl"
module Mcap {
//
// MCAP version //
const string version = "2.0";
//
II tunnel message definition II
enum ProtocolType {
SGCP, ISUP
union TunneIMessage switch {ProtocolType) {
case SGCP: McapSgcpTunnei::SgcpTunneIMessage sgcpTunneIMessage;
case ISUP: McapIsupTunnel::IsupTunneIMessage isupTunneIMessage;
)~
union OptionalTunneIMessage switch (boolean) {
case TRUE: TunneIMessage tunnelMessage;
//
// MCAP message definition //
union OptionaICaIlingName switch (boolean) {
case TRUE: string callingName;
);
union OptionalCalIingEmailAddress switch (boolean) {
case TRUE: string callingEmailAddress;
union OptionalConnectionDescriptor switch (boolean) {

SUBSTITUTE SHEET (RULE 26) case TRUE: McapVoipGateway::ConnectionDescriptor connectionDescriptor;
typedef sequence <McapService::ServiceParameter>
ServiceParameters;
struct McapCreateMessage {
// version string version;
// session data string callingNumber;
OptionaICaIlingName callingName;
string calledNumber;
// connection data string callld;
Object returnAddress;
II gateway data McapVoipGateway::ConnectionDescriptor connectionDescriptor;
// no routing data // service data ServiceParameters serviceParameters;
// parameter data McapParameter::CreateParameter createParameter;
II tunnel data OptionalTunneIMessage tunnelMessage;
struct McapEventMessage {
II version string version;
// no session data // connection data string callld;
Object returnAddress;
// gateway data OptionalConnectionDescriptor connectionDescriptor;
// no routing data SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98I2576_0 // no service data // parameter data McapParameter::EventParameter eventParameter;
// tunnel data OptionalTunneIMessage tunnelMessage;
};
struct McapDeleteMessage {
// version string version;
II no session data // connection data string callld;
/I no gateway data // no routing data // no service data // parameter data McapParameter::DeleteParameter deleteParameter;
// tunnel data OptionalTunneIMessage tunnelMessage;
};
struct McapTunneIMessage {
// version string version;
// no session data // connection data string callld;
// no gateway data // no routing data // no service data // no parameter data // tunnel data TunneIMessage tunnelMessage;

SUBSTITUTE SHEET (RULE 26) interface Mcap~istener {
void mcapCreate(in McapCreateMessage msg);
void mcapEvent(in McapEventMessage msg);
void mcapDelete(in McapDeleteMessage msg);
void mcapTunnei(in McapTunneIMessage msg);
);

SUBSTITUTE SHEET (RULE 26) WO 99/28827 PC'T/US98/25760 Appendix A2: VOIP Gateway IDL
module McapVoipGateway {
enum AudioState {
ON, OFF, UNDEFINED
enum Mode {
SEND_ONLY, RECV_ONLY, SEND_RECV
)~
union OptionalMode switch (boolean) {
case TRUE: Mode mode;
struct ConnectionOptions {
short samplePeriod; II msecs string encodingMethod;
AudioState audioState;
OptionalMode mode;
short bandwidth; !/ KB
};
struct ConnectionDescriptor {
string connectionld;
ConnectionOptions connectionOptions;
string sdpSessionDescriptor;

SUBSTITUTE SHEET (RULE 26) Appendix A3: Routing 1DL
module McapRouting {
enum RoutingType {
REQUEST, ANNOUNCEMENT, ROUTE, CONNECT
};
struct Request Data {
string clusterld;
boolean onNet;
union RoutingData switch (RoutingType) {
case REQUEST: RequestData requestData;
};
struct RoutingParameter {
RoutingType type;
RoutingData data;
};
)~

SUBSTITUTE SHEET (RULE 26) Appendix A4: Service IDL
module McapService {
enum ServiceType {
CALLER_ID BLOCKING, CALL_FORWARDING
struct CaIlerIdBIockingtData {
boolean block;
};
struct CaIIForwardingData {
unsigned long hopCounter;
Object returnAddress;
};
union SenriceData switch (ServiceType) {
case CALLER_ID_BLOCKING: CaIlerIdBIockingtData callerIdBIockingData;
case CALL_FORWARDING: CaIIForwardingData caIIForwardingData;
)~
struct SenriceParameter {
ServiceType type;
SenriceData data;
};
);

SUBSTITUTE SHEET (RULE 26) Appendix A5: Parameter IDL
module McapParameter {
//
// MCAP_CREATE parameter //
enum CreateType {
CALL, ANNOUNCEMENT
}~
struct AnnouncementData {
long id;
}~
union CreateData switch (CreateType) {
case ANNOUNCEMENT: AnnouncementData announcementData;
};
struct CreateParameter {
CreateType type;
CreateData data;
};
//
// MCAP_EVENT parameter //
enum EventType {
CREATED, ANSWERED, SUSPEND, RESUME, RELEASED
}~
struct EventParameter {
EventType type;
//
// MCAP_DELETE parameter !/
struct DeleteParameter {
unsigned long cause;

SUBSTITUTE SHEET (RULE 26) //
// MCAP TUNNEL parameter //
// no parameter defined SUBSTITUTE SHEET (RULE 26) Appendix A6: SGCP Tunnel tDL
module McapSgcpTunnel {
enum SgcpMessageType {
NULL
);
struct SgcpTunneIMessage {
SgcpMessageType messageType;
?;

SU8ST1TUTE SHEET (RULE 26) WO 99/28827 PC'T/US98/25760 Appendix A7: ISUP Tunnel IDL
#include "mcaplsupMessage.idl"
module McapIsupTunnel {

enum {
IsupMessageType ACM, ANM, BLO, BLA, CCR, CFN, CGB, CGBA, CGU, CGUA, COT, CPG, CQM, CQR, CRA, CRM, CVR, CVT, EXM, FAC, FOT, GRA, GRS, IAM, INF, INR, LBA, PAM, REL, RES, RLC, RSC, SUS, UBA, UBL, USIS

};
union ParsedlsupMessage switch (IsupMessageType) {

case ACM: McapIsupMessage::ACMMessageacmMessage;

case ANM: McapIsupMessage::ANMMessageanmMessage;

// BLO no parameters // BLA no parameters // CCR no parameters case CFN: McapIsupMessage::CFNMessagecfnMessage;

case CGB: McapIsupMessage::CGBMessagecgbMessage;

case CGBA: McapIsupMessage::CGBAMessage cgbaMessage;

case CGU: McapIsupMessage::CGUMessagecguMessage;

case CGUA: McapIsupMessage::CGUAMessage cguaMessage;

case COT: McaplsupMessage::COTMessagecotMessage;

case CPG: McapIsupMessage::CPGMessagecpgMessage;

case CQM: McapIsupMessage::CQMMessagecqmMessage;

case CQR: McapIsupMessage::CQRMessagecqrMessage;

I/ CRA no parameters case CRM: McapIsupMessage::CRMMessagecrmMessage;

case CVR: McapIsupMessage::CVRMessagecvrMessage;

// CVR no parameters case EXM: McapIsupMessage::EXMMessageexmMessage;

case FOT: McapIsupMessage::FOTMessagefotMessage;

// FAC no parameters case GRA: McapIsupMessage::GRAMessagegraMessage;

case GRS: McapIsupMessage::GRSMessagegrsMessage;

case IAM: McapIsupMessage::lAMMessageiamMessage;

case INF: McapIsupMessage::INFMessageinfMessage;

case INR: McapIsupMessage::INRMessageinrMessage;

II LBA no parameters // PAM no parameters case REL: McapIsupMessage::RELMessagerelMessage;

case RES: McapIsupMessage::RESMessageresMessage;

SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/2576_0 // RLC no parameters /! RSC no parameters case SUS: McapIsupMessage::SUSMessage susMessage;
// UBA no parameters // UBL no parameters // USIS no parameters };
typedef sequence<octet> UnparsedisupMessage;
union IsupMessage switch (boolean) {
case TRUE: ParsedlsupMessage parsedlsupMessage;
case FALSE: UnparsedlsupMessage unparsedlsupMessage;
);
struct IsupTunneIMessage {
IsupMessageType messageType;
IsupMessage message;
?;
);
SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/2576_0 Appendix A8: ISUP Message IDL
module IsupMessage {
//
//
II Beginning of ISUP Parameter Definition Section //
//
typedef sequence<octet> bytes;
II
// Access Transport //
struct ACCESS TRANSPORT {
sequence<string> parmNames;
sequence<bytes> parmValues;
bytes accessTransport;
};
//
// Automatic Congestion Level //
enum _AUTOMATIC CONGESTION_LEVEL {
SPARE, LEVEL1, LEVEL2, };
//
II Backward Call Indicator //
enum CHARGE_INDICATOR {
NO INDICATION, NO_CHARGE, CHARGE, SPARE
enum _CALLED_PARTY STATUS_INDICATOR {
NO_INDICATION, SUBSCRIBER_FREE, SUBSTITUTE SHEET (RULE 26) CONNECT_WHEN_FREE, EXCESSIVE_DELAY
enum CALLED_PARTY_CATEGORY_INDICATOR {
NO_INDICATION, ORDINARY_SUBSCRIBER, PAY_PHONE, SPARE
enum END TO_END METHOD_INDICATOR {
NO_END TO_END METHOD, PASS_ALONG METHOD, SCCP_METHOD, PASS_ALONG AND SCCP_METHOD
enum INTERWORKING_INDICATOR {
NO_INTERWORKING, INTERWORKING
enum IAM SEGMENTATION_INDICATOR {
NO_INDICATION, ADDITIONAL_INFO ADDED
enum _ISDN_USER_PART INDICATOR {
ISUP_UNUSED, ISUP_USED
enum HOLDfNG_INDICATOR {
HOLDING NOT_REQUIRED, HOLDING REQUIRED
enum ISDN ACCESS. INDICATOR {
TERMINATING ACCESS_NON_ISDN, TERMINATING ACCESS_ISDN, ORIGINATING ACCESS_NON_ISDN, ORIGINATING ACCESS_ISDN
enum ECHO CONTROL_DEVICE _INDICATOR
{

INCOMING HALF_ ECHO_DEV_ NOT_INCLUDED, INCOMING HALF_ ECHO_DEV_ INCLUDED, OUTGOING _HALF _ECHO_DEV _NOT_INCLUDED, OUTGOING HALF _ECHO_DEV _INCLUDED

SUBSTITUTE SHEET (RULE 26) enum SCCP_METHOD_INDICATOR {
NO_INDICATION, CONNECTiONLESS, CONNECTION_ORIENTED, CONNECTIONLESS_AND CONNECTION ORIENTED_METHOD
struct BACKWARD_CALL_INDICATOR {
CHARGE_INDICATOR chargelndicator;
CALLED_PARTY_STATUS_INDICATOR calledPartyStslnd;
CALLED_PARTY_CATEGORY_INDICATOR calledPartyCatlnd;
END TO_END_METHOD_INDICATOR endToEndMethodind;
INTERWORKING INDICATOR interworkinglnd;
IAM SEGMENTATION_INDICATOR iamSegind;
ISDN USER_PART_INDICATOR isdnUserlnd;
HOLDING_INDICATOR holdinglnd;
ISDN ACCESS INDICATOR isdnAccesslnd;
ECHO CONTROL_DEVICE_INDICATOR echoControlDevind;
SCCP_METHOD_INDICATOR sccpMethodlnd;
//
// Business Group //
enum PARTY_SELECTOR {
NO_INDICATION, CALLING PARTY_NUMBER, CALLED PARTY_NUMBER, CONNECTED_PARTY_NUMBER, REDIRECTING NUMBER, ORIGINAL_CALLED_NUMBER, SPARE
enum LINE_PRIVILEGE_INFO_IND {
FIXED_LINE_PRIVILEGE, CUSTOMER_DEFINED LINE_PRIVILEGE
enum _BUSINESS_GROUP_ID TYPE {
MULTILOCATION iD, INTERWORKING IID
enum ATTENDANT_STATUS {
NO_INDICATION, ATTENDANT_LINE

SU9STITUTE SHEET (RULE 26) enum BUSINESS_GROUP_lD {.
NO_INDICATION, PUBLIC_NETWORK, NETWORK_DEPENDENT
enum SUBGROUP_ID {
NO_SUBGROUP, SUBGROUP
enum _TERMINATING LINE_PRIVILEGES {
NOTPRESENT, UNRESTRICTED, SEMIRESTRICTED, FULLY RESTRICTED, FULLY RESTRICTED INTRASWITCH, DENIED, SPARE
enum ORIGINATING_RESTRICTIONS {
NOTPRESENT, UNRESTRICTED, SEMIRESTRICTED, FULLY_RESTRICTED, FULLY_RESTRICTED_I NTRASW ITCH, DENIED, SPARE
);
struct BUSINESS GROUP {
PARTY_SELECTOR partySelector;
LINE_PRIVILEGE_INFO_IND IinePrilnfolnd;
BUSINESS_GROUP_ID TYPE businessGrpIDType;
ATTENDANT STATUS attendantSts;
BUSINESS_GROUP_ID businessGrpID;
bytes BUSINESS_GROUP_ID_network_dependant;
SUBGROUP_ID subgrouplD;
bytes SUBGROUP_ID_subgroup;
TERMINATING LINE_PRIVILEGES terminatingLinePri;
ORIGINATING RESTRICTIONS origRestriction;
octet customer_defined line_pri code;
//
// Call Reference //

SUBSTITUTE SHEET (RULE 26) struct CALL_REFERENCE {
bytes CALL_IDENTITY_NUMBER;
bytes POINT_CODE;
//
// Called Party Number // Calling Party Number //
enum -NATURE_OF_ADDRESS_IND1CATOR TYPE1 SUBSCRIBER_NUMBER, NATIONAL, INTERNATIONAL_NUMBER, ABBREVIATED_NUMBER
};
enum -NATURE_OF_ADDRESS_INDICATOR TYPE2 SPARE, UNIQUE_SUBSCRIBER_NUMBER, RESERVED_FOR_NATIONAL_USE, UNIQUE_NATIONAL_SIG_NUMBER, UNIQUE_INTERNATIONAL_NUMBER, NONUNIQUE_SUBSCRIBER_NUMBER, NONUNIQUE_NATIONAL_NUMBER, NONUNIQUE_INTERNAT10NAL_NUMBER, TEST_LINE_CODE, RESERVED_FOR_NETWORK_SPECIFIC
};
enum NATURE_OF_ADDRESS_INDICATOR_TYPE3 SPRARE, SUBSCRiBER_NUMBER, RESERVED_FOR_NATIONAL_USE, NATIONAL_SIGNIFICANT_NUMBER, INTERNATIONAL_NUMBER, OP_REQ SUBSCRIBER_NUMBER, OP_REQ NATIONAL_NUMBER, OP_REQ fNTERNATIONAL_NUMBER, OP_REQ_NO NUMBER_PRESENT, NO_NUMBER_PRESENT_CUT THROUGH CALL_TO_CARRIER, CALL_FROM LOCAL_EXCHANGE, TEST_LINE_CODE, RESERVED_FOR_NETWORK_SPECIFIC
enum -NATURE_OF_ADDRESS_IND1CATOR TYPE4 NATIONAL_SIGNIFICANT_NUMBER

SUBSTITUTE SHEET (RULE 26) enum ODD_EVEN BIT {
EVEN, ODD
enum NUMBERING_PLAN {
UNKNOWN, ISDN, SPARE, ITU TS_DATA, ITU TS TELEX, PRIVATE
enum SCREENING {
USER_PROVIDED_NOT_SCREENED, USER_PROVIDED_SCREENING_PASSED, USER_PROVIDED_SCREENING FAILED, NETWORK_PROVIDED
enum PRESENTATION
{
PRESENTATION ALLOWED, PRESENTATION_RESTRICTED, SPARE
};
struct CALLED_PARTY_NUMBER {
ODD_EVEN_BIT oddEvenBit;
NATURE_OF ADDRESS_INDICATOR TYPE3 addressNaturelnd;
NUMBERING_PLAN numberingPlan;
string addressSignal;
struct CALLING_PARTY_NUMBER {
NATURE OF_ADDRESS_INDICATOR TYPE2 addressNaturelnd;
ODD_EVEN_BIT oddEvenBit;
SCREENING screen;
PRESENTATION presentation;
NUMBERING_PLAN numberingPlan;
string addressSignal;
//
// Calling Party Category //
enum CALLING_PARTY_CATEGORY {

SUBSTITUTE SHEET (RULE 26) CALLING PARTYS_CATEGORY_UNKNOWN , FRENCH LANGUAGE_OPERATOR , ENGLISH LANGUAGE_OPERATOR , GERMAN LANGUAGE_OPERATOR , RUSSIAN_LANGUAGE_OPERATOR , SPANISH_LANGUAGE_OPERATOR , NATIONAL_NETWORKS_OPERATOR_SERVICE, ORDINARY_CALLING SUBSCRIBER, CALLING SUBSCR1BER_WITH_PRIORITY, DATA_CALL, TEST_CALL, PAY_PHONE, EMERGENCY SERVICE_CALL_IN_PROGRESS, HIGH PRIORITY CALL_INDICATION, NSEP_CALL, NETWORK_SPECIFIC_USE, RESERVED
//
// Carrier Identification //
enum CI NETWORK_IDENTIFICATION_PLAN {
UNKNOWN, THREE_DIGIT_CARRIER_IDENT CODE, FOUR_DIGIT_CARRIER_IDENT CODE, SPARE
enum CI TYPE OF_NETWORK_IDENTIFICATION {
SPARE, NATIONAL_NETWORK_IDENTIFiCATION
struct CARRIER_IDENTIFICATION {
CI_NETWORK IDENTIFICATION_PLAN networkldentPlan;
CI TYPE_OF NETWORK_IDENTIFICATION typeOfNetwork;
string carrierlD;
//
// Carrier Selection //
enum CARRIER_SELECTION {
NO_INDICATION, SUBS_DESIGNATED_PRESELECTED_CARRIER, SUBS DESIGNATED_INPUT_CARRIER, SUBS_DESIGNATED UNDETREMINED CARRIER, SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/257(~0 DES1GNATED_BY_CALLER_CARRIER, SPARE, RESERVED
//
// Cause Indicator //
enum CI_LOCATION {
USER, LOCAL_PRIVATE_NETWORK, LOCAL_LOCAL_NETWORK, TRANSIT_NETWORK, REMOTE_LOCAL NETWORK, REMOTE_PRIVATE_NETWORK, INTERNATIONAL_NETWORK, UNKNOWN, SPARE
enum CI_CODING STANDARD {
ITU TS_STANDARD, RESERVED_FOR_INTL, ANSI STANDARD, RESERVED
struct CAUSE_INDfCATORS {
sequence<CI_LOCATION> location;
sequence<CI CODING STANDARD> codingStandard;
Boolean diagnosticsFlag;
bytes causeValue;
bytes diagnostics;
//
// Charge Number //
enum CN_NATURE OF_ADDR_1ND {
ANICaIIingSubNumber, ANICaIIingNotAvail, ANICaIIingNatNumber, ANICaIIedSubNumber, ANICaIIedNotAvail, ANICaIIedNatNumber struct CHARGE_NUMBER {

SUBSTITUTE SHEET (RULE 2fi) CN_NATURE_OF_ADDR_IND natureOiAddrlnd;
ODD_EVEN BIT oddEvenBit;
NUMBERING_PLAN numberingPlan;
string addressSignal;
//
// Circuit Assignment Map //
enum -CIRCUIT ASSIGNMENT_MAP TYPE {

enum CIRCUIT_ASS1GNMENT_MAP_STATUS {
CIRCUIT USED, CIRCUIT NOT_USED
typedef sequence<CIRCUIT_ASSIGNMENT_MAP STATUS>
CIRCUIT_ASSIGNMENT_MAP_STATUS ARRAY;
struct CIRCUIT_ASSIGNMENT_MAP {
CIRCUIT_ASSIGNMENT_MAP_TYPE type;
CIRCUIT_ASSIGNMENT_MAP_STATUS ARRAY status_array;
};
//
// Circuit Group Characterictics Indicator //
enum CGCf CARRIERINDICATOR {
Unknown, Analog, Digital, DigitaiAndAnalog };
enum CGCI DOUBLESEIZINGCTRLIND {
NoCktCtrl, OddCIC, EvenCIC, AIICktCtrl enum CGCI ALARMCARRIERIND {
Unknown, SoftwareHandling, HardwareHandling SUBSTITUTE SHEET (RULE 26) enum CGCI CONTINUITYCHKREQIND {
Unknown, None, Statistical, PerCall struct CKT_GRP_CHAR_INDICATORS {
CGCI CARRIERINDICATOR carrierlndicator;
CGCI DOUBLESEIZINGCTRLIND doubleSeizingCtrllnd;
CGCI ALARMCARRIERIND alarmCarrierlnd;
CGCI CONTINUITYCHKREQIND continuityChkReqlnd;
//
// Circuit Group Supervision Message Type Indicator //
enum CGSMTI BLOCK1NGTYPEIND {
W ithoutRelease, WithlmmediateRelease, RsvdForNationalUse struct CKT_GRP_SUPERVISION_MSG TYPE_IND {
CGSMTI BLOCKINGTYPEIND blockingTypelnd;
?;
//
// Circuit Identification Name //
struct CKT_IDENT_NAME {
string trunkNumber;
string CLLI A;
string CLLI Z;
//
// Circuit State Indicator //
enum CKT_STATE_IND {
Transient, Unequiped, IncomingBusyActive, IncomingBusyLocaIlyBlocked, IncomingBusyRemotefyBlocked, so SUBSTITUTE SHEET (RULE 26) IncomingBusyLocalAndRemoteBlocked, OutgoingBusyActive, OutgoingBusyLocalIyBlocked, OutgoingBusyRemotelyBlocked, OutgoingBusyLocalAndRemoteBlocked, Idle, IdleLocaIlyBlocked, IdIeRemotelyBlocked, IdIeLocalAndRemoteRlocked typedef sequence<C~ STATE_IND> CICT_STATE_IND ARRAY;
//
// Circuit Validation Response Indicator //
enum CVRI STATE {
Successful, Failure struct C~ VALID_RESPONSE_IND {
CVRI STATE state;
ll // Common Language Location Indicator //
struct CLLI STRUCT {
string town;
string state;
string building;
string building_subdivision;
//
// Connection Request //
struct CONNECTION REQUEST{
bytes IocaIReference;
bytes pointCode;
octet protocolClass;
octet credit;
//
II Continuity Indicators SUBSTITUTE SHEET (RULE 26) //
enum CONTINUITY_INDICATORS {
CONTINUITY_CHECK FAILED, CONTINUITY CHECK SUCCESSFUL
//
// Event Information //
enum EVENT_INDICATOR {
SPARE, ALERTING, PROGRESS, IN BAND_INFO, CALL_FORWARDED_ON_BUSY, CALL_FORWARDED_ON_NO_REPLY, CALL_FORWARDED_UNCONDITIONAL, NOTIFICATION_FOR_SUPP SRVC, SERVICE_INFO_INCLUDED, RESERVER
};
enum EVENT_PRESENTATION {
NO_INDICATION, PRESENTATION_RESTRICTED
struct EVENT_INFORMATION {
EVENT_INDICATOR eventlndicator;
EVENT_PRESENTATION eventPresentation;
?;
II
// Forward Call Indicators //
enum INCOMING_INTERNATIONAL_CALL_INDICATOR {
NOT_AN_INCOMING_INTERNATIONAL_CALL, INCOMING_INTERNATIONAL_CALL
enum ISDN USER_PART_PREFERENCE_1NDICATOR {
ISUP_PREFERED ALL_THE_WAY, ISUP_NOT_REQUIRED_ALL_THE_WAY, ISUP_REQUIRED ALL_THE_WAY
enum _ -PORTED NUMBER TRANSLATION INDICATOR {

SUBSTITUTE SHEET (RULE 26) NOT_TRANSLATED, TRANSLATED
struct FORWARD_CALL_INDICATORS {
INCOMING_INTERNATIONAL_CALL_INDICATOR
incoming_International Call_Indicator;
END TO_END METHOD_INDICATOR
end_To_End Method_Indicator;
INTERWORKING_INDICATOR interworking_Indicator;
IAM SEGMENTATION_INDICATOR iam Segmentation_Indicator;
ISDN USER_PART_INDICATOR isdn_User_Part_Indicator;
ISDN_USER_PART_PREFERENCE_INDICATOR
isdn__User_Part_Preference_Indicator;
ISDN ACCESS_INDICATOR isdn_Access_Indicator;
SCCP_METHOD_INDICATOR sccp_Method_Indicator;
PORTED_NUMBER TRANSLATION_INDICATOR
ported_Number_Translation Indicator;
};
//
// Generic Address //
enum TYPE_OF_ADDRESS {
DialedNumber, DestinationNbr, NetworkScreening, NotNetworkScreening, CompletionNumber, PortedNumber, AlternatelyBilIedNumber, AssociatedForwardNumber, TransferNumber6, TransferNumber5, TransferNumber4, TransferNumber3, TransferNumber2, TransferNumberl , CESID
)~
enum NATURE_OF_ADDRESS_INDICATOR_KIND {DIALED_DIGITS, SUPPLEMENTAL, COMPLETION, PORTED};
union NATURE_OF_ADDRESS_INDICATOR_UNION switch (NATURE_OF_ADDRESS_INDICATOR_KIND) {
case DIALED DIGITS:
NATURE OF_ADDRESS_INDICATOR_TYPE1 aDialedDigits;

SUBSTITUTE SHEET (RULE 26) case SUPPLEMENTAL:
NATURE_OF_ADDRESS_INDICATOR_TYPE2 aSupplemental;
case COMPLETION: NATURE OF_ADDRESS_INDICATOR_TYPE3 aCompletion;
case PORTED: NATURE_OF_ADDRESS_INDICATOR_TYPE4 aPorted;
};
struct GENERIC ADDRESS {
TYPE_OF_ADDRESS typeOfAddr;
NATURE_OF_ADDRESS_INDICATOR_UNION natureOfAddr;
ODD_EVEN BIT oddi=venBit;
NUMBERING_PLAN numberingPlan;
PRESENTATION presentation;
string addressSignal;
//
/l Generic Digits //
enum TYPE_OF_DIGITS {
ACCOUNT_CODE, AUTHORIZATION_CODE, PRIVATE_NETWORK_TRAVELLING CLASS_MARK, CELL_SITE SECTOR_IDENTIFIER, ORIGINATING_PARTY_SERVICE_PROVIDER, BILL_TO_NUMBER
enum ENCODING SCHEME {
BCD EVEN, BCD_ODD, IAS, BINARY
};
struct GENERIC_DIGITS {
TYPE_OF_DIGITS type_of_digits;
ENCODING SCHEME encoding_scheme;
string digits;
//
// Generic Name //
enum AVAILABILITY {
NAME_AVAILABLE, NAME_NOT AVAILABLE

SUBSTITUTE SHEET (RULE 26) enum TYPE_OF_NAME {
CALLING NAME, ORIGINAL_CALLED_NAME, REDIRECTING NAME, CONNECTED_NAME
};
enum GENERIC_NAME_PRESENTATION {
PRESENTATION ALLOWED, PRESENTATION_RESTRICTED, BLOCKING TOGGLE, NO INDICATION
struct GENERIC_NAME {
GENERIC_NAME_PRESENTATION presentation;
AVAILABILITY availability;
TYPE_OF_NAME type of name;
string name;
//
// Information Indicators //
enum CALLING_PARTY ADDRESS_RESPONSE_INDICATOR {
NOT_INCLUDED, NOT_AVAILABLE, SPARE, INCLUDED_HOLD_NOT_PROVIDED
enum HOLD_PROVIDED_INDICATOR {
NOT_PROVIDED, PROVIDED
enum CALL1NG_PARTY_CATEGORY_RESPONSE_INDICATOR {
NOT_INCLUDED, INCLUDED
enum _CHARGE_1NFORMATION RESPONSE_INDICATOR {
NOT_INCLUDED, INCLUDED
enum SOLICITED_INFORMATION_INDICATOR {
SUBSTITUTE SHEET (RULE 26) SOLICITED, UNSOLICITED
};
enum MULTILOCATION BUSINESS GROUP_INFO_RESPONSE_INDICATO
R{
NOT_INCLUDED, INCLUDED
R
struct INFORMATION_INDICATORS {
CALLING PARTY ADDRESS_RESPONSE_IND1CATOR
calling_pa~ address_response_indicator;
HOLD_PROVIDED_INDICATOR
hold_provided indicator;
CALLING PARTY CATEGORY_RESPONSE_INDICATOR
calling_party category_response_indicator;
CHARGE_I NFORMATION_RESPONSE_INDICATOR
charge_information response_indicator;
SOLICITED_INFORMATION INDICATOR
solicited_information indicator;
MULTILOCATION_BUSINESS_GROUP_INFO_RESPONSE_INDICATO
multilocation_business_group_info_response_indicator;
?;
II
// Information Request Indicator //
enum CALLING_PARTY ADDRESS_REQUEST_INDiCATOR {
NOT_REQUESTED, REQUESTED
enum INFORMATION_REQUEST_HOLDING_INDICATOR {
NOT_REQUESTED, REQUESTED
};
enum CALLING_PARTY CATEGORY_REQUEST_INDICATOR {
NOT_REQUESTED, REQUESTED
enum _CHARGE_INFORMATION REQUEST_INDICATOR {
NOT_REQUESTED, REQUESTED

SUBSTITUTE SHEET (RULE 26) enum MALICIOUS CALL_!D_REQUEST_INDICATOR {
NOT_REQUESTED, REQUESTED
enum MULTILOCATION_BUSINESS_GROUP_INFO_INDICATOR {
NOT_REQUESTED, REQUESTED
struct INFORMATION_REQUEST_INDICATOR {
CALLING_PARTY ADDRESS_REQUEST_INDICATOR
calling_pa~ address_request indicator;
INFORMATION_REQUEST_HOLDING_INDICATOR
holding indicator;
CALLING_PARTY_CATEGORY REQUEST_INDICATOR
cailing_party_category_request indicator;
CHARGE_INFORMATION_REQUEST_INDICATOR
charge information_request_indicator;
MALICIOUS CALL_ID_REQUEST_INDICATOR
malicious_call_id request indicator;
MULTILOCATION_BUSINESS_GROUP_INFO_INDICATOR
multilocation business_group_info_indicator;
//
// Jurisdiction Information //
struct JURISDICTION_INFORMATION {
string addressSignal;
//
II Nature of Connection indicator //
enum SATELLITE_INDICATOR {
NO_SATELLITE_CIRCUIT, ONE_SATELLITE_CIRCUIT, TWO_SATELLITE_CIRCUIT, THREE_OR_MORE_SATELLITE_CIRCUIT
enum CONTINUITY_CHECK_INDICATOR {
CONTINUITY_CHECK_NOT_REQUIRED, CONT1NUlTY CHECK_REQUIRED, CONTINUITY CHECK ON_PREVIOUS_CIRCUIT, SUBSTITUTE SHEET (RULE 26) SPARE
);
struct NATURE_OF_CONNECTION_INDICATOR {
SATELLITE_INDICATOR satellite_indicator;
CONTINUITY CHECK_INDICATOR continuity_check_indicator;
ECHO_CONTROL_DEVICE_INDICATOR
echo control device_indicator;
II
// Network Management Control //
enum TEMPORARY_ALTERNATIVE_ROUTING {
TAR_NO_INDICATION, TAR CONTROLLED_CALL
struct NETWORK_MANAGEMENT CONTROLS {
TEMPORARY ALTERNATIVE_ROUTING
temporaryAlternativeRouting;
typedef sequence<NETWORK_MANAGEMENT_CONTROLS>
NETWORK_MANAGEMENT CONTROLS ARRAY;
//
// Network Transport Parameter //
struct NETWORK TRANSPORT_PARAMETER {
sequence<string> parmNames;
sequence<bytes> parmValues;
bytes networkTransport;
//
// Notification Indicator //
enum NOTIFICATION_IND {
CALL_COMPLETION_DELAY, CALL_IS_A_WAITING CALL, TRANSFER_IN_PROGRESS, ISOLATED_FROM CONFERENCE_CALL, SPLIT_FROM CONFERENCE_CALL, REATTACHED TO CONFERENCE_CALL, ADDED TO_CONFERENCE_CALL, REMOTE_HOLD, SUBSTITUTE SHEET (RULE 26) REMOTE_HOLD_RELEASED, CALL_IS_FORWARDED, SPARE, RESERVED
struct NOTIFICATION_INDICATOR {
NOTIFICATION IND notification ind;
};
typedef sequence<NOTIFICATION_INDICATOR>
NOTI FICATION_I NDICATOR_ARRAY;
//
// Operator Service Information //
enum _INFORMATION TYPE {
UNKNOWN, ORIGINAL_ACCESS_PREFIX, BILL_TO_INFO_ENTRY TYPE_AND_HANDLE TYPE, BILL_TO TYPE;
BILL_TO_SPECIFIC_INFO, SPECIAL_HANDLING, ACCESS_S1GNALING
enum INFOMATION VALUE 001 {
UNKNOWN, A_1 OR011, A_OOR01, enum INFOMATION VALUE 010 {
UNKNOWN_UNKNOW HANDLING, OPERATOR_STATION HANDLING, OPERATOR_PERSON_HANDLING, TONE_INPUT_STATION_HANDLING, UNKNOWN STATION HANDLING, UNKNOWN_PERSON HANDLING, OPERATOR_UNKNOWN_HANDLING, TONE_INPUT_UNKNOWN_HANDLING, TONE_INPUT_PERSON-HANDLING, SPOKEN INPUT UNKNOWN_HANDLING, SPOKEN_INPUT STATION_HANDLING, SPOKEN_INPUT_PERSON_HANDLING
enum INFOMATION VALUE 011 {

SUBSTITUTE SHEET (RULE 26) UNKNOW N, CARD14DIGIT, CARD89C, CARDOTHER, COLLECT, THIRDNUMBER, SENTPAID
};
enum _INFOMATION VALUE_100 {
UNKNOWN, NIDB_AUTHORIZE, NIDB_REPORT VERIFY_AUTOMATED, NIDB_REPORT VERIFY_OPERATOR, NO_NIDB_QUERY, NO_NIDB_RESPONSE, NIDB_REPORT_UNAVAILABLE, NO_NIDB_RESPONSE TIMEOUT, NO_NIDB_RESPONSE REJECT, NO_NIDB_RESPONSE_ACG, NO_NIDB_RESPONSE_SCCP_FAIL
}~
enum INFOMATION VALUE_101 {
UNKNOW N, CALL_COMPLETION, RATE_1NF0, TROUBLE_REPORT, TIME_CHARGE, CREDIT_REPORT, GENERAL_ASSIST
};
enum _INFOMATION VALUE_111 {
UNKNOWN, DIAL_PULSE, DIAL TONE
enum INFORMATION VALUE_KIND {kind_001, kind 010, kind 011, kind_100, kind_101, kind_111 };
union INFORMATION VALUE_UNION switch (INFORMATION_VALUE_KIND) {
case kind_001: INFOMATION VALUE 001 a001;
case kind_010: INFOMATION VALUE 010 a010;
case kind_011: INFOMATION VALUE 011 a011;
case kind_100: INFOMATION VALUE_100 a100;
case kind_101: INFOMATION VALUE_101 a101;
case kind_111: INFOMAT10N VALUE_111 a111;

SUBSTITUTE SHEET (RULE 26) struct OPERATOR_SERVICE_INFO {
INFORMATION TYPE informationType;
INFORMATION VALUE_UNION informationValue;
};
typedef sequence<OPERATOR_SERVICE_INFO>
OPERATOR SERVICE_INFO ARRAY;
//
// Optional Backward Call Indicator //
enum IN BAND_INFORMAT10N_INDICATOR {
NO_INDICATION, IN BAND_INFO_OR_A_PATfERN_IS_AVAIL
);
enum CALL_FORWARDING MAY_OCCUR_INDICATOR {
NO_INDICATION, MAY OCCUR
enum NATIONAL_USE {
NATIONAL
};
enum NETWORK_EXCESSIVE_DELAY_INDICATOR {
NO_INDICATION, NETWORK_EXCESSIVE_DELAY_ENCOUNTERED
};
enum -USER_NETWORK_INTERACTION OCCURS {
NO_INDICATION, CUT THROUGH_IN_BOTH_DIR
struct OPTIONAL_BACKWARD_CALL_INDICATORS {
IN BAND INFORMATION INDICATOR
in_band_information_indicator;
CALL_FORWARDING MAY_OCCUR_INDICATOR
call_forwarding_may_occur_indicator;
NATIONAL_USE
national_use;
NETWORK_EXCESSIVE_DELAY_INDICATOR
network_excessive delay_indicator;
USER_NETWORK INTERACTION OCCURS
user_network interaction occurs;

SUBSTITUTE SHEET (RULE 26) __ WO 99/28827 PCT/US98125'I60 //
// Originating Call Number //
struct ORIGINAL_CALLED_NUMBER {
NATURE_OF_ADDRESS_INDICATOR TYPE2 addressNaturelnd;
ODD_EVEN BIT oddEvenBit;
PRESENTATION presentation;
NUMBERING_PLAN numberingPlan;
string addressSignal;
//
// Originating Line Information //
typedef -octet BINARY_EQUIVALENT OF_THE_II_DIGITS;
struct ORIGINATING LINE_INFORMATION
{ BINARY_EQUIVALENT OF_THE_II_DIGITS
binary_equivalent of the two_digits;
};
II
// Outgoing Trunk Number //
enum MULTI LVL_PP {
DEFENSE_SWITCH_NETWORK, SPARE
struct OUTGOING TRUNK_GROUP_NUMBER {
long outgoing trunk_group_number;
//
// Precedence Level //
enum PRECEDENCE LEVEL {
FLASH_OVERRIDE, FLASH, IMMEDIATE, PRIORITY, ROUTINE, SPARE

SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/257ø0 enum LOOK_AHEAD FOR_BUSY {
LOOK_AHEAD_FOR_BUSY_ALLOWED, LOOK AHEAD_FOR_BUSY_NOT_ALLOWED, PATH_RESERVED, RESERVED
struct PRECEDENCE {
PRECEDENCE_LEVEL precedence_level;
LOOK_AHEAD FOR_BUSY look_ahead for_busy;
long network_identity;
long MLPP service domain;
};
//
/I Range and Status //
enum STATUS {
NO_BLOCKING, BLOCKING, BLOCKED, UNBLOCKED, NO BLOCKING ACKNOWLEDGMENT, BLOCKING ACKNOWLEDGMENT, NO_UNBLOCKING, UNBLOCKING, NO_UNBLOCKING ACKNOWLEDGMENT, UNBLOCKING ACKNOWLEDGMENT
typedef sequence<STATUS> STATUS_ARRAY;
typedef short RANGE;
struct RANGE_AND_STATUS {
RANGE range;
STATUS_ARRAY status_array;
//
// Redirect Capability //
enum REDfRECT_CAPABILITY_ENUM {
REDIRECTION_POSSIBLE BEFORE ACM, REDIRECTION_POSSIBLE BEFORE ANM, REDIRECTION_POSSIBLE_ANYT1ME

SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/257h0 struct REDIRECT CAPABILITY {
REDIRECT_CAPABILITY_ENUM redirectCapability;
};
typedef sequence<REDIRECT_CAPABILITY>
REDIRECT_CAPABILITY_ARRAY;
//
// Redirect Counter //
struct REDIRECT COUNTER {
octet redirectCounter;
//
// Redirecting Number //
struct REDIRECTING NUMBER {
NATURE_OF_ADDRESS_INDICATOR TYPE2 addressNaturelnd;
ODD_EVEN_BIT oddEvenBit;
PRESENTATION presentation;
NUMBERING PLAN numberingPlan;
string addressSignal;
};
//
// Redirection Information //
enum ORIGINAL_REDIRECTING_REASON {
UNKNOWN_NOT_AVAILABLE, USER_BUSY, NO_REPLY, UNCONDITIONAL, SPARE, RESERVED
};
enum REDIRECTION COUNTER {
NO_REDIRECTION HAS OCCURED, REDIRECTED_1 TIME, REDIRECTED 2 TIMES, REDIRECTED 3 TIMES, REDIRECTE~ 4 TIMES, REDIRECTED 5 TIMES, REDIRECTED 6 TIMES, RED1RECTED_7 TIMES, REDIRECTED 8 TIMES, SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/257~0 RED1RECTED_ 9_TIMES, REDIRECTED_ 10_TIMES, REDIRECTED_11 TIMES, REDIRECTED _12 TIMES, RED1RECTED _13_TIMES, REDIRECTED _14 TIMES, REDIRECTED _15_TIMES

enum REDIRECTING REASON {
UNKNOWN_NOT_AVAILABLE, USER_BUSY, NO_REPLY, UNCONDITIONAL, SPARE
struct REDIRECTION INFORMATION {
REDIRECTION COUNTER redirection_Counter;
ORIGINAL_REDIRECTING REASON original redirecting_reason;
REDIRECTING_REASON redirecting_reason;
//
// Redirection Number II
struct REDIRECTION_NUMBER {
NATURE_OF_ADDRESS INDICATOR TYPE3 addressNaturelnd;
ODD_EVEN BIT oddEvenBit;
NUMBERING PLAN numberingPlan;
string addressSignal;
//
// Remote Operation II
enum PROTOCOL_PROFILE {
SPARE, REMOTE_OPERATION_PROTOCOL
struct REMOTE_OPERATIONS {
PROTOCOL_PROFILE protocol_profile;
bytes components;
};
//
// Service Activation SUBSTITUTE SHEET (RULE 26) //
enum SERVICE_ACT1VATION_ENUM {
RESERVED_INTERNATIONAL, CALL_WAITING_ORIGINATING INVOKED, DIAL_CALL_WAITING_INVOKED, COMPLETE CALL_REQUEST_ISUP_USED_ALL_THE_WAY, COMPLETE_CALL_REQUEST_ISUP_NOT_USED ALL_THE WAY, SPARE, RESERVED_NETWORK_SPECI FIC
struct SERVICE ACTIVATION {
SERVICE ACTIVATION_ENUM service_activation enum;
typedef sequence<SERVICE_ACTIVATION>
SERVICE_ACTIVATION ARRAY;
//
// Service Code //
struct SERVICE_CODE {
long service code;
l //
// Special Processing Request //
enum SPECIAL_PROCESSING_REQUEST_ENUM {
SPARE, SERVICE_PROCESSING_REQUIRED, RESERVED_FOR_INTERNATIONAL_USE, RESERVED FOR_NATIONAL_USE, RESERVED_FOR_NETWORK_SPECIF1C USE
};
typedef octet RESERVED_FOR_INTERNATIONAL_USE;
typedef octet RESERVED_FOR_NAT10NAL_USE;
typedef octet RESERVED FOR_NETWORK_SPECIFIC_USE;
struct SPECIAL PROCESSING_REQUEST {
SPECIAL_PROCESSING REQUEST_ENUM special_processing_rq;
RESERVED_FOR_INTERNATIONAL_USE
reserved for_international_use;
RESERVED_FOR_NATIONAL_USE reserved for national use;
RESERVED_FOR NETWORK_SPECIFIC_USE
reserved for_network specific_use;

SUBSTITUTE SHEET (RULE 26) //
I/ Suspend Resume Indicator II
enum SUSPEND_RESUME_INDICATOR {
ISDN SUBSCRIBER_INITIATED, NETWORK_INITIATED
};
//
// Transaction Request //
struct TRANSACTION_REQUEST {
bytes transactionlD;
bytes SCCP_Address;
};
//
II Transit Network Selection //
enum NETWORK_IDENTIFICATION_PLAN_NATIONAL_ANSI NETWORKS {
UNKNOWN, THREE DIGIT CARRIER_IDENTIFICATION WITH_CIRCUIT_CODE, FOUR_DIGIT_CARRIER_IDENTIFICATION WITH CIRCUIT_CODE, RESERVED, RESERVED_FOR_NETWORK_SPECIFIC_USE_FLAG
enum NETWORK_IDENTIFICATION PLAN INTERNATIONAL_NETWORKS {
UNKNOWN, PUBLIC DATA_NETWORK_IDENTIFICATION CODE, PUBLIC_LAND_MOBILE_NETWORK_ID CODE
};
enum TYPE_OF_NETWORK_IDENTIFICATION {
ITU STANDARD1ZED_IDENTIFICATION, NATIONAL_NETWORK_IDENTIFICATION
enum -TRANSIT_NETWORK_SELECT10N DIGIT {
DIGITO, DIGIT1, DIGIT2, DIGITS, SUBSTITUTE SHEET (RULE 26) DIGIT4, DIGITS, DIGIT6, DIG1T7, DIGITB, DIGIT9, SPARE, CODE11, CODE12, END OF_PULSE_SIGNAL
};
enum CIRCUIT_CODE {
UNSPECIFIED, INTERNATIONAL_CALL NO_OPERATOR_REQUESTED, INTERNATIONAL CALL_OPERATOR_REQUESTED, SPARE, RESERVED_FOR_NETWORK_SPECIFIC_USE_FLAG
};
struct TRANSIT_NETWORK_SELECTION {
NETWORK_IDENTIFICATION PLAN_NATIONAL ANSI NETWORKS
network identification_plan_ansi networks;
NETWORK_1DENTIFICAT10N_PLAN INTERNATIONAL_NETWORKS
network identification_plan_international networks;
TYPE_OF_NETWORK_IDENTIFICATION
type_of_network_identification;
TRANSIT_NETWORK SELECTION_DIG1T digit one;
TRANSIT_NETWORK_SELECTION_DIGIT digit two;
TRANSIT_NETWORK_SELECTION DIGIT digit three;
TRANSIT_NETWORK_SELECTION DIGIT digit four;
CIRCUIT_CODE circuit code;
octet circuit code_network specific_use;
octet ansi network_specific_use;
};
//
// Transmission Medium //
enum -TRANSMISSION_MEDIUM USED VALUE {
SPEECH, RESERVED 64KBPS_UNRESTR1CTED, AUDI031 KHZ, RESERVED 64KBPS_PREFERRED
struct TRANSMISSION_MEDIUM USED {

SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/257~0 TRANSMISSION MEDIUM USED VALUE
transmission_medium used value;
/I
// User Service Information // User Service Information Prime //
enum INFO TRANSFER_CAPABILITY {
Speech, UnrestrictedDigital, RestrictedDigital, Audio3l OOHz, Audio7kHz enum INFO CODINGSTANDARD {
ITUStandard, NationalStandard };
enum INFO TRANSFER_RATE {
codeforPacketMode, kbps64, kbps384, kbps1472, kbps1536, kbps1920, Multirate enum INFO TRANSFER_MODE {
circuit, packet enum USER_INFO_ESTABLISHMENT {
Demand enum USER_INFO CONFIGURATION {
PointtoPoint enum USER_INFO_STRUCTURE {
Default, IntegrityBkHz, ServiceDataUnitlntegrity, Unstructured .. SUBSTITUTE SHEET (RULE 26) _ wo 99nss2~ PcTms9ans~~
?;
enum USER_INFO SYMMETRY.{
Bidirectional };
enum USER_INFO_LAYER1 PROTOCOL {
NotPresent, ITUStandardRateAdaptionVl 10, 6771 ulawSpeech, G722andG725Audio, NONITUStandardRateAdaption, ITUStandardRateAdaptionVl 20, ITUStandardRateAdaptionX31 HDLC
};
enum _USER_INFO LAYER2PROTOCOL {
NotPresent, 1144OrQ921, X25LinkLevel };
enum USER_INFO_LAYER3PROTOCOL {
NotPresent, ANSIT1607, X25Packet };
struct USER SERV1CE_INFORMATION {
1NF0 TRANSFER_CAPABIUTY transferCapability;
INFO CODINGSTANDARD codingStandard;
INFO TRANSFER_RATE transferRate;
INFO TRANSFER_MODE transferMode;
USER INFO_ESTABLISHMENT establishment;
USER_1NF0_CONFIGURATION configuration;
USER_INFO_STRUCTURE structure;
INFO TRANSFER_RATE destToOriginationTransferRate;
USER_INFO SYMMETRY symmetry;
octet multirateRateMultiple;
USER_INFO LAYER1 PROTOCOL userlayerl protocol;
USER_INFOr_LAYER2PROTOCOL userlayer2protocol;
USER_INFO_LAYER3PROTOCOL userlayer3protocol;
struct USER_SERVICE_INFORMATION_PRIME {
INFO TRANSFER_CAPABILITY transferCapability;
INFO_CODINGSTANDARD codingStandard;
INFO TRANSFER_RATE transferRate;
INFO TRANSFER MODE transferMode;
USER INFO_ESTABLISHMENT establishment;
~o SUBSTITUTE SHEET (RULE 26) USER_INFO CONFIGURATION configuration;
USER_INFO STRUCTURE structure;
INFO TRANSFER_RATE destToOriginationTransferRate;
USER_INFO SYMMETRY symmetry;
octet multirateRateMultipie;
USER_INFO_LAYER1 PROTOCOL userlayerl protocol;
USER_INFO_LAYER2PROTOCOL userlayer2protocol;
USER_INFO_LAYER3PROTOCOL userlayer3protocol;
//
II User to User Indicator II
enum -USER TO_USER_INDICATOR TYPE {
REQUEST, RESPONSE
enum USER TO_USER_INDICATOR_RESPONSE {
NONE, SERVICE
~t enum NETWORK_DISCARD_INDICATOR {
NO_INFORMATION, USER TO_USER_INFORMATION DISCARDED_BY_NETWORK
struct USER TO_USER_INDICATOR {
USER TO USER_INDICATOR TYPE user_to_user indicator;
USER TO_USER_INDICATOR_RESPONSE
user_to_user_indicator_servicel ;
USER TO_USER_INDICATOR_RESPONSE
user_to_user_indicator_service2;
USER TO_USER_INDICATOR_RESPONSE
user to_user indicator_service3;
NETWORK_DISCARD_INDICATOR network_discard indicator;
I/
II User to User Information II
enum PROTOCOL_DISCRIMINATOR {
USER_SPECIFIC, OSI HIGH LAYER, X244, RESERVED1, ASCII, ?1 SUBSTITUTE SHEET (RULE 2fi) X208X209, V 120, T 1607, RESERVED2, NATIONAL, };
struct USER TO_USER_INFORMATION {
PROTOCOL_DISCRIMINATOR protocolDiscriminator;
octet protocolDiscriminatorReserved2;
octet protocolDiscriminatorReserved3;
octet protocolDiscriminatorNational;
bytes user to_user_info;
};
//
//
// Beginning of ISUP Message Definition Section II
II
//
// Address Complete //
struct ACMMessage {
// Mandatory Fixed Part BACKWARD CALL_INDICATOR backwardCalllndicators;
II Optional Parameters ACCESS TRANSPORT accessTransport;
BUSINESS_GROUP businessGroup;
CALL_REFERENCE callReference;
CAUSE_INDICATORS causelndicators;
CONNECT10N_REQUEST connectionRequest;
INFORMATION INDICATORS informationlndicators;
NETWORK TRANSPORT_PARAMETER networkTransportParameter;
NOTIFICATION_INDICATOR_ARRAY notificationlndicatorArray;
OPTIONAL_BACKWARD CALL_INDICATORS
optionalBackwardCalllndicators;
REDIRECTiON_INFORMATION redirectionlnformation;
REMOTE OPERATIONS remoteOperations;
SERVICE_ACTIVATION ARRAY serviceActivationArray;
TRANSMISSION_MEDIUM USED TransmissionMediumUsed;
USER TO_USER INDICATOR user to userlndicator;
USER TO USER_INFORMATION user to userlnformation;
};
//
// Answer SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/2571~0 //
struct ANMMessage {
// Optional Parameters ACCESS TRANSPORT accessTransport;
BACKWARD_CALL_INDICATOR backwardCalllndicators;
BUSINESS_GROUP businessGroup;
CALL_REFERENCE caIIReference;
CONNECTION_REQUEST connectionRequest;
INFORMATION_INDICATORS informationlndicators;
NETWORK_TRANSPORT_PARAMETER networkTransportParameter;
NOTIFICATION_INDICATOR ARRAY notificationlndicatorArray;
OPTIONAL_BACKWARD CALL INDICATORS
optionalBackwardCalllndicators;
REMOTE_OPERATIONS remoteOperations;
SERVICE ACTIVATION ARRAY serviceActivationArray;
TRANSMISSION MEDIUM USED TransmissionMediumUsed;
USER_TO_USER INDICATOR user_to_userlndicators;
USER TO_USER INFORMATION user to userlnformation;
//
II Blocking //
II struct BLOMessage {}
//
//
// Blocking Acknowledgement //
// struct BLAMessage (}
I/
//
// Call Progress //
struct CPGMessage {
// Mandatory Fixed Part EVENT_INFORMATION eventlnformation;
// Optional Parameters ACCESS TRANSPORT accessTransport;
BACKWARD CALL_INDICATOR backwardCalllndicators;
BUSINESS_GROUP businessGroup;
CALL_REFERENCE caIIReference;
CAUSE_INDICATORS causelndicators;
INFORMATION INDICATORS informationlndicators;
NETWORK TRANSPORT_PARAMETER networkTransportParameter;
NOTIFICATION_INDICATOR ARRAY notificationlndicatorArray;

SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/CTS98/257b0 OPTIONAL_BACKWARD CALL_INDICATORS
optionalBackwardCalllndicators;
REDIRECTION_NUMBER redirectionNumber;
REMOTE_OPERATIONS remoteOperations;
SERVICE_ACTIVATION ARRAY serviceActivationArray;
TRANSMISSION_MEDIUM_USED TransmissionMediumUsed;
USER TO USER INDICATOR user_to userlndicator;
USER TO_USER_INFORMATION user_to userlnformation;
//
// Circuit Group Blocking II
struct CGBMessage {
// Mandatory Fixed Part CKT_GRP_SUPERVISION MSG TYPE_IND
circuitGroupSupervisionMessageTypeindicator;
// Mandatory Variable Part RANGE_AND STATUS rangeAndStatus;
//
// Circuit Group Blocking Acknowledgement //
struct CGBAMessage {
// Mandatory Fixed Part CKT_GRP_SUPERVISION MSG TYPE_IND
circuitGroupSupervisionMessageTypelndicator;
// Mandatory Variable Part RANGE_AND STATUS rangeAndStatus;
//
// Circuit Group Reset //
struct GRSMessage {
// Mandatory Variable Part RANGE_AND_STATUS rangeAndStatus;
// Optional Parameters CIRCUIT ASSIGNMENT_MAP circuitAssignmentMap;
//
// Circuit Group Reset Acknowledgement //
struct GRAMessage {

SUBSTITUTE SHEET (RULE 26) // Mandatory Variable Part RANGE_AND STATUS rangeAndStatus;
// Optional Parameters CIRCUIT_ASSIGNMENT_MAP circuitAssignmentMap;
};
II
// Circuit Group Unblocking //
struct CGUMessage {
// Mandatory Fixed Part CKT_GRP_SUPERVISION MSG TYPE_IND
circuitGroupSupervisionMessageTypelndicator;
// Mandatory Variable Part RANGE AND STATUS rangeAndStatus;
};
//
// Circuit Group Unblocking Acknowledgement II
struct CGUAMessage {
// Mandatory Fixed Part CKT GRP_SUPERVISION MSG TYPE_IND
circuitGroupSupervisionMessageTypelndicator;
// Mandatory Variable Part RANGE_AND STATUS rangeAndStatus;
};
//
II Circuit Query //
struct CQMMessage {
// Mandatory Variable Part RANGE_AND_STATUS rangeAndStatus;
// Optional Parameters CIRCUIT_ASSIGNMENT_MAP circuitAssignmentMap;
//
// Circuit Query Response //
struct CQRMessage {
II Mandatory Variable Part RANGE_AND_STATUS rangeAndStatus;
CKT STATE_IND ARRAY circuitStatelndicatorArray;
~5 SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/257fzQ
//
// Circuit Reservation //
struct CRMMessage {
// Mandatory Fixed part NATURE_OF_CONNECTION INDICATOR
natureOfConnectionlndicators;
?;
ll // Circuit Reservation Acknowledgement //
// struct CRAMessage {}
//
II
// Circuit Validation Response //
struct CVRMessage {
II Mandatory Fixed Part CICT VALID_RESPONSE_IND circuitValidationResponselndicator;
CI(T_GRP_CHAR_INDICATORS circuitGroupCharacteristiclndicators;
// Optional Parameters CKT_IDENT_NAME circuitldentificationName;
CLLI STRUCT CLLICode;
};
/I
// Circuit Validation Test //
// struct CVTMessage {~
//
II
// Confusion //
struct CFNMessage {
// Mandatory Variable Part CAUSE_INDICATORS causelndicators;
II
II Continuity //
struct COTMessage {

SUBSTITUTE SHEET (RULE 2B) // Mandatory Fixed Part CONTINUITY_INDICATORS continuitylndicators;
}~
//
// Continuity Check Request //
// struct CCRMessage {}
//
//
// Exit //
struct EXMMessage {
// Optional Parameters OUTGOING TRUNK_GROUP_NUMBER
outgoingTrunkGroupNumber;
}~
//
// Facility //
struct FACMessage {
// Optional Parameters REMOTE_OPERATIONS remoteOperations;
SERVICE_ACTIVATION ARRAY serviceActivationArray;
}~
//
// Forward Transfer //
struct FOTMessage {
// Optional Parameters CALL_REFERENCE caIIReference;
//
// Information //
struct INFMessage {
// Mandatory Fixed Part INFORMATION_INDICATORS informationlndicators;
// Optional Parameters ACCESS TRANSPORT accessTransport;
BUSINESS_GROUP businessGroup;
CALL_REFERENCE caIIReference;

SUBSTITUTE SHEET (RULE 28) WO 99/28827 PCT/US98/257Cz0 CALLING_PARTY_NUMBER callingPartyNumber;
CALLING PARTY_CATEGORY calfingPartyCategory;
CHARGE NUMBER chargeNumber;
CONNECTION REQUEST connectionRequest;
ORIGINATING LINE_INFORMATION originatingLinelnformation;
REDIRECTING NUMBER redirectingNumber;
REDIRECTIONlNFORMATION redirectionlnformation;
USER TO_USER_INFORMATION user to_userlnformation;
};
//
// Information Request //
struct INRMessage {
// Mandatory Fixed Part INFORMATION_REQUEST_INDICATOR
informationRequestlndicators;
// Optional Parameters CALL_REFERENCE caIIReference;
CONNECTION_REQUEST connectionRequest;
NETWORK TRANSPORT_PARAMETER networkTransportParameter;
//
// Initial Address //
struct IAMMessage {
// Mandatory Fixed Part NATURE_OF_CONNECTION INDICATOR
natureOfConnectionlndicators;
FORWARD CALL_I~1DICATORS forwardCalllndicators;
CALLING PARTY_CATEGORY callingPartyCategory;
// Mandatory Variable Part USER_SERVICE_INFORMATION userServicelnformation;
CALLED_PARTY_NUMBER calledPartyNumber;
// Optional Parameters ACCESS TRANSPORT accessTransport;
BUSINESS_GROUP businessGroup;
CALL_REFERENCE caIIReference;
CALLING PARTY_NUMBER callingPartyNumber;
CARRIER IDENTIFICATION carrierldentification;
CARRIER_SELECTION carrierSelection;
CHARGE_NUMBER chargeNumber;
CIRCUIT_ASSIGNMENT_MAP circuitAssignmentMap;
CONNECTION REQUEST connectionRequest;
bytes egressService;
GENERIC ADDRESS genericAddress;
GENERIC_DIG1TS genericDigits;
SUBST1TUTE SHEET (RULE 26) WO 99/28827 PC'T/US98/25760 GENERIC_NAME genericName;
octet hopCounter;
INFORMATION_REC~UEST_INDICATOR
informationRequestlndicators;
JURISDICTION_INFORMATION jurisdictionlnformation;
NETWORK_MANAGEMENT_CONTROLS ARRAY
networkManagementControlsArray;
NETWORK TRANSPORT_PARAMETER networkTransportParameter;
OPERATOR SERVICE_INFO ARRAY operatorServicelnfoArray;
ORIGINAL_CALLED NUMBER originaICaIledNumber;
ORIGINATING LINE_INFORMATION originatingLinelnformation;
PRECEDENCE precedence;
REDIRECT_CAPABILITY ARRAY redirectCapabilityArray;
REDIRECT_COUNTER redirectCounter;
REDIRECTING NUMBER redirectingNumber;
REDIRECTION INFORMATION redirectionlnformation;
REMOTE_OPERATIONS remoteOperations;
SERVICE_ACTIVATION ARRAY senriceActivationArray;
SERVICE_CODE serviceCode;
SPECIAL_PROCESSING_REQUEST specialProcessingRequest;
TRANSACTION_REQUEST transactionRequest;
TRANSIT_NETWORK_SELECTION transitNetworkSelection;
USER SERVICE_INFORMATION_PRIME
userServicelnformationPrime;
USER TO_USER_INFORMATION user to_userlnformation;
};
//
// Loop Back Acknowledgement //
// struct LPAMessage {}
//
//
// Pass Along //
// struct PAMMessage {}
I/
//
// Release //
struct RELMessage {
// Mandatory Variable Part CAUSE_INDICATORS causelndicators;
// Optional Parameters ACCESS TRANSPORT accessTransport;
AUTOMATIC CONGESTION LEVEL automaticCongestionLevel;
CALL_REFERENCE caIIReference;

SUBSTITUTE SHEET (RULE 26) CHARGE_NUMBER chargeNumber;
GENERIC ADDRESS genericAddress;
SERVICE ACTIVATION ARRAY serviceActivationArray;
USER TO_USER_INFORMATION user to_userlnformation;
};
II
// Release Complete //
// struct RLCMessage {}
//
//
// Reset Circuit //
// struct RSCMessage {}
//
//
// Resume //
struct RESMessage {
// Mandatory Fixed Part SUSPEND_RESUME_INDICATOR suspend_resumelndicators;
II Optional Parameters CALL_REFERENCE caIIReference;
}~
//
II Suspend //
struct SUSMessage {
// Mandatory Fixed Part SUSPEND_RESUME_INDICATOR suspend_resumelndicators;
// Optional Parameters CALL_REFERENCE caIIReference;
}~
//
/I Unblocking //
// struct UBLMessage {}
//
//
II Unblocking Acknowledgement II
// struct UBAMessage {}
so SUBSTITUTE SHEET (RULE 26) WO 99128827 PCT/US98/2571~0 //
//
// Unequipped Circuit Identification Code II
// struct UCICMessage {}
//
}~
gl SUBSTITUTE SHEET (RULE 26) Appendix B
# Call Model for SGCP
#_____________________________________________________________~
# Events:
# Format: Event <eventName> <side-of-call>
# SetTopBox Events # OffHook - start call (Ingress) or answer ring (Egress) # DiaICompiete - digits collected for called number (Ingress) # OnHook - hang up (ingress or Egress) # Ingress Events # Created - confirming Create # Answered - showing answered call # Released - confirming delete # Suspended - Egress hung up # Resumed - Egress picks back up during Suspend # Delete - tair down local connection # TimerExpired- timer expired # Busy - Egress indicates busy called number # Announcement - an announcement must be identified # InvalidEndpoint - Egress indicates invalid called number # Egress Events # Create - establish connection # Released - confirming delete # Delete - tair down local connecting # TimerExpired- timer expired # Busy - called number found busy on create # Announcement - announcement must be played # InvalidEndpoint - received invalid called number # Transitions:
# Format: Transition <curState> <nextState>
# Idle - connection inactive # Dialing - Ingress is collecting digits for called number # Ringing - Egress is ringing called number # Active - Connection is made, full duplex # Suspended - Active session suspended # Releasing - Ingress or Egress releasing local resources # Initiated - Ingress waiting for create confirmation SUBSTITUTE SHEET (RULE 28) WO 99/28827 PCT/US98/257(t0 # Delivered - Ingress waiting for Egress to answer # * (Any) - wild card on any state # "wild card" matches on Transition State supported # curState * nextState=
# where * in curState means match on any current state # * in nextState means DONT change state # Actions:
# Format: Action <actionName> <parms>
# CreateConnection - Call Voip Gateway to create new connection # ModifyConnection - Call Voip Gateway to Modify existing connection # DeleteConnection - Call Voip Gateway to Delete existing connection # NotifyRequest - Call Voip Gateway to be notified of events # AccountingStart - Call Accounting Gateway Interface with Start Record # AccountingStop - Call Accounting Gateway Interface with Stop Record # McapCreate - Send Create message to Egress CaIlAgent # McapEvent - Send Event Message to Ingress or Egress CA
Partner # McapDelete - Send Event Message to Ingress or Egress CA
Partner # StartTimer - Request CA EndPointManager to Start timer # SequenceError - Handle event-out-of-sequence condition # Qualifiers:
# These qualifiers are valid for all Actions. They indicate if the # transition should continue to the next Action or stop if an error # is encountered.
# FatalOnError stop on error # ContinueOnError keep processing # These qualifiers are used by McapEvent Action to identify the event type.
# Created EventType=Create # Answered EventType=Answer # Released EventType=Release # Suspended EventType=Suspend # Resumed EventType=Resume # These qualifiers are used by McapCreate Action to identify the Create type.
Announce CreateType=Announce SUBSTITUTE SHEET (RULE 26) # These qualifiers are valid for those Events which can have two flavors.
The other events imply thier Ingress/Egress identity.
# Ingress Calling Side # Egress Called Side # These qualifiers identify the TimerType being Started by StartTimer Action.
# #millsec indicates the length of timer in milliseconds.
# Dial <#millsec> Wait for DiaIComplete message # Create <#millsec> Wait for Created message from Egress # Release <#millsec> Wait to Delete a Connection # This qualifier is used to identify the Busy condition on the mcapDelete event.
# Busy - Line unavailable, in use, busy # These qualifiers identify the action to take when handing an event # sequence error condition.
# ignore - Ignore out-of-sequence # Report - only report out-of-sequence # Reset - Reset line as Idle and release local resources # These qualifiers specify the Voip Gateway attributes being passed # on CreateConnection, ModifyConnection, DeleteConnection, and NotifyRequest # ReceiveMode - Put connection in Receive-Only Mode # SendReceiveMode - Put connection in full-Duplex Mode # SendMode - Put connection in Send-Only Mode # InactiveMode- Set connection as inactive # LoopBackMode - ???
# OpCompIeteNotify - notify CA of Operation Complete # OffHookNotify - notify CA of Off Hook # OnHookNotify - notify CA of On Hook # FIashHookNotify - notify CA of Flash Hook # WinkNotify - notify CA of Wink # DTMFNotif~,~ - notify CA of DTMF
# ContinuityToneNotify # ContinuityDetectedNotify # ModemToneNotify - notify CA of Modem Tone # FaxToneNotify - notify CA of Fax Tone # DigitsNotify - notify CA of Digits collected # RingingSignal - play ringing tone # RingBackSignai - play ring-back tone SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/257r~0 # DiaIToneSignal - play dial tone # BusyToneSignal - play Busy tone # CongestionToneSignal - play congestion tone # AnnouncementSignal - play Announcement # ContinuitySignal - play continuity tone # CaIIWaitingSignal - play call waiting tone # OffHookWarningSignal - play off hook warning tone #'-______________________________~_____________________________ #___________________________________________________ # OffHook for CALLING Set-Top-Box #____________________________________________________ Event OffHook Ingress Transition idle Dialing Action NotifyRequest DigitsNotify DiaIToneSignal OnHookNotify Action StartTimer Dial45 Transition Active Active #___________________________________________________ # OffHook for CALLED Set-Top-Box #___________________________________________________ Event OffHook Egress Transition Ringing Active Action McapEvent Answered Action NotifyRequest OnHookNotify Transition Active Active Transition Suspended Active Action McapEvent Resumed #___________________________________________ # DiaICompleted - Ingress Only #____________________________________________ Event DiaIComplete Transition Dialing Initiated Action CreateConnection OnHookNotify ReceiveMode Action McapCreate Action StartTimer Create 45 Transition Idle Initiated SUBSTITUTE SHEET (RULE 2B) Action CreateConnection OnHookNotify ReceiveMode Action McapCreate Action StartTimer Create 45 #________________~____________ # Create - Egress Only #_______________________________ Event Create Transition Idle Ringing Action CreateConnection OffHookNotify RingingSignal SendReceiveMode Action McapEvent Created #_____________________________ # Busy - Ingress only #__________________________~__ Event Busy Ingress Transition Active Idle Action DeleteConnection OnHookNotify OffHookNotify BusyToneSignal # Transition Initiated Idle Transition Initiated Action DeleteConnection OnHookNotify OffHookNotify BusyToneSignal Transition Delivered Idle Action DeleteConnection OnHookNotify OffHookNotify BusyToneSignal #___________________________ # Busy - Egress Only #_____________________________ Event Busy Egress Transition Action McapDeiete Busy #____________________________________________ # Announcement - Ingress only #____________________________________________ Event Announcement Ingress SUBSTITUTE SHEET (RULE 26) Transition * "
Action McapCreate Announce s7 SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/257~0 #__________________________________________ # Announcement - Egress only #____________________________________________ Event Announcement Egress Transition Action CreateConnection OpCompIeteNotify AnnouncementSignal SendMode #_____________________________________ # InvalidEndpoint - Ingress #_____________________________________ Event InvalidEndpoint Ingress Transition Active Idle Action DeleteConnection ~OnHookNotify OffHookNotify BusyToneSignal Transition Initiated Idle Action DeleteConnection OnHookNotify OffHookNotify BusyToneSignal Transition Delivered Idle Action DeleteConnection OnHookNotify OffHookNotify BusyToneSignal #___________________________________ # InvalidEndpoint - Egress #____________________________________ Event InvalidEndpoint Egress Transition Action McapDelete InvalidEndpoint sg SUBSTITUTE SHEET (RULE 26) ___ WO 99/28827 PCT/US98/257f~0 #_______~_________________________ # Created - Ingress Only #__________________________________ Event Created Transition Diaiing Delivered Transition Initiated Delivered # Action ModifyConnection OnHookNotify RingBackSignal ReceiveMode Action ModifyConnection OnHookNotify RingBackSignal SendReceiveMode #________________-__._________________ # Answered - Ingress Only #_____________________________________ Event Answered Transition Idle Active Transition Initiated Active # Action ModifyConnection OnHookNotify SendReceiveMode Action NotifyRequest OnHookNotify Action AccountingStart Transition Delivered Active # Action ModifyConnection OnHookNotify SendReceiveMode Action NotifyRequest OnHookNotify Action AccountingStart #_____-____________________________-________________ # OnHook for CALLING Set-Top-Box #___________________________________________________ Event OnHook Ingress Transition Releasing Idle Action NotifyRequest OnHookNotify OffHookNotify Transition Active Releasing Action McapDeiete Action DeleteConnection OnHookNotify OffHookNotify Action StartTimer Release 45 Transition Dialing Idle Action NotifyRequest OnHookNotify OffHookNotify SUBSTITUTE SHEET (RULE 2$) WO 99/28827 PCT/US98/257b0 Transition initiated Releasing Action McapDelete Action DeleteConnection OnHookNotify OffHookNotify Action StartTimer Release 45 Transition Delivered Releasing Action McapDelete Action DeleteConnection OnHookNotify OffHookNotify Action StartTimer Release 45 Transition * Idle Action NotifyRequest OnHookNotify OffHookNotify #___________________________________________________ # OnHook for CALLED Set-Top-Box #___________________________________________________ Event OnHook Egress TransitionReleasing Idle Action NotifyRequestOnHookNotify OffHookNotify TransitionActive Suspended Action NotifyRequestOnHookNotify OffHookNotify Action StartTimer Release 15 Action McapEvent Suspended Transition* Idl e Action NotifyRequestOnHookNotify OffHookNotify SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/257(~0 #_________________~______________________________ # Delete for CALLING Set-Top-Box #_________________________________________________ Event Delete Ingress Transition Active Idle Action McapEvent Released Action DeleteConnection OnHookNotify OffHookNotify Action AccountingStop TransitionIdle Idle Action McapEvent Released Action NotifyRequest OnHookNotify OffHookNotify TransitionDialing Dialing Action McapEvent Released TransitionReleasing Idle Action NotifyRequest OnHookNotify OffHookNotify Action AccountingStop TransitionInitiated Idle Action McapEvent Released Action DeleteConnection OnHookNotify OffHookNotify Action AccountingStop TransitionDelivered Idle Action McapEvent Released Action DeleteConnection OnHookNotify OffHookNotify Action AccountingStop #________________________________________________ # Delete for CALLED Set-Top-Box #________________________________________________ Event Delete Egress Transition Active Idle Action McapEvent Released Action DeleteConnection OnHookNotify OffHookNotify Transition Suspended Idle Action McapEvent Released Action DeleteConnection OnHookNotify OffHookNotify Transition Idle Idle Action McapEvent Released SUBSTITUTE SHEET (RULE 26) Action NotifyRequest OnHookNotify OffHookNotify Transition Ringing Idle Action McapEvent Released Action DeleteConnection OnHookNotify OffHookNotify Transition Releasing Idle Action NotifyRequest OnHookNotify OffHookNotify #_____________________________________________________ # Released for CALLING Set-Top-Box #_____________________________________________________ Event Released Ingress Transition Releasing Idle Action AccountingStop Action NotifyRequest OnHookNotify OffHookNotify Transition Action AccountingStop #___________________________________________________ #- Released for CALLED Set-Top-Box #____________________________________________________ Event Released Egress TransitionReleasing Idle Action NotifyRequestOnHookNotify OffHookNotify TransitionSuspended Idle Action NotifyRequestOnHookNotify OffHookNotify Transition #_______________________________________________________________ # Expired Timer waiting for digits to be dialed #_________________________~____________________________________ Event TimerExpired Dial Transition Dialing Idle Action NotifyRequest OnHookNotify OffHookNotify DiaIToneSignal SUBSTITUTE SHEET (RULE 26) WO 99/28827 PCT/US98/2576_0 #_______________________________________~______________ # Expired Timer waiting for Create ACK
#_______________________________________________________ Event TimerExpired Create Transition Initiated Idle Action McapDelete Action DeleteConnection OnHookNotify OffHookNotify #____________________________________________________________________ # Expired Timer waiting for hang-up delay interval #_____________________________________________________________________ Event TimerExpired Release Transition Suspended Releasing Action McapDelete Action DeleteConnection OnHookNotify OffHookNotify Transition Releasing Idle Action NotifyRequest OnHookNotify OffHookNotify SUBSTITUTE SHEET (RULE 26)

Claims (12)

1. A communication system for providing local and long distance telephone service over a packet based network to telephone subscribers connected to circuit switched switching offices, said system comprising:
a plurality of gateways including trunk gateways connecting the packet based network to individual ones of the switching offices, residential gateways connected to subscriber telephones, and SS7 gateways connected to individual ones of the switching offices; and a service control system including:
a plurality of call agent clusters, each of said gateways being connected to one of said call agent clusters, one of said call agent clusters serving as an ingress call agent cluster and another of said call agent clusters serving as an egress call agent cluster for a specific communication to be set up through the packet based network between a calling and a called telephone subscriber, and a software bus interconnecting the ingress call agent cluster receiving information from the calling subscriber and the egress call agent cluster associated with the called subscriber, said egress call agent cluster communicating to the gateway element associated with the called subscriber for establishing the connection over the packet based network.
2. The communication system in accordance with claim 1 wherein said service control system further comprises a routing engine for determining the appropriate egress call agent cluster for the communication desired to be established between the calling and called subscribers.
3. The communication system in accordance with claim 2 wherein one of said gateways is an accounting gateway.
4. The communication system in accordance with claim 2 wherein said SS7 gateways are connected to individual ones of the switching offices.
5. The communication system in accordance with claim 1 wherein said call agent clusters each include a packet network message queue, an endpoint manager, a state machine, and a media control device manager.
6. The communication system in accordance with claim 5 wherein each call agent cluster connected to a trunk gateway further includes a message handler and a connection set descriptor manager and said media control device manager is connected to the trunk gateway.
7. The communication system in accordance with claim 6 wherein said packet network message queue of each said call agent cluster connected to a trunk gateway is connected to an SS7 gateway, said SS7 gateway serving to control the establishment of a communication path through a switching office and the trunk gateway serving to complete the communication path from the packet based network through the switching office to the called subscriber.
8. The communication system in accordance with claim 5, wherein for each call agent cluster connected to a residential gateway, said media control device manager is connected to said residential gateway.
9. The communication system in accordance with claim 8 wherein for each call agent cluster connected to a residential gateway, said packet network message queue is connected to said residential gateway.
10. The communication system in accordance with claim 1 further comprising an announcing server connected to one of said call agent clusters.
11. A method for establishing communication for local and long distance telephone service over a packet based network between a calling and a called subscriber connected to circuit switched switching systems, the calling and called subscribers being connected to a service control system by gateways and said service control system including a plurality of call agent clusters, and said method comprising the steps of:
transmitting information from a calling subscriber through a gateway to a first call agent cluster, said information regarding establishing a communication with a called subscriber;
setting up a connection in said service control system between said first call agent cluster and a called agent cluster associated with the calling subscriber, said setting up the connection comprising the first call agent cluster transmitting information to a routing engine and the routing engine determining a second call agent cluster associated with the called subscriber from the plurality of called agent clusters in the service control system and transmitting the information to the determined second call agent cluster; and thereafter exchanging communication over the packet network between the calling and called subscribers.
12. The method according to claim 11 wherein said step of the routing engine determining the second call agent cluster includes the steps of the routing engine transmitting a request to a network resource database and the network resource database responding back to the routing engine.
CA002312325A 1997-12-03 1998-12-03 Method and system for media connectivity over a packet-based network Expired - Fee Related CA2312325C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US6722497P 1997-12-03 1997-12-03
US60/067,224 1997-12-03
PCT/US1998/025760 WO1999028827A1 (en) 1997-12-03 1998-12-03 Method and system for media connectivity over a packet-based network

Publications (2)

Publication Number Publication Date
CA2312325A1 CA2312325A1 (en) 1999-06-10
CA2312325C true CA2312325C (en) 2004-11-09

Family

ID=22074553

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002312325A Expired - Fee Related CA2312325C (en) 1997-12-03 1998-12-03 Method and system for media connectivity over a packet-based network

Country Status (4)

Country Link
EP (1) EP1049981A1 (en)
JP (1) JP2001525621A (en)
CA (1) CA2312325C (en)
WO (1) WO1999028827A1 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185288B1 (en) 1997-12-18 2001-02-06 Nortel Networks Limited Multimedia call signalling system and method
JP3764016B2 (en) 1999-05-10 2006-04-05 財団法人流通システム開発センタ− Integrated IP transfer network
GB2368692B (en) * 1999-06-25 2003-02-12 Jacobs Rimell Ltd Automated provisioning system
AU2004202423B2 (en) * 1999-06-25 2004-09-16 Jacobs Rimell Limited Automated provisioning system
CA2380014A1 (en) * 1999-07-22 2001-02-01 Telefonaktiebolaget Lm Ericsson Transport of vertical control protocol messages on a switched communications network
AU4915701A (en) * 2000-03-13 2001-09-24 Sprint Communications Co Continuity testing in communication networks
US6728362B1 (en) 2000-03-28 2004-04-27 Sprint Communications Company, L.P. Continuity testing with call tone messaging in communication networks
US6731738B1 (en) 2000-03-28 2004-05-04 Sprint Communications Company, L.P. Call tones in communication networks
US6640318B1 (en) 2000-03-13 2003-10-28 Sprint Communications Company, L.P. Continuity testing in communication networks
KR100357850B1 (en) * 2000-03-29 2002-10-25 삼성전자 주식회사 Distributed objects oriented communication system and method for common service various protocolby used corba proxy module therefor
EP2509282A3 (en) * 2000-04-06 2014-08-13 The Distribution Systems Research Institute Terminal-to-terminal communication connection control method using IP transfer network
US7301952B2 (en) 2000-04-06 2007-11-27 The Distribution Systems Research Institute Terminal-to-terminal communication connection control method using IP transfer network
JP4694092B2 (en) 2000-06-02 2011-06-01 ラディシス・コーポレーション VOIP communication without echo cancellation
AU2000268216A1 (en) 2000-06-30 2002-01-14 Nokia Corporation Service broker
SG101985A1 (en) 2000-07-12 2004-02-27 Distribution Systems Res Inst Integrated information communication system
EP2234407A1 (en) 2001-06-08 2010-09-29 The Distribution Systems Research Institute Terminal-to-terminal communication connection control system for IP full service
EP1370056B1 (en) 2002-06-03 2006-07-26 Alcatel Telecommunication system with packet-switched-multimedia-session-to-circuit-switched-call transferral
US8072979B2 (en) 2002-06-07 2011-12-06 The Distribution Systems Research Institute Terminal-to-terminal communication control system for IP full service

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4656624A (en) * 1985-05-03 1987-04-07 At&T Bell Laboratories Operator communication arrangements for operator assistance systems
US4949373A (en) * 1989-01-06 1990-08-14 International Business Machines Corporation Host load balancing
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
US5581596A (en) * 1994-06-13 1996-12-03 U S West Technologies, Inc. Method for controlling call processing in a microcellular personal communications services system
US5550906A (en) * 1994-08-05 1996-08-27 Lucent Technologies Inc. Telecommunications feature server
US5706286A (en) * 1995-04-19 1998-01-06 Mci Communications Corporation SS7 gateway

Also Published As

Publication number Publication date
EP1049981A1 (en) 2000-11-08
JP2001525621A (en) 2001-12-11
CA2312325A1 (en) 1999-06-10
WO1999028827A1 (en) 1999-06-10

Similar Documents

Publication Publication Date Title
CA2312325C (en) Method and system for media connectivity over a packet-based network
US6724747B1 (en) Method and system for media connectivity over a packet-based network
Greene et al. Media gateway control protocol architecture and requirements
US8270421B2 (en) Voice over data telecommunications network architecture
KR100534141B1 (en) APPARATUS FOR A VOICE OVER IP(VoIP) TELEPHONY GATEWAY AND METHODS FOR USE THEREIN
US7742467B1 (en) Method for performing segmented resource reservation
RU2144208C1 (en) Wide-band communication system
US6574335B1 (en) Method for simulating a ring back for a call between parties in different communication networks
JP3880867B2 (en) IP packet access gateway (IPPAG) system and method and computer program product for managing IP bearer paths between IP endpoints
US6788649B1 (en) Method and apparatus for supporting ATM services in an intelligent network
US8284911B1 (en) Method for call forwarding without hairpinning and with split billing
US7151772B1 (en) Method for performing lawfully-authorized electronic surveillance
US7305081B1 (en) Method for exchanging signaling messages in two phases
US20100220715A1 (en) Technique for providing translation between the packet environment and the pstn environment
CA2321622A1 (en) A multi-mode endpoint in a communication network system and methods thereof
JP3226721B2 (en) Communication method and communication device
US6603760B1 (en) System and method for gradual transition of local phone services from PSTN to next generation network
JP3887569B2 (en) Method, computer program product, ATM packet access gateway system and ATM packet access gateway for managing ATM bearer paths
Greene et al. RFC2805: Media Gateway Control Protocol Architecture and Requirements
KR100406234B1 (en) Method For Exchange V5.2 Subscriber Status On Access Network
Rosen Network Working Group N. Greene Request for Comments: 2805 Nortel Networks Category: Informational M. Ramalho Cisco Systems
GB2351415A (en) Continuity checking in a telecommunications network
KR20040015959A (en) Method for transmitting access gateway subscribe line information using media gateway control protocol
MXPA98001825A (en) System to manage telecommunication
CN1205826A (en) Call back service for regulatory restrictive area

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed