Language selection

Search

Patent 2312325 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2312325
(54) English Title: METHOD AND SYSTEM FOR MEDIA CONNECTIVITY OVER A PACKET-BASED NETWORK
(54) French Title: PROCEDE ET SYSTEME DE CONNECTIVITE DE SUPPORTS PAR L'INTERMEDIAIRE D'UN RESEAU A BASE DE PAQUETS
Status: Deemed expired
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 13/00 (2006.01)
  • H04L 65/1069 (2022.01)
  • H04L 67/10 (2022.01)
  • H04L 67/14 (2022.01)
  • H04L 12/64 (2006.01)
  • H04M 7/00 (2006.01)
  • H04Q 3/00 (2006.01)
  • H04Q 11/04 (2006.01)
  • H04L 29/06 (2006.01)
  • H04L 12/56 (2006.01)
(72) Inventors :
  • ARANGO, MAURICIO (United States of America)
  • CAHL, LOUIS (United States of America)
  • COOK, MICHAEL J. (United States of America)
  • ELY, THOMAS C. (United States of America)
  • HUITEMA, CHRISTIAN (United States of America)
  • OBROCK, FREDERICK (United States of America)
  • SMYK, DAREK A. (United States of America)
(73) Owners :
  • TELCORDIA LICENSING COMPANY LLC (United States of America)
(71) Applicants :
  • TELCORDIA TECHNOLOGIES, INC. (United States of America)
(74) Agent: KIRBY EADES GALE BAKER
(74) Associate agent:
(45) Issued: 2004-11-09
(86) PCT Filing Date: 1998-12-03
(87) Open to Public Inspection: 1999-06-10
Examination requested: 2000-05-29
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US1998/025760
(87) International Publication Number: WO1999/028827
(85) National Entry: 2000-05-29

(30) Application Priority Data:
Application No. Country/Territory Date
60/067,224 United States of America 1997-12-03

Abstracts

English 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.


French Abstract

Procédés et systèmes conçus pour être appliqués à un ensemble matériel indépendant distribué à échelle variable afin de supporter des fonctions multiples concernant la gestion (186, 188) et le support de communications (182, 184) par l'intermédiaire d'un réseau à base de paquets. Les communications supportées par ces procédés et ces systèmes consistent, sans y être toutefois limitées, en des communications vocales par l'intermédiaire d'un protocole Internet (VOIP) (150), par l'intermédiaire d'un mode de transfert asynchrone (ATM), en vidéoconférences, en transferts de données, en communications téléphoniques (130) ou en téléchargement de vidéo ou d'autres données (174). Ces procédés et ces systèmes mettent en application un appel position (160), composé de différents objets distribués le long d'un bus logiciel CORBA, servant à gérer les communications établies entre deux points d'extrémité communiquant par l'intermédiaire d'un réseau à base de paquets.

Claims

Note: Claims are shown in the official language in which they were submitted.





CLAIMS
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.
94




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.
95



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.
96

Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02312325 2002-06-12
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.


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
2
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2002-06-12
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


CA 02312325 2002-06-12
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


CA 02312325 2000-OS-29
WO 99128827 PCT/US98/25760
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.
4
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
5
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
6
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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.
8
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
9
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
10
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99128827 PCT/US98/25760
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:
11
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/L1S98/25760
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,
12
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99128827 PCT/US98/25760
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
13
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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.
14
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98I25760
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)


CA 02312325 2000-OS-29
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
17
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99128827 PCT/US98/25760
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)


CA 02312325 2000-OS-29
WO 99/28827 PCT/EJS98/25760
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
19
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
20
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
21
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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
22
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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.
23
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99128827 PCT/US98/25760
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.
24
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99128827 PCT/US98/25760
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.
25
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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.
26
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
. 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
27
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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.
28
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25749
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) {
29
SUBSTITUTE SHEET (RULE 26)

CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/Z5760
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
30
SUBSTITUTE SHEET (RULE 26)

CA 02312325 2000-OS-29
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;
31
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCTNS98/25760
interface Mcap~istener {
void mcapCreate(in McapCreateMessage msg);
void mcapEvent(in McapEventMessage msg);
void mcapDelete(in McapDeleteMessage msg);
void mcapTunnei(in McapTunneIMessage msg);
);
32
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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;
33
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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;
};
)~
34
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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;
};
);
35
SUBSTITUTE SHEET (RULE 26)

CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25750
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;
36
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
//
// MCAP TUNNEL parameter
//
// no parameter defined
37
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
Appendix A6: SGCP Tunnel tDL
module McapSgcpTunnel {
enum SgcpMessageType {
NULL
);
struct SgcpTunneIMessage {
SgcpMessageType messageType;
?;
38
SU8ST1TUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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;


39
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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)


CA 02312325 2000-OS-29
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,
LEVEL3
};
//
II Backward Call Indicator
//
enum CHARGE_INDICATOR {
NO INDICATION,
NO_CHARGE,
CHARGE,
SPARE
enum _CALLED_PARTY STATUS_INDICATOR {
NO_INDICATION,
SUBSCRIBER_FREE,
41
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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


42
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
43
SU9STITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
//
44
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
45
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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 {
46
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCTNS98/25760
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,
47
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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 {
48
SUBSTITUTE SHEET (RULE 2fi)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
CN_NATURE_OF_ADDR_IND natureOiAddrlnd;
ODD_EVEN BIT oddEvenBit;
NUMBERING_PLAN numberingPlan;
string addressSignal;
//
// Circuit Assignment Map
//
enum -CIRCUIT ASSIGNMENT_MAP TYPE {
DS1
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
49
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
51
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
//
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 {
52
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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;
53
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
54
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/2576Q
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)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
56
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCTNS98/25760
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,
57
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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,
58
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCTNS98/25760
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,
A 0
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 {
59
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/Z88Z7 PCT/US98/25760
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;
60
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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;
61
SUBSTITUTE SHEET (RULE 26) __


CA 02312325 2000-OS-29
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
62
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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
63
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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,
64
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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
65
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
//
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;
66
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
//
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,
67
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98I25769
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 {
68
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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
69
.. SUBSTITUTE SHEET (RULE 26) _


CA 02312325 2000-OS-29
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)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25769
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)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
X208X209,
V 120,
T 1607,
RESERVED2,
NATIONAL,
RESERVED3
};
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
72
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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;
73
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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 {
74
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25750
// 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)


CA 02312325 2000-OS-29
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 {
76
SUBSTITUTE SHEET (RULE 2B)


CA 02312325 2000-OS-29
WO 99/Z8827 PGT/US98/Z5760
// 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;
77
SUBSTITUTE SHEET (RULE 28)


CA 02312325 2000-OS-29
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)


CA 02312325 2000-OS-29
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;
79
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99128827 PCTJUS98J25760
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)


CA 02312325 2000-OS-29
WO 99128827 PCT/US98/2571~0
//
//
// Unequipped Circuit Identification Code
II
// struct UCICMessage {}
//
}~
gl
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
82
SUBSTITUTE SHEET (RULE 28)


CA 02312325 2000-OS-29
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
83
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/2576Q
# 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
84
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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)


CA 02312325 2000-OS-29
WO 99/28827 PCT/US98/25760
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
86
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99128827 PCT/US98/25760
Transition * "
Action McapCreate Announce
s7
SUBSTITUTE SHEET (RULE 26)

CA 02312325 2000-OS-29
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) ___


CA 02312325 2000-OS-29
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
89
SUBSTITUTE SHEET (RULE 2$)


CA 02312325 2000-OS-29
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)


CA 02312325 2000-OS-29
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
91
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
WO 99/Z8827 PCT/US98/25760
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
92
SUBSTITUTE SHEET (RULE 26)


CA 02312325 2000-OS-29
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
93
SUBSTITUTE SHEET (RULE 26)

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2004-11-09
(86) PCT Filing Date 1998-12-03
(87) PCT Publication Date 1999-06-10
(85) National Entry 2000-05-29
Examination Requested 2000-05-29
(45) Issued 2004-11-09
Deemed Expired 2011-12-05

Abandonment History

Abandonment Date Reason Reinstatement Date
2002-12-03 FAILURE TO PAY APPLICATION MAINTENANCE FEE 2003-04-10

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Request for Examination $400.00 2000-05-29
Registration of a document - section 124 $100.00 2000-05-29
Registration of a document - section 124 $100.00 2000-05-29
Application Fee $300.00 2000-05-29
Maintenance Fee - Application - New Act 2 2000-12-04 $100.00 2000-09-12
Maintenance Fee - Application - New Act 3 2001-12-03 $100.00 2001-10-15
Reinstatement: Failure to Pay Application Maintenance Fees $200.00 2003-04-10
Maintenance Fee - Application - New Act 4 2002-12-03 $100.00 2003-04-10
Maintenance Fee - Application - New Act 5 2003-12-03 $150.00 2003-11-10
Final Fee $372.00 2004-08-18
Maintenance Fee - Patent - New Act 6 2004-12-03 $200.00 2004-11-03
Maintenance Fee - Patent - New Act 7 2005-12-05 $200.00 2005-11-24
Maintenance Fee - Patent - New Act 8 2006-12-04 $200.00 2006-11-23
Maintenance Fee - Patent - New Act 9 2007-12-03 $200.00 2007-10-23
Maintenance Fee - Patent - New Act 10 2008-12-03 $250.00 2008-11-17
Maintenance Fee - Patent - New Act 11 2009-12-03 $250.00 2009-11-10
Registration of a document - section 124 $100.00 2010-06-22
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
TELCORDIA LICENSING COMPANY LLC
Past Owners on Record
ARANGO, MAURICIO
BELL COMMUNICATIONS RESEARCH, INC.
CAHL, LOUIS
COOK, MICHAEL J.
ELY, THOMAS C.
HUITEMA, CHRISTIAN
OBROCK, FREDERICK
SMYK, DAREK A.
TELCORDIA TECHNOLOGIES, INC.
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 2004-01-19 1 18
Claims 2004-01-19 3 124
Representative Drawing 2000-08-22 1 11
Cover Page 2004-10-07 2 68
Description 2000-05-29 93 3,014
Description 2002-06-12 94 3,068
Claims 2002-06-12 3 122
Cover Page 2000-08-22 2 68
Abstract 2000-05-29 1 62
Claims 2000-05-29 10 261
Drawings 2000-05-29 15 327
Representative Drawing 2004-05-31 1 27
Correspondence 2004-08-18 1 29
Assignment 2000-05-29 11 407
PCT 2000-05-29 11 468
Prosecution-Amendment 2002-02-19 4 153
Prosecution-Amendment 2002-06-12 11 450
Fees 2003-04-10 1 47
Prosecution-Amendment 2003-07-18 3 123
Prosecution-Amendment 2004-01-19 10 371
Assignment 2010-06-22 12 574