`Berg et al.
`
`USOO667471 3B1
`(10) Patent No.:
`US 6,674,713 B1
`(45) Date of Patent:
`Jan. 6, 2004
`
`(54) METHOD AND APPARATUS FOR
`PROVIDING CONTINUOUS VOICE AND
`CALL COMMUNICATIONS BETWEEN A
`DATA NETWORK AND A TELEPHONY
`NETWORK
`(75) Inventors: Diane M. Berg, Fairfax, VA (US);
`Thomas J. Bova, Arlington, VA (US);
`Theodore S. Krivoruchka, Jr.,
`Sterling, VA (US); Kenneth A.
`Morneault, Marshall, VA (US)
`(73) Assignee: Cisco Technology, Inc., San Jose, CA
`(US)
`-
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/256,688
`1-1.
`(22) Filed:
`Feb. 23, 1999
`(51) Int. Cl." ................................................... H04J 1/16
`(52) U.S. Cl. ....................... 370/217; 370/352; 370/401;
`370/410; 370/467; 370/496; 709/227: 714/1
`(58) Field of Search ................................. 370/216–228,
`370/242, 244-245, 248, 252, 352,469
`40.410.412 413.465,467.522.524.
`496, 241 247. 340'825 O1: 714i. 70922,
`3 a
`u-3 a
`3
`• Y u-3
`s
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`5,790,553 A * 8/1998 Deaton et al. .............. 370/466
`6,333.931 B1 * 12/2001 LaPier et al. ........
`... 370/385
`6,339,594 B1 * 1/2002 Civanlar et al. ............ 370/352
`
`3/2002 Beshai ....................... 370/358
`4/2002 Law et al. .................. 370/352
`
`6,356,546 B1
`6,373,838 B1
`* cited b
`cited by examiner
`Primary Examiner Dang Ton
`ASSistant Examiner-Inder Pal Mehra
`(74) Attorney, Agent, or Firm-Hickman Palermo Truong
`& Becker LLP
`ABSTRACT
`(57)
`A method and apparatus are provided for providing continu
`ous voice and call communications between a data network
`and a telephony network. In one configuration, a first
`gateway controller that receives the communications from
`the data network is coupled multiple Sessions to a gateway
`that couples the communications to the telephony network.
`When the in-use Session fails, the communications are
`automatically Switched over from this Session to the another
`Session, while maintaining the Voice and call communica
`tions without interruption, and while ensuring that all mes
`Sages generated by the gateway are Sent to the gateway
`controller. In another configuration, first and second gateway
`controllers are designated as Active and Standby. Each of the
`llers are d
`das A
`d Standbv. Each of th
`gateway controllers maintains one or more Sessions in
`communication with the gateway. When the Active gateway
`controller fails or operator requests a gateway controller
`Switchover, the communications are automatically Switched
`So that communications are directed to the Second gateway
`controller. Accordingly, fault-tolerant voice communication
`over a packet-Switched data network, Such as the Internet, is
`provided. Message queuing may be used to ensure that
`gateway messages are not lost and reach the gateway
`controller.
`
`47 Claims, 10 Drawing Sheets
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`102a
`Active Media
`Gateway
`Controller
`
`SeSSion
`Manager
`Server
`
`Standby Media
`Gateway
`COntroller
`
`112b
`Session
`Manager
`Server
`
`104
`Gateway
`
`
`
`Session
`Manager
`Client
`
`Page 1 of 30
`
`GOOGLE EXHIBIT 1028
`
`
`
`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 1 of 10
`
`US 6,674,713 B1
`
`
`
`
`
`
`
`102
`
`Channels
`
`ISDN
`
`110
`110
`DPNSS
`
`SS7
`
`100
`
`F.G. 1A
`
`Page 2 of 30
`
`
`
`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 2 of 10
`
`US 6,674,713 B1
`
`FIG. 1B
`
`104
`Gateway
`
`Session
`Manager
`Client
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`102a
`Active Media
`Gateway
`Controller
`
`
`
`
`
`Session
`Manager
`Server
`
`
`
`Standby Media
`GateWay
`Controller
`
`
`
`
`
`
`
`
`
`
`
`112b
`Session
`Manager
`Server
`
`Page 3 of 30
`
`
`
`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 3 of 10
`
`US 6,674,713 B1
`
`208
`Signaling Protocols Application(s)
`
`200
`
`206
`
`204
`
`202
`
`RUDP
`
`UDP
`
`IP
`
`FIG. 2
`
`Page 4 of 30
`
`
`
`US 6,674,713 B1
`US 6,674,713 Bl
`
`bleve‘DI
`
`JOAOYIUMS
`
`
`
`SyAleuitigUOISSAS
`
`
`
`SOQ0}suOHisUelUOISSASSyAre
`
`Océ
`
`S]UOISSaS80E
`
`U.S. Patent
`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 4 of 10
`
`
`
`
`
`palabbuysaul]S]Aledudlssas
`
`S]UOISSAS
`
`90
`
`
`
`
`
`
`
`009
`00€
`
`Page 5 of 30
`
`Page 5 of 30
`
`
`
`
`
`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 5 of 10
`
`US 6,674,713 Bl
`
`papeibaq-Si
`CGESS]Aleuid
`SOOUdISsasAWOLMOT
`S/UoIssagAolYbIH
`UOISSASAJOLJAMO]
`
`Sfle-4J9NOYIUIMS|~8PE
`
`
`
`(UNOD‘sawit)
`[moe
`
`
`UOISSaSAjUOudISayBiy
`9S]Aled0)UONISUeL]
`S000}UORISUEL—ope
`
`
`
`
`
`SG]AreuliUOISSASAJLOUMOTS]AleutuoissasAJUOLUd}saybiy
`
`Ore9&8
`
`bb
`
`gé‘Sid
`
`
`
`
`
`
`
`SyuOIssas
`
`41d)
`
`vee
`
`0€gE
`
`Page 6 of 30
`
`Page 6 of 30
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 6 of 10
`
`US 6,674,713 B1
`
`360
`ANY SESSIONS IN
`SERVICE
`
`
`
`
`
`
`
`362
`SELECT HIGHEST
`PRIORITY SESSION THATIS
`INSERVICE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`364
`SET SWITCHOVER
`TIMER
`
`366
`BRINGHIGHEST PRIORITY
`SESSIONS INSERVICE
`
`374
`SEND START ON
`SELECTED SESSION
`
`
`
`
`
`
`
`376
`ISSELECTED
`SESSION HIGHEST
`PRIORITY?
`
`NO
`
`YES
`
`378
`GO TO INSERVICE
`
`380
`GO TON-SERVICE
`DEGRADED
`
`370
`TIMEREXPRED?
`
`YES
`
`372
`GO OUT OF
`SERVICE
`
`Page 7 of 30
`
`
`
`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 7 of 10
`
`US 6,674,713 B1
`
`402
`
`
`
`
`
`SeSSion Added, SeSSiOn In-Service
`
`Session Primary In-Service
`(A/S Notification Sent)
`
`FIG. 4A
`
`Page 8 of 30
`
`
`
`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 8 of 10
`
`US 6,674,713 B1
`
`FIG. 4B
`
`422
`OUT OF SERVICE
`
`STANDBY IN
`SERVICE
`
`
`
`
`
`
`
`
`
`424
`ACTIVE INSERVICE
`
`
`
`FULL INSERVICE
`
`Page 9 of 30
`
`
`
`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 9 of 10
`
`US 6,674,713 B1
`
`FIG. 4C
`
`450
`QUEUE HOLDSET2
`
`452
`QUEUERESET
`
`454
`CLEAR QUEUE
`HOLD
`
`
`
`460
`QUEUERESUME
`
`462
`CLEARQUEUE
`HOLD
`
`456
`DELETE ALL
`QUEUED MESSAGES
`
`464
`TRANSFERALL
`QUEUED MESSAGES
`
`458
`RETURN
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 10 of 30
`
`
`
`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 10 Of 10
`
`US 6,674,713 B1
`
`FIG. 4D
`
`
`
`470
`SESSIONMANAGER
`SERVER SENDS QUEUE
`HOLDINVOKE MESSAGE
`
`
`
`
`
`
`
`472
`SESSIONMANAGER
`CLIENT INFULL IN
`SERVICE STATE?
`
`NO
`
`
`
`RETURN
`
`474
`SESSIONMANAGER CLIENT
`CHANGES STATUS VALUE OF
`ALL QUEUES OF SESSION TO
`HOLD
`
`476
`SESSIONMANAGER CLIENT
`SENDS QUEUE HOLD
`RESPONSE MESSAGE
`
`478
`SESSIONMANAGER
`SERVER SENDS STATE
`INFO TO STANDBY SERVER
`
`
`
`480
`SESSIONMANAGER
`SERVERSTRANSITION
`
`Page 11 of 30
`
`
`
`US 6,674,713 B1
`
`1
`METHOD AND APPARATUS FOR
`PROVIDING CONTINUOUS VOICE AND
`CALL COMMUNICATIONS BETWEEN A
`DATA NETWORK AND A TELEPHONY
`NETWORK
`
`FIELD OF THE INVENTION
`The present invention generally relates to telecommuni
`cations. The invention relates more Specifically to commu
`nicating voice and call Signaling information over packet
`data networks, and managing multiple Sessions of Such
`communications.
`
`2
`closed and governed carefully by the telephone companies.
`This disadvantage can cause acute problems when back
`hauling is carried out.
`To provide reliable backhaul, it is important to be able to
`maintain multiple IP connections or Sessions between the
`Signaling terminal device and the call processing device, So
`that message can be transmitted even when the inherently
`unreliable IP network fails. The system must be configured
`So that communications are not interrupted upon network
`failure, and So that communications can resume when the
`network comes back up.
`One approach to this problem is to allow multiple Sessions
`to be established between nodes of the network. When the IP
`network fails, one node may Switch over to a Second,
`separate session that travels over a different IP network path
`and therefore bypasses the failure. However, past Solutions
`generally can manage only one Session used by a particular
`Signaling path and channel. There is a need for a lightweight
`management layer below the Signaling protocol application
`to manage Sessions used by Signaling paths and channels.
`One possible approach is to add Session management
`capabilities to the call signaling protocol. However, this is
`undesirable. Since Such an approach involves modifying an
`established, Standard call protocol, it could require extensive
`Study by Standards development organizations or the tele
`phone carriers.
`There is also a need for a management layer that can use
`a Session group or Session Set, to maintain multiple connec
`tions between a given gateway (acting as client) and media
`gateway controller (acting as server). This would increase
`availability of the gateway.
`There is particular a need for a system, method or
`mechanism that can manage multiple Internet Protocol data
`communication Sessions for increased redundancy.
`There is also a need for a System, method or mechanism
`that provides a way to Switch from one Session to another in
`the event that one Session fails, without losing, duplicating
`or dropping messages, or calls that are associated to them.
`There is also a need for Such a System, method or
`mechanism that can Support fault tolerant hardware configu
`rations for the media gateway controller.
`There is also a need for Such a System, method or
`mechanism that can Save or temporarily hold messages
`communicated between the network nodes while a fault
`tolerant Switchover procedure is occurring, to prevent Such
`messages from being lost, duplicated or discarded.
`SUMMARY OF THE INVENTION
`The foregoing needs and objects, and other needs and
`objects that will become apparent from the following
`description, are fulfilled by the present invention, which
`comprises, in one embodiment, a Session manager that can
`manage multiple data network Voice communication SeS
`Sions for increased redundancy. The Session manager oper
`ates logically above a reliable communication layer. The
`reliable communication layer determines when or if a Ses
`Sion is connected or failed, and may notify the Session
`manager about changes in Session State.
`The Session manager carries out management operations
`based on availability and priority of each Session. The
`Session manager can Seamlessly Switch a call or Signaling
`information from one IP Session to another upon a failure
`without interruption in Service to the Signaling protocol. The
`Session manager can manage the fault tolerant configura
`tions of the media gateway controller. The Session manager
`
`BACKGROUND OF THE INVENTION
`There is significant market need and technical interest in
`finding ways to communicate Voice information and call
`Signaling information over existing data networks. An
`example application in this field is Sending telephone calls,
`including both the Voices of the calling parties and call
`Set-up, tear-down, and related Signaling information, over a
`packet-Switched data network. There is particular interest in
`providing telephone call capability over the global, packet
`Switched public data network known as the Internet. A key
`motivation for this technology is that Voice calls carried over
`the Internet do not incur telephone call toll charges, which
`are imposed by long-distance carriers and certain local
`telephone call carriers in the public Switched telephone
`network. In short, Voice-over-Internet technology may offer
`callers the ability to place low-cost calls over open protocol
`networks.
`A significant leap forward in this field has been taken by
`the introduction of protocol conversion and Signaling con
`nection Systems. An example of Such a System is the Cisco
`SC2200 Signaling Converter, commercially available from
`Cisco Systems, Inc. Other examples of Such a System are
`described in U.S. patent application Ser. No. 08/904,295
`entitled “Universal Protocol Conversion,” filed on Jul. 31,
`1997 by Lev Volftsun, Clay H. Neighbors, David S.
`Turvene, Fred R. Rednor, Anatoly V. Boshkin, and Mikhail
`Rabinovitch, the entire contents of which are hereby incor
`porated by reference as if fully set forth herein (the “Protocol
`Converter Disclosure”).
`Generally, Such Systems provide a highly specialized
`computer System that interfaces to the data network and the
`public Switched telephone network. The computer System
`executes one or more Signaling protocol Software applica
`tions to carry out the function of the System. The computer
`System may include a gateway that passes data Signals to the
`telephone network and a media gateway controller that
`controls the gateway under control of a processor in the
`computer System.
`One or more protocol converters may be configured, by
`running appropriate application Software, as call processing
`devices or as Signaling terminal devices. In Some
`configurations, a call processing device is located logically
`remote from a Signaling terminal device, coupled to it by an
`Internet Protocol (IP) network. In this configuration, there is
`need to Send telephone call Signaling information, formatted
`according to Standard telephony protocols, from a signaling
`terminal device back across the IP network to a call pro
`cessing device. This is called “backhauling the Signaling
`information.
`A disadvantage of Voice-over-Internet Systems is that the
`Internet is open, unregulated, and therefore much leSS reli
`able than the public Switched telephone network, which is
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 12 of 30
`
`
`
`US 6,674,713 B1
`
`15
`
`40
`
`45
`
`25
`
`3
`can Seamlessly Switch message traffic from the gateway to
`the current active media gateway controller hardware.
`In one aspect, the invention provides a method of pro
`Viding continuous voice and call communications between a
`data network and a telephony network, comprising the Steps
`of establishing a first Session and a Second Session between
`a first gateway controller that receives the communications
`from the data network and a gateway that couples the
`communications to the telephony network; and when the
`first Session fails, Switching over the communications from
`the first Session to the Second Session while maintaining the
`Voice and call communications and while ensuring that all
`messages generated by the gateway are Sent to the gateway
`controller.
`According to one feature, the method involves providing
`a Session manager Server in the first gateway controller; and
`in the gateway, providing a Session manager client that is
`logically coupled to and Served by the Session manager
`Server. In a related feature, providing a Session manager
`Server comprises the Steps of providing a Session manager
`Server in the first gateway controller, executed in a logical
`layer below a Signal processing application and above a
`reliable transport layer.
`In another feature, the method involves initializing to an
`idle State; in response to creation of a Session, entering an out
`of Service State, when the Session becomes the primary in
`Service Session, entering an in Service State. According to a
`related feature, the method further involves, when the first
`Session fails, entering a recovery State, Starting a timer Set to
`a pre-determined time value, and returning to the in Service
`State if the first Session is restored as the primary Session
`before the timer expires. A related feature involves remain
`ing in the recovery State if another Session is created when
`in the recovery state. Yet another related feature involves
`entering the out of Service State if the timer expires and the
`35
`first Session has not been restored as the primary Session.
`According to another feature, the method further com
`prises Storing a priority value in association with each
`Session; entering an in Service State from the out of Service
`State when the Session having the highest priority value
`becomes the primary in Service Session; entering a Switcho
`Verstate from the in Service State when that Session fails, and
`entering a degraded State from the Switchover State when
`another Session having a lower priority value becomes the
`primary in Service Session.
`The method may also involve re-entering the in Service
`State from the Switchover State when the Session having the
`highest priority again becomes the primary in Service
`Session, and re-entering the Switchover State from the
`degraded State when the Session having the highest priority
`again becomes the primary in Service Session.
`In another feature, the method provides for Starting a
`Switchover timer that is Set to a pre-determined time value;
`and entering the out of Service State from the Switchover
`State when no Session becomes the primary in Service
`Session before the Switchover timer expires. A related feature
`involves accumulating a Switchover-failure counter each
`time that the out of Service state is entered from the
`Switchover State, and entering an unstable State when the
`Switchover-failure counter is equal to a pre-determined
`COunt.
`Yet another related feature involves entering the degraded
`State from the out of Service State when a Session having a
`priority value that is less than the highest priority value
`becomes the primary in Service Session.
`According to another feature, the method provides for
`establishing the first Session and the Second Session between
`
`50
`
`55
`
`60
`
`65
`
`4
`a Second gateway controller and the gateway; providing a
`Second Session manager Server in the Second gateway con
`troller; and in each of the Session manager Servers: initially
`operating in an idle State; entering an out of Service State
`from the idle state when the first session is added and
`becomes in Service; and entering an in Service State when the
`first Session becomes the primary in Service Session.
`In another feature, the method further comprises notifying
`the Session manager client that the Session manager Server is
`active. A related Set of features provides, in the Session
`manager client: initially operating in an idle Session State;
`entering an out of Service State from the idle Session State
`when a Session becomes available; entering an active in
`Service State from the out of Service State when an Active
`notification is received over the first Session and when no
`Standby notification has been received over any Session.
`The method may also involve, when the Session manager
`client is in the Switchover State, queuing messages to be
`communicated from the Session manager client to the Ses
`Sion manager Server. In a related feature, the method
`involves, when the Session manager client is in the full in
`Service State: receiving a hold notification; in response to
`receiving a hold notification, activating a queue that is Stored
`in association with the Session manager client and Storing
`each message of the Session manager client directed to the
`Session manager Server in the queue. The method may also
`provide for, when the Session manager client is in the active
`in Service State: receiving a notification to resume Sending
`messages, in response to the notification to resume Sending
`messages, Sending each message in the queue from the
`Session manager client to the Session manager Server.
`Still other features and aspects will become apparent from
`the following detailed description. The invention also
`encompasses a computer-readable medium, an apparatus,
`and a System that may be configured to carry out one or more
`of the foregoing Steps.
`BRIEF DESCRIPTION OF THE DRAWINGS
`The present invention is illustrated by way of example,
`and not by way of limitation, in the figures of the accom
`panying drawings and in which like reference numerals refer
`to Similar elements and in which:
`FIG. 1A is a block diagram of a telecommunications
`System.
`FIG. 1B is a block diagram of a telecommunications
`System in which an embodiment may be implemented.
`FIG. 2 is a block diagram of logical layers in which an
`embodiment may be organized.
`FIG. 3A is a State diagram of States in which a Session
`manager Server may operate within the context of redundant
`networks.
`FIG. 3B is a state diagram of states in which a session
`manager client may operate within the context of redundant
`networks.
`FIG. 3C is a flow diagram of a process of Selecting a
`Session for Switchover.
`FIG. 4A is a State diagram of States in which a Session
`manager Server may operate when arranged in a fault
`tolerant configuration
`FIG. 4B is a State diagram of States in which a Session
`manager client may operate when arranged in a fault tolerant
`configuration.
`FIG. 4C is a flow diagram of a process of message
`queuing.
`FIG. 4D is a flow diagram of requesting and acknowl
`edging message queuing.
`
`Page 13 of 30
`
`
`
`S
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`A method and apparatus for managing multiple Voice
`communication Sessions over a data network is described. In
`the following description, for the purposes of explanation,
`numerous Specific details are Set forth in order to provide a
`thorough understanding of the present invention. It will be
`apparent, however, to one skilled in the art that the present
`invention may be practiced without these specific details. In
`other instances, well-known Structures and devices are
`shown in block diagram form in order to avoid unnecessarily
`obscuring the present invention.
`TERMINOLOGY
`In this document, certain technical terms may be used. In
`this Section, preferred definitions of Some terms are pro
`Vided. These are example definitions, and are not meant to
`be exhaustive or restrictive. Each definition includes all
`equivalent Structures or functions.
`“Facility Associated Signaling” or “FAS' is a classifica
`tion of Signaling protocols that provide the Signaling channel
`in the same physical line as the bearer channels. The
`Signaling channel references only those bearer channels in
`its line.
`“Gateway’ means a Media Gateway or Signaling Gate
`way.
`“Interface Data Unit' or “IDU' is a generic term defined
`in standard X.200 of the International Telecommunications
`Union (ITU) for data passed between protocol layers of a
`single stack. An IDU contains a PDU plus Supplemental
`control information not included in the PDU.
`“Layer 1” means the Physical Layer of the Open Stan
`dards Institute (OSI) Reference Model defined in ITU
`X.200. It is responsible for the electric signal being sent and
`received. This can be viewed as a bit Stream coming in, and
`going out, of the System. The precise meaning of the term
`will vary according to its context. For example, Layer 1 on
`a T1 channel operates at 1.544 Mbps, but Layer 1 on a DS-0
`timeslot in the T1 channel is 64 kbps. “Layer 2 is the Data
`Link Layer of the OSI Reference Model defined in ITU
`X.200. It is responsible for point-to-point delivery of a PDU.
`Layer 2 protocols have two basic classes: reliable and
`unreliable. A reliable protocol means that the protocol guar
`antees that it will deliver or generate an error message for
`every message that an application program requests the
`transport layer using that protocol to transport. An unreliable
`protocol means that delivery of application program mes
`Sages may not occur, with no indication to the upper layers.
`“Layer 3” is the Network Layer of the OSI Reference
`Model defined in ITU X.200. It is responsible for the
`network routing and delivery of a message. Examples of
`Layer 3 protocols include X.25 Packet Layer Protocol and
`the Internet Protocol. Q.931 is not considered a Layer 3
`protocol because it is not concerned with routing and
`delivery of a message but rather the message body itself.
`“Message Signal Unit" or “MSU” means an MTP2 signal
`unit containing MTP3 and higher layer information.
`“Media Gateway' or “MG” is a hardware device and
`associated Software that terminates PSTN facilities Such as
`trunks, packetizes the pulse-coded-modulation signal Stream
`from the trunks into Internet Protocol (IP) packets or ASyn
`chronous Transfer Mode (ATM) packets, or forwards the
`signal stream to an IP network or ATM network. This device
`can optionally Support Signaling backhaul. In a preferred
`embodiment, a client Side implementation of a Session
`Manager executes on a Media Gateway.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,674,713 B1
`
`6
`“Media Gateway Controller” or "MC" is a hardware
`device and associated Software that provides call control
`capability to handle Signaling traffic from a variety of
`Sources. It manages connections and resources of the MGs.
`In a preferred embodiment, the MC executes the server side
`implementation of a Session Manager.
`“Non-Facility Associated Signaling” or “NFAS' refers to
`a class of Signaling protocols in which the Signaling channel
`is carried in a line that is physically Separate from the bearer
`channels.
`“Protocol Data Unit" or “PDU” is a generic term in ITU
`X.200 for the data passed between peer protocol layers.
`Each layer in the OSIRM has its own definition of a PDU
`which is formined of the PDU from the next higher layer
`(N+1) with protocol control information for the N layer
`encapsulating it.
`“Signaling Gateway' or “SG” is a device that sends and
`receives PSTN signaling at the edge of or at an entry point
`of an IP or ATM network. It backhauls the PSTN signaling
`to a Media Gateway Controller (MC). In the preferred
`embodiment, the client Side implementation of Session
`Manager executes on the SG.
`“Voice over IP” means the ability to carry normal
`telephone-style voice over a network that uses IP, with
`functionality, reliability, and Voice quality equivalent to that
`provided by conventional telephone Service.
`STRUCTURAL CONTEXT AND OVERVIEW
`FIG. 1A is a block diagram of an exemplary call process
`ing system 100. Media Gateway Controller 102 is coupled
`to Gateway 104 by at least two sessions 106a, 106b. Each
`session 106a, 106b is a physical connection between Media
`Gateway Controller 102 and Gateway 104 that is logically
`defined by data values that represent a local IP address, local
`port, remote IP address, and remote port. The values that
`define a Session are Stored in memory or Similar Storage by
`data processors contained within the Media Gateway Con
`troller and the Gateway.
`Collectively, first and second session 106a, 106b com
`prise a Session group 108. In this arrangement, the Session
`Manager will manage the client, which is Gateway 104, to
`Select among which Session is used to pass messages. Each
`Signaling channel 110 is associated with a different commu
`nication network that uses the protocol that is associated
`with the channel. The configuration of FIG. 1A is referred to
`herein as a “redundant networks' configuration. Each Ses
`sion is associated with a different network. The Gateway 104
`may Select one network or the other and Switch communi
`cations to the Selected network depending on the availability
`of the Sessions.
`Gateway 104 couples information arriving on Session Set
`108 to at least one signaling channel 110. Each Signaling
`channel 110 is a physical termination of a Signaling line,
`Such as a T1 or E1 line, V.35 line, etc. Each Signaling
`channel 110 is defined by the protocol family, protocol
`variant and layer that are terminated, for example, Q.921.
`Each Signaling channel is associated with a signaling path.
`A signaling path consists of one or more signaling chan
`nels. A signaling path is defined by protocol family, variant
`and other relevant characteristics Specific to the protocol
`Supported by that Signaling path. For example, a SS7 path
`would be equivalent to a linkset and a SS7 channel would be
`equivalent to a link. An ISDN (FAS) path would be equiva
`lent to a single ISDN D-channel. A signaling path will use
`a Session Set, Such as Session Set 108. Multiple Signaling
`paths between the same media gateway controller and
`
`Page 14 of 30
`
`
`
`15
`
`7
`gateway can share the same Session Set. Alternatively, Sepa
`rate Signaling paths may be carried over Separate Session
`SetS.
`Media Gateway Controller 102 may be implemented
`using one or more Software programs executed by an
`appropriate computer System with appropriate network
`interfaces. An example of a commercially available product
`that may be adapted for use as Media Gateway Controller
`102 is the model VSC2700 Virtual Switch Controller that is
`commercially available from Cisco Systems, Inc., San Jose,
`Calif.
`Gateway 104 may be implemented using one or more
`Software programs executed by an appropriate computer
`System with appropriate network interfaces. An example of
`a commercially available product that may be used as
`Gateway 104 is the Cisco 2600 router.
`FIG. 1B is a block diagram of a call processing System in
`which an embodiment may be implemented and which
`includes an Active Media Gateway Controller 102a and a
`Standby Media Gateway Controller 102b arranged in a
`fault-tolerant configuration. A first Session 106a and a Sec
`ond session 106b are established between Active Media
`Gateway Controller 102a and Gateway 104. The same first
`and second sessions 106a, 106b are established between
`Standby Media Gateway Controller 102b and Gateway 104.
`Collectively, sessions 106a, 106b comprise a session
`group 108. A Session group is used when redundancy or
`fault-tolerance is required. The Session Manager provides a
`way to manage Session Sets for a signaling application.
`When one or more Session groups are associated with one
`another, as in FIG. 1B, the Sessions and Session groups are
`collectively referred to as a Session Set. Each Session group
`in a session set provides connectivity to a different Media
`Gateway Controller. Session Sets are used only in the
`fault-tolerant configuration. A Session Set provides fault
`tolerant Session communications.
`To associate Sessions and Session Sets, the Media Gateway
`Controllers and Gateway Store data values in memory or in
`non-volatile Storage.
`The fault-tolerant configuration is useful for ensuring
`continuous communications. If one Media Gateway Con
`troller fails, the Gateway can Switch to another that is
`available without Switching networkS. Such Switching also
`can be done Voluntarily or by an administrator, for example,
`when a particular Media Gateway Controller needs preven
`tive maintenance or Simply to test that the Switching proceSS
`WorkS.
`According to one embodiment, a lightweight management
`layer below the Signaling protocol application is provided, to
`manage Session Sets used by Signaling paths and channels.
`The use of a Session Set is desirable to maintain multiple
`connections between a given gateway (client) and media
`gateway controller (server). This increases the availability of
`the gateway.
`In the preferred embodiment, the Session Manager is
`implemented in the form of a client Software element and a
`Server Software element which provide Services to one or
`more signaling Software applications that execute on a
`protocol converter. The client Software element executes on
`the gateway. The Server Software element executes on the
`media gateway controller.
`Referring again to FIG. 1B, Active Media Gateway Con
`troller 102a executes Session Manager server 112a and
`Standby Media Gateway Controller 102b executes Session
`65
`Manager server 112b. Gateway 104 executes Session Man
`ager client 114. A queue 115 is stored in Gateway 104 and
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`US 6,674,713 B1
`
`25
`
`8
`controlled by Session Manager client 114 using means
`described below.
`FIG. 2 is a block diagram of a preferred logical arrange
`ment of Session Manager 200 in relation to other software
`elements that may make up a call processing System and
`which may execute on or in association with a media
`gateway controller and a gateway.
`In this logical arrangement, Internet Protocol (IP) soft
`ware 202 is positioned at the lowest logical layer, which
`corresponds to Layer 3 of the OSI reference model. At OSI
`Layer 4, UDP protocol software 204 is used. A Reliable UDP
`(RUDP) layer 206 runs on top of the UDP protocol software.
`Session Manager 200 runs on RUDP layer 206. The RUDP
`layer 206 may be based upon the information provided in
`Internet Requests For Comments, namely RFC 1151 and
`RFC 908, both entitled Reliable Data Protocol, and may be
`implemented in one or more Software elements that may
`conform to the Specifications Set forth in Appendix 1.
`One or more Signaling protocol applications 208 may
`execute at a logical position above Session Manager 200.
`Examples of Signaling protocol applications include the
`applications that are described in the Protocol Converter
`Disclosures.
`The identification of IP, UDP, and RUDP in FIG. 2 is
`merely exemplary. The Session Manager 200 may run above
`any reliable communication mechanism; RUDP is just one
`example of Such a mechanism. In this context, a communi
`cation mechanism or protocol layer is “reliable” when it
`guarantees that



