WO1997046045A1 - Telecommunications system with a connection processing system - Google Patents

Telecommunications system with a connection processing system Download PDF

Info

Publication number
WO1997046045A1
WO1997046045A1 PCT/US1997/009327 US9709327W WO9746045A1 WO 1997046045 A1 WO1997046045 A1 WO 1997046045A1 US 9709327 W US9709327 W US 9709327W WO 9746045 A1 WO9746045 A1 WO 9746045A1
Authority
WO
WIPO (PCT)
Prior art keywords
index
connection
call
latch
identifier
Prior art date
Application number
PCT/US1997/009327
Other languages
French (fr)
Inventor
Albert D. Duree
Tracy L. Nelson
Original Assignee
Sprint Communications, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sprint Communications, L.P. filed Critical Sprint Communications, L.P.
Priority to AU32227/97A priority Critical patent/AU3222797A/en
Publication of WO1997046045A1 publication Critical patent/WO1997046045A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/255Control mechanisms for ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0089Multiplexing, e.g. coding, scrambling, SONET
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • H04L2012/5609Topology
    • H04L2012/561Star, e.g. cross-connect, concentrator, subscriber group equipment, remote electronics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5619Network Node Interface, e.g. tandem connections, transit switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/563Signalling, e.g. protocols, reference model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5639Tariffs or charging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Definitions

  • the invention relates to the field of telecommunications
  • the invention relates to telecommunications systems with connection processing systems
  • ATM Asynchronous Transfer Mode
  • VPI/VCI Virtual Path Identifier/Virtual Channel Identifier
  • VPI/VCI is typically a 28 bit field that designates the virtual connection for the cell
  • the VPI/VCI is used by the network to route and handle ATM cells Typically the VPI/VCI is used to identify a virtual connection, but other virtual channel identifiers could also be used m the context of the invention
  • VPI/VCIs are processed by using the VPI/VCI to access a memory location that stores processing instructions for the VPI/VCI Using a 28 bit VPI/VCI to access memory is a cumbersome process This entails writing the 28 bit VPI/VCI to one register and then repeatedly reading and writing successive VPI/VCI table entries into another register for companson This can entail several read/write operations before a match is found The entire table must be searched if no match is available This problem is compounded by processing over an 8 bit or 16 bit bus With an 8 bit bus, a 28 bit number requires 4 wnte operations to transfer the number A 16 bit bus requires 2 write operations These conditions cause problems in broadband systems where high speed transport is used VPI/VCI processing speed is often a critical factor For example, when OC-3 transport is used to carry the ATM cells, a cell arrives for processing every 2 73 microseconds
  • the invention reduces the connection processing time required in prior systems by assigning connection identifiers to indexes and storing the connection identifiers in associated index latches During subsequent processing, a particular connection is processed by providmg the connection identifier to each index latch for comparison with any assigned connection identifiers stored in the latches These comparisons can occur simultaneously across all index latches
  • the index latch that finds a match outputs its index This is the index that was originally assigned to the connection
  • the index can be used to access instructions in memory or it could signify other actions that need to be taken In this way, a smaller index can be used to process the connection instead of a large connection identifier
  • the index latch circuitry allows connections to be associated with indexes m nanoseconds
  • the invention comprises a connection processing method where there are a plurality of connection identifiers One of the connection identifiers is a first connection identifier that identifies a first connection and another one of the connection identifiers is a second connection identifier that identifies a second connection There are a plurality of mdex latches and a plurality of associated indexes One of the indexes is a first mdex that is associated with a first index latch and another one of the indexes is a second index that is associated with a second index latch
  • the method comprises assigning the first connection identifier to the first index and assigning the second connection identifier to the second index
  • the first index is associated with a first index latch and the second index is associated witii a second index latch
  • the method comprises storing the first connection identifier in the first index latch and storing the second connection identifier m the second mdex latch
  • the assignment and storage creates assigned connection identifiers in the first and second mdex latches
  • the method comprises receiving communications over the first connection and obtaining the first connection identifier
  • the method comprises providing the first connection identifier to each mdex latch and comparing the first connection identifier to any assigned connection identifiers stored in the index latches
  • the method compnses providmg the first index associated with the first index latch in response to the first connection identifier matching the assigned connection identifier stored m the first mdex latch
  • the method compnses receiving communications over the second connection and obtaining the second connection identifier
  • the method comp
  • the invention also compnses storing a processing instruction for the first connection in a memory location that can be accessed with the first index, and using the first mdex provided by the first index latch to access the processing instruction in the memory location
  • the mvention facilitates the processing of virtual connections, VPI/VCIs, DSO connections, and Circuit Identification Codes (CICs)
  • the invention comprises receiving write and read instructions where the addresses in the instructions represent one of the incoming connection register, one of the index latches, or the assigned mdex register, and decodmg the instructions to determine what the address represents to facilitate execution of the instruction
  • the invention comprises a system for processing connection identifiers for connections where connection identifiers are assigned to indexes to create assigned connection identifiers and corresponding assigned indexes
  • the connections are identified by incoming connection identifiers when incoming communications from the connections are received by the system
  • the system comprises index latches that are each associated with one of the indexes and that are each operational to receive and store one of die assigned connection identifiers, to receive and compare the lncormng connection identifiers with the stored assigned connection identifier, and to produce the associated mdex if one of the incoming connection identifiers matches the stored assigned connection identifier
  • the system also compnses an incoming connection register that is connected to each index latch and that is operational to receive the incoming connection identifiers and provide them to each index latch, and an assigned index register that is connected to each index latch and that is operational to receive the associated indexes from the index latches
  • the system further comprises a microprocessor that is operational to provide write and read instructions that compnse first instructions to write the assigned connection identifiers to addresses that represent the index latches that are associated with the assigned mdexes, a second instruction to wnte the incoming connection identifier to an address that represents the incoming connection identifier register, and a third instruction to read the assigned index from an address that represents the assigned index register
  • the system also comprises an address decoder that is operational to receive the first instructions and to provide the assigned connection identifiers to the mdex latches that are associated with the assigned mdexes, to receive the second instruction and to provide the incoming connection identifier to the incoming connection register, and to receive the third instruction and to provide the assigned mdex to the microprocessor from the assigned index register
  • the mvention can be used in vanous devices and architectures as discussed below This includes ATM lnterworking multiplexers and ATM gateways This also includes architectures that employ signaling processors
  • Figure 1 is a block diagram of a version of the mvention Figure 2 is a block diagram of a version of the invention Figure 3 is a block diagram of a version of the mvention Figure 4 is a block diagram of a version of the invention Figure 5 is a block diagram of a version of the invention Figure 6 is a block diagram of a version of the invention Figure 7 is a block diagram of a version of the invention Figure 8 is a block diagram for a version of the invention Figure 9 is a block diagram for a version of the invention Figure 10 is a block diagram for a version of the invention Figure 1 1 is a logic diagram for a version of the invention Figure 12 is a block diagram for version of the invention Figure 13 is a logic diagram for a version of the invention.
  • Figure 14 is a logic diagram for a version of the invention.
  • Figure 15 is a message sequence chart for a version of the invention.
  • Figure 16 is a message sequence chart for a version of the invention.
  • Figure 17 is a message sequence chart for a version of the invention.
  • Figure 18 is a message sequence chart for a version of the invention.
  • Figure 19 is a message sequence chart for a version of the invention.
  • Figure 20 is a message sequence chart for a version of the invention.
  • Figure 21 is a message sequence chart for a version of the invention.
  • Figure 22 is a message sequence chart for a version of the invention.
  • Figure 23 is a message sequence chart for a version of the invention.
  • Figure 24 is a block diagram for a version for the invention.
  • Figure 25 is a block diagram for a version for die invention.
  • Figure 26 is a block diagram for a version for the invention.
  • ATM technology has become a well known means of communication.
  • ATM is based on the 53 byte cell that contains a five byte header and a 48 byte payload.
  • the header includes a virtual connection identification field known as the Virtual Path Identifier/Virtual Channel Identifier (VPI/VCI).
  • VPI/VCI is typically a 28 bit field that designates the virtual connection for the cell.
  • the VPI/VCI is used by the network to route and handle ATM cells. Typically the VPI/VCI is used to identify a virtual connection, but other virtual channel identifiers could also be used in the context of the invention.
  • the VPI/VCI may first be associated with an index.
  • the index is typically several bits shorter than the VPI/VCI.
  • the relatively short index may be used instead of the VPI/VCI to access information pertaining to the VPI/VCI.
  • VPI/VCI "X" 28 bits
  • index "304" (12 bits)
  • routing instructions for VPI/VCI "X" could be stored at a memory location corresponding to index "304".
  • the cell processor can associate "X" with index "304" and obtain the routing instructions from the memory location that corresponds to index "304" It is easier and more efficient to access memory using the shorter index than the lengthier VPI/VCI.
  • the number of indexes can be much less than the number of potential VPI/VCI combinations. (4,096 possible VPIs and 65,536 possible VCIs in each VPI)
  • the number of indexes could be set at the number of simultaneous VPI/VCIs the processor must handle. Once an index is freed up, it could be re-assigned to the another VPI/VCI.
  • a processor may have 4,096 indexes, and could use them to handle 4,096 simultaneous VPI/VCIs, even though all of the millions of possible VPI/VCIs may be used at one time or another.
  • the designation of 4,096 indexes would require 12 bits per index. As stated above, the 12 bit index is easier to process than a 28 bit VPI/VCI.
  • the mvention is a connection processing system that facilitates the association of VPI/VCIs with indexes.
  • the invention is a connection processing system that facilitates the association of other connections, such as DSO connections, with an index.
  • the index can be used to correlate virtual connections and virtual connections, DSOs and virtual connections, and DSOs with DSOs.
  • Figure 1 depicts a version of the invention and shows microprocessor 110, index logic 120, memory 130, bus 140, and receive/transmit logic 150.
  • Microprocessor 1 10 could be a conventional microprocessing chip configured in accord with the present invention.
  • Index logic 120 could be Large Scale Integrated (LSI) circuitry configured in accord with the present invention. As will be discussed below, index logic 120 should be configured to first accept assignments of virtual connections to indexes, and then later associate the virtual connections of incoming cells with their assigned indexes.
  • Memory 130 and bus 140 could be a conventional elements typically associated with microprocessing chips.
  • Receive/transmit logic 150 is logic that receives communications from various connections.
  • connection processing system operates with 32 bit bus structures and 32 bit processors.
  • indexes are set-up to point to particular locations in memory 130.
  • index logic 120 When one of these indexes is assigned to a virtual connection, the index/virtual connection assignment is provided to index logic 120.
  • This virtual connection or index will be referred to as the "assigned VPI/VCI" or the "assigned index”.
  • Information about the assigned VPI/VCI is stored in a location in memory 130 that can be accessed with the assigned index.
  • these assignments come from the microprocessor, but they could also come from other control entities.
  • Microprocessor 110 When an ATM cell arrives on bus 140 through receive/transmit logic 150, it is stored in memory 130.
  • Microprocessor 110 will provide the incoming cell's VPI/VCI to index logic 120. This VPI/VCI will be referred to as the "incoming VPI/VCI" Index logic 120 will then produce the index that is assigned to the incoming VPI/VCI.
  • Microprocessor 1 10 will obtain the assigned index from index logic 120 and use it to access information in memory 130. For example, the memory location may contain information instructing microprocessor 1 10 to forward the cell to receive/transmit logic 150 for distribution over a particular DSO connection.
  • FIG. 2 depicts a version of index logic 120 from Figure 1, which is now depicted as index logic 220.
  • Index logic 220 includes read/write address decoder 230, incoming virtual connection register 250, and assigned index register 252. Also shown are index latches 260, 262, and 264. As indicated, there are actually 4,096 index latches, but all are not shown for reasons of clarity.
  • Bus 240 is also shown and would be connected to bus 140 from Figure 1. (As discussed above, bus 240 would typically be comprised of multiple bus structures as would be appreciated by one skilled in the art).
  • processors use to read and write information using addresses.
  • the microprocessor is able to read from and write to index logic 220 as if it were memory.
  • Read/write address decoder 230 is connected to bus 240 and is functional to receive the microprocessor's read/write instructions and execute the instruction. This is accomplished by associating the address in the instruction with the appropriate element of index logic 220. The address could use the same designation as the element or they could be related through a translation table.
  • the instruction from microprocessor may be to write data to address "A435".
  • Read/write address decoder would decode this instruction as follows. It would translate the address into its corresponding element. In this case address "A435" could translate to index latch "262".
  • the data provided to index logic 220 along with the instruction could be VPI/VCI "Y”.
  • Read/write address decoder 230 would arm index latch 262 to accept the data. As a result the write data to address "A435" would result in VPI/VCI "Y” being provided to index latch "262". In effect, VPI/VCI "Y" has been assigned to index "262".
  • the microprocessor When the microprocessor handles incoming cells it will write data (the incoming VPI/VCI) to a particular address. Read/write address decoder 230 will use the address to identify the appropriate element of index logic 220. In the case of an incoming VPI/VCI, the element would be incoming virtual connection register 250.
  • the microprocessor will then read data (the assigned index) from a particular address.
  • Read/write address decoder 230 will use the address to identify the appropriate element of index logic 220. In the case of an assigned index, the element would be assigned index register 252. The data in assigned index register will be provided to the microprocessor.
  • Read/write address decoder 230 also facilitates the use of various bus sizes. For example, if the microprocessor uses an 8 bit data bus, it will take four writes to provide a 28 bit VPI/VCI. If a 16 bit bus is used, it will take two writes. Read/write address decoder 230 will collect all the data and then arm the appropriate element for accepting the complete set of data. In a similar fashion, read/write address decoder 230 may facilitate multiple reads to provide the index to the microprocessor.
  • Read/write address decoder 230 also provides a synchronization and clocking function to index logic 220. As one skilled in the art will appreciate, synchronization and clocking is needed to address race and timing functions The various stages of index logic 222 will have a strobing mechanism denved from the system clock that synchronizes the transfer of information from one stage to another
  • Incoming virtual connection register 250 is connected to bus 240
  • Incoming virtual connection register 250 could be a standard register that is functional to accept the incoming VPI/VCI under the control of read/write address decoder 230 and broadcast it to all of the index latches
  • Index latches 260, 262, and 264 are each connected to bus 240 Each mdex latch is functional to accept and store an assigned VPI/VCI under the control of read/write address decoder 230 Each index latch is functional to accept an incoming VPI/VCI and compare it to its assigned VPI/VCI using compa ⁇ tor circuitry When a particular index latch finds a match, it will output its index (the assigned mdex) to assigned index register 252
  • the index latches are discussed in greater detail below
  • Assigned index register 252 is connected to bus 240 Assigned index register 252 could be a standard register that is functional to accept the assigned mdexes from the index latches It would provide the assigned index to the microprocessor under the control of read/write address decoder 230
  • an instruction to wnte an assigned VPI/VCI to an address arrives at read/w ⁇ te address decoder 230
  • Read/write address decoder 230 causes the assigned VPI/VCI to be provided to the mdex latch that corresponds to the address This procedure is repeated for each assignment Typically, several index latches will each store a particular VPI/VCI that is currently assigned to its respective index
  • an instruction to write the incoming VPI/VCI to an address arnves at read/w ⁇ te address decoder 230 Read/write address decoder 230 causes the incoming VPI/VCI to be provided to incoming virtual connection register 250
  • Incoming virtual connection register 250 provides the incoming VPI/VCI to all of the mdex latches
  • Each index latch compares the incoming VPI/VCI to its assigned VPI/VCI If an index latch finds a match, it provides its mdex to assigned index register 252 For example, if index latch 262 found a match, then it would provide "262" to assigned mdex register 252 The microprocessor will then attempt to read the assigned for the incoming VPI/VCI from an address In response to this instruction, read/wnte address decoder 230 will cause the index in assigned index register 252 to be provided to the microprocessor If the assigned mdex is all 0's, that indicates that no match was found and that the cell should be discarded
  • the microprocessor can assign VPI/VCIs to indexes as required by writing the VPI/VCI to a particular address Instructions can be loaded into memory locations corresponding to the indexes In nanoseconds, the microprocessor can wnte incoming VPI/VCIs to the index logic and then read the assigned index from the index logic
  • the mdex can be used to access instructions in memory
  • the mdex itself can signify an action or instruction without the need for a memory location
  • the index latches could be configured to output indexes that directly identify connections so no further look-up is needed In this way, the microprocessor could assign and associate particular connections with other connections without also usmg the mdex to access memory
  • ATM VPI/VCIs could be assigned to indexes that were actually DSO Circuit Identification Codes (CICs)
  • the microprocessor could assign VPI/VCIs to CICs and then obtain the correct CIC for each arriving cell by writing the VPI/VCI of the cell to
  • the microprocessor can simply wnte the mcommg VPI/VCIs to an address, and then read the corresponding mdex from another address
  • the index logic handles these instructions for the microprocessor
  • the microprocessor can then use this index to access memory or take other actions as the case may be This provides a distinct advantage over prior systems that had to access memory using the VPI/VCI instead of an index This is a cumbersome process unless the bits m the VPI/VCI are limited Such a limitation is often unacceptable
  • FIG. 3 shows a version of the incoming virtual connection register (250 from Figure 2)
  • Incoming virtual connection register 350 is shown
  • Incommg virtual connection register 350 includes flip-flops 352, 354, 356, etc that store the 28 bits of the incoming VPI/VCI
  • the flip-flops are clocked "D" flip-flops All of the flip-flops are not shown for reasons of clarity
  • Incoming virtual connection register 350 is connected to each index latch at the bit level Bit # 1 of the incoming VPI/VCI is transmitted to the incoming VPI/VCI bit U 1 position for each index latch Bit #2 of the mcommg VPI/VCI is transmitted to the incoming VPI/VCI bit #2 position of each index latch This continues on through bit #28 In this way, each bit of the incoming VPI/VCI is transmitted to each index latch
  • Figures 4-6 depict an individual index latch and would be repeated for each index latch
  • Figure 4 depicts a portion of one of the mdex latches Shown is exclusive “or" (“XNOR") gate array 462
  • the connections to receive the mcommg VPI/VCI from the virtual connection register are shown Also shown are flip-flops 470, 472, and 474 (preferably clocked “D") Each flip flop receives and stores the corresponding bit of the assigned VPI/VCI "XNOR" gates 464, 466, and 468 are also shown connected to the above flips-flops and to the connections to ' the virtual connection register All 28 flip-flops and "XNOR" gates are not shown for reasons of clanty
  • These "XNOR" gates accept the mcommg VPI/VCI and compare it on a bit by bit basis with the assigned VPI/VCI
  • the results of the "XNOR" gates are provided to the "AND” gate array "XNOR” gates produce a 1 with an input of 0 and 0, or with
  • Figure 5 depicts the next portion of the mdex latch Shown is “AND” gate array 562 which is connected to the "XNOR" gate array of Figure 4 It can be seen from the configuration of the “AND” gates that a 1 is produced only if all inputs from the "XNOR" gate array (bits 1-28) are 1 's If one of the input bits is a 0, then the output of "AND” gate array 562 is a 0 Together, Figures 4 and 5 form a comparitor circuit If the two VPI/VCIs match, the output of "AND” gate array 562 is a 1, but if they do not, the output bit is a 0 The output bit is provided to the index gate
  • Index gate 662 is connected to the output of "AND" gate array 562 of Figure 5
  • Index gate 662 is comp ⁇ sed of "OR” gate 680, "AND” gate 682, inverter 684, and index latch register 686
  • Index gate 662 accepts a bit from the "AND” gate array of the previous mdex latch indicating if the previous mdex latch found a match
  • index latch "304" would receive this input from index latch "303" If the previous index latch found a match, then the mput would be 1
  • the 1 becomes a 0 when passmg through inverter 684, and it locks out "AND” gate 682 This is so two mdex latches will not find a match on the same incoming VPI/VCI If the previous index latch did not find a match then the 0 mput is inverted to a 1 and enables "AND” gate 682 In this case, a 1 from the "AND” gate array of the present index
  • FIG 7 shows a version of the assigned index register (252 from Figure 2)
  • Assigned index register 752 is shown
  • Assigned index register 752 mcludes flip-flops 754, 756, 758, etc that store the 12 bits of the assigned mdex All of the flip-flops are not shown for reasons of clanty Assigned mdex register 752 is connected to each index latch at the bit level Bit #1 of the assigned mdex is transmitted from the index latches to the bit #1 position of assigned index register 752
  • Bit #2 of the assigned index is transmitted from the index latches to the bit #2 position of assigned mdex register 752 This contmues on through bit # 12 In this way, each bit of the assigned mdex is transmitted from the index latches to assigned index register 752 so it can be provided to the microprocessor
  • Figures 3-7 depict a system in which VPI/VCIs can be assigned to indexes
  • the mdex logic is able to accept incoming VPI/VCIs and output the index that is assigned to the incoming VPI/VCI
  • the microprocessor is able to use read/wnte instructions with the index logic as if it were memory
  • the microprocessor can then use the mdex to access information about the virtual connection
  • the number of indexes is set by the number of index registers
  • the number of bits of the connection identifiers and mdexes can also be increased or decreased as needed As one skilled in art can now appreciate, this would be accomplished by altering the size of the registers and the number of index latches
  • the invention reduces the processing time over conventional systems that require consecutive read/w ⁇ te operations until a match is found in a memory table
  • a 100 MHz processor using a 32 bit bus could write the incoming VPI/VCI and read the assigned index in the same amount of time that it would take to write and read data to a 60 nanosecond RAM memory - two direct memory cycle tunes If an 8 bit bus is used, it would take 4 write and 2 read direct memory cycle times
  • the invention could be used to associate non-ATM connections with ATM connections
  • a DSO CIC would be assigned to an index and the VPI/VCI would be stored in a memory location accessed by the index
  • a connection processmg system could be employed for the conversion of ATM traffic into non- ATM traffic, for example, from VPI/VCIs to DSO CICs
  • Both embodiments could be used at opposite ends of an ATM system to facilitate ingress and egress from the ATM system
  • the invention could be employed for the conversion of ATM VPI/VCIs into other ATM VPI/VCIs
  • connection will be used to refer to the transmission media used to carry user traffic
  • link will be used to refer to the transmission media used to carry signaling or control messages
  • connections are shown by a single line and signaling links and data links are shown by double lines
  • FIG. 8 depicts telecommunications system 800, user 810, and user 820
  • Telecommunications system 800 mcludes ATM mterworking multiplexer (mux) 830, mux 840, ATM cross-connect system 850, and signaling processmg system 860
  • User 810 is connected to mux 830 by connection 880
  • Mux 830 and mux 840 are connected through cross-connect system 850 by connection 881
  • Mux 840 is connected to user 820 by connection 882
  • Signaling processmg system 860 is linked to user 810 by link 890, to mux 830 by link 891, to mux 840 by link 892, and to user 820 by link 893
  • User 810 and user 820 could be any entity that supplies telecommunications traffic to network 800 Some examples would be a local exchange earner (LEC) switch or customer premises equipment (CPE) Connections 880 and 882 represent any connection that might be used by user 820 to access system 800 Typically, the user traffic would be provided to system 800 in DS3, format with embedded DSO circuits, but could also include formats such as DS 1 , a fractional DS1, 56 kbit data, DS2, clear DS3.
  • LEC local exchange earner
  • CPE customer premises equipment
  • Links 890 and 893 are any links capable of transferring signaling messages with examples being Signaling System #7 (SS7) links or C7 links.
  • ATM cross-connect system 850 is any system that provides a plurality of virtual connections. Such a system could be comprised of individual ATM cross-connect devices interconnected by ATM connections using DS3 or SONET for transport.
  • An example of an ATM cross-connect is the NEC Model 10.
  • Connection 881 could be any virtual connection.
  • virtual connections can be designated by a Virtual Path Identification and/or and Virtual Channel Identification in the cell header. Ranges of VPI/VCI may be used to designate the virtual connection.
  • the virtual connection would use DS1, DS3, or SONET for transport.
  • ATM cross-connect system 850 would be pre-provisioned to provide a plurality of virtual connections through the cross-connect system, and virtual connection 881 represents one of these connections.
  • virtual connections are logical paths, many physical paths can be used based on the pre-provisioning of ATM cross-connect system 850.
  • Links 891 and 892 could be any links capable of transporting control messages. Examples of such links could be SS7 links, UDP/IP over an ethernet connection, or a bus arrangement using a conventional bus protocol. The components described in this paragraph are known in the art.
  • Signaling processing system 860 is any processing platform that can receive and process signaling to select virtual connections, and then generate and transmit messages to identify the selections.
  • Various forms of signaling are contemplated, including SS7, C7, and user to network interface (UNI) signaling.
  • SS7, C7, and user to network interface (UNI) signaling are contemplated, including SS7, C7, and user to network interface (UNI) signaling.
  • UNI network interface
  • Mux 830 could be any muxing system operable to place user information arriving over connection 880 on the virtual connection selected by signaling processing system 860. Typically, this involves receiving control messages from signaling processing system 860 that identify assignments of virtual connections to access connections on a call by call basis. The mux would convert user traffic from access connection 880 into ATM cells that identify the selected virtual connection. Mux 840 is similar to mux 830. Mux 830 would incorporate the above-described connection processing system to handle these connection assignments. For example, the assigned virtual connection could be stored in a memory location accessed by an index assigned to the access connection. A preferred embodiment of these muxes are also discussed in detail below.
  • the system would operate as follows for a call from user 810 to user 820.
  • User 810 would seize a connection to system 800.
  • the connection is represented by connection 880 to mux 830. Although, only one connection is shown for purposes of clarity, numerous connections would typically be available for seizure.
  • User 810 would also send a signaling message over link 890 to system 800 initiating the call. This signaling would identify seized connection 880.
  • Signaling processing system 860 would process the message. Such processing could include validation, screening, translating, route selection, echo control, network management, signaling, and billing.
  • a virtual connection through ATM cross-connect system 850 from mux 830 to mux 840 would be selected, and a connection from mux 840 to user 820 would also be selected.
  • connection 881 and connection 882 are shown - connection 881 and connection 882 Generally, the selection is based on the dialed number, but call processing can entail many other factors with a few examples being the caller's number, destmation conditions, network loads and user routing instructions Also, the dialed number may be translated to make the selection Signaling processing system 860 would send a control message over link 891 to mux 830 that identifies seized connection 880 and selected connection 881 Signaling processmg system 860 would send a control message over link 892 to mux 840 that identifies selected connections 881 and 882
  • user 820 would receive signaling to facilitate completion of the call
  • the signaling from signaling processing system 860 would indicate that system 800 was connectmg to user 820 over connection 882 Typically, user 820 would accept and acknowledge the connection in a signaling message back to system 800
  • mux 830 would receive control messages from signaling processmg system 860 identifying connection 880 as the access connection and connection 881 as the selected virtual connection through ATM cross-connect system 850 Mux 830 would convert the user information from connection 880 into ATM cells Mux 830 would designate connection 881 in the cell headers Connection 881 would have been previously provisioned through ATM cross-connect system 850 from mux 830 to mux 840
  • Mux 840 would receive control messages from signaling processing system 860 identifying connection 881 as the selected virtual connection and connection 882 as the selected access connection to user 820 Mux 840 would convert cells ar ⁇ ving on connection 881 to user information suitable for connection 882 to user 820
  • the above example employs two muxes, a single mux could be employed for calls that enter and exit system 800 through the same mux In this case, the ATM system would simply provide a virtual connection back to the same mux.
  • the mux could even cross-connect the two access connections in and out of the network This cross-connection of two access connections in a single mux could use an internal cell bus or be accomplished by cross-connection without using ATM Mux 830 and mux 840 would use the connection processmg system desc ⁇ be above to handle the connection assignments m the control messages
  • multiple virtual connections can be prc- provisioned through an ATM cross-connect system to interconnect ATM interworkmg multiplexers
  • an ATM cross-connect system When a user places a call, one of the virtual connections is selected for the call by the signal processing system and identified to the appropriate muxes
  • the muxes convert the user information into cells that identify the selected connection
  • user information can be switched through an ATM fab ⁇ c on a call by call basis
  • the system does not require the call processmg or signaling capabilities of an ATM switch (although an ATM switch could be used to provide the virtual connections without using its call processing and signaling functions)
  • the system can also implement enhanced services such as N00 and virtual private network (VPN) Figure 9 DSO interface 910, ATM adaption layer (AAL) 920, ATM interface 930, DSO - virtual connection assignment 940, call/connection manager (CCM) 950 and signal transfer point (STP) 960 Also shown are connections 980-983 and links 990-992
  • Connection 980 could by any connection or group of connections that contam information that can be converted to DSO format Examples of these connections are OC-3, VT 1 5, DS3, and DS 1 DSO interface 910 is operable to convert user information in these formats into the DSO format
  • AAL 920 compnses both a convergence sublayer and a segmentation and reassembly (SAR) layer
  • AAL 920 is operational to accept the user information in DSO format from DSO interface 910 and convert the information into ATM cells
  • AALs are known in the art and information about AALs is provided by International Telecommunications Union (ITU) document 1 363 1
  • An AAL for voice is also described in patent application serial number 08/395,745, filed on February 28, 1995, entitled “Cell Processmg for Voice Transmission", and hereby incorporated by reference into this application
  • ATM interface 930 is operational to accept ATM cells and transmit them over connection 983
  • Connection 983 is a standard DS 1, DS3 or SONET connection transporting ATM cells
  • connections 980-983 could be established to carry user information
  • connection 980 has been described from connection 980 to connection 983, other components could be used that are also operational to perform reciprocal processmg in the reverse direction If the communications path is bi-directional, user information in ATM cells amvmg on connection 983 would be processed for output on connection 980 in the approp ⁇ ate format
  • connection 980 in the approp ⁇ ate format
  • separate connections could also be set-up in each direction, or that only a connection in one direction may be required
  • Signaling links 990 and 991 are SS7 links
  • Link 992 is a data link with an example being an ethemet connection transporting UDP/IP, although a bus arrangement could be used if the CCM and the mux are physically integrated
  • STP 960 is device that routes signaling messages STPs are well known in the art
  • CCM 950 would be identified by its own signaling point code
  • Point codes designate vanous pomts in the network and they are used to route signaling messages to these pomts
  • STP 960 would route signaling messages with the point code of CCM 950 to CCM 950
  • the signaling protocol could be based on narrowband Integrated Services Digital Network (ISDN) User Part (N-ISUP) employing Message Transfer Part (MTP) levels 1-3
  • the signaling uses N-ISUP messages transported over broadband connections This would entail a protocol stack of MTP3 ⁇ Signaling ATM Adaption Layer (SAAL) — ATM In other words, N-ISUP messages from MTP3
  • STP 960 may also convert point codes between the point code for CCM 950 and other point codes This is so messages sent to other network elements can be diverted to the CCM, and so that messages sent from the CCM can be masked with a point code that is recognized by other network elements
  • point code conversion is not essential, it facilitates the transition of a network to the new systems
  • the conversion could be implemented through a conversion table located between the discrimination function and the routmg function of die MTP level 3 function of STP 960 Mapping would be implemented on a Imkset by Imkset basis, so affected linksets would flag all incoming messages Flagged messages would access the conversion table
  • the conversion table would typically convert the destination point code of the message to that of CCM 950, so that the route function of MTP 3 would forward the message to CCM 950
  • Point code conversion could be based on many factors with a few examples being the destination point code, the o ⁇ gination point code, the signaling link, the circuit identification code, the message type, and vanous combinations of
  • CCM 950 is a signaling processor that operates as discussed above A preferred embodiment of CCM 950 is provided later In this embodiment CCM 950 would be operable to receive and process SS7 signaling to select connections, and to generate and transmit control messages identifying the selections Preferably, a single CCM would be associated with a single mux or a group of muxes
  • Assignment 940 is a control interface that accepts messages from CCM 950 In particular, assignment 940 receives and identifies DSO/virtual connection assignments in the messages from link 992 These assignments are provided to AAL 920 for implementation As such, AAL 920 obtains the virtual path identifier (VPI) and virtual channel identifier (VCI) for each call from assignment 940 AAL 920 also obtains the identity of the DSO for each call (or the DSOs for an Nx64 call) AAL 920 then converts user information between the identified DSO and the identified ATM virtual connection Assignment 940 would use the connection processing system to facilitate this processing Acknowledgments that the assignments have been implemented may be sent back to CCM 950 if desired It should be noted that these assignments are dynamically received and implemented on a call-by-call basis This is in contrast to conventional interworking muxes that operate using static assignments The static assignments can be altered through a provisioning process, but provisioning is not dynamically done on a call- by-call basis
  • connection 980 DSO mterface 910 would convert the traffic on connection 980 into the DSO format and provide the DSOs to AAL 920 over connection 981
  • CCM 950 The signaling received by CCM 950 would identify the access connections for the calls (I e the particular DSOs on connection 980), and contain call information, such as dialed numbers CCM 950 would process the signaling and select connections for the calls Since multiple virtual connections are pre-provisioned from ATM interface 930 to the other destinations in the network, CCM 950 can select a virtual connection to the destination The selection process can be accomplished through table look-ups For example, a table could be used to translate a portion of the dialed number into a VPI The VCI would be selected based on the available VCIs in the selected VPI The VPI/VCI combination would correspond to a unique virtual connection pre- provisioned from ATM interface 930 to the appropriate network destination The selections represent the DSO — virtual connection assignments that are provided to assignment 940 over link 992
  • Assignment 940 accepts the DSO ⁇ virtual connection assignments and provides them to AAL 920
  • AAL 920 places user information bytes from the designated DSO mto cells and appends a header to the cells that identifies the designated VPI/VCI
  • the cells are provided to ATM interface 930 over connection 982
  • ATM interface 930 accepts the cells and places them within the transport format for connection 983
  • the cells are then transported over the selected virtual connection to the appropriate destmation
  • Calls also exit the network through connection 980
  • other CCMs at the ongmation pomts select the virtual connections to ATM mterface 930
  • the originating CCMs also send signaling messages to CCM 950
  • the signaling messages identify the destinations for the calls and the selected virtual connections CCM 950 will have a list of available access connections to the identified destinations CCM 950 will select the access connections to the destinations from the list
  • the connection selected by CCM 950 could be a DSO embedded within a DS3 connected to a LEC
  • the virtual connections on connection 983 and selected access connections on connection 980 are provided to assignment 940 over link 992 Assignment 940 provides these assignments to AAL 920
  • ATM mterface 930 will demux the cells arriving from connection 983 and provide them to AAL 920
  • AAL 920 converts the user information in the cells into the DSO format
  • AAL 920 make the conversion so that cells from a particular virtual connection are provided to the assigned DSO on connection 981
  • DSO interface will convert the DSOs from connection 981 mto the appropriate format, such as DS3, for connection 980
  • connection processing system could also be used for this reciprocal processing
  • connection 980 to connection 983
  • DSO interface 910 and ATM interface 930 provide user information in their respective formats to AAL 920
  • AAL 920 converts the user information between DSO and ATM formats based on the assignments from assignment 940
  • CCM 950 can select the DSO — virtual connection assignments that dnve the process
  • Figure 10 shows one embodiment of the mux, but other muxes that support the requirements of the invention are also applicable Shown are control interface 1000, OC-3 interface 1005, DS3 interface 1010, DS 1 interface 1015, DSO interface 1020, digital signal processing (DSP) 1025, AAL 1030, and OC-12 interface 1035
  • OC-3 interface 1005 accepts the OC-3 format and makes the conversion to DS3 DS3 interface 1010 accepts the DS3 format and makes the conversion to DS 1 DS3 interface 1010 can accept DS3s from OC-3 interface 1005 or from an external connection DS1 interface 1015 accepts the DS 1 format and makes the conversion to DSO DS 1 interface 1015 can accept DS 1 s from DS3 mterface 1010 or from an external connection DSO interface 1020 accepts the DSO format and provides an interface to digital signal processing (DSP) 1025
  • DSP digital signal processing
  • DSO mterface 1020 is coupled to DSP 1025
  • DSP 1025 is capable of manipulating the user information to improve transmission quality
  • DSP processing primarily entails echo cancellation, but could include otiier features as well
  • echo cancellation can be required for voice calls
  • DSP 1025 passes the DSOs through echo cancellers
  • These echo cancellers must be disabled for calls that do not require echo control
  • Data calls do not require echo cancellation, and the CCM has the ability to recognize data calls that require an echo canceller to be disabled
  • the CCM will send a control message to DSP 1025 indicating the particular echo canceller that is to be disabled
  • the CCM selects the echo canceller based on the Circuit Identification Code (CIC) in the signaling it receives from the user After the data call, the CCM sends a message that causes the particular echo canceller to be enabled again for subsequent voice calls
  • CIC Circuit Identification Code
  • the CCM and the mux can work to provide other digital signal processmg features on a call by call basis Compression algorithms can be applied, either umversally, or on a per call basis
  • Compression algorithms can be applied, either umversally, or on a per call basis
  • the decibel level could be adjusted for calls form a particular o ⁇ gin or to a particular destination, I e where a hearing impaired person may reside
  • Encryption could be applied on a call-by-call basis based on various criteria like the origination number or the destination number
  • Stored messages could be placed on the line, DTMF tones could be detected and transmitted on the line DTMF information might be exchanged with the CCM, or another service platform
  • Various DSP features could be associated with various call parameters and implemented by the CCM through DSP 1025
  • DSP 1025 is connected to AAL 1030
  • AAL 1030 operates as descnbed above for an AAL DSO ⁇ virtual connection assignments from control mterface 1000 are implemented by AAL 1030 when converting between the DSO and ATM formats Calls with a bit rate greater than 64 kbit/sec are known as Nx64 calls
  • AAL 1030 can be capable of accepting control messages through control interface 1000 from the CCM for Nx64 calls
  • the CCM would instruct AAL 1030 to group the DSOs for the call
  • the above-desc ⁇ bed connection processmg system would be used to handle these connection assignments
  • FIG. 1 1 depicts virtual connections provided by the ATM cross-connect system, although numerous other techniques for providing virtual connections will be appreciated by one skilled in the art Shown are virtual connections 1110, 1112, 1114, 1 1 16, 1 1 18, 1120, 1 122, 1 124, and 1126 These virtual connections are shown interconnecting muxes 1, 2, and 3 through cross- connects X and Y Virtual connections are provisioned in between each mux Each mux would have a virtual path provisioned through the cross-connect system to every mux Additional virtual paths could be provisioned between two muxes usmg diverse physical routes for the sake of redundancy These virtual paths are designated in the ATM cells by the VPI The VPIs are designated locally by the cross-connects to be the destmation mux For example, connections 1110, 1 1 16, and 1 124 are all designated as VPI because they terminate at mux 1 Connections that termmate at mux 2 can be defined locally as VP2 On a call ente ⁇ ng at mux 1 , the NPA-NXX
  • a mux might be connected to several different destmation over several different DS3 trunks This is illustrated by connections 1 130, 1 132, and 1 134 between mux 2 and destinations A, B, and C respectively
  • connections 1 130, 1 132, and 1 134 between mux 2 and destinations A, B, and C respectively
  • mux 2 it could be desirable to specify the destination for the call to mux 2 m addition to the VPI/VCI the call will use This could be done by designating both the VPI/VCI and the destination code in the message from the originating CCM to the terminating CCM
  • the terminating CCM would then select the DSO to the destination This allows the local CCM to select DSOs to a pre-selected destination
  • bi-directional ATM connections are not typically bi-directional
  • a virtual connection must also be selected to transport user information m the opposite direction - terminating to receiving. This could be done by simply loading corresponding memory locations with the corresponding VPI/VCI to make the connection bi-directional. If only a uni ⁇ directional communications path is required, this may be omitted.
  • FIG. 12 depicts telecommunications system 1200. Shown are user 1210, user 1212, user 1214, user 1216, STP 1218, STP 1220, STP 1222, STP 1224, mux 1226, mux 1228, mux 1230, mux 1232, caiyconnection manager (CCM) 1234, CCM 1236, CCM 1238, CCM 1240, ATM cross-connect 1242, ATM cross-connect 1244, ATM cross-connect 1246, and Service Control Point (SCP) 1250.
  • the CCMs are designated as "signaling processor" on Figure 12. For clarity, the connections and signaling links are not numbered. Except for the SCP, all of these components are described above, and the CCMs are also discussed below.
  • SCPs are well known in the art.
  • An SCP is a processor and database that answers signaling queries to assist in call processing. An example is an "800" routing query between a switch and an SCP.
  • user 1210 may forward an 800 call to system 1200.
  • User 1210 could be connected to mux 1226 with a DS3 connection.
  • the 800 call would occupy a DSO embedded in me DS3 connected to mux 1226.
  • User 1210 would send an SS7 Initial Address Message (IAM) through STP 1218 to system 1200.
  • STP 1220 would be configured to route the IAM to CCM 1234.
  • IAM contains information such as the dialed number, the caller ' s number, and the circuit identification code (CIC).
  • CIC circuit identification code
  • CCM 1234 would process the IAM and identify that the call was an 800 call. After initial call processing, CCM 1234 would query SCP 1250 for routing instructions. SCP 1250 would translate the dialed number based on the 800 subscriber's routing plan. For example, 800 calls from user 1210 may be routed to user 1212 during business hours, to user 1214 at night, and to user 1216 on weekends. If the call is placed from user 1212 on a weekend, the call would be routed to user 1216. As such, SCP 1250 would return the POTS number for user 1216 to CCM 1234.
  • CCM 1234 would process the POTS number to select: 1) the VPI/VCI for a virtual connection from mux 1226 to mux 1230, 2) the destination point code (DPC) for CCM 1238, and 3) the identification of a trunk group from mux 1230 to user 1216.
  • CCM 1234 would generate an IAM message to send to CCM 1238 and insert the selected information. Since the two muxes define the VPI between them, the originating point code and the destination point code of the IAM can be used by CCM 1238 to identify the selected VPI for the call. The OPC and DPC would be placed in the routing label of the IAM.
  • the VCI and trunk group ID could be placed in the CIC field of the IAM including the two spare bits. Since 16 bits are available, 256 trunk groups and 256 VCIs are available. These bits should be configured to allocate 256 VCIs to each of the 256 trunk groups that are available for each VPI.
  • the terminating CCM would have to use both the VPI code and the CIC to identify the actual VCI in the cell headers.
  • VPI between an originating mux and a terminating mux there is one VPI
  • VPI there are 256 possible trunk groups to connect to on the other side of the mux
  • 256 VCIs are allocated for each VPI/trunk group combination CCM 1234 would send the IAM message to CCM 1238 through STP 1220 and STP 1222
  • the IAM is N-ISUP, it could be transported conventionally or over ATM connections by using an SAAL and an ATM layer to encapsulate the message
  • the VPI, VCI, and trunk group could be identified in a private parameter of the IAM, or they could be delivered m a separate message between the CCMs
  • CCM 1234 has effectively routed the call for CCM 1238 If N-ISUP is used for the IAM format, the routing label and the CIC are at a fixed location Because the VPI/VCI and the trunk group to user 1216 are coded mto the IAM at a fixed location CCM 1238 does not need to parse the entire IAM or perform detailed call processing CCM 1238 only needs to select an available DSO m the identified trunk group and to select the DPC for user 1216
  • the service indicator also at a fixed location of the IAM, could be used to indicate to a terminating CCM that the originating CCM has pre-routed the call, and that call processing need only entail selection of a DSO and DPC for the identified trunk group DSO and DPC selection could be accomplished by a database look ⁇ up Echo control can be handled in a similar manner CCM 1234 handles echo control at the originating side of the call For echo control at the terminating side, CCM 1234 could use the service indicator to indicate that echo control did not need to be handled by
  • mux 1230 would be connected to user 1216 with a DS3 trunk group CCM 1238 would select a DSO embedded m the DS3 and would send an IAM to user 1216 through STP 1222 and STP 1224
  • the CIC of this IAM would indicate that a call was being routed to user 1216 over the selected DSO
  • This CIC would be in conventional 14 bit format with two spare bits
  • User 1216 would process the IAM and complete the call When the call is answered, user 1216 would transmit an answer message (ANM) through STP 1224 back to system 1200
  • CCM 1234 would also send a UDP/IP message to mux 1226 instructing it to assemble the user information m the DSO from user 1210 into ATM cells with a cell header identifying the selected VPI/VCI CCM 1238 would send a UDP/IP message to mux 1230 instructing it to dis ⁇ assemble ATM cells from the selected VPI/VCI and output the user information to the selected DSO to user 1216
  • ATM cross-connect 1242 would route ATM cells from mux 1226 to ATM cross-connect 1244 based on the cell header
  • ATM cross-connect 1244 would route these cells to mux 1230 based on the cell header
  • user information for the call would flow from user 1210 to user 1216 over the DSO from user 1210, the virtual connection selected by CCM 1234, and the DSO to user 1216 selected by CCM 1238
  • the muxes would implement the selections of the CCMs The call would require that a voice channel be available in both directions As such, the DSOs and virtual connection would be bi-directional In
  • CCM 1234 and SCP 1250 would determine that user 1214 was the destination Accordingly, a pre-provisioned virtual connection from mux 1226 through ATM cross-connect 1242 and ATM cross-connect 1246 to mux 1228 would be selected by CCM 1234 for the call CCM 1236 would select the DSO to user 1214
  • CCM 1234 would determine that user 1212 was the destination Accordingly a pre-provisioned virtual connection from mux 1226 through ATM cross-connect 1242 and back to mux 1226 would be selected for the call CCM 1234 would also select the DSO to user 1212
  • the mux could be designed to cross-connect DSO to DSO as well as DSO to VPI/VCI In this case, mux 1226 would make a DSO to DSO connection in response to the message from CCM 1234 and the ATM system would not be used
  • Figures 13-12 refer to a prefe ⁇ ed embodiment of the signaling processor, also known as the CCM, but any processor which supports the stated requirements would suffice
  • Figure 13 depicts one such signaling processor
  • Signaling processor 1300 would typically be separate from the mux, but those skilled in the art appreciate that they could be housed together and coupled in a bus arrangement instead of being coupled by a data or signaling link
  • Signaling processor 1300 may support a single mux or support multiple muxes
  • Signaling processor 1300 includes Message Transfer Part (MTP) 1310
  • MTP 1310 can be comprised of signaling point software that is known m the art MTP 1310 includes various levels known as MTP 1, MTP 2, and MTP 3
  • MTP 1 defines the physical and electrical requirements for a signaling link MTP 2 sits on top of MTP 1 and maintains reliable transport over a signaling link by monitormg status and performing error checks
  • MTP 1-2 provide reliable transport over an individual link
  • a device would need MTP 1 -2 functionality for each link it uses MTP 3 sits on top of MTP 2 and provides a routmg and management function for the signaling system at large MTP 3 directs messages to the proper signaling link (actually to the MTP 2 for that link)
  • MTP 3 directs messages to applications using MTP 1310 for access to the signaling system
  • MTP 3 also has a management function which monitors the status of the signaling system and can take appropriate measures to restore service through the system MTP levels 1-3 correspond to layers 1-3 of
  • MTP 1310 could be connected to platform handler 1320 by an ethemet interface supporting TCP/IP which transfers signaling messages from MTP 1310 to platform handler 1320 Those skilled in the art will recognize other interfaces and protocols which could support these functions
  • Platform handler 1320 is a system which accepts ISUP messages from MTP 1310 and routes them to message handler 1340
  • Message handler 1340 is a system which exchanges signaling with platform handler 1320 and controls the connection and switching requirements for the calls
  • Bearer control 1330 handles bearer capabilities for the call Record Handler 1350 generates call records for back-office systems
  • ISUP messages are routed by MTP 1310 to platform handler 1320
  • Platform handler 1320 would route the ISUP messages to message handler 1340
  • Message handler 1340 would process the ISUP information This might include validation, screening, and retrieving additional data for call processing Bearer control 1330 would implement the bearer capabilities required, such as echo cancellation, through control messages to the approp ⁇ ate network elements
  • Message handler 1340 would complete call processmg
  • Message handler 1340 would generate the appropriate messages to implement the call and pass the messages to platform handler 1320 for subsequent transmission to the designated network elements
  • Message handler 1340 would also receive ISUP messages from MTP 1310 at the completion of the call
  • Message handler 1340 would process these messages and generate subsequent messages to tear down the call
  • Record handler 1350 would obtain call information from message handler 1340 and use this information to generate call records The call records could be used for billing purposes
  • Message handler 1340 includes at least the call control function (CCF) and the service switching function (SSF)
  • CCF call control function
  • SSF service switching function
  • the CCF establishes and releases call connections, and the SSF recognizes triggers during call processing by the CCF and provides an mterface between the CCF and the service control function (SCF)
  • SCF service control function
  • the SCF identifies services and obtains data for the service, and is preferably housed in a remote database, such as an SCP (As such, the SCF is not shown on Figure 13 )
  • Message handler 1340 is able to control connections, recognize triggers, and access the SCF m a remote database
  • Signaling processor 1300 is compnsed of hardware and software
  • One example of a such hardware is the FT-Sparc provided by Integrated Micro Products PLC
  • the FT-sparc could use the Solans operatmg system also provided by Integrated Micro Products PLC MTP 1310 could be constructed using commercially available SS7 software interface tools
  • An example of such tools would be SS7 interface software provided by either Trillium, Ine or by Dale, Gesek, McWilhams, and Sheridan, Ine Any data storage requirements could be met with conventional database software systems
  • the Intelligent Network Conceptual Model (INCM) of the ITU-T Q 1200 series could be mapped to Specification Design Language (SDL) of ITU-T Z 200 and Message Sequence Charts (MSC) of ITU-T Z 120 Va ⁇ ous detection points and points-in-call in the INCM can be skipped to optimize call processing
  • SDL Specification Design Language
  • MSC Message Sequence Charts
  • the SDL could then be compiled mto C or C++ and loaded onto the FT-sparc
  • the software is pnmanly comp ⁇ sed of several static processes, instantiated processes (from static processes), and communication channels between the processes Preferably, the software processes would be partitioned mto several operating system tasks Further requirements for the software design will become apparent in the following discussion
  • Platform handler 1320 is preferred, but is not required as its functions could be handled by MTP 1310 and/or message handler 1340
  • Platform handler 1320 has messaging interfaces that exchange, buffer, dis-assemble, and re-assemble messages for MTP 1310, bearer control 1330, message handler 1340, and record handler 1350
  • Platform handler 1320 could exchange these messages over an ethemet--TCP/IP interface, but any technique for transfer of messages is contemplated
  • Platform handler 1320 could also check the messages for basic flaws Should more than one message handler be connected to platform handler 1320, ISUP messages could be allocated to the message handlers based on the SLS of the particular ISUP message Platform handler 1320 also accepts routing instructions from message handler 1340 for routing certain ISUP messages to particular select call model processes of message handler 1340
  • Platform handler 1320 is also responsible for managing and monitoring CCM activities Among these are CCM start-up and shut-down, log-m and log-off of various CCM modules, handlmg administrative messages (I e error, warning, status, etc ) from the CCM modules, and handling messages from network operations such as queries, configuration instructions, and data updates
  • the connections to the various CCM modules are shown
  • the connection to network operations is the man machine mterface which allows the CCM to be controlled and monitored by either a remote or a local operator
  • Platform handler 1320 has a process which retrieves configuration data from internal tables to initialize and configure the CCM
  • the CCM modules also have internal tables which are used in conjunction with this procedure
  • THE MESSAGE HANDLER Figure 14 depicts a version of the message handler External connections have been omitted for the sake of clanty
  • Message handler 1400 is shown and includes ISUP 1410, call manager 1420, feature manager 1430, switching manager 1440, and SCF access manager 1450
  • the primary function of message handler 1400 is to process ISUP messages for calls, generate subsequent messages, and invoke services
  • message handler 1400 is able to assign incoming access connections (CICs in SS7) to VPI/VCIs and instruct the mux to provide SVPs and SVCs through an ATM cross-connect system
  • ISUP 1410 receives gene ⁇ c ISUP messages from the platform handler and converts them mto specially formatted ISUP messages using receive 1412 ISUP 1410 reverses this process in transmit 1414 for messages sent to the platform handler Receive 1412 forwards formatted messages to call manager 1420 ISUP 1410 also exchanges local management message with the platform handler
  • Call manager 1420 could include the functionality specified in the Intelligent Network Call Model (INCM) of ITU-T Q 1214 which encompasses the main functionality of the CCF Call center 1422 receives IAM messages and creates an originating call model process for each IAM Each o ⁇ ginating process is parameterized with data from its particular IAM Additional origination processes can be created based on the IAM if it is a multi-party call All of these originating processes are represented by o ⁇ ginating processes 1424
  • An o ⁇ ginating process will typically create a detection point process All of the detection point processes created are represented by detection point processes 1426 Each originating process will also set-up a call control block containing data for the call Each origination process will execute through a point-in call to a detection point When detection points are encountered, and the originating process has not been programmed to skip them, a signal representing the detection pomt is forwarded to the conespondmg detection point process As stated above, call processmg can be streamlined by skipping selected detection points and points-in-call When an originating process sends a detection point signal to the corresponding detection point process, processmg is suspended at the originating process until a response is received from the detection point process
  • Detection pomt processes 1426 provides a portion of the SSF and acts as a buffer between the call processes and feature manager 1430 A detection point process analyzes the detection point signal from the origination process to determine if is should be acted on or if it can be ignored If the processing results in a service request or notification, a corresponding signal is sent to feature manager 1430 Detection pomt responses from feature manager 1430 are forwarded back to the approp ⁇ ate call process Once call set-up has been authorized for the onginating process, a detection pomt process will also send a signal to call center 1422 to create a terminating process
  • terminating processes 1428 creates and interacts with detection point processes 1426 much like an ongmatmg process
  • a terminating process also creates a terminating call control block ISUP information is transferred from the originating process for a call to the terminating process for the call
  • the platform handler is instructed of the originating and terminating processes so that subsequent ISUP messages related to that call can be transferred directly to the appropriate processes by the platform handler
  • Both originating and terminating processes have a local database
  • a termination process might access local data to translate the NPA-NXX of a dialed number into the VPI to a destination mux
  • the onginating processes and terminating processes also exchange messages with bearer control Typically, these messages relate to echo canceller and mux control
  • both an origination and termination process is required for each mux - a total of four call processes
  • the originating process for the originating mux will handle echo cancellation for the origination side of the call
  • the termination process for the origination mux will handle mappmg the mcommg DSO to the VPI/VCI
  • the termination process for the terminating mux will map the VPI/VCI to an outgoing DSO and handle echo cancellation for the terminating side of the call If only one mux is used on the call (m and out of the network at the same mux), only a single ongmation process and a single termination process is required
  • the originating processes and terminating processes also exchange messages with the record handler Typically, these messages relate to billing and operational measurements
  • the record handler receives the originating and terminating call control blocks for billing purposes
  • These call control blocks typically would identify the following the call control block ID, the originating/terminating process ID, the message handler, the o ⁇ ginatmg LEC, the LEC trunk circuit (CIC), the ATM virtual circuit, the ATM virtual path, the caller's number, the dialed number, the translated dialed number, the o ⁇ ginating line information, the ANI service class, the selected route, the number of the selected route, the SLS, the OPC, the DPC, the service indicator (SIO), echo cancellation status, reason of release, call status, and pointers to adjacent call control blocks
  • the call control block would also contain the vanous times that signaling messages are received, such the address complete message (ACM), the answer message (ANM), the suspend message (SUS), the resume message (RES), and the release message (REL)
  • ACM address
  • Call manager 1420 communicates with feature manager 1430
  • Feature manager 1430 handles interaction of services for the call Examples of services would be 800 calls, PCS calls, and VPN calls, but there are many others
  • Feature manager 1430 is comprised of feature center 1432 and feature processes 1434
  • Feature center 1432 receives the detection point messages from the detection point processes 1426
  • Feature center 1432 then creates a feature process for each call These processes are represented by feature processes 1434
  • the feature process will determine if additional data is needed for the detection point If so, a signal is sent to switching manager 1440 Responses from switching manager 1440 are sent to the appropriate detection pomt process by the feature process for the call
  • the feature process sends all such service signals to switching manager 1440
  • services may be segregated into “IN” and “non-IN” services, the feature process would then have to select between an "IN” switchmg manager or a "non-IN” switching manager when sending service signals to switchmg manager 1440
  • Switchmg manager 1440 is comprised of switching center 1442 and switching processes 1444 Switchmg manager creates a switching process for each service required on the call These switching processes are represented by switching processes 1444 A switching process will communicate directly with the associated feature process for the call The switching process will also mterface with the SCF As stated above, the SCF provides the service processing for the call and is preferably located at a remote database A typical example of accessing SCF would be to send a TCAP query to a service Control Point (SCP) for an "800" number translation
  • SCP service Control Point
  • the switchmg process will use SCF access manager 1450
  • SCF access manager 1450 is compnsed of encoder 1452 and decoder 1454 Encoder 1452 converts signals from switching processes 1444 into the proper format for SCF access Decoder 1454 converts messages from the SCF back into the format for switching processes 1444
  • SCF access manager 1450 would typically access the SCF over standard communications links One example would be an SS7 link usmg the TCAP/INAP/
  • message handler 1400 is comp ⁇ sed of static processes identified as "centers" that create specific processes for each call Once created, these specific call processes communicate directly with one another to accomplish call processing
  • the origination process or the termination process will check the user service information data and originating line information to assess the need for echo control If the call is a data call, a message is sent to bearer control 1330 Based on the CIC, bearer control 1330 can select which echo canceller circuit needs to be disabled A message will be generated to that effect and transmitted over a standard data link, such as UDP/IP, to the pertinent echo control system If the echo canceller is remote, a T 1 link may be desired for transport As described above, echo control can be implemented by the multiplexer Once a release (REL) message is received for the call, the echo canceller is re-enabled On a typical call, this procedure will occur twice Once for an echo canceller on the originating side of the call, and again for an echo canceller on the terminating side of the call The CCM that handles the IAM for a particular call segment will control the particular echo cancellers for the segment
  • the call control block would contain information from the ISUP messages for the call and from CCM processing From the address complete message (ACM), the call control block would include the routing label, CIC, message type, and cause indicators From the answer message (ANM), the call control block would include the routing label, CIC, message type, and backward call indicators From the initial address message (IAM), the call control block would include the routing label, CIC, message type, forward call indicators, user service information, called party number, calling party number, carrier identification, carrier selection information, charge number, generic address, ongination lme information, ongmal called number, and redirecting number From the release message (REL), the call control block would include the routing label, CIC, message type, and cause indicators From the suspend message (SUS) or the pass along message (PAM), the call control block would include the routm
  • SS7 messaging is well known in the art SS7 ISUP messages contain numerous fields of information Each message will have a routing label containing a destination point code (DPC), an o ⁇ gmation pomt code (OPC), and a signaling link selection (SLS) which are used pnmanly for routing the message
  • DPC destination point code
  • OPC o ⁇ gmation pomt code
  • SLS signaling link selection
  • Each message contains a circuit identification code (CIC) which identifies the circuit to which the message relates
  • CIC circuit identification code
  • Each message contains the message type which is used to recognize the message ISUP messages also contain mandatory parts filled with fixed length data and variable length data, in addition to a part available for optional data These parts vary from message type to message type depending on the information needed
  • the initial address message initiates the call and contains call set-up information, such as the ⁇ aled number IAMs are transferred in the calling direction to set up the call Dunng this process, TCAP messages may be sent to access remote data and processing
  • ACM address complete message
  • ACM address complete message
  • ACM address complete message
  • ACM answer message
  • REL release message
  • SUS suspend message
  • RES resume
  • REL release message
  • FIG. 15-23 depict message sequence charts for the call processing in one embodiment
  • Message sequence charts are known in the art, and are a recognized format to depict call processmg
  • the basic elements of the CCM are shown ⁇ the platform handler, the message handler, the bearer control, and the record handler
  • the blocks below the message handler indicate the processes for the message handler Further specification at the process level for the platform handler, the bearer control, and the record handler is not required for this discussion
  • the charts are read down m a chronological sequence. Blocks indicate tasks performed by the process named above
  • a ⁇ ows indicate messages exchanged between the processes or the creation of a new process by an existing process
  • the sequence starts on Figure 15 with an ISUP message at the platform handler
  • the platform handler forwards the message to the ISUP receive process of the message handler
  • the ISUP receive process forwards the IAM to the call center
  • the call center had been m the "o ⁇ gmation null" point-in-call, but the IAM causes the call center to create an o ⁇ ginating call process parameterized with contents of the IAM
  • the originating process executes through the "autho ⁇ ze origination attempt" point-in-call This typically entails ANI validation in a look-up table, but prior to the look-up, call information is checked to determine if ANI validation is required For particular types of calls, I e "800" calls, origination is authorized without ANI validation
  • the originating process creates a detection point process and transmits a signal to the detection point process that origination has been autho ⁇ zed
  • the detection point process returns a message instmcting the origination process
  • the resume message causes the origination process to execute through the "routing and alerting" point-in-call This typically entails translating the dialed number to select a destination address For example, the NPA-NXX of the dialed number could be used in a look-up table to yield me address of the terminating mux and the device that should receive the call from the mux
  • the origination process will also send a message to the call center to create an terminating call process
  • the termmating call process is provided with the identity of the originating process
  • the terminating process also creates a detection point process to handle the detection points it encounters For purposes of cla ⁇ ly, this is indicated along the same line as the originating process detection point, although it should be understood that each process communicates with its corresponding detection pomt
  • the terminating process executes through the "authorize termination attempt" point-in-call This typically entails ve ⁇ fying that an ATM connection to another mux can be attempted For example, the CCM and the mux at the terminating end must be operational to handle the call
  • an authorized message is sent to the detection pomt process, which returns a resume message to the termination manager (unless a detection point is programmed into the detection point process )
  • the terminating process will then execute through the "select facility and present call" point-in-call This typically entails selecting the actual VPI/VCI and outbound connection for the call
  • the destination has already been specified dunng the "routing" point-m-call, so the VPI/VCI and point codes can be looked-up accordingly
  • the terminating process will then send a message to bearer control requesting mux control Bearer control would then create a message for the onginating mux identifying the connections and devices relevant to the call Bearer control would respond that mux control was handled
  • the terminating process would then construct an IAM for transmission to the downstream CCM at the terminating mux As discussed above, this message could be coded such that the downstream CCM could skip detailed call processing
  • the IAM would be provided to the ISUP sender and a fomiatted IAM would be provided to the platform handler for subsequent transmission to the downstream CCM
  • the next message that would be received by the CCM that is related to the call would be an Address Complete Message (
  • the ISUP receive process would forward the ACM to the termmating process
  • the terminating process would execute through the "alerting" point-m-call and would send ACM information to the originating process, which would also execute through the "alerting" point-m- call
  • Alerting entails alerting the users that a connection is available - 1 e nnging a telephone Typically, no specific activity is required for "alerting", but detection points could be inserted into the process if desired
  • the originating process would forward an ACM to the ISUP sender which would provide a formatted ACM to the platform handler for subsequent transmission to devices at the o ⁇ gmation side of the call
  • an Answer Message (ANM) will be transferred from the terminating side of the call to the origination side of the call when the called party answers the phone
  • the ANM is received by the platform handler and forwarded to the ISUP receive process which forwards its version to the terminating process Continuing on to Figure 19, the terminating process executes though the "active" point-in-call and sends ANM information to the detection point process Typically, the detection point process will return a resume message, although detection points could be included here if desired
  • the terminating process also sends a mux control message to bearer control to facilitate cut-through on the call at the mux A acknowledgment response is sent back to the terminating process from bearer control
  • the terminating process also sends ANM information to the originating manager, which also executes through the "active" point-in-call
  • the o ⁇ ginating process also sends an answer message to the detection point process and a partial call control block to the record handler Typically, the detection pomt process will send a resume message back to the o ⁇
  • the message sequence continues with the receipt of a release message (REL) after the caller or called party hang up
  • REL release message
  • SUS suspend message
  • the chart picks up with an REL ar ⁇ ving from the terminating side of the call
  • the REL is received by the platform handler and transfe ⁇ ed to the ISUP receive process, which provides its version of the message to the terminating process (Had the REL been from the originating side, it would have been provided to the originating process )
  • the terminating process executes through the "disconnect" pomt-in-cal)
  • the terminating process sends REL information to the o ⁇ ginating process
  • the onginating process would forward an REL to the ISUP sender which would provide a formatted REL to the platform handler for subsequent transmission to devices at the origination side of the call
  • the terminating process will forward
  • the next message will typically be an RLC in response to the REL sent to the originating side of the call
  • the RLC is received by the platform handler and forwarded to the ISUP receive process
  • ISUP receive provides its version of the message to the originating process This causes the onginating process to forward its final call control block to the record handler
  • the onginating process also provides RLC information to the terminating process This causes the termmating process to send its final call control block to the record handler
  • the record handler responds to each process with an acknowledgment response
  • tear down messages are sent by the originating process and the terminating process to their respective detection point processes Typically, no detection points will be programmed and the originating process, the terminating process, and the detection pomt processes will terminate and be cleared from the CCM
  • Figure 22 depicts a modified excerpt from message sequence chart of Figure 23
  • the modification is for a data call that requires the echo cancellation on the connection to be disabled
  • the message sequence chart picks up call processing at the "routing and alerting" point- ui-call Part of the execution through the "routing and alerting" point-in-call includes a check of IAM information to determine if echo cancellation should be disabled If so, the originating process sends an echo control message to bearer control Bearer control will send a message disabling the appropriate echo canceller Bearer control also sends an acknowledgment response back to the onginating process Subsequent call processing continues as discussed above and the echo canceller is re-enabled after the call
  • Figure 23 also depicts a modified excerpt from the message sequence charts above The modification is for a call that requires services Services might include N00 or VPN calls, but many other services are known
  • an SCP is accessed to provide information to implement the service
  • call processing picks up where the detection point process for either the originating process or the terminating process analyzes a detection point and deterrnines that a service is required. Typically, this is done by examining the dialed number and the caller's number. Those skilled in the art are aware of how services can be determined from call information.
  • the detection point process sends detection point message to the feature center that causes the feature center to create an feature process.
  • the feature process will be parameterized with call information and will send a detection point message to the switching center.
  • the feature process will choose between "IN" services and "non-IN” services and send the detection point message to the corresponding switching center.
  • the switching center Upon receiving the message, the switching center creates a service process for each service to be applied to call.
  • the service process formulates a request for service information and forwards it to the encoder of the SCF access manager.
  • the encoder produces a TCAP message and transmits it over the appropriate link to a remote SCF. (possibly through the platform handler and/or the MTP interface).
  • the remote SCF will return a response to the decoder.
  • the response is formatted for the service process and sent to it.
  • the service process takes the response and formulates an analyze information message that is transfe ⁇ ed back through the feature process to the detection point process.
  • the detection point process transfers the analyze information message to the applicable originating or terminating process. Subsequent call processing remains the same as discussed above.
  • the feature process and the switching process are cleared from the CCM.
  • An example of the above scenario would be for an "800" call.
  • the CCM would recognize that the "800” in the called number required service application. As a result, it would generate and transmit TCAP query to an SCP requesting an "800" translation.
  • the SCP would process the query and translate the "800" number into a POTS number.
  • the SCP would return the POTS number to the requesting CCM.
  • the CCM would then process the POTS number as it would for a standard POTS call.
  • the CCM processes SS7 signaling messages to accomplish the following functions: validation, routing, billing, and echo cancellation.
  • SS7 messages are well known in the art. The following sections discuss SS7 processing, but those skilled in the art will recognize variations that are also contemplated.
  • the routing labels of the messages are used to co ⁇ elate messages to calls. Contemporaneous messages with the same OPC, DPC, and CIC relate to the same call.
  • the routing label of messages should be checked.
  • the Service Indicator should be checked to distinguish between an incoming message from outside of the network or a message from a network CCM.
  • the Destination Point Code is screened to ensure the destination of the SS7 message is actually destined for the CCM.
  • the Originating Point Code is screened to ensure the originating point code is allowed in the CCM.
  • the Message Type is screened to ensure that the type of message is allowed in the CCM and that there are no protocol violations associated with the message.
  • Both the Circuit Reservation Message (CRM) and the IAM should have the Satellite Indicator screened to ensure that the limit on the number of Satellites in a circuit has not been exceeded. This will be on a trunk group by trunk group basis.
  • the REL automatic congestion level will be screened to see if congestion arises.
  • the CCM should then control calls to the associated network elements until the congestion abates.
  • the circuit group supervision message type indicator will be screened to compare the state of the circuits with the instructions incoming in the messages.
  • the IAM will receive additional treatment for validation.
  • Information Transfer Capability will be screened to ensure that the connection for the call is capable of handling the transfer rate requested.
  • the Coding Standard will be screened to ensure that the standard is coded 00. AH others will be rejected.
  • Transfer Mode will be screened to ensure that the mode is coded 00 for 64 Kbit/second calls.
  • User Layer Protocol ID and the Rate field will be screened to ensure that there is no rate adaptation required for the call.
  • the Network ID Plans and Digits will be screened to ensure that the carrier identification field and the transit network ca ⁇ ier identification field is in the co ⁇ ect format.
  • the Circuit Code will be screened to allow callers with the co ⁇ ect means of dialing to access the network.
  • the CCM will check the Hop Counter in the IAM to determine if it has reached its limit as set by this field (range 10 to 20 with a default of 20). If it has not, the CCM will increment the parameter. If it has reached the determined count, the CCM will send a release message back with a cause of "exchange routing e ⁇ or" to tell the preceding switch that the IAM has reached its limit in hops. If this field is left blank, the CCM will not increment the counter parameter and pass the IAM unchanged.
  • the IAM Called Party Number field should be handled as follows for validation. Nature of Address will tell the CCM what type of number was dialed for the called number. The screening of this field will be for a non-NPA number. If that occurs, the CCM will need to add the NPA from the Trunk Group to the call control block. Numbering Plan will be screened to check what type of plan the incoming called party number uses. The only allowable plans are Unknown and ISDN numbering plans. All others should be disallowed. Digits Field will be screened for the number of digits using the Nature of Number, Odd/Even, and Digits Fields to determine the co ⁇ ect number of digits.
  • the IAM Calling Party Number and Charge Number fields should be handled as follows for validation. Nature of Address will be screened to ensure that the calling party's number is in the proper format. Presentation Allowed/Restricted will be screened to check for N00 calling. Numbering Plan will be checked to ensure that the numbering plan is set at either unknown or ISDN numbering plan. Digits Field will be checked to ensure that there is enough digits for an ANI that can be billed. These digits will be validated in an ANI table for call authorization.
  • Routing is primarily accomplished by processing the IAM. Called Party Number - Nature of Address, Digits - This will tell the CCM what type of call this is. It will differentiate 0+, test calls, and International numbers from normal 1+ calls The Calling Party's Category tells the CCM that the call is a test call with different routing than a normal call.
  • the Ca ⁇ ier Identification Plan will be used to determine if the CCM receives the Car ⁇ er Identification Code of another ca ⁇ ier, since the CCM may wish to route the call based on the subscribers choice of earners
  • the IAM Camer Selection Information is used to route the call based on whether the subscriber was presubscnbed or dialed the carrier access number
  • the 1AM Originating Line Information will enable the CCM to route based on what type of originating line is being used for this call An example is if a payphone makes a 1+ call, the CCM will be able to route the call directly to an operator for billing a ⁇ angements
  • the IAM Transit Network Selection fields will
  • the IAM Called Party Number fields are handled as follows for routing Nature of Address Indicator tells what type of call is being requested This will include 0+ and 0- calls, international calls (operator and non operator calls), cut through, and 950 types of calls With this information, the CCM can route the call directly to the international gateway or operator center without lookmg at the rest of the message
  • the Odd/Even field will be used with the digits fields to determine the number of digits Numbering Plan field will be used to route calls differently if it has a "Private Numbenng Plan" value in the field
  • Digits Field will be the digits that will be used to route the call through the network using table look-ups Typically, the digits field houses the dialed number
  • CCBs Call Control Blocks
  • echo control messages should be examined to determine if either side of the call - onginating or termmating - has already handled echo control This can be done by lookmg at the Echo Suppresser Indicator in the Nature of Connection Indicators Parameter of the CRM or the IAM, or the Echo Control Device Indicator in the Backward Call Indicators Parameter of the ACM or the Call Progress Message (CPM) If no echo control has been provided, the CCM will implement echo control depending on the Information Transfer Capability in the User Service Indicator Parameter of the IAM ALTERNATIVE EMBODIMENT
  • connection processing system could also be used in the following context of an ATM gateway Figure 24 depicts signaling and control system 2400, ATM system 2420, ATM system 2440, and gateway 2430 These components are connected by connections 2460-2461 and linked by links 2450-2452 as shown Those skilled in the art are aware that large networks have many more components than are shown, but the number of these components has been restncted for clanty
  • ATM systems 2420 and 2440 are known in the art They typically include ATM connections, cross-connects, and switches Any source of ATM cells is contemplated At least one of the ATM systems will have the need to control the VPI/VCIs of cells entering the network This is because the cells entering the network have VPI/VCIs designated by the preceding network These VPI ⁇ /CIs are not necessarily compatible with the routing configuration of the subsequent network accepting the cells As such, the VPI/VCIs must be modified to be compatible the new VPI/VCI routing configuration This is especially true if the ATM network is handling SVCs without an ATM switch to process signaling and select the proper SVCs in real time If only pre- provisioned cross-connects are used, the VPI/VCI in the incoming cell effectively selects the VPI/VCI the cell will have when it exits the cross-connect If SVCs are to be dynamically allocated on a per call basis through pre-provisioned cross-connects, a system is needed to modify the VPI/VCIs to allocate SVCs
  • Gateway 2430 provides this capability Gateway 2430 receives ATM cells entering a network and converts the VPI/VCIs in the cells so they are compatible with network routing configuration Gateway 2430 would modify the VPI/VCIs of cells entering ATM system 2440 on a call-by-call basis Gateway 2430 would use the above-described connection processmg system to facilitate the modification of VPI/VCIs This allows for the allocation SVCs Gateway 2430 could also operate in a two-way fashion This means it will modify the VPI/VCIs of cells entering ATM system 2420 according to ATM system 2420 requirements, and it will modify the VPI/VCIs of cells ente ⁇ ng ATM system 2440 according to ATM system 2440 requirements Gateway 2430 is capable of modifying VPI/VCIs based on control instructions from signaling and control system 2400
  • Signaling and control system 2400 receives signaling passed between the two networks Typically, the signaling would be Signaling System H7 (SS7) messages Signaling and control system 2400 is able to receive and process SS7 signaling to select the appropriate VPI/VCI for cells entering a given network It is similar to the signaling processing system described above It passes this information to the gateway 2430 over control link 2451 Control link 2451 could be a bus, a data link or a signaling link Those skilled in the art will appreciate various ways to couple signaling and control system 2400 with gateway 2430 It is important to note that signaling and control system 2400 and gateway 2430 do not comprise an ATM switch Those skilled m the art will appreciate how these components can be constructed and operated without the complexities and cost of an ATM switch Another advantage is that the gateway has single input/output throughput This avoids many problems ATM switches encounter with multiple input and output ports This also allows the gateway to concentrate traffic flowing into a network In other words, the gateway is able to reorganize the traffic entering a network
  • FIG. 25 depicts gateway 2500 composed of control mterface 2550, header mapper 2510, ATM label converter 2530 and ATM interfaces 2520 and 2540 Connections 2563 and 2564 are ATM connections to ATM systems
  • Call/Connection Manager (CCM) 2570 is a version of signaling and control 100 from Figure 1
  • CCM 2570 processes signaling and exerts control over the gateway 2500 via link 2560
  • This link could be any means of exchanging control information such as a signaling link, a data link, or a bus a ⁇ angement Links 2561 and 2562 provide signaling to CCM 2570
  • An example would be an SS7 link, but other means to transfer signaling would be appreciated by one skilled in the art
  • CCM 2570 is a processmg system that receives and processes signaling messages
  • CCM 2570 processes the signaling messages to select VPI/VCI assignments for gateway 2500
  • it is a call processor It is different from a switch in that it does not have a switching fabric, and it does not carry actual user traffic
  • the processing is based on a dialed number, and can include validation, routing, and billing CCM 2570 would be functional to send control messages to the gateway 2500
  • the control message would instruct gateway 2500 to modify the VPI/VCI in mcommg cells to the VPI/VCI selected dynamically by CCM 2570
  • the control message would instruct gateway 2500 to disassociate the mcommg VPI/VCI from the outgoing VPI/VCI This releases the bandwidth associated with the call CCM 2570 is similar to the CCM discussed in the previous embodiment
  • Control interface 2550 is functional to receive control messages and transmit status information It could be a conventional hardware/software mterface Header mapper 2510 includes a memory that contains the information used to associate incoming VPI/VCIs with outgoing VPI/VCIs This memory is dynamic and is updated on a call by call basis Header mapper 2510 would use the connection processmg system described at the beginning of this disclosure to handle the association of VPI/VCIs ATM label converter 2530 is functional to change the VPI/VCIs in mcommg ATM cells to new VPI/VCIs based on header mapper 2510
  • ATM mterface 2520 is functional to accept mcommg cells from connection 2563 and then send the cells through label converter 2530
  • ATM interface 2540 is functional to accept converted cells from ATM label converter 2530 and transmit these cells on connection 2564
  • Telecommunications signaling is used to set-up and tear down connections for a call Setting-up a connection would entail creating a series of logically connected VPI/VCI communications paths from end to end
  • the following operation is descnbed in terms of SS7, but those skilled in the art are aware of other signaling systems that could also be used Some examples of these other signaling systems would be C7 and UNI
  • the network providing cells to gateway 2500 does not have knowledge of the actual destination for these cells beyond gateway 2500
  • This "first" network will also produce an Imtial Address Message (IAM) associated with the call
  • IAM contains information that can be used to route the cells for the call
  • the IAM is transfe ⁇ ed to CCM 2570
  • CCM 2570 will process the IAM according to the requirements of the "second" network receiving cells from gateway 2500
  • CCM 2570 will select a new VPI/VCI based on the IAM
  • the system would operate as follows for a call incoming over connection 2563
  • the network providmg the call to gateway 2500 will seize an available connection (VPI/VCI) to gateway 2500
  • This connection is represented by connection 2563
  • CCM 2570 will receive the IAM produced m association with the call over link 2561
  • the routing label in the IAM contains a Circuit Identification Code (CIC)
  • the CIC could be configured to identify the VPI/VCI in the incoming cells for the call In other words, the CIC in the IAM identifies the seized connection (m connection 2563) to gateway 2500
  • B-ISUP broadband signaling
  • this VPI/VCI could be directly identified in the VPI/VCI field
  • CCM 2570 will select the VPI/VCI for routing the call over connection 2564 CCM 2570 then sends a control message to control interface 2550 through link 2560
  • the control message will instruct gateway 2500 to modify the VPI/VCI of the incoming cells
  • ATM label converter 2530 will arnve at ATM label converter 2530 from ATM interface 2520 and connection 2563 ATM label converter 2530 will use the VPI/VCI of the incoming cells as the incoming VPI/VCIs in the above-descnbed connection processing system
  • the index would be used to enter header mapper 2510 memory to yield the new VPI/VCI ATM label converter 2530 will modify the VPI/VCI in the cell headers to the new VPI/VCI
  • the cells are then forwarded to ATM interface 2540 for transmission over connection 2564
  • a release message is received by CCM 2570 over link 2561
  • the REL will cause CCM 2570 to begin call tear down procedures
  • CCM 2570 will send a control message to control interface 2550 over link 2560
  • Control interface 2550 will send the information to header mapper 2510 disassociating the incoming and outgoing VPI/VCI for the call
  • gateway 2500 will terminate the call connection
  • CCM 2570 will then send an approp ⁇ ate REL over link 2562 to the next node
  • the CCM may allow the VPI/VCI assignment to remain for a specified duration
  • connection 2564 would transfer these modified cells to an ATM cross-connect system that has pre-provisioned VPI/VCIs to potential network destinations
  • VPI/VCI is selected in real time by CCM 2570 based on the signaling and the routing configuration
  • gateway 2500 is able to implement SVCs on a call by call basis
  • CCM 2570 and gateway 2500 can implement SVCs for calls proceeding in both directions It is also important to note that this can be done without the need for a complex ATM switch with signaling and call processing capability
  • FIG. 26 shows ATM system 2600 and ATM system 2650
  • ATM system 2600 is comp ⁇ sed of gateway 2605, call/connection manager (CCM) 2610, Signal Transfer Point (STP) 2615, ATM cross-connect 2620, and nodes 2625, 2630, 2635, and 2640
  • ATM system 2650 is comp ⁇ sed of gateway 2655, CCM 2660, STP 2665, ATM cross-connect 2670, and nodes 2675, 2680, 2685, and 2690
  • Virtual paths are shown (single lines) provisioned through ATM cross-connect 2620 between gateway 2605 and nodes 2625, 2630, 2635, and 2640 Virtual paths are shown provisioned through ATM cross- connect 2670 between gateway 2655 and nodes 2675, 2680, 2685, and 2690 Gateway 2605 and gateway 2655 are connected by a virtual path as well Signaling links are shown interconnecting the va ⁇ ous components (as ⁇ scussed above, the link between the CCM and the gateway could also be a conventional datalink or bus a ⁇ angement) Note that cross-connects 2620 and 2670 do not require signaling They are provisioned and do not need signaling/switching capability on a call- by-call basis
  • Gateway 2605 and 2655 have been desc ⁇ bed above They modify the VPI/VCIs in ATM cells as instructed by control messages from the CCMs CCM 2610 and 2660 are described above They process signaling and select VPI/VCIs on a call by call basis The selections are provided to the gateways STPs 2615 and 2665 are known m the art They route signaling messages ATM cross-connects 2620 and 2670 are known in the art They route ATM cells based on a pre- provisioned routing configuration and the VPI/VCI in the cells Nodes 2625, 2630, 2635, 2640, 2675, 2680, 2685, and 2690 are ATM devices Any device that transmits or receives ATM cells is contemplated Some examples are ATM switches, ATM cross-connects, and ATM Customer Premises Equipment (CPE) Some of these nodes may use signaling and some may not need signaling
  • CPE Customer Premises Equipment
  • node 2625 In operation for a call from node 2625 to node 2685, node 2625 would recognize that the call did not termmate within network 2600 and would seize a connection to gateway 2655 This connection would be provisioned through cross-connect 2620 and represented by the VPI/VCI m the cell headers Gateway 2605 is inactive on this call and could even be omitted It is shown to illustrate the Gateway function could be implemented for calls passing in the other direction Node 2625 would also transfer an IAM to CCM 2660 identifying the seized VPI/VCI The IAM would be routed by STP 2615 and STP 2665 to CCM 2660 It is important to note that ATM system 2600 does not know the routing configuration of ATM system 2650
  • CCM 2660 will process the IAM from Node 2625 to select a VPI/VCI to node 2685
  • Gateway 2655 has a provisioned virtual path to node 2685 through cross-connect 2670
  • CCM 2655 would select an available VCI within that VPI CCM 2655 would identify both the VPI/VCI from gateway 2605 and the VPI/VCI to node 2685 in a control message to gateway 2655 Usmg the connection processing system
  • gateway 2655 would modify the old VPI/VCI to the new VPI/VCI selected by CCM 2655 and transfer the modified cells to cross-connect 2670
  • cross-connect 2670 would transfer these cells to node 2685 If necessary, CCM 2655 would transfer an IAM node 2685 through STP 2665

Abstract

The invention is a system and method for processing connections. Connection identifiers are assigned to indexes and stored in corresponding index latches (260, 262, ..., 264). When communications arrive over a particular connection, the identifier for the particular connection is provided to all of the index latches. The index latch that stores a matching connection identifier provides its associated index. The index can be used to access a memory location that houses a processing instruction for the particular connection. The invention can be used within ATM multiplexers and gateways to facilitate connection processing.

Description

TELECOMMUNICATIONS SYSTEM WITH A CONNECTION PROCESSING SYSTEM
BACKGROUND
FIELD OF THE INVENTION
The invention relates to the field of telecommunications In particular, the invention relates to telecommunications systems with connection processing systems
DESCRIPTION OF THE RELATED ART
Asynchronous Transfer Mode (ATM) technology has become a well known means of communication ATM is based on the 53 byte cell that contains a five byte header and a 48 byte payload The header includes a virtual connection identification field known as the Virtual Path Identifier/Virtual Channel Identifier (VPI/VCI) The VPI/VCI is typically a 28 bit field that designates the virtual connection for the cell The VPI/VCI is used by the network to route and handle ATM cells Typically the VPI/VCI is used to identify a virtual connection, but other virtual channel identifiers could also be used m the context of the invention
At present, VPI/VCIs are processed by using the VPI/VCI to access a memory location that stores processing instructions for the VPI/VCI Using a 28 bit VPI/VCI to access memory is a cumbersome process This entails writing the 28 bit VPI/VCI to one register and then repeatedly reading and writing successive VPI/VCI table entries into another register for companson This can entail several read/write operations before a match is found The entire table must be searched if no match is available This problem is compounded by processing over an 8 bit or 16 bit bus With an 8 bit bus, a 28 bit number requires 4 wnte operations to transfer the number A 16 bit bus requires 2 write operations These conditions cause problems in broadband systems where high speed transport is used VPI/VCI processing speed is often a critical factor For example, when OC-3 transport is used to carry the ATM cells, a cell arrives for processing every 2 73 microseconds
One solution is to restrict the number of bits that are actually used in the VPI/VCI By restricting the 28 bit VPI/VCI to only 8 active bits, processing speed is improved However, this limitation places severe restrictions on a network's ability to utilize the full capability of ATM virtual connection identification As a result, this solution is often unacceptable SUMMARY
The invention reduces the connection processing time required in prior systems by assigning connection identifiers to indexes and storing the connection identifiers in associated index latches During subsequent processing, a particular connection is processed by providmg the connection identifier to each index latch for comparison with any assigned connection identifiers stored in the latches These comparisons can occur simultaneously across all index latches The index latch that finds a match outputs its index This is the index that was originally assigned to the connection The index can be used to access instructions in memory or it could signify other actions that need to be taken In this way, a smaller index can be used to process the connection instead of a large connection identifier The index latch circuitry allows connections to be associated with indexes m nanoseconds
The invention comprises a connection processing method where there are a plurality of connection identifiers One of the connection identifiers is a first connection identifier that identifies a first connection and another one of the connection identifiers is a second connection identifier that identifies a second connection There are a plurality of mdex latches and a plurality of associated indexes One of the indexes is a first mdex that is associated with a first index latch and another one of the indexes is a second index that is associated with a second index latch
The method comprises assigning the first connection identifier to the first index and assigning the second connection identifier to the second index The first index is associated with a first index latch and the second index is associated witii a second index latch The method comprises storing the first connection identifier in the first index latch and storing the second connection identifier m the second mdex latch The assignment and storage creates assigned connection identifiers in the first and second mdex latches The method comprises receiving communications over the first connection and obtaining the first connection identifier The method comprises providing the first connection identifier to each mdex latch and comparing the first connection identifier to any assigned connection identifiers stored in the index latches The method compnses providmg the first index associated with the first index latch in response to the first connection identifier matching the assigned connection identifier stored m the first mdex latch The method compnses receiving communications over the second connection and obtaining the second connection identifier The method compnses providing the second connection identifier to each index latch and comparing the second connection identifier to any assigned connection identifiers stored m the mdex latches The method comprises providing the second mdex associated with the second index latch in response to the second connection identifier matching the assigned connection identifier stored m the second index latch
In some embodiments the invention also compnses storing a processing instruction for the first connection in a memory location that can be accessed with the first index, and using the first mdex provided by the first index latch to access the processing instruction in the memory location In various other embodiments, the mvention facilitates the processing of virtual connections, VPI/VCIs, DSO connections, and Circuit Identification Codes (CICs) In some embodiments, the invention comprises receiving write and read instructions where the addresses in the instructions represent one of the incoming connection register, one of the index latches, or the assigned mdex register, and decodmg the instructions to determine what the address represents to facilitate execution of the instruction
The invention comprises a system for processing connection identifiers for connections where connection identifiers are assigned to indexes to create assigned connection identifiers and corresponding assigned indexes The connections are identified by incoming connection identifiers when incoming communications from the connections are received by the system The system comprises index latches that are each associated with one of the indexes and that are each operational to receive and store one of die assigned connection identifiers, to receive and compare the lncormng connection identifiers with the stored assigned connection identifier, and to produce the associated mdex if one of the incoming connection identifiers matches the stored assigned connection identifier The system also compnses an incoming connection register that is connected to each index latch and that is operational to receive the incoming connection identifiers and provide them to each index latch, and an assigned index register that is connected to each index latch and that is operational to receive the associated indexes from the index latches
In some embodiments, the system further comprises a microprocessor that is operational to provide write and read instructions that compnse first instructions to write the assigned connection identifiers to addresses that represent the index latches that are associated with the assigned mdexes, a second instruction to wnte the incoming connection identifier to an address that represents the incoming connection identifier register, and a third instruction to read the assigned index from an address that represents the assigned index register In these embodiments, the system also comprises an address decoder that is operational to receive the first instructions and to provide the assigned connection identifiers to the mdex latches that are associated with the assigned mdexes, to receive the second instruction and to provide the incoming connection identifier to the incoming connection register, and to receive the third instruction and to provide the assigned mdex to the microprocessor from the assigned index register
The mvention can be used in vanous devices and architectures as discussed below This includes ATM lnterworking multiplexers and ATM gateways This also includes architectures that employ signaling processors
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram of a version of the mvention Figure 2 is a block diagram of a version of the invention Figure 3 is a block diagram of a version of the mvention Figure 4 is a block diagram of a version of the invention Figure 5 is a block diagram of a version of the invention Figure 6 is a block diagram of a version of the invention Figure 7 is a block diagram of a version of the invention Figure 8 is a block diagram for a version of the invention Figure 9 is a block diagram for a version of the invention Figure 10 is a block diagram for a version of the invention Figure 1 1 is a logic diagram for a version of the invention Figure 12 is a block diagram for version of the invention Figure 13 is a logic diagram for a version of the invention. Figure 14 is a logic diagram for a version of the invention. Figure 15 is a message sequence chart for a version of the invention. Figure 16 is a message sequence chart for a version of the invention. Figure 17 is a message sequence chart for a version of the invention. Figure 18 is a message sequence chart for a version of the invention. Figure 19 is a message sequence chart for a version of the invention. Figure 20 is a message sequence chart for a version of the invention. Figure 21 is a message sequence chart for a version of the invention. Figure 22 is a message sequence chart for a version of the invention. Figure 23 is a message sequence chart for a version of the invention. Figure 24 is a block diagram for a version for the invention. Figure 25 is a block diagram for a version for die invention. Figure 26 is a block diagram for a version for the invention.
DESCRIPTION
ATM technology has become a well known means of communication. ATM is based on the 53 byte cell that contains a five byte header and a 48 byte payload. The header includes a virtual connection identification field known as the Virtual Path Identifier/Virtual Channel Identifier (VPI/VCI). The VPI/VCI is typically a 28 bit field that designates the virtual connection for the cell. The VPI/VCI is used by the network to route and handle ATM cells. Typically the VPI/VCI is used to identify a virtual connection, but other virtual channel identifiers could also be used in the context of the invention.
In order to facilitate the processing of the VPI/VCI of a given cell, the VPI/VCI may first be associated with an index. The index is typically several bits shorter than the VPI/VCI. Once a VPI/VCI is assigned to the index, the relatively short index may be used instead of the VPI/VCI to access information pertaining to the VPI/VCI. For example, VPI/VCI "X" (28 bits) may be assigned to index "304" (12 bits), and routing instructions for VPI/VCI "X" could be stored at a memory location corresponding to index "304". When a cell arrives with a VPI/VCI = "X", then the cell processor can associate "X" with index "304" and obtain the routing instructions from the memory location that corresponds to index "304" It is easier and more efficient to access memory using the shorter index than the lengthier VPI/VCI.
The number of indexes can be much less than the number of potential VPI/VCI combinations. (4,096 possible VPIs and 65,536 possible VCIs in each VPI) The number of indexes could be set at the number of simultaneous VPI/VCIs the processor must handle. Once an index is freed up, it could be re-assigned to the another VPI/VCI. For example, a processor may have 4,096 indexes, and could use them to handle 4,096 simultaneous VPI/VCIs, even though all of the millions of possible VPI/VCIs may be used at one time or another. In this example, the designation of 4,096 indexes would require 12 bits per index. As stated above, the 12 bit index is easier to process than a 28 bit VPI/VCI.
In some embodiments, the mvention is a connection processing system that facilitates the association of VPI/VCIs with indexes. In other embodiments, the invention is a connection processing system that facilitates the association of other connections, such as DSO connections, with an index. For example, the index can be used to correlate virtual connections and virtual connections, DSOs and virtual connections, and DSOs with DSOs.
THE CONNECTION PROCESSING SYSTEM
Figure 1 depicts a version of the invention and shows microprocessor 110, index logic 120, memory 130, bus 140, and receive/transmit logic 150. Microprocessor 1 10 could be a conventional microprocessing chip configured in accord with the present invention. Index logic 120 could be Large Scale Integrated (LSI) circuitry configured in accord with the present invention. As will be discussed below, index logic 120 should be configured to first accept assignments of virtual connections to indexes, and then later associate the virtual connections of incoming cells with their assigned indexes. Memory 130 and bus 140 could be a conventional elements typically associated with microprocessing chips. Receive/transmit logic 150 is logic that receives communications from various connections. Some examples would be standard ATM Adaption Layer (AAL) Segmentation and Reassembly (SAR) processing logic and standard Time Division Multiplex (TDM) processing logic. Preferably, the connection processing system operates with 32 bit bus structures and 32 bit processors.
In operation, various indexes are set-up to point to particular locations in memory 130. When one of these indexes is assigned to a virtual connection, the index/virtual connection assignment is provided to index logic 120. This virtual connection or index will be referred to as the "assigned VPI/VCI" or the "assigned index". Information about the assigned VPI/VCI is stored in a location in memory 130 that can be accessed with the assigned index. Typically these assignments come from the microprocessor, but they could also come from other control entities.
When an ATM cell arrives on bus 140 through receive/transmit logic 150, it is stored in memory 130. Microprocessor 110 will provide the incoming cell's VPI/VCI to index logic 120. This VPI/VCI will be referred to as the "incoming VPI/VCI" Index logic 120 will then produce the index that is assigned to the incoming VPI/VCI. Microprocessor 1 10 will obtain the assigned index from index logic 120 and use it to access information in memory 130. For example, the memory location may contain information instructing microprocessor 1 10 to forward the cell to receive/transmit logic 150 for distribution over a particular DSO connection.
Those skilled in the art are aware that computer logic and circuitry is more detailed than that shown on the figures. For example, bus 140 may actually be implemented using multiple bus structures, such as I/O, control, data, and addressing to name some examples. One skilled in the art will appreciate these details, and for the sake of clarity, they have been omitted from the figures. Figure 2 depicts a version of index logic 120 from Figure 1, which is now depicted as index logic 220. Index logic 220 includes read/write address decoder 230, incoming virtual connection register 250, and assigned index register 252. Also shown are index latches 260, 262, and 264. As indicated, there are actually 4,096 index latches, but all are not shown for reasons of clarity. As will be appreciated, the number of index latches varies in accord with the number of required indexes. Bus 240 is also shown and would be connected to bus 140 from Figure 1. (As discussed above, bus 240 would typically be comprised of multiple bus structures as would be appreciated by one skilled in the art).
Those skilled in the art appreciate various techniques that processors use to read and write information using addresses. In this embodiment of the invention, the microprocessor is able to read from and write to index logic 220 as if it were memory. Read/write address decoder 230 is connected to bus 240 and is functional to receive the microprocessor's read/write instructions and execute the instruction. This is accomplished by associating the address in the instruction with the appropriate element of index logic 220. The address could use the same designation as the element or they could be related through a translation table.
For example, the instruction from microprocessor may be to write data to address "A435". Read/write address decoder would decode this instruction as follows. It would translate the address into its corresponding element. In this case address "A435" could translate to index latch "262". The data provided to index logic 220 along with the instruction could be VPI/VCI "Y". Read/write address decoder 230 would arm index latch 262 to accept the data. As a result the write data to address "A435" would result in VPI/VCI "Y" being provided to index latch "262". In effect, VPI/VCI "Y" has been assigned to index "262".
When the microprocessor handles incoming cells it will write data (the incoming VPI/VCI) to a particular address. Read/write address decoder 230 will use the address to identify the appropriate element of index logic 220. In the case of an incoming VPI/VCI, the element would be incoming virtual connection register 250.
The microprocessor will then read data (the assigned index) from a particular address. Read/write address decoder 230 will use the address to identify the appropriate element of index logic 220. In the case of an assigned index, the element would be assigned index register 252. The data in assigned index register will be provided to the microprocessor.
Read/write address decoder 230 also facilitates the use of various bus sizes. For example, if the microprocessor uses an 8 bit data bus, it will take four writes to provide a 28 bit VPI/VCI. If a 16 bit bus is used, it will take two writes. Read/write address decoder 230 will collect all the data and then arm the appropriate element for accepting the complete set of data. In a similar fashion, read/write address decoder 230 may facilitate multiple reads to provide the index to the microprocessor.
Read/write address decoder 230 also provides a synchronization and clocking function to index logic 220. As one skilled in the art will appreciate, synchronization and clocking is needed to address race and timing functions The various stages of index logic 222 will have a strobing mechanism denved from the system clock that synchronizes the transfer of information from one stage to another
Incoming virtual connection register 250 is connected to bus 240 Incoming virtual connection register 250 could be a standard register that is functional to accept the incoming VPI/VCI under the control of read/write address decoder 230 and broadcast it to all of the index latches
Index latches 260, 262, and 264 are each connected to bus 240 Each mdex latch is functional to accept and store an assigned VPI/VCI under the control of read/write address decoder 230 Each index latch is functional to accept an incoming VPI/VCI and compare it to its assigned VPI/VCI using compaπtor circuitry When a particular index latch finds a match, it will output its index (the assigned mdex) to assigned index register 252 The index latches are discussed in greater detail below
Assigned index register 252 is connected to bus 240 Assigned index register 252 could be a standard register that is functional to accept the assigned mdexes from the index latches It would provide the assigned index to the microprocessor under the control of read/write address decoder 230
In operation, an instruction to wnte an assigned VPI/VCI to an address arrives at read/wπte address decoder 230 Read/write address decoder 230 causes the assigned VPI/VCI to be provided to the mdex latch that corresponds to the address This procedure is repeated for each assignment Typically, several index latches will each store a particular VPI/VCI that is currently assigned to its respective index
When a cell arnves, an instruction to write the incoming VPI/VCI to an address arnves at read/wπte address decoder 230 Read/write address decoder 230 causes the incoming VPI/VCI to be provided to incoming virtual connection register 250 Incoming virtual connection register 250 provides the incoming VPI/VCI to all of the mdex latches
Each index latch compares the incoming VPI/VCI to its assigned VPI/VCI If an index latch finds a match, it provides its mdex to assigned index register 252 For example, if index latch 262 found a match, then it would provide "262" to assigned mdex register 252 The microprocessor will then attempt to read the assigned for the incoming VPI/VCI from an address In response to this instruction, read/wnte address decoder 230 will cause the index in assigned index register 252 to be provided to the microprocessor If the assigned mdex is all 0's, that indicates that no match was found and that the cell should be discarded
As a result, the microprocessor can assign VPI/VCIs to indexes as required by writing the VPI/VCI to a particular address Instructions can be loaded into memory locations corresponding to the indexes In nanoseconds, the microprocessor can wnte incoming VPI/VCIs to the index logic and then read the assigned index from the index logic The mdex can be used to access instructions in memory As an alternative, the mdex itself can signify an action or instruction without the need for a memory location For example, the index latches could be configured to output indexes that directly identify connections so no further look-up is needed In this way, the microprocessor could assign and associate particular connections with other connections without also usmg the mdex to access memory In one embodiment, ATM VPI/VCIs could be assigned to indexes that were actually DSO Circuit Identification Codes (CICs) The microprocessor could assign VPI/VCIs to CICs and then obtain the correct CIC for each arriving cell by writing the VPI/VCI of the cell to the index logic and then readmg the associated CIC for the VPI/VCI from the index logic
As cells arπve, the microprocessor can simply wnte the mcommg VPI/VCIs to an address, and then read the corresponding mdex from another address The index logic handles these instructions for the microprocessor The microprocessor can then use this index to access memory or take other actions as the case may be This provides a distinct advantage over prior systems that had to access memory using the VPI/VCI instead of an index This is a cumbersome process unless the bits m the VPI/VCI are limited Such a limitation is often unacceptable
Figure 3 shows a version of the incoming virtual connection register (250 from Figure 2) Incoming virtual connection register 350 is shown Incommg virtual connection register 350 includes flip-flops 352, 354, 356, etc that store the 28 bits of the incoming VPI/VCI Preferably, the flip-flops are clocked "D" flip-flops All of the flip-flops are not shown for reasons of clarity Incoming virtual connection register 350 is connected to each index latch at the bit level Bit # 1 of the incoming VPI/VCI is transmitted to the incoming VPI/VCI bit U 1 position for each index latch Bit #2 of the mcommg VPI/VCI is transmitted to the incoming VPI/VCI bit #2 position of each index latch This continues on through bit #28 In this way, each bit of the incoming VPI/VCI is transmitted to each index latch
Figures 4-6 depict an individual index latch and would be repeated for each index latch Figure 4 depicts a portion of one of the mdex latches Shown is exclusive "or" ("XNOR") gate array 462 The connections to receive the mcommg VPI/VCI from the virtual connection register are shown Also shown are flip-flops 470, 472, and 474 (preferably clocked "D") Each flip flop receives and stores the corresponding bit of the assigned VPI/VCI "XNOR" gates 464, 466, and 468 are also shown connected to the above flips-flops and to the connections to 'the virtual connection register All 28 flip-flops and "XNOR" gates are not shown for reasons of clanty These "XNOR" gates accept the mcommg VPI/VCI and compare it on a bit by bit basis with the assigned VPI/VCI The results of the "XNOR" gates are provided to the "AND" gate array "XNOR" gates produce a 1 with an input of 0 and 0, or with an input of 1 and 1 "XNOR" gates produce a 0 with an input of 0 and 1 , or an input of 1 and 0 If all 28 bits of the two VPI/VCIs match, the output from each "XNOR" gate will be a 1
Figure 5 depicts the next portion of the mdex latch Shown is "AND" gate array 562 which is connected to the "XNOR" gate array of Figure 4 It can be seen from the configuration of the "AND" gates that a 1 is produced only if all inputs from the "XNOR" gate array (bits 1-28) are 1 's If one of the input bits is a 0, then the output of "AND" gate array 562 is a 0 Together, Figures 4 and 5 form a comparitor circuit If the two VPI/VCIs match, the output of "AND" gate array 562 is a 1, but if they do not, the output bit is a 0 The output bit is provided to the index gate
Figure 6 depicts the next portion of the index latch Figure 6 depicts index gate 662 Index gate 662 is connected to the output of "AND" gate array 562 of Figure 5 Index gate 662 is compπsed of "OR" gate 680, "AND" gate 682, inverter 684, and index latch register 686 Index gate 662 accepts a bit from the "AND" gate array of the previous mdex latch indicating if the previous mdex latch found a match For example index latch "304" would receive this input from index latch "303" If the previous index latch found a match, then the mput would be 1 The 1 becomes a 0 when passmg through inverter 684, and it locks out "AND" gate 682 This is so two mdex latches will not find a match on the same incoming VPI/VCI If the previous index latch did not find a match then the 0 mput is inverted to a 1 and enables "AND" gate 682 In this case, a 1 from the "AND" gate array of the present index latch causes the gate 682 to send a 1 to index latch register 686 This 1 enables index latch register 686 to output the index to the assigned index register Each mdex latch would be configured to output its corresponding index "OR" gate 680 works to lock out the remaining gates if a match is found m either a previous mdex latch or in the present index latch
Figure 7 shows a version of the assigned index register (252 from Figure 2) Assigned index register 752 is shown Assigned index register 752 mcludes flip-flops 754, 756, 758, etc that store the 12 bits of the assigned mdex All of the flip-flops are not shown for reasons of clanty Assigned mdex register 752 is connected to each index latch at the bit level Bit #1 of the assigned mdex is transmitted from the index latches to the bit #1 position of assigned index register 752 Bit #2 of the assigned index is transmitted from the index latches to the bit #2 position of assigned mdex register 752 This contmues on through bit # 12 In this way, each bit of the assigned mdex is transmitted from the index latches to assigned index register 752 so it can be provided to the microprocessor
In operation, Figures 3-7 depict a system in which VPI/VCIs can be assigned to indexes By providmg the assigned VPI/VCIs to the mdex logic, the mdex logic is able to accept incoming VPI/VCIs and output the index that is assigned to the incoming VPI/VCI The microprocessor is able to use read/wnte instructions with the index logic as if it were memory The microprocessor can then use the mdex to access information about the virtual connection The number of indexes is set by the number of index registers The number of bits of the connection identifiers and mdexes can also be increased or decreased as needed As one skilled in art can now appreciate, this would be accomplished by altering the size of the registers and the number of index latches
Advantageously, the invention reduces the processing time over conventional systems that require consecutive read/wπte operations until a match is found in a memory table In the context of the invention, a 100 MHz processor using a 32 bit bus could write the incoming VPI/VCI and read the assigned index in the same amount of time that it would take to write and read data to a 60 nanosecond RAM memory - two direct memory cycle tunes If an 8 bit bus is used, it would take 4 write and 2 read direct memory cycle times
One skilled in the art will also recognize that the system described above could be used m several different embodiments For example, the invention could be used to associate non-ATM connections with ATM connections For example, a DSO CIC would be assigned to an index and the VPI/VCI would be stored in a memory location accessed by the index In other embodiments, a connection processmg system could be employed for the conversion of ATM traffic into non- ATM traffic, for example, from VPI/VCIs to DSO CICs Both embodiments could be used at opposite ends of an ATM system to facilitate ingress and egress from the ATM system In yet other embodiments, the invention could be employed for the conversion of ATM VPI/VCIs into other ATM VPI/VCIs
THE PREFERRED EMBODIMENT
The above-descπbed connection processing system is preferably used in the following embodiment For purposes of claπry, the term "connection" will be used to refer to the transmission media used to carry user traffic The term "link" will be used to refer to the transmission media used to carry signaling or control messages On the Figures, connections are shown by a single line and signaling links and data links are shown by double lines
Figure 8 depicts telecommunications system 800, user 810, and user 820 Telecommunications system 800 mcludes ATM mterworking multiplexer (mux) 830, mux 840, ATM cross-connect system 850, and signaling processmg system 860 User 810 is connected to mux 830 by connection 880 Mux 830 and mux 840 are connected through cross-connect system 850 by connection 881 Mux 840 is connected to user 820 by connection 882 Signaling processmg system 860 is linked to user 810 by link 890, to mux 830 by link 891, to mux 840 by link 892, and to user 820 by link 893
Those skilled in the art are aware that large networks have many more components than are shown For example, there would typically be a multitude of virtual connections through ATM cross-connect system 850 The number of these components has been restπcted for clarity The invention is fully applicable to a large network
User 810 and user 820 could be any entity that supplies telecommunications traffic to network 800 Some examples would be a local exchange earner (LEC) switch or customer premises equipment (CPE) Connections 880 and 882 represent any connection that might be used by user 820 to access system 800 Typically, the user traffic would be provided to system 800 in DS3, format with embedded DSO circuits, but could also include formats such as DS 1 , a fractional DS1, 56 kbit data, DS2, clear DS3. El, E3, or even an SDH or SONET signal with a DS3 or VT based structure As such, these connections are penodically referred to as access connections Links 890 and 893 are any links capable of transferring signaling messages with examples being Signaling System #7 (SS7) links or C7 links. ATM cross-connect system 850 is any system that provides a plurality of virtual connections. Such a system could be comprised of individual ATM cross-connect devices interconnected by ATM connections using DS3 or SONET for transport. An example of an ATM cross-connect is the NEC Model 10. Connection 881 could be any virtual connection. In ATM, virtual connections can be designated by a Virtual Path Identification and/or and Virtual Channel Identification in the cell header. Ranges of VPI/VCI may be used to designate the virtual connection. Typically, the virtual connection would use DS1, DS3, or SONET for transport. ATM cross-connect system 850 would be pre-provisioned to provide a plurality of virtual connections through the cross-connect system, and virtual connection 881 represents one of these connections. As virtual connections are logical paths, many physical paths can be used based on the pre-provisioning of ATM cross-connect system 850. Links 891 and 892 could be any links capable of transporting control messages. Examples of such links could be SS7 links, UDP/IP over an ethernet connection, or a bus arrangement using a conventional bus protocol. The components described in this paragraph are known in the art.
Signaling processing system 860 is any processing platform that can receive and process signaling to select virtual connections, and then generate and transmit messages to identify the selections. Various forms of signaling are contemplated, including SS7, C7, and user to network interface (UNI) signaling. A preferred embodiment of the signaling processor is discussed in detail toward the end of the disclosure.
Mux 830 could be any muxing system operable to place user information arriving over connection 880 on the virtual connection selected by signaling processing system 860. Typically, this involves receiving control messages from signaling processing system 860 that identify assignments of virtual connections to access connections on a call by call basis. The mux would convert user traffic from access connection 880 into ATM cells that identify the selected virtual connection. Mux 840 is similar to mux 830. Mux 830 would incorporate the above-described connection processing system to handle these connection assignments. For example, the assigned virtual connection could be stored in a memory location accessed by an index assigned to the access connection. A preferred embodiment of these muxes are also discussed in detail below.
The system would operate as follows for a call from user 810 to user 820. User 810 would seize a connection to system 800. The connection is represented by connection 880 to mux 830. Although, only one connection is shown for purposes of clarity, numerous connections would typically be available for seizure. User 810 would also send a signaling message over link 890 to system 800 initiating the call. This signaling would identify seized connection 880. Signaling processing system 860 would process the message. Such processing could include validation, screening, translating, route selection, echo control, network management, signaling, and billing. In particular, a virtual connection through ATM cross-connect system 850 from mux 830 to mux 840 would be selected, and a connection from mux 840 to user 820 would also be selected. Although many possible connections would be available, only the selected connections are shown - connection 881 and connection 882 Generally, the selection is based on the dialed number, but call processing can entail many other factors with a few examples being the caller's number, destmation conditions, network loads and user routing instructions Also, the dialed number may be translated to make the selection Signaling processing system 860 would send a control message over link 891 to mux 830 that identifies seized connection 880 and selected connection 881 Signaling processmg system 860 would send a control message over link 892 to mux 840 that identifies selected connections 881 and 882
If required, user 820 would receive signaling to facilitate completion of the call The signaling from signaling processing system 860 would indicate that system 800 was connectmg to user 820 over connection 882 Typically, user 820 would accept and acknowledge the connection in a signaling message back to system 800
In the above procedure, mux 830 would receive control messages from signaling processmg system 860 identifying connection 880 as the access connection and connection 881 as the selected virtual connection through ATM cross-connect system 850 Mux 830 would convert the user information from connection 880 into ATM cells Mux 830 would designate connection 881 in the cell headers Connection 881 would have been previously provisioned through ATM cross-connect system 850 from mux 830 to mux 840
Mux 840 would receive control messages from signaling processing system 860 identifying connection 881 as the selected virtual connection and connection 882 as the selected access connection to user 820 Mux 840 would convert cells arπving on connection 881 to user information suitable for connection 882 to user 820 Although the above example employs two muxes, a single mux could be employed for calls that enter and exit system 800 through the same mux In this case, the ATM system would simply provide a virtual connection back to the same mux. In alternative embodiments, the mux could even cross-connect the two access connections in and out of the network This cross-connection of two access connections in a single mux could use an internal cell bus or be accomplished by cross-connection without using ATM Mux 830 and mux 840 would use the connection processmg system descπbe above to handle the connection assignments m the control messages
From the above discussion, it can be seen that multiple virtual connections can be prc- provisioned through an ATM cross-connect system to interconnect ATM interworkmg multiplexers When a user places a call, one of the virtual connections is selected for the call by the signal processing system and identified to the appropriate muxes The muxes convert the user information into cells that identify the selected connection As such, user information can be switched through an ATM fabπc on a call by call basis The system does not require the call processmg or signaling capabilities of an ATM switch (although an ATM switch could be used to provide the virtual connections without using its call processing and signaling functions) The system can also implement enhanced services such as N00 and virtual private network (VPN) Figure 9 DSO interface 910, ATM adaption layer (AAL) 920, ATM interface 930, DSO - virtual connection assignment 940, call/connection manager (CCM) 950 and signal transfer point (STP) 960 Also shown are connections 980-983 and links 990-992
Connection 980 could by any connection or group of connections that contam information that can be converted to DSO format Examples of these connections are OC-3, VT 1 5, DS3, and DS 1 DSO interface 910 is operable to convert user information in these formats into the DSO format AAL 920 compnses both a convergence sublayer and a segmentation and reassembly (SAR) layer AAL 920 is operational to accept the user information in DSO format from DSO interface 910 and convert the information into ATM cells AALs are known in the art and information about AALs is provided by International Telecommunications Union (ITU) document 1 363 1 An AAL for voice is also described in patent application serial number 08/395,745, filed on February 28, 1995, entitled "Cell Processmg for Voice Transmission", and hereby incorporated by reference into this application ATM interface 930 is operational to accept ATM cells and transmit them over connection 983 Connection 983 is a standard DS 1, DS3 or SONET connection transporting ATM cells For example, ATM interface 930 and connection 983 might provide transmission for ATM cells over an OC-3c connection Connection 981 is operational for the DSO format and connection 982 is operational to transfer ATM cells It is important to note that the invention is not restricted to AALs for voice, but would be applicable to all AALs
It can be seen that a communications path through connections 980-983 could be established to carry user information Although the communications path has been described from connection 980 to connection 983, other components could be used that are also operational to perform reciprocal processmg in the reverse direction If the communications path is bi-directional, user information in ATM cells amvmg on connection 983 would be processed for output on connection 980 in the appropπate format Those skilled in the art will appreciate that separate connections could also be set-up in each direction, or that only a connection in one direction may be required These components and their operation are known in the art
Signaling links 990 and 991 are SS7 links Link 992 is a data link with an example being an ethemet connection transporting UDP/IP, although a bus arrangement could be used if the CCM and the mux are physically integrated STP 960 is device that routes signaling messages STPs are well known in the art CCM 950 would be identified by its own signaling point code Point codes designate vanous pomts in the network and they are used to route signaling messages to these pomts STP 960 would route signaling messages with the point code of CCM 950 to CCM 950 The signaling protocol could be based on narrowband Integrated Services Digital Network (ISDN) User Part (N-ISUP) employing Message Transfer Part (MTP) levels 1-3 In some embodiments, the signaling uses N-ISUP messages transported over broadband connections This would entail a protocol stack of MTP3 ~ Signaling ATM Adaption Layer (SAAL) — ATM In other words, N-ISUP messages from MTP3 would be encapsulated into ATM cells for transport
In some embodiments, STP 960 may also convert point codes between the point code for CCM 950 and other point codes This is so messages sent to other network elements can be diverted to the CCM, and so that messages sent from the CCM can be masked with a point code that is recognized by other network elements Although point code conversion is not essential, it facilitates the transition of a network to the new systems The conversion could be implemented through a conversion table located between the discrimination function and the routmg function of die MTP level 3 function of STP 960 Mapping would be implemented on a Imkset by Imkset basis, so affected linksets would flag all incoming messages Flagged messages would access the conversion table The conversion table would typically convert the destination point code of the message to that of CCM 950, so that the route function of MTP 3 would forward the message to CCM 950 Point code conversion could be based on many factors with a few examples being the destination point code, the oπgination point code, the signaling link, the circuit identification code, the message type, and vanous combinations of these and other factors For example, any SS7 ISUP messages with particular OPC/DPC combinations could have the DPC converted to the point code of CCM 950 These signaling messages would then be routed to CCM 950 by STP 960 In some scenarios, the origination point code of a message leaving CCM 950 may need to be converted to mask CCM 950 as another point code (I e a retired switch) The point code mapping would also have to be implemented within the Signaling Network Management function In some situations, transfer restncted or transfer prohibited messages will need point code conversion to mask the CCM as the sender One version of a suitable STP is disclosed in United States patent application serial number 08/525,868 entitled "Telecommunications Apparatus, System, and Method with Enhanced Signal Transfer Point", which is hereby incorporated by reference into this application
CCM 950 is a signaling processor that operates as discussed above A preferred embodiment of CCM 950 is provided later In this embodiment CCM 950 would be operable to receive and process SS7 signaling to select connections, and to generate and transmit control messages identifying the selections Preferably, a single CCM would be associated with a single mux or a group of muxes
Assignment 940 is a control interface that accepts messages from CCM 950 In particular, assignment 940 receives and identifies DSO/virtual connection assignments in the messages from link 992 These assignments are provided to AAL 920 for implementation As such, AAL 920 obtains the virtual path identifier (VPI) and virtual channel identifier (VCI) for each call from assignment 940 AAL 920 also obtains the identity of the DSO for each call (or the DSOs for an Nx64 call) AAL 920 then converts user information between the identified DSO and the identified ATM virtual connection Assignment 940 would use the connection processing system to facilitate this processing Acknowledgments that the assignments have been implemented may be sent back to CCM 950 if desired It should be noted that these assignments are dynamically received and implemented on a call-by-call basis This is in contrast to conventional interworking muxes that operate using static assignments The static assignments can be altered through a provisioning process, but provisioning is not dynamically done on a call- by-call basis
In operation, calls are processed as follows Signaling messages for calls arrive on link 990 and are routed by STP 960 to CCM 950 Access connections are typically seized contemporaneously with the signaling All of these connections are represented by connection 980 DSO mterface 910 would convert the traffic on connection 980 into the DSO format and provide the DSOs to AAL 920 over connection 981
The signaling received by CCM 950 would identify the access connections for the calls (I e the particular DSOs on connection 980), and contain call information, such as dialed numbers CCM 950 would process the signaling and select connections for the calls Since multiple virtual connections are pre-provisioned from ATM interface 930 to the other destinations in the network, CCM 950 can select a virtual connection to the destination The selection process can be accomplished through table look-ups For example, a table could be used to translate a portion of the dialed number into a VPI The VCI would be selected based on the available VCIs in the selected VPI The VPI/VCI combination would correspond to a unique virtual connection pre- provisioned from ATM interface 930 to the appropriate network destination The selections represent the DSO — virtual connection assignments that are provided to assignment 940 over link 992
Assignment 940 accepts the DSO ~ virtual connection assignments and provides them to AAL 920 When AAL 920 receives a particular assignment, it places user information bytes from the designated DSO mto cells and appends a header to the cells that identifies the designated VPI/VCI The cells are provided to ATM interface 930 over connection 982 ATM interface 930 accepts the cells and places them within the transport format for connection 983 The cells are then transported over the selected virtual connection to the appropriate destmation
Calls also exit the network through connection 980 In this case, other CCMs at the ongmation pomts select the virtual connections to ATM mterface 930 The originating CCMs also send signaling messages to CCM 950 The signaling messages identify the destinations for the calls and the selected virtual connections CCM 950 will have a list of available access connections to the identified destinations CCM 950 will select the access connections to the destinations from the list For example, the connection selected by CCM 950 could be a DSO embedded within a DS3 connected to a LEC The virtual connections on connection 983 and selected access connections on connection 980 are provided to assignment 940 over link 992 Assignment 940 provides these assignments to AAL 920
ATM mterface 930 will demux the cells arriving from connection 983 and provide them to AAL 920 AAL 920 converts the user information in the cells into the DSO format AAL 920 make the conversion so that cells from a particular virtual connection are provided to the assigned DSO on connection 981 DSO interface will convert the DSOs from connection 981 mto the appropriate format, such as DS3, for connection 980 Those skilled m the art are aware of the techmques for muxing and transporting DSO signals The above-described connection processing system could also be used for this reciprocal processing
From the above discussion, it can be seen that user information for calls can flow from connection 980 to connection 983, and in the reverse direction from connection 983 to connection 980 DSO interface 910 and ATM interface 930 provide user information in their respective formats to AAL 920 AAL 920 converts the user information between DSO and ATM formats based on the assignments from assignment 940 CCM 950 can select the DSO — virtual connection assignments that dnve the process
THE ATM INTERWORKTNG MULTIPLEXER
Figure 10 shows one embodiment of the mux, but other muxes that support the requirements of the invention are also applicable Shown are control interface 1000, OC-3 interface 1005, DS3 interface 1010, DS 1 interface 1015, DSO interface 1020, digital signal processing (DSP) 1025, AAL 1030, and OC-12 interface 1035
OC-3 interface 1005 accepts the OC-3 format and makes the conversion to DS3 DS3 interface 1010 accepts the DS3 format and makes the conversion to DS 1 DS3 interface 1010 can accept DS3s from OC-3 interface 1005 or from an external connection DS1 interface 1015 accepts the DS 1 format and makes the conversion to DSO DS 1 interface 1015 can accept DS 1 s from DS3 mterface 1010 or from an external connection DSO interface 1020 accepts the DSO format and provides an interface to digital signal processing (DSP) 1025
DSO mterface 1020 is coupled to DSP 1025 DSP 1025 is capable of manipulating the user information to improve transmission quality DSP processing primarily entails echo cancellation, but could include otiier features as well As is known, echo cancellation can be required for voice calls DSP 1025 passes the DSOs through echo cancellers These echo cancellers must be disabled for calls that do not require echo control Data calls do not require echo cancellation, and the CCM has the ability to recognize data calls that require an echo canceller to be disabled The CCM will send a control message to DSP 1025 indicating the particular echo canceller that is to be disabled The CCM selects the echo canceller based on the Circuit Identification Code (CIC) in the signaling it receives from the user After the data call, the CCM sends a message that causes the particular echo canceller to be enabled again for subsequent voice calls The above technique of applying echo control is preferred, but other means of implementing echo control instructions from the CCM are also applicable
In addition to echo control, the CCM and the mux can work to provide other digital signal processmg features on a call by call basis Compression algorithms can be applied, either umversally, or on a per call basis The decibel level could be adjusted for calls form a particular oπgin or to a particular destination, I e where a hearing impaired person may reside Encryption could be applied on a call-by-call basis based on various criteria like the origination number or the destination number Stored messages could be placed on the line, DTMF tones could be detected and transmitted on the line DTMF information might be exchanged with the CCM, or another service platform Various DSP features could be associated with various call parameters and implemented by the CCM through DSP 1025
DSP 1025 is connected to AAL 1030 AAL 1030 operates as descnbed above for an AAL DSO ~ virtual connection assignments from control mterface 1000 are implemented by AAL 1030 when converting between the DSO and ATM formats Calls with a bit rate greater than 64 kbit/sec are known as Nx64 calls If desired, AAL 1030 can be capable of accepting control messages through control interface 1000 from the CCM for Nx64 calls The CCM would instruct AAL 1030 to group the DSOs for the call In addition, the above-descπbed connection processmg system would be used to handle these connection assignments
THE ATM CROSS-CONNECT SYSTEM
Figure 1 1 depicts virtual connections provided by the ATM cross-connect system, although numerous other techniques for providing virtual connections will be appreciated by one skilled in the art Shown are virtual connections 1110, 1112, 1114, 1 1 16, 1 1 18, 1120, 1 122, 1 124, and 1126 These virtual connections are shown interconnecting muxes 1, 2, and 3 through cross- connects X and Y Virtual connections are provisioned in between each mux Each mux would have a virtual path provisioned through the cross-connect system to every mux Additional virtual paths could be provisioned between two muxes usmg diverse physical routes for the sake of redundancy These virtual paths are designated in the ATM cells by the VPI The VPIs are designated locally by the cross-connects to be the destmation mux For example, connections 1110, 1 1 16, and 1 124 are all designated as VPI because they terminate at mux 1 Connections that termmate at mux 2 can be defined locally as VP2 On a call enteπng at mux 1 , the NPA-NXX of the dialed number might be analyzed to select mux 2 as the terminating mux As such the VPI used on the call would be VP2 From mux 1 , VP2 connects to mux 2 The VCIs in VP2 would also be tracked and an available one would be selected As an alternative to VPI provisioning between muxes, ranges of VCIs may be provisioned between muxes to add granulaπty below the VPI level
Additional granulaπty is required to specify the destination beyond the mux For example, a mux might be connected to several different destmation over several different DS3 trunks This is illustrated by connections 1 130, 1 132, and 1 134 between mux 2 and destinations A, B, and C respectively On a call through mux 2, it could be desirable to specify the destination for the call to mux 2 m addition to the VPI/VCI the call will use This could be done by designating both the VPI/VCI and the destination code in the message from the originating CCM to the terminating CCM The terminating CCM would then select the DSO to the destination This allows the local CCM to select DSOs to a pre-selected destination
Typically, calls will require a bi-directional voice connection Conventional voice circuits, such as the DSO, are bi-directional ATM connections are not typically bi-directional For this reason, a virtual connection must also be selected to transport user information m the opposite direction - terminating to receiving. This could be done by simply loading corresponding memory locations with the corresponding VPI/VCI to make the connection bi-directional. If only a uni¬ directional communications path is required, this may be omitted.
OPERATION WITHIN A NETWORK
Figure 12 depicts telecommunications system 1200. Shown are user 1210, user 1212, user 1214, user 1216, STP 1218, STP 1220, STP 1222, STP 1224, mux 1226, mux 1228, mux 1230, mux 1232, caiyconnection manager (CCM) 1234, CCM 1236, CCM 1238, CCM 1240, ATM cross-connect 1242, ATM cross-connect 1244, ATM cross-connect 1246, and Service Control Point (SCP) 1250. The CCMs are designated as "signaling processor" on Figure 12. For clarity, the connections and signaling links are not numbered. Except for the SCP, all of these components are described above, and the CCMs are also discussed below. SCPs are well known in the art. An SCP is a processor and database that answers signaling queries to assist in call processing. An example is an "800" routing query between a switch and an SCP.
In operation, user 1210 may forward an 800 call to system 1200. User 1210 could be connected to mux 1226 with a DS3 connection. The 800 call would occupy a DSO embedded in me DS3 connected to mux 1226. User 1210 would send an SS7 Initial Address Message (IAM) through STP 1218 to system 1200. STP 1220 would be configured to route the IAM to CCM 1234. An IAM contains information such as the dialed number, the caller's number, and the circuit identification code (CIC). The CIC identifies the DSO used by user 1210 for the call.
CCM 1234 would process the IAM and identify that the call was an 800 call. After initial call processing, CCM 1234 would query SCP 1250 for routing instructions. SCP 1250 would translate the dialed number based on the 800 subscriber's routing plan. For example, 800 calls from user 1210 may be routed to user 1212 during business hours, to user 1214 at night, and to user 1216 on weekends. If the call is placed from user 1212 on a weekend, the call would be routed to user 1216. As such, SCP 1250 would return the POTS number for user 1216 to CCM 1234.
CCM 1234 would process the POTS number to select: 1) the VPI/VCI for a virtual connection from mux 1226 to mux 1230, 2) the destination point code (DPC) for CCM 1238, and 3) the identification of a trunk group from mux 1230 to user 1216. CCM 1234 would generate an IAM message to send to CCM 1238 and insert the selected information. Since the two muxes define the VPI between them, the originating point code and the destination point code of the IAM can be used by CCM 1238 to identify the selected VPI for the call. The OPC and DPC would be placed in the routing label of the IAM.
The VCI and trunk group ID could be placed in the CIC field of the IAM including the two spare bits. Since 16 bits are available, 256 trunk groups and 256 VCIs are available. These bits should be configured to allocate 256 VCIs to each of the 256 trunk groups that are available for each VPI. The terminating CCM would have to use both the VPI code and the CIC to identify the actual VCI in the cell headers. In other words, between an originating mux and a terminating mux there is one VPI For that VPI, there are 256 possible trunk groups to connect to on the other side of the mux, and 256 VCIs are allocated for each VPI/trunk group combination CCM 1234 would send the IAM message to CCM 1238 through STP 1220 and STP 1222 If the IAM is N-ISUP, it could be transported conventionally or over ATM connections by using an SAAL and an ATM layer to encapsulate the message In the alternative to the above scenario, the VPI, VCI, and trunk group could be identified in a private parameter of the IAM, or they could be delivered m a separate message between the CCMs
CCM 1234 has effectively routed the call for CCM 1238 If N-ISUP is used for the IAM format, the routing label and the CIC are at a fixed location Because the VPI/VCI and the trunk group to user 1216 are coded mto the IAM at a fixed location CCM 1238 does not need to parse the entire IAM or perform detailed call processing CCM 1238 only needs to select an available DSO m the identified trunk group and to select the DPC for user 1216 The service indicator, also at a fixed location of the IAM, could be used to indicate to a terminating CCM that the originating CCM has pre-routed the call, and that call processing need only entail selection of a DSO and DPC for the identified trunk group DSO and DPC selection could be accomplished by a database look¬ up Echo control can be handled in a similar manner CCM 1234 handles echo control at the originating side of the call For echo control at the terminating side, CCM 1234 could use the service indicator to indicate that echo control did not need to be handled by CCM 1238 This would be the case for a conventional voice call where an echo canceller is already active at the terminating side Alternatively, CCM 1238 could assess echo control using fixed parts of the IAM and still avoid parsing the entire message In some embodiments, it may be desirable to have CCM 1238 process the IAM in a similar fashion as CCM 1234
Typically, mux 1230 would be connected to user 1216 with a DS3 trunk group CCM 1238 would select a DSO embedded m the DS3 and would send an IAM to user 1216 through STP 1222 and STP 1224 The CIC of this IAM would indicate that a call was being routed to user 1216 over the selected DSO This CIC would be in conventional 14 bit format with two spare bits User 1216 would process the IAM and complete the call When the call is answered, user 1216 would transmit an answer message (ANM) through STP 1224 back to system 1200
CCM 1234 would also send a UDP/IP message to mux 1226 instructing it to assemble the user information m the DSO from user 1210 into ATM cells with a cell header identifying the selected VPI/VCI CCM 1238 would send a UDP/IP message to mux 1230 instructing it to dis¬ assemble ATM cells from the selected VPI/VCI and output the user information to the selected DSO to user 1216 ATM cross-connect 1242 would route ATM cells from mux 1226 to ATM cross-connect 1244 based on the cell header Likewise, ATM cross-connect 1244 would route these cells to mux 1230 based on the cell header As such, user information for the call would flow from user 1210 to user 1216 over the DSO from user 1210, the virtual connection selected by CCM 1234, and the DSO to user 1216 selected by CCM 1238 The muxes would implement the selections of the CCMs The call would require that a voice channel be available in both directions As such, the DSOs and virtual connection would be bi-directional In the ATM system, this could be accomplished by assigning a reciprocal VPI/VCI in the reverse direction for each VPI/VCI in the forward direction Cut-through on the receive channel (from the user 1216 to the user 1210) would occur after the address complete message (ACM) had been received by system 1200 Cut-through on the transmit channel (from the user 1210 to the user 1216) would occur after the answer message (ANM) had been received by system 1200 This could be accomplished by not allowing mux 1230 to release any cells for the call until the ANM has been received by system 1200
If user 1210 were to place the call at night, CCM 1234 and SCP 1250 would determine that user 1214 was the destination Accordingly, a pre-provisioned virtual connection from mux 1226 through ATM cross-connect 1242 and ATM cross-connect 1246 to mux 1228 would be selected by CCM 1234 for the call CCM 1236 would select the DSO to user 1214
If user 1210 were to place the call during the day, CCM 1234 would determine that user 1212 was the destination Accordingly a pre-provisioned virtual connection from mux 1226 through ATM cross-connect 1242 and back to mux 1226 would be selected for the call CCM 1234 would also select the DSO to user 1212 In some embodiments, the mux could be designed to cross-connect DSO to DSO as well as DSO to VPI/VCI In this case, mux 1226 would make a DSO to DSO connection in response to the message from CCM 1234 and the ATM system would not be used
THE CALL/CONNECTION MANAGER (CCM)
Figures 13-12 refer to a prefeπed embodiment of the signaling processor, also known as the CCM, but any processor which supports the stated requirements would suffice Figure 13 depicts one such signaling processor Signaling processor 1300 would typically be separate from the mux, but those skilled in the art appreciate that they could be housed together and coupled in a bus arrangement instead of being coupled by a data or signaling link Signaling processor 1300 may support a single mux or support multiple muxes
Signaling processor 1300 includes Message Transfer Part (MTP) 1310 MTP 1310 can be comprised of signaling point software that is known m the art MTP 1310 includes various levels known as MTP 1, MTP 2, and MTP 3 MTP 1 defines the physical and electrical requirements for a signaling link MTP 2 sits on top of MTP 1 and maintains reliable transport over a signaling link by monitormg status and performing error checks Together, MTP 1-2 provide reliable transport over an individual link A device would need MTP 1 -2 functionality for each link it uses MTP 3 sits on top of MTP 2 and provides a routmg and management function for the signaling system at large MTP 3 directs messages to the proper signaling link (actually to the MTP 2 for that link) MTP 3 directs messages to applications using MTP 1310 for access to the signaling system MTP 3 also has a management function which monitors the status of the signaling system and can take appropriate measures to restore service through the system MTP levels 1-3 correspond to layers 1-3 of the open systems interconnection basic reference model (OSIBRF) MTP 1310 could also include Signaling Connection Control Part (SCCP) functions, as well as, TCAP, and ISUP functional interfaces In addition, MTP 1310 may be equipped with ISUP timers that generate release messages or re-transmit messages where appropπate If B-ISUP signaling is bemg used, MTP 1310 could also be equipped with B-ISUP capability All of these elements are known in the art
Also shown for signaling processor 1300 are platform handler 1320, bearer control 1330, message handler 1340, and record handler 1350 MTP 1310 could be connected to platform handler 1320 by an ethemet interface supporting TCP/IP which transfers signaling messages from MTP 1310 to platform handler 1320 Those skilled in the art will recognize other interfaces and protocols which could support these functions
Platform handler 1320 is a system which accepts ISUP messages from MTP 1310 and routes them to message handler 1340 Message handler 1340 is a system which exchanges signaling with platform handler 1320 and controls the connection and switching requirements for the calls Bearer control 1330 handles bearer capabilities for the call Record Handler 1350 generates call records for back-office systems
In operation, ISUP messages are routed by MTP 1310 to platform handler 1320 Platform handler 1320 would route the ISUP messages to message handler 1340 Message handler 1340 would process the ISUP information This might include validation, screening, and retrieving additional data for call processing Bearer control 1330 would implement the bearer capabilities required, such as echo cancellation, through control messages to the appropπate network elements Message handler 1340 would complete call processmg Message handler 1340 would generate the appropriate messages to implement the call and pass the messages to platform handler 1320 for subsequent transmission to the designated network elements Message handler 1340 would also receive ISUP messages from MTP 1310 at the completion of the call Message handler 1340 would process these messages and generate subsequent messages to tear down the call Record handler 1350 would obtain call information from message handler 1340 and use this information to generate call records The call records could be used for billing purposes
Functional entities are well known in the art Message handler 1340 includes at least the call control function (CCF) and the service switching function (SSF) The CCF establishes and releases call connections, and the SSF recognizes triggers during call processing by the CCF and provides an mterface between the CCF and the service control function (SCF) The SCF identifies services and obtains data for the service, and is preferably housed in a remote database, such as an SCP (As such, the SCF is not shown on Figure 13 ) Message handler 1340 is able to control connections, recognize triggers, and access the SCF m a remote database
Signaling processor 1300 is compnsed of hardware and software One example of a such hardware is the FT-Sparc provided by Integrated Micro Products PLC The FT-sparc could use the Solans operatmg system also provided by Integrated Micro Products PLC MTP 1310 could be constructed using commercially available SS7 software interface tools An example of such tools would be SS7 interface software provided by either Trillium, Ine or by Dale, Gesek, McWilhams, and Sheridan, Ine Any data storage requirements could be met with conventional database software systems
Software for platform handler 1320, bearer control 1330, message handler 1340, and record handler 1350 could be produced in the following manner The Intelligent Network Conceptual Model (INCM) of the ITU-T Q 1200 series could be mapped to Specification Design Language (SDL) of ITU-T Z 200 and Message Sequence Charts (MSC) of ITU-T Z 120 Vaπous detection points and points-in-call in the INCM can be skipped to optimize call processing The SDL could then be compiled mto C or C++ and loaded onto the FT-sparc The software is pnmanly compπsed of several static processes, instantiated processes (from static processes), and communication channels between the processes Preferably, the software processes would be partitioned mto several operating system tasks Further requirements for the software design will become apparent in the following discussion
THE PLATFORM HANDLER
Platform handler 1320 is preferred, but is not required as its functions could be handled by MTP 1310 and/or message handler 1340 Platform handler 1320 has messaging interfaces that exchange, buffer, dis-assemble, and re-assemble messages for MTP 1310, bearer control 1330, message handler 1340, and record handler 1350 Platform handler 1320 could exchange these messages over an ethemet--TCP/IP interface, but any technique for transfer of messages is contemplated Platform handler 1320 could also check the messages for basic flaws Should more than one message handler be connected to platform handler 1320, ISUP messages could be allocated to the message handlers based on the SLS of the particular ISUP message Platform handler 1320 also accepts routing instructions from message handler 1340 for routing certain ISUP messages to particular select call model processes of message handler 1340
Platform handler 1320 is also responsible for managing and monitoring CCM activities Among these are CCM start-up and shut-down, log-m and log-off of various CCM modules, handlmg administrative messages (I e error, warning, status, etc ) from the CCM modules, and handling messages from network operations such as queries, configuration instructions, and data updates The connections to the various CCM modules are shown The connection to network operations is the man machine mterface which allows the CCM to be controlled and monitored by either a remote or a local operator Platform handler 1320 has a process which retrieves configuration data from internal tables to initialize and configure the CCM The CCM modules also have internal tables which are used in conjunction with this procedure
THE MESSAGE HANDLER Figure 14 depicts a version of the message handler External connections have been omitted for the sake of clanty Message handler 1400 is shown and includes ISUP 1410, call manager 1420, feature manager 1430, switching manager 1440, and SCF access manager 1450 The primary function of message handler 1400 is to process ISUP messages for calls, generate subsequent messages, and invoke services As a result of its processing, message handler 1400 is able to assign incoming access connections (CICs in SS7) to VPI/VCIs and instruct the mux to provide SVPs and SVCs through an ATM cross-connect system
ISUP 1410 receives geneπc ISUP messages from the platform handler and converts them mto specially formatted ISUP messages using receive 1412 ISUP 1410 reverses this process in transmit 1414 for messages sent to the platform handler Receive 1412 forwards formatted messages to call manager 1420 ISUP 1410 also exchanges local management message with the platform handler
Call manager 1420 could include the functionality specified in the Intelligent Network Call Model (INCM) of ITU-T Q 1214 which encompasses the main functionality of the CCF Call center 1422 receives IAM messages and creates an originating call model process for each IAM Each oπginating process is parameterized with data from its particular IAM Additional origination processes can be created based on the IAM if it is a multi-party call All of these originating processes are represented by oπginating processes 1424
An oπginating process will typically create a detection point process All of the detection point processes created are represented by detection point processes 1426 Each originating process will also set-up a call control block containing data for the call Each origination process will execute through a point-in call to a detection point When detection points are encountered, and the originating process has not been programmed to skip them, a signal representing the detection pomt is forwarded to the conespondmg detection point process As stated above, call processmg can be streamlined by skipping selected detection points and points-in-call When an originating process sends a detection point signal to the corresponding detection point process, processmg is suspended at the originating process until a response is received from the detection point process
Detection pomt processes 1426 provides a portion of the SSF and acts as a buffer between the call processes and feature manager 1430 A detection point process analyzes the detection point signal from the origination process to determine if is should be acted on or if it can be ignored If the processing results in a service request or notification, a corresponding signal is sent to feature manager 1430 Detection pomt responses from feature manager 1430 are forwarded back to the appropπate call process Once call set-up has been authorized for the onginating process, a detection pomt process will also send a signal to call center 1422 to create a terminating process
These terminating processes are represented by terminating processes 1428 A terminating process creates and interacts with detection point processes 1426 much like an ongmatmg process A terminating process also creates a terminating call control block ISUP information is transferred from the originating process for a call to the terminating process for the call The platform handler is instructed of the originating and terminating processes so that subsequent ISUP messages related to that call can be transferred directly to the appropriate processes by the platform handler Both originating and terminating processes have a local database For example, a termination process might access local data to translate the NPA-NXX of a dialed number into the VPI to a destination mux
The onginating processes and terminating processes also exchange messages with bearer control Typically, these messages relate to echo canceller and mux control For calls that pass through two muxes (an originating mux into the ATM network and a terminating mux out of the ATM network), both an origination and termination process is required for each mux - a total of four call processes The originating process for the originating mux will handle echo cancellation for the origination side of the call The termination process for the origination mux will handle mappmg the mcommg DSO to the VPI/VCI The termination process for the terminating mux will map the VPI/VCI to an outgoing DSO and handle echo cancellation for the terminating side of the call If only one mux is used on the call (m and out of the network at the same mux), only a single ongmation process and a single termination process is required
The originating processes and terminating processes also exchange messages with the record handler Typically, these messages relate to billing and operational measurements Upon call tear down, the record handler receives the originating and terminating call control blocks for billing purposes These call control blocks typically would identify the following the call control block ID, the originating/terminating process ID, the message handler, the oπginatmg LEC, the LEC trunk circuit (CIC), the ATM virtual circuit, the ATM virtual path, the caller's number, the dialed number, the translated dialed number, the oπginating line information, the ANI service class, the selected route, the number of the selected route, the SLS, the OPC, the DPC, the service indicator (SIO), echo cancellation status, reason of release, call status, and pointers to adjacent call control blocks In addition, the call control block would also contain the vanous times that signaling messages are received, such the address complete message (ACM), the answer message (ANM), the suspend message (SUS), the resume message (RES), and the release message (REL) Those skilled in the art would be aware of other pertinent data to include
Call manager 1420 communicates with feature manager 1430 Feature manager 1430 handles interaction of services for the call Examples of services would be 800 calls, PCS calls, and VPN calls, but there are many others Feature manager 1430 is comprised of feature center 1432 and feature processes 1434 Feature center 1432 receives the detection point messages from the detection point processes 1426 Feature center 1432 then creates a feature process for each call These processes are represented by feature processes 1434 The feature process will determine if additional data is needed for the detection point If so, a signal is sent to switching manager 1440 Responses from switching manager 1440 are sent to the appropriate detection pomt process by the feature process for the call
In this embodiment, the feature process sends all such service signals to switching manager 1440 In other embodiments, services may be segregated into "IN" and "non-IN" services, the feature process would then have to select between an "IN" switchmg manager or a "non-IN" switching manager when sending service signals to switchmg manager 1440
Switchmg manager 1440 is comprised of switching center 1442 and switching processes 1444 Switchmg manager creates a switching process for each service required on the call These switching processes are represented by switching processes 1444 A switching process will communicate directly with the associated feature process for the call The switching process will also mterface with the SCF As stated above, the SCF provides the service processing for the call and is preferably located at a remote database A typical example of accessing SCF would be to send a TCAP query to a service Control Point (SCP) for an "800" number translation In order to access the SCF, the switchmg process will use SCF access manager 1450 SCF access manager 1450 is compnsed of encoder 1452 and decoder 1454 Encoder 1452 converts signals from switching processes 1444 into the proper format for SCF access Decoder 1454 converts messages from the SCF back into the format for switching processes 1444 SCF access manager 1450 would typically access the SCF over standard communications links One example would be an SS7 link usmg the TCAP/INAP/ASN 1 protocol specified by the ITU If SS7 is used, SCF access manager 1450 could forward its TCAP messages to the MTP function (MTP 1310 of Figure 13) for subsequent transfer to an STP and SCP
From the above discussion, it should be clear that message handler 1400 is compπsed of static processes identified as "centers" that create specific processes for each call Once created, these specific call processes communicate directly with one another to accomplish call processing
BEARER CONTROL AND THE RECORD HANDLER
The following discussion refers to both Figures 13 and 14 Depending on which call segment (oπginating or termmating) is being processed, the origination process or the termination process will check the user service information data and originating line information to assess the need for echo control If the call is a data call, a message is sent to bearer control 1330 Based on the CIC, bearer control 1330 can select which echo canceller circuit needs to be disabled A message will be generated to that effect and transmitted over a standard data link, such as UDP/IP, to the pertinent echo control system If the echo canceller is remote, a T 1 link may be desired for transport As described above, echo control can be implemented by the multiplexer Once a release (REL) message is received for the call, the echo canceller is re-enabled On a typical call, this procedure will occur twice Once for an echo canceller on the originating side of the call, and again for an echo canceller on the terminating side of the call The CCM that handles the IAM for a particular call segment will control the particular echo cancellers for the segment An example of an echo control system would be a Tellabs echo canceller controller with ethemet interfaces connected over an asynchronous bus to the echo cancellers The echo cancellers could be integrated into the muxes
After a release message on a call, the originating and terminating processes will forward the information m the call control block to record handler 1350 Record handler 1350 will use the call control block to create a billing record The call control block would contain information from the ISUP messages for the call and from CCM processing From the address complete message (ACM), the call control block would include the routing label, CIC, message type, and cause indicators From the answer message (ANM), the call control block would include the routing label, CIC, message type, and backward call indicators From the initial address message (IAM), the call control block would include the routing label, CIC, message type, forward call indicators, user service information, called party number, calling party number, carrier identification, carrier selection information, charge number, generic address, ongination lme information, ongmal called number, and redirecting number From the release message (REL), the call control block would include the routing label, CIC, message type, and cause indicators From the suspend message (SUS) or the pass along message (PAM), the call control block would include the routmg label, CIC, and message type Those skilled in the art are familiar with other pertment information for a billing record and appreciate that some of this information could be deleted The billing record will be forwarded by record handler 1350 to a billing system over a billing interface An example of such an interface is an ethemet - FT AM protocol
CALL PROCESSING
SS7 messaging is well known in the art SS7 ISUP messages contain numerous fields of information Each message will have a routing label containing a destination point code (DPC), an oπgmation pomt code (OPC), and a signaling link selection (SLS) which are used pnmanly for routing the message Each message contains a circuit identification code (CIC) which identifies the circuit to which the message relates Each message contains the message type which is used to recognize the message ISUP messages also contain mandatory parts filled with fixed length data and variable length data, in addition to a part available for optional data These parts vary from message type to message type depending on the information needed
The initial address message (IAM) initiates the call and contains call set-up information, such as the ώaled number IAMs are transferred in the calling direction to set up the call Dunng this process, TCAP messages may be sent to access remote data and processing When the IAMs have reached the final network element, an address complete message (ACM) is sent in the backward direction to mdicate that the required information is available and the called party can be alerted If the called party answers, an answer message (ANM) is sent in the backward direction indicating that the call/connection will be used If the calling party hangs up, a release message (REL) is sent to mdicate the connection is not being used and can be torn down If the called party hangs up, a suspend message (SUS) is sent and if the called party reconnects, a resume (RES) message keeps the line open, but if their is no re-connection, a release message (REL) is sent When the connections are free, release complete messages (RLC) are sent to indicate that the connection can be re-used for another call Those skilled in the art are aware of other ISUP messages, however, these are the pnmary ones to be considered
In the preferred embodiment, call processing deviates from the basic call model recommended by the ITU, although strict adherence to the model could be achieved in other embodiments Figures 15-23 depict message sequence charts for the call processing in one embodiment Message sequence charts are known in the art, and are a recognized format to depict call processmg At the top of the chart, the basic elements of the CCM are shown ~ the platform handler, the message handler, the bearer control, and the record handler The blocks below the message handler indicate the processes for the message handler Further specification at the process level for the platform handler, the bearer control, and the record handler is not required for this discussion The charts are read down m a chronological sequence. Blocks indicate tasks performed by the process named above Aπows indicate messages exchanged between the processes or the creation of a new process by an existing process
The sequence starts on Figure 15 with an ISUP message at the platform handler The platform handler forwards the message to the ISUP receive process of the message handler If the ISUP message is an IAM, the ISUP receive process forwards the IAM to the call center The call center had been m the "oπgmation null" point-in-call, but the IAM causes the call center to create an oπginating call process parameterized with contents of the IAM The originating process then executes through the "authoπze origination attempt" point-in-call This typically entails ANI validation in a look-up table, but prior to the look-up, call information is checked to determine if ANI validation is required For particular types of calls, I e "800" calls, origination is authorized without ANI validation Once origination has been authoπzed, the originating process creates a detection point process and transmits a signal to the detection point process that origination has been authoπzed The detection point process returns a message instmcting the origination process to execute through the "analyze information" point-in-call, although a detection point could be programmed at this point if desired Continuing on to Figure 16, "Analyze information" typically entails verifying that the dialed number is legitimate and checking call information for any applicable services A few examples of a services are "800" and PCS In this example, no services arc required for the call ~ the call is a typical POTS call Once the analysis has been accomplished, the onginaung process sends a "analyzed information" message to the detection point process Typically, the detection point process retums a "resume" message to the originating process, but detection points could be programmed here if desired
The resume message causes the origination process to execute through the "routing and alerting" point-in-call This typically entails translating the dialed number to select a destination address For example, the NPA-NXX of the dialed number could be used in a look-up table to yield me address of the terminating mux and the device that should receive the call from the mux The origination process will also send a message to the call center to create an terminating call process The termmating call process is provided with the identity of the originating process The terminating process also creates a detection point process to handle the detection points it encounters For purposes of claπly, this is indicated along the same line as the originating process detection point, although it should be understood that each process communicates with its corresponding detection pomt
Contmuing on to Figure 17, the terminating process executes through the "authorize termination attempt" point-in-call This typically entails veπfying that an ATM connection to another mux can be attempted For example, the CCM and the mux at the terminating end must be operational to handle the call Once termination is authoπzed, an authorized message is sent to the detection pomt process, which returns a resume message to the termination manager (unless a detection point is programmed into the detection point process )
The terminating process will then execute through the "select facility and present call" point-in-call This typically entails selecting the actual VPI/VCI and outbound connection for the call The destination has already been specified dunng the "routing" point-m-call, so the VPI/VCI and point codes can be looked-up accordingly The terminating process will then send a message to bearer control requesting mux control Bearer control would then create a message for the onginating mux identifying the connections and devices relevant to the call Bearer control would respond that mux control was handled Continuing on to Figure 18, the terminating process would then construct an IAM for transmission to the downstream CCM at the terminating mux As discussed above, this message could be coded such that the downstream CCM could skip detailed call processing The IAM would be provided to the ISUP sender and a fomiatted IAM would be provided to the platform handler for subsequent transmission to the downstream CCM On a typical call, the next message that would be received by the CCM that is related to the call would be an Address Complete Message (ACM) signifying that the terminating end of the call had the information required to complete the call This would be the case if the downstream- terminating CCM received the above-mentioned IAM, selected the actual DSO, and sent a subsequent IAM to the external device As mentioned above, the specially coded IAM would cause the termmating CCM to merely select the outbound DSO, notify the terminating mux, and generate the IAM to send to the external connection The external device would send an ACM back to the termmating CCM which would pass on an ACM to the originating CCM These procedures at the terminating CCM are not depicted in the message sequence chart The message sequence chart continues with the ACM arriving at the originating CCM
The ISUP receive process would forward the ACM to the termmating process The terminating process would execute through the "alerting" point-m-call and would send ACM information to the originating process, which would also execute through the "alerting" point-m- call Alerting entails alerting the users that a connection is available - 1 e nnging a telephone Typically, no specific activity is required for "alerting", but detection points could be inserted into the process if desired The originating process would forward an ACM to the ISUP sender which would provide a formatted ACM to the platform handler for subsequent transmission to devices at the oπgmation side of the call
On the typical call, an Answer Message (ANM) will be transferred from the terminating side of the call to the origination side of the call when the called party answers the phone The ANM is received by the platform handler and forwarded to the ISUP receive process which forwards its version to the terminating process Continuing on to Figure 19, the terminating process executes though the "active" point-in-call and sends ANM information to the detection point process Typically, the detection point process will return a resume message, although detection points could be included here if desired The terminating process also sends a mux control message to bearer control to facilitate cut-through on the call at the mux A acknowledgment response is sent back to the terminating process from bearer control The terminating process also sends ANM information to the originating manager, which also executes through the "active" point-in-call The oπginating process also sends an answer message to the detection point process and a partial call control block to the record handler Typically, the detection pomt process will send a resume message back to the oπgination process The originating process would forward an ANM to the ISUP sender which would provide a formatted ANM to the platform handler for subsequent transmission to devices at the origination side of the call At this point, the call is in progress
The message sequence continues with the receipt of a release message (REL) after the caller or called party hang up As stated above, if the called party hangs up, a suspend message (SUS) is sent before the call is released, but if the caller hangs up, only an REL is sent For clarity, the chart picks up with an REL arπving from the terminating side of the call The REL is received by the platform handler and transfeπed to the ISUP receive process, which provides its version of the message to the terminating process (Had the REL been from the originating side, it would have been provided to the originating process ) The terminating process executes through the "disconnect" pomt-in-cal) Continuing on Figure 20, the terminating process sends REL information to the oπginating process The onginating process would forward an REL to the ISUP sender which would provide a formatted REL to the platform handler for subsequent transmission to devices at the origination side of the call In response to the REL, the terminating process will forward a Release Complete Message (RLC) to the ISUP sender which would provide a formatted RLC to the platform handler for subsequent transmission to the device that sent the REL The RLC acknowledges the REL and signifies that the call connections may be torn down and re-used The terminating process also sends a mux control message to bearer control to cause the relevant VPI/VCI to be torn down, and receives an acknowledgment response from bearer control The oπginating process sends an echo control message to bearer control to ensure that the relevant echo canceller is enabled and receives and acknowledgment response from bearer control
The next message will typically be an RLC in response to the REL sent to the originating side of the call The RLC is received by the platform handler and forwarded to the ISUP receive process ISUP receive provides its version of the message to the originating process This causes the onginating process to forward its final call control block to the record handler The onginating process also provides RLC information to the terminating process This causes the termmating process to send its final call control block to the record handler The record handler responds to each process with an acknowledgment response Continuing on to Figure 21 , tear down messages are sent by the originating process and the terminating process to their respective detection point processes Typically, no detection points will be programmed and the originating process, the terminating process, and the detection pomt processes will terminate and be cleared from the CCM
Figure 22 depicts a modified excerpt from message sequence chart of Figure 23 The modification is for a data call that requires the echo cancellation on the connection to be disabled As shown, the message sequence chart picks up call processing at the "routing and alerting" point- ui-call Part of the execution through the "routing and alerting" point-in-call includes a check of IAM information to determine if echo cancellation should be disabled If so, the originating process sends an echo control message to bearer control Bearer control will send a message disabling the appropriate echo canceller Bearer control also sends an acknowledgment response back to the onginating process Subsequent call processing continues as discussed above and the echo canceller is re-enabled after the call
Figure 23 also depicts a modified excerpt from the message sequence charts above The modification is for a call that requires services Services might include N00 or VPN calls, but many other services are known In this embodiment, an SCP is accessed to provide information to implement the service As shown, call processing picks up where the detection point process for either the originating process or the terminating process analyzes a detection point and deterrnines that a service is required. Typically, this is done by examining the dialed number and the caller's number. Those skilled in the art are aware of how services can be determined from call information.
If it is determined that a service should be applied to the call, the detection point process sends detection point message to the feature center that causes the feature center to create an feature process. The feature process will be parameterized with call information and will send a detection point message to the switching center. In some embodiments, the feature process will choose between "IN" services and "non-IN" services and send the detection point message to the corresponding switching center. Upon receiving the message, the switching center creates a service process for each service to be applied to call. The service process formulates a request for service information and forwards it to the encoder of the SCF access manager. The encoder produces a TCAP message and transmits it over the appropriate link to a remote SCF. (possibly through the platform handler and/or the MTP interface). The remote SCF will return a response to the decoder. The response is formatted for the service process and sent to it. The service process takes the response and formulates an analyze information message that is transfeπed back through the feature process to the detection point process. The detection point process transfers the analyze information message to the applicable originating or terminating process. Subsequent call processing remains the same as discussed above. At call tear down, the feature process and the switching process are cleared from the CCM.
An example of the above scenario would be for an "800" call. The CCM would recognize that the "800" in the called number required service application. As a result, it would generate and transmit TCAP query to an SCP requesting an "800" translation. The SCP would process the query and translate the "800" number into a POTS number. The SCP would return the POTS number to the requesting CCM. The CCM would then process the POTS number as it would for a standard POTS call.
In some embodiments, the CCM processes SS7 signaling messages to accomplish the following functions: validation, routing, billing, and echo cancellation. SS7 messages are well known in the art. The following sections discuss SS7 processing, but those skilled in the art will recognize variations that are also contemplated. In SS7, the routing labels of the messages are used to coπelate messages to calls. Contemporaneous messages with the same OPC, DPC, and CIC relate to the same call.
To validate a call, the routing label of messages should be checked. The Service Indicator should be checked to distinguish between an incoming message from outside of the network or a message from a network CCM. The Destination Point Code is screened to ensure the destination of the SS7 message is actually destined for the CCM. The Originating Point Code is screened to ensure the originating point code is allowed in the CCM. The Message Type is screened to ensure that the type of message is allowed in the CCM and that there are no protocol violations associated with the message. Both the Circuit Reservation Message (CRM) and the IAM should have the Satellite Indicator screened to ensure that the limit on the number of Satellites in a circuit has not been exceeded. This will be on a trunk group by trunk group basis. The REL automatic congestion level will be screened to see if congestion arises. The CCM should then control calls to the associated network elements until the congestion abates. For non-call associated messages, the circuit group supervision message type indicator will be screened to compare the state of the circuits with the instructions incoming in the messages.
The IAM will receive additional treatment for validation. Information Transfer Capability will be screened to ensure that the connection for the call is capable of handling the transfer rate requested. The Coding Standard will be screened to ensure that the standard is coded 00. AH others will be rejected. Transfer Mode will be screened to ensure that the mode is coded 00 for 64 Kbit/second calls. User Layer Protocol ID and the Rate field will be screened to ensure that there is no rate adaptation required for the call. The Network ID Plans and Digits, will be screened to ensure that the carrier identification field and the transit network caπier identification field is in the coπect format. The Circuit Code will be screened to allow callers with the coπect means of dialing to access the network.
The CCM will check the Hop Counter in the IAM to determine if it has reached its limit as set by this field (range 10 to 20 with a default of 20). If it has not, the CCM will increment the parameter. If it has reached the determined count, the CCM will send a release message back with a cause of "exchange routing eπor" to tell the preceding switch that the IAM has reached its limit in hops. If this field is left blank, the CCM will not increment the counter parameter and pass the IAM unchanged.
The IAM Called Party Number field should be handled as follows for validation. Nature of Address will tell the CCM what type of number was dialed for the called number. The screening of this field will be for a non-NPA number. If that occurs, the CCM will need to add the NPA from the Trunk Group to the call control block. Numbering Plan will be screened to check what type of plan the incoming called party number uses. The only allowable plans are Unknown and ISDN numbering plans. All others should be disallowed. Digits Field will be screened for the number of digits using the Nature of Number, Odd/Even, and Digits Fields to determine the coπect number of digits.
The IAM Calling Party Number and Charge Number fields should be handled as follows for validation. Nature of Address will be screened to ensure that the calling party's number is in the proper format. Presentation Allowed/Restricted will be screened to check for N00 calling. Numbering Plan will be checked to ensure that the numbering plan is set at either unknown or ISDN numbering plan. Digits Field will be checked to ensure that there is enough digits for an ANI that can be billed. These digits will be validated in an ANI table for call authorization.
Routing is primarily accomplished by processing the IAM. Called Party Number - Nature of Address, Digits - This will tell the CCM what type of call this is. It will differentiate 0+, test calls, and International numbers from normal 1+ calls The Calling Party's Category tells the CCM that the call is a test call with different routing than a normal call The Caπier Identification Plan will be used to determine if the CCM receives the Carπer Identification Code of another caπier, since the CCM may wish to route the call based on the subscribers choice of earners The IAM Camer Selection Information is used to route the call based on whether the subscriber was presubscnbed or dialed the carrier access number The 1AM Originating Line Information will enable the CCM to route based on what type of originating line is being used for this call An example is if a payphone makes a 1+ call, the CCM will be able to route the call directly to an operator for billing aπangements The IAM Transit Network Selection fields will indicate the Carπer Identification Code of the International Camer that is requested by the subscriber, so the CCM can route the international call to the coπect switch The Circuit Code will tell the CCM how the code was dialed If the subscriber dialed an access code for a different international earner, the CCM could route the call to an operator center for processing
The IAM Called Party Number fields are handled as follows for routing Nature of Address Indicator tells what type of call is being requested This will include 0+ and 0- calls, international calls (operator and non operator calls), cut through, and 950 types of calls With this information, the CCM can route the call directly to the international gateway or operator center without lookmg at the rest of the message For normal 1+ calls, the Odd/Even field will be used with the digits fields to determine the number of digits Numbering Plan field will be used to route calls differently if it has a "Private Numbenng Plan" value in the field Digits Field will be the digits that will be used to route the call through the network using table look-ups Typically, the digits field houses the dialed number
Billing will be based on the Call Control Blocks (CCBs) created by the call processes A portion of these records are transfeπed from messages received by the CCM The CCBs are discussed above When the Calling Party Number is present in the IAM and there is no Charge Number present, the Callmg Party Number is used to bill the call If the Charge Number is present in the same message, then the Charge Number will be used for billing instead of the Calling Party Number Vanous messages need to be tracked to measure the duration of the call These include the IAM, ACM, ANM, SUS, REL, and RLC The causes associated with these messages should also be considered
As to echo control, messages should be examined to determine if either side of the call - onginating or termmating - has already handled echo control This can be done by lookmg at the Echo Suppresser Indicator in the Nature of Connection Indicators Parameter of the CRM or the IAM, or the Echo Control Device Indicator in the Backward Call Indicators Parameter of the ACM or the Call Progress Message (CPM) If no echo control has been provided, the CCM will implement echo control depending on the Information Transfer Capability in the User Service Indicator Parameter of the IAM ALTERNATIVE EMBODIMENT
The connection processing system could also be used in the following context of an ATM gateway Figure 24 depicts signaling and control system 2400, ATM system 2420, ATM system 2440, and gateway 2430 These components are connected by connections 2460-2461 and linked by links 2450-2452 as shown Those skilled in the art are aware that large networks have many more components than are shown, but the number of these components has been restncted for clanty
ATM systems 2420 and 2440 are known in the art They typically include ATM connections, cross-connects, and switches Any source of ATM cells is contemplated At least one of the ATM systems will have the need to control the VPI/VCIs of cells entering the network This is because the cells entering the network have VPI/VCIs designated by the preceding network These VPIΛ/CIs are not necessarily compatible with the routing configuration of the subsequent network accepting the cells As such, the VPI/VCIs must be modified to be compatible the new VPI/VCI routing configuration This is especially true if the ATM network is handling SVCs without an ATM switch to process signaling and select the proper SVCs in real time If only pre- provisioned cross-connects are used, the VPI/VCI in the incoming cell effectively selects the VPI/VCI the cell will have when it exits the cross-connect If SVCs are to be dynamically allocated on a per call basis through pre-provisioned cross-connects, a system is needed to modify the VPI/VCIs to allocate SVCs before the cells enter the cross-connect
Gateway 2430 provides this capability Gateway 2430 receives ATM cells entering a network and converts the VPI/VCIs in the cells so they are compatible with network routing configuration Gateway 2430 would modify the VPI/VCIs of cells entering ATM system 2440 on a call-by-call basis Gateway 2430 would use the above-described connection processmg system to facilitate the modification of VPI/VCIs This allows for the allocation SVCs Gateway 2430 could also operate in a two-way fashion This means it will modify the VPI/VCIs of cells entering ATM system 2420 according to ATM system 2420 requirements, and it will modify the VPI/VCIs of cells enteπng ATM system 2440 according to ATM system 2440 requirements Gateway 2430 is capable of modifying VPI/VCIs based on control instructions from signaling and control system 2400
Signaling and control system 2400 receives signaling passed between the two networks Typically, the signaling would be Signaling System H7 (SS7) messages Signaling and control system 2400 is able to receive and process SS7 signaling to select the appropriate VPI/VCI for cells entering a given network It is similar to the signaling processing system described above It passes this information to the gateway 2430 over control link 2451 Control link 2451 could be a bus, a data link or a signaling link Those skilled in the art will appreciate various ways to couple signaling and control system 2400 with gateway 2430 It is important to note that signaling and control system 2400 and gateway 2430 do not comprise an ATM switch Those skilled m the art will appreciate how these components can be constructed and operated without the complexities and cost of an ATM switch Another advantage is that the gateway has single input/output throughput This avoids many problems ATM switches encounter with multiple input and output ports This also allows the gateway to concentrate traffic flowing into a network In other words, the gateway is able to reorganize the traffic entering a network
Figure 25 depicts gateway 2500 composed of control mterface 2550, header mapper 2510, ATM label converter 2530 and ATM interfaces 2520 and 2540 Connections 2563 and 2564 are ATM connections to ATM systems Call/Connection Manager (CCM) 2570 is a version of signaling and control 100 from Figure 1 CCM 2570 processes signaling and exerts control over the gateway 2500 via link 2560 This link could be any means of exchanging control information such as a signaling link, a data link, or a bus aπangement Links 2561 and 2562 provide signaling to CCM 2570 An example would be an SS7 link, but other means to transfer signaling would be appreciated by one skilled in the art
CCM 2570 is a processmg system that receives and processes signaling messages CCM 2570 processes the signaling messages to select VPI/VCI assignments for gateway 2500 In other words, it is a call processor It is different from a switch in that it does not have a switching fabric, and it does not carry actual user traffic Typically, the processing is based on a dialed number, and can include validation, routing, and billing CCM 2570 would be functional to send control messages to the gateway 2500 For call set up, the control message would instruct gateway 2500 to modify the VPI/VCI in mcommg cells to the VPI/VCI selected dynamically by CCM 2570 For call tear down, the control message would instruct gateway 2500 to disassociate the mcommg VPI/VCI from the outgoing VPI/VCI This releases the bandwidth associated with the call CCM 2570 is similar to the CCM discussed in the previous embodiment
Control interface 2550 is functional to receive control messages and transmit status information It could be a conventional hardware/software mterface Header mapper 2510 includes a memory that contains the information used to associate incoming VPI/VCIs with outgoing VPI/VCIs This memory is dynamic and is updated on a call by call basis Header mapper 2510 would use the connection processmg system described at the beginning of this disclosure to handle the association of VPI/VCIs ATM label converter 2530 is functional to change the VPI/VCIs in mcommg ATM cells to new VPI/VCIs based on header mapper 2510
ATM mterface 2520 is functional to accept mcommg cells from connection 2563 and then send the cells through label converter 2530 ATM interface 2540 is functional to accept converted cells from ATM label converter 2530 and transmit these cells on connection 2564 These ATM interfaces are also able to perform reciprocal processing for ATM traffic flowing in the reverse direction
Telecommunications signaling is used to set-up and tear down connections for a call Setting-up a connection would entail creating a series of logically connected VPI/VCI communications paths from end to end The following operation is descnbed in terms of SS7, but those skilled in the art are aware of other signaling systems that could also be used Some examples of these other signaling systems would be C7 and UNI
Typically, the network providing cells to gateway 2500 does not have knowledge of the actual destination for these cells beyond gateway 2500 This "first" network will also produce an Imtial Address Message (IAM) associated with the call The IAM contains information that can be used to route the cells for the call The IAM is transfeπed to CCM 2570 CCM 2570 will process the IAM according to the requirements of the "second" network receiving cells from gateway 2500 CCM 2570 will select a new VPI/VCI based on the IAM
In one embodiment, the system would operate as follows for a call incoming over connection 2563 Typically, the network providmg the call to gateway 2500 will seize an available connection (VPI/VCI) to gateway 2500 This connection is represented by connection 2563 CCM 2570 will receive the IAM produced m association with the call over link 2561 If naπowband SS7 signaling is used, the routing label in the IAM contains a Circuit Identification Code (CIC) The CIC could be configured to identify the VPI/VCI in the incoming cells for the call In other words, the CIC in the IAM identifies the seized connection (m connection 2563) to gateway 2500 If broadband signaling (B-ISUP)ιs used, this VPI/VCI could be directly identified in the VPI/VCI field CCM 2570 will select the VPI/VCI for routing the call over connection 2564 CCM 2570 then sends a control message to control interface 2550 through link 2560 The control message will instruct gateway 2500 to modify the VPI/VCI of the incoming cells so they contain the VPI/VCI selected by CCM 2570 This would be accomplished using the above-descnbed connection processmg system Control mterface 2550 responds with an acknowledgment over link 2560 to CCM 2570 In the case of eπor conditions, the acknowledgment will be negative acknowledgment Header mapper 2510 will receive the instruction information from control mterface 2550 and will store this information for the duration of the call CCM 2570 would also generate another IAM for transfer over link 2562 to the next node requiring a call message
Cells for the call will arnve at ATM label converter 2530 from ATM interface 2520 and connection 2563 ATM label converter 2530 will use the VPI/VCI of the incoming cells as the incoming VPI/VCIs in the above-descnbed connection processing system The index would be used to enter header mapper 2510 memory to yield the new VPI/VCI ATM label converter 2530 will modify the VPI/VCI in the cell headers to the new VPI/VCI The cells are then forwarded to ATM interface 2540 for transmission over connection 2564
At the end of the call, a release message (REL) is received by CCM 2570 over link 2561 The REL will cause CCM 2570 to begin call tear down procedures CCM 2570 will send a control message to control interface 2550 over link 2560 Control interface 2550 will send the information to header mapper 2510 disassociating the incoming and outgoing VPI/VCI for the call This will cause gateway 2500 to terminate the call connection CCM 2570 will then send an appropπate REL over link 2562 to the next node Those skilled in the art will appreciate that other procedures can also be used at the end of the call For example, the CCM may allow the VPI/VCI assignment to remain for a specified duration
Preferably, connection 2564 would transfer these modified cells to an ATM cross-connect system that has pre-provisioned VPI/VCIs to potential network destinations Because the VPI/VCI is selected in real time by CCM 2570 based on the signaling and the routing configuration, gateway 2500 is able to implement SVCs on a call by call basis In can be appreciated that by using the requirements for the network accepting the cells, CCM 2570 and gateway 2500 can implement SVCs for calls proceeding in both directions It is also important to note that this can be done without the need for a complex ATM switch with signaling and call processing capability
Figure 26 shows ATM system 2600 and ATM system 2650 ATM system 2600 is compπsed of gateway 2605, call/connection manager (CCM) 2610, Signal Transfer Point (STP) 2615, ATM cross-connect 2620, and nodes 2625, 2630, 2635, and 2640 ATM system 2650 is compπsed of gateway 2655, CCM 2660, STP 2665, ATM cross-connect 2670, and nodes 2675, 2680, 2685, and 2690
For the sake of clarity, the connections and links are not numbered Virtual paths are shown (single lines) provisioned through ATM cross-connect 2620 between gateway 2605 and nodes 2625, 2630, 2635, and 2640 Virtual paths are shown provisioned through ATM cross- connect 2670 between gateway 2655 and nodes 2675, 2680, 2685, and 2690 Gateway 2605 and gateway 2655 are connected by a virtual path as well Signaling links are shown interconnecting the vaπous components (as ώscussed above, the link between the CCM and the gateway could also be a conventional datalink or bus aπangement) Note that cross-connects 2620 and 2670 do not require signaling They are provisioned and do not need signaling/switching capability on a call- by-call basis
Gateway 2605 and 2655 have been descπbed above They modify the VPI/VCIs in ATM cells as instructed by control messages from the CCMs CCM 2610 and 2660 are described above They process signaling and select VPI/VCIs on a call by call basis The selections are provided to the gateways STPs 2615 and 2665 are known m the art They route signaling messages ATM cross-connects 2620 and 2670 are known in the art They route ATM cells based on a pre- provisioned routing configuration and the VPI/VCI in the cells Nodes 2625, 2630, 2635, 2640, 2675, 2680, 2685, and 2690 are ATM devices Any device that transmits or receives ATM cells is contemplated Some examples are ATM switches, ATM cross-connects, and ATM Customer Premises Equipment (CPE) Some of these nodes may use signaling and some may not need signaling
In operation for a call from node 2625 to node 2685, node 2625 would recognize that the call did not termmate within network 2600 and would seize a connection to gateway 2655 This connection would be provisioned through cross-connect 2620 and represented by the VPI/VCI m the cell headers Gateway 2605 is inactive on this call and could even be omitted It is shown to illustrate the Gateway function could be implemented for calls passing in the other direction Node 2625 would also transfer an IAM to CCM 2660 identifying the seized VPI/VCI The IAM would be routed by STP 2615 and STP 2665 to CCM 2660 It is important to note that ATM system 2600 does not know the routing configuration of ATM system 2650
CCM 2660 will process the IAM from Node 2625 to select a VPI/VCI to node 2685 Gateway 2655 has a provisioned virtual path to node 2685 through cross-connect 2670 CCM 2655 would select an available VCI within that VPI CCM 2655 would identify both the VPI/VCI from gateway 2605 and the VPI/VCI to node 2685 in a control message to gateway 2655 Usmg the connection processing system, gateway 2655 would modify the old VPI/VCI to the new VPI/VCI selected by CCM 2655 and transfer the modified cells to cross-connect 2670 Based on its pre-provisioned routing configuration and the VPI/VCI selected by CCM 2655, cross-connect 2670 would transfer these cells to node 2685 If necessary, CCM 2655 would transfer an IAM node 2685 through STP 2665
It should be appreciated that the above procedure could be repeated for multiple calls between different nodes This includes calls from network 2650 to network 2600 The CCM, the gateway, and the cross-connect work together to provide SVCs on a call-by-call basis This accomplished without the cost or complexities of an ATM switch
After reviewing the above description, those skilled in the art will appreciate possible variations that could be made to the specific examples of the invention disclosed above In addition to the disclosed examples, the mvention encompasses these variations as well As a result, the invention should not be limited to the specific examples disclosed above, but should only be measured by the following claims

Claims

1 A connection processing method wherein there are a plurality of connection identifiers wherein one of the connection identifiers is a first connection identifier that identifies a first connection and wherein another one of the connection identifiers is a second connection identifier that identifies a second connection, wherein there are a plurality of index latches and a plurality of associated indexes wherein one of the indexes is a first index that is associated with a first mdex latch and wherein another one of the indexes is a second index that is associated with a second index latch, the method comprising assigning the first connection identifier to the first index and assigning the second connection identifier to the second index, wherem the first index is associated with the first index latch and the second mdex is associated with the second index latch, storing the first connection identifier in the first index latch and storing the second connection identifier in the second mdex latch, wherein the assignment and storage creates assigned connection identifiers in the first and second index latches, receiving communications over the first connection and obtaining the first connection identifier, providing the first connection identifier to each index latch and comparing the first connection identifier to any assigned connection identifiers stored in the index latches, providing the first index associated with the first index latch in response to the first connection identifier matching the assigned connection identifier stored m the first mdex latch, receiving communications over the second connection and obtaining the second connection identifier, providmg the second connection identifier to each index latch and comparing the second connection identifier to any assigned connection identifiers stored in the index latches, and providing the second index associated with the second index latch in response to the second connection identifier matching the assigned connection identifier stored in the second index latch
2 The method of claim 1 further comprising storing a processing instruction for the first connection in a memory location that can be accessed with the first index, and using the first mdex provided by the first index latch to access the processing instruction in the memory location
3 The method of claim 2 wherem the processing instruction identifies a virtual connection
4 The method of claim 2 wherein the processing instruction identifies a VPI/VCI
5 The method of claim 2 wherein the processing instruction identifies a DSO connection
6 The method of claim 2 wherein the processing instruction identifies a Circuit Identification Code (CIC)
7 The method of claim 1 wherein the connection identifiers are virtual connection identifiers
8 The method of claim 1 wherein the connection identifiers are Virtual Path Identifier/Virtual Path Identifiers (VPI/VCIs)
9 The method of claim 1 wherein the connection identifiers are DSO identifiers
10 The method of claim 1 wherein the connection identifiers are Circuit Identification Codes (CICs)
1 1 The method of claim 1 wherein the indexes are virtual connection identifiers
12 The method of claim 1 wherein the mdexes are Virtual Path Identifier/Virtual Path Identifiers (VPI/VCIs)
13 The method of claim 1 wherein the indexes are DSO identifiers
14 The method of claim 1 wherein the indexes are Circuit Identification Codes (CICs)
15 The method of claim 1 further comprising, receiving write and read instmctions wherein adώesses in the instmctions represent one of the incoming connection register, one of the index latches, or the assigned index register, and decoding the instructions to determine what the adώess represents to facilitate execution of the instmctions
16 A virtual connection processmg method wherein there are a plurality of Virtual Path Identifiers/Virtual Channel Identifiers (VPI/VCIs) wherem one of the VPI/VCIs is a first VPI/VCI that identifies a first virtual connection and wherein another one of the VPI/VCIs is a second VPI/VCI that identifies a second virtual connection, wherein there are a plurality of index latches and a plurality of associated indexes wherein one of the indexes is a first index that is associated with a first mdex latch and wherein another one of the indexes is a second index that is associated with a second index latch, the method comprising assigning the first VPI/VCI to the first index and assigning the second VPI/VCI to the second mdex, wherein the first index is associated with the first index latch and the second index is associated with the second index latch, storing the first VPI/VCI in the first index latch and storing the second VPI/VCI in the second mdex latch, wherem the assignment and storage creates assigned VPI/VCIs in the first and second index latches, receiving communications over the first virtual connection and obtaining the first VPI/VCI, providing the first VPI/VCI to each index latch and companng the first VPI/VCI to any assigned VPI/VCIs stored in the index latches, providing the first index associated with the first index latch in response to the first VPI/VCI matching the assigned VPI/VCI stored in the first mdex latch, receiving communications over the second virtual connection and obtaining the second VPI/VCI, providmg the second VPI/VCI to each index latch and comparing the second VPI/VCI to any assigned VPI/VCIs stored in the index latches, and providing the second index associated with the second index latch in response to the second VPI/VCI matching the assigned VPI/VCI stored in the second index latch
17 The method of claim 16 further comprising storing a processing instruction for the first virtual connection in a memory location that can be accessed with the first mdex, and usmg the first mdex provided by the first index latch to access the processing instruction in the memory location
18 The method of claim 17 wherein the processing instruction identifies a virtual connection
19 The method of claim 17 wherem the processing instruction identifies a VPI/VCI
20. The method of claim 17 wherein the processing instmction identifies a DSO connection.
21. The method of claim 17 wherein the processing instmction identifies a Circuit Identification Code (CIC).
22. The method of claim 16 wherein the indexes arc virtual connection identifiers.
23. The method of claim 16 wherein the indexes arc Virtual Path Identifier/Virtual Path Identifiers (VPI/VCIs).
24. The method of claim 16 wherein the indexes are DSO identifiers.
25. The method of claim 16 wherein the indexes are Circuit Identification Codes (CICs).
26. The method of claim 16 further comprising; receiving write and read instmctions wherein adώesses in the instmctions represent one of the incoming connection register, one of the index latches, or the assigned index register; and decoding the instmctions to determine what the adώess represents to facilitate execution of the instmctions.
27 A DSO connection processing method wherein there are a plurality of DSO identifiers wherem one of the DSO identifiers is a first DSO identifier that identifies a first DSO and wherem another one of the DSO identifiers is a second DSO identifier that identifies a second DSO, wherem there are a plurality of index latches and a plurality of associated indexes wherein one of the mdexes is a first mdex that is associated with a first index latch and wherem another one of the indexes is a second index that is associated with a second index latch, the method compπsmg assigning the first DSO identifier to the first index and assigning the second DSO identifier to the second index, wherein the first index is associated with the first index latch and the second index is associated with the second index latch, storing the first DSO identifier m the first index latch and storing the second DSO identifier in the second index latch, wherein the assignment and storage creates assigned DSO identifiers in the first and second index latches, receiving communications over the first DSO and obtaining the first DSO identifier, providmg the first DSO identifier to each mdex latch and comparing the first DSO identifier to any assigned DSO identifiers stored in the index latches, providmg the first index associated with the first index latch in response to the first DSO identifier matching the assigned DSO identifier stored in the first index latch, receiving communications over the second DSO and obtaining the second DSO identifier, providing the second DSO identifier to each index latch and comparing the second DSO identifier to any assigned DSO identifiers stored in the index latches, and providing the second index associated with the second index latch in response to the second DSO identifier matching the assigned DSO identifier stored in the second index latch
28 The method of claim 27 further comprising storing a processing instruction for the first DSO in a memory location that can be accessed with the first index, and usmg the first mdex provided by the first index latch to access the processing instruction in the memory location
29 The method of claim 28 wherein the processing instmction identifies a virtual connection
30 The method of claim 28 wherem the processing instmction identifies a VPI/VCI
31 The method of claim 28 wherem the processing instmction identifies a DSO connection
32 The method of claim 28 wherein the processing instmction identifies a Circuit Identification Code (CIC)
33 The method of claim 27 wherein the DSO identifiers are Circuit Identification Codes (CICs)
34 The method of claim 27 wherein the indexes are virtual connection identifiers
35 The method of claim 27 wherein the indexes are Virtual Path Identifier/Virtual Path Identifiers (VPI/VCIs)
36 The method of claim 27 wherein the indexes are DSO identifiers
37 The method of claim 27 wherein the indexes are Circuit Identification Codes (CICs)
38 The method of claim 27 further compπsing, receiving wnte and read instmctions wherein adώesses in the instmctions represent one of the incoming connection register, one of the index latches, or the assigned index register, and decoding the instructions to determine what the adώess represents to facilitate execution of the instmctions
39 A system for processing connection identifiers for connections wherein the connection identifiers are assigned to indexes to create assigned connection identifiers and coπesponding assigned mdexes, and wherein the connections are identified by incoming connection identifiers when incoming communications from the connections are received by the system, the system compπsmg a plurality of index latches that arc each associated with one of the indexes and that are each operational to receive and store one of the assigned connection identifiers, to receive and compare the incoming connection identifiers with the stored assigned connection identifier, and to produce the associated index if one of the incoming connection identifiers matches the stored assigned connection identifier, an incoming connection register that is connected to each index latch and that is operational to receive the incoming connection identifiers and provide them to each index latch, and an assigned index register that is connected to each index latch and that is operational to receive the associated indexes from the index latches
40 The system of claim 39 that further compnses a microprocessor that is operational to provide write and read instmctions that comprise first instmctions to wnte the assigned connection identifiers to adώesses that represent the index latches that are associated with the assigned indexes, a second instmction to wnte the incoming connection identifier to an adώess that represents the incoming connection identifier register, and a third instmction to read the assigned index from an adώess that represents the assigned mdex register, and an adώess decoder that is operational to receive the first instmctions and to provide the assigned connection identifiers to the index latches that are associated with the assigned indexes, to receive the second instmction and to provide the incoming connection identifier to the incoming connection register, and to receive the third instmction and to provide the assigned index to the microprocessor from the assigned index register
41 A method of operating a telecommunications system to provide a call with a virtual connection wherem a user transmits user information to the telecommunications system over a particular connection for the call and sends signaling for the call to the telecommunications system, wherem the system compnses an ATM interworking multiplexer and a signaling processor coupled to the ATM interworking multiplexer, the method compnsmg receiving the signaling for the call mto the signaling processor, processing the signaling for the call in the signaling processor to select the virtual connection, generating a control message m the signaling processor that contains a particular connection identifier and a selected virtual connection identifier, transmitting the control message to the ATM interworking multiplexer, storing the virtual connection identifier in a memory location that can be accessed with an index. storing the particular connection identifier in a particular index latch associated with the index, receiving the user information for the call from the particular connection mto the ATM interworking multiplexer, and as a result, providing the particular connection identifier to a plurality of mdex latches that includes the particular mdex latch, providing the index from the particular index latch when the particular connection identifier matches the particular connection identifier previously stored in the particular index latch, using the index to access the virtual connection identifier from the memory location, converting the user information from the particular connection into ATM cells that identify the virtual connection, and transmitting the ATM cells from the ATM interworking multiplexer over the virtual connection
42 A method of operating an ATM interworking multiplexer to provide a call with a virtual connection wherein a user transmits user information to the telecommunications system over a particular connection for the call and sends signaling for the call to the telecommunications system, wherem the telecommunications system compnses an ATM interworking multiplexer, and wherein the telecommunications system provides a control message that contains a particular connection identifier and a selected virtual connection identifier for the call to the ATM interworking multiplexer, the method comprising receiving the control message for the call into the ATM interworking multiplexer, storing the virtual connection identifier in a memory location that can be accessed with an index, storing the particular connection identifier in a particular mdex latch associated with the mdex, receiving the user information for the call from the particular connection into the ATM interworking multiplexer, and as a result, providing the particular connection identifier to a plurality of mdex latches that mcludes the particular index latch, providing the mdex from the particular mdex latch when the particular connection identifier matches the particular connection identifier previously stored in the particular index latch, using the mdex to access the virtual connection identifier from the memory location, placmg the user information from the particular connection into ATM cells that identify the virtual connection, and transmitting the ATM cells from the ATM interworking multiplexer over the virtual connection
43 A telecommunications system to provide a call received over a particular connection with a virtual connection in response to signaling for the call, the system comprising a signaling processor operable to receive and process the signaling for the call to select the virtual connection for the call, and to generate and transmit a control message that contams a particular connection identifier and a selected virtual connection identifier for the call, and an ATM interworking multiplexer operable to receive the control message, to store the virtual connection identifier in a memory location that can be accessed with an index, to store the particular connection identifier m a particular index latch associated with the index, to receive the user information from the particular connection, and as a result, to provide the particular connection identifier to a plurality of mdex latches that includes the particular index latch, to provide the mdex from the particular mdex latch when the particular connection identifier matches the particular connection identifier previously stored in the particular index latch, to use the index to access the virtual connection identifier from the memory location, to convert the user information mto ATM cells that identify the virtual connection, and to transmit the ATM cells from the ATM interworking multiplexer over the virtual connection
44 An ATM interworking multiplexer for providing calls with virtual connections in response to a control message for each of the calls, the multiplexer comprising an access mterface operable to receive user information for each call from a particular connection for that call, a control interface operable to receive the control message for each call that contains a particular connection identifier and a selected virtual connection identifier for that call, an ATM adaption processor coupled to the access interface and the control mterface and operable to receive the control message, to store the virtual connection identifier in a memory location that can be accessed with an mdex, to store the particular connection identifier in a particular mdex latch associated with the index, to receive the user information from the particular connection, and as a result, to provide the particular connection identifier to a plurality of index latches that includes the particular mdex latch, to provide the index from the particular index latch when the particular connection identifier matches the particular connection identifier previously stored in the particular mdex latch, to use the mdex to access the virtual connection identifier from the memory location, and to convert the user information into ATM cells that identify the virtual connection, and an ATM interface coupled to the ATM adaption processor and operable to transmit the ATM cells for each call over the virtual connection for that call
45. A method of operating a telecommunications system to provide a call with a particular connection wherein user information is transmitted over a virtual connection, and wherein the system comprises an ATM interworking multiplexer and a signaling processor coupled to the ATM interworking multiplexer, the method comprising: receiving signaling for the call into the signaling processor; processing the signaling for the call in the signaling processor to select the particular connection; generating a control message in the signaling processor that contains a selected particular connection identifier and a virtual connection identifier for the call; transmitting the control message to the ATM interworking multiplexer; storing the particular connection identifier in a memory location that can be accessed with an index; storing the virtual connection identifier in a particular index latch associated with the index; receiving the user information for the call from the virtual connection into the ATM interworking multiplexer, and as a result, providing the virtual connection identifier to a pluralify of index latches that includes the particular index latch; providing the index from the particular index latch when the virtual connection identifier matches the virtual connection identifier previously stored in the particular index latch; using the index to access the particular connection identifier from the memory location; converting the user information from the virtual connection into a format suitable for the particular connection; and transmitting the user information from the ATM interworking multiplexer over the particular connection.
46. A method of operating an ATM interworking multiplexer to provide a call with a particular connection wherein user information is transmitted over a virtual connection for the call, wherein the telecommunications system comprises an ATM interworking multiplexer, and wherein the telecommunications system provides a control message that contains a selected particular connection identifier and a virtual connection identifier for the call; receiving the control message for the call into the ATM interworking multiplexer; storing the particular connection identifier in a memory location that can be accessed with an index; storing the virtual connection identifier in a particular index latch associated with the index; receiving the user information for the call from the virtual connection into the ATM interworking multiplexer, and as a result, providing the virtual connection identifier to a plurality of index latches that includes the particular index latch; providing the index from the particular index latch when the virtual connection identifier matches the virtual connection identifier previously stored in the particular index latch; using the index to access the particular connection identifier from the memory location; converting the user information from the virtual connection into a format suitable for the particular connection; and transmitting the user information from the ATM interworking multiplexer over the particular connection.
47. A telecommunications system to provide a call transmitted on a virtual connection with a particular connection in response to signaling for the call, the system comprising: a signaling processor operable to receive and process the signaling for the call to select the particular connection for the call, and to generate and transmit a control message that contains a selected particular connection identifier and a virtual connection identifier; and an ATM interworking multiplexer operable to receive the control message, to store the particular connection in a memory location that can be accessed with an index, to store the virtual connection identifier in a particular index latch associated with the index, to receive the user information from the virtual connection, and as a result, to provide the virtual connection identifier to a plurality of index latches that includes the particular index latch, to provide the index from the particular index latch when the virtual connection identifier matches the virtual connection identifier previously stored in the particular index latch, to use the index to access the particular connection identifier from the memory location, to convert the user information into a format suitable for the particular connection, and to transmit the user information from the ATM interworking multiplexer over the particular connection.
48. An ATM interworking multiplexer for providing calls with particular connections in response to a control message for each of the calls, the multiplexer comprising: an ATM interface operable to receive user information for each call from a virtual connection for that call; a control interface operable to receive the control message for each call that contains a selected particular connection identifier and a virtual connection identifier; an ATM adaption processor coupled to the access interface and the control interface and operable to receive the control message, to store the particular connection identifier in a memory location that can be accessed with an index, to store the virtual connection identifier in a particular index latch associated with the index, to receive the user information from the virtual connection, and as a result, to provide the virtual connection identifier to a plurality of index latches that includes the particular index latch, to provide the index from the particular index latch when the virtual connection identifier matches the virtual connection identifier previously stored in the particular index latch, to use the index to access the particular connection from the memory location, to convert the user information into a format suitable for the particular connection; and a connection interface coupled to the ATM adaption processor and operable to transmit the user information from the ATM interworking multiplexer over the particular connection for each call.
PCT/US1997/009327 1996-05-28 1997-05-21 Telecommunications system with a connection processing system WO1997046045A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU32227/97A AU3222797A (en) 1996-05-28 1997-05-21 Telecommunications system with a connection processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/653,852 US5940393A (en) 1996-05-28 1996-05-28 Telecommunications system with a connection processing system
US08/653,852 1996-05-28

Publications (1)

Publication Number Publication Date
WO1997046045A1 true WO1997046045A1 (en) 1997-12-04

Family

ID=24622539

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/009327 WO1997046045A1 (en) 1996-05-28 1997-05-21 Telecommunications system with a connection processing system

Country Status (3)

Country Link
US (2) US5940393A (en)
AU (1) AU3222797A (en)
WO (1) WO1997046045A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1177660A1 (en) * 1999-04-27 2002-02-06 Tekelec Methods and systems for routing signaling messages in a communications network using circuit identification code (cic) information
US9043451B2 (en) 2007-07-31 2015-05-26 Tekelec, Inc. Methods, systems, and computer readable media for managing the flow of signaling traffic entering a signaling system 7 (SS7) based network

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920562A (en) * 1996-11-22 1999-07-06 Sprint Communications Co. L.P. Systems and methods for providing enhanced services for telecommunication call
US6023474A (en) 1996-11-22 2000-02-08 Sprint Communications C.O.L.P. Broadband telecommunications system interface
US6031840A (en) * 1995-12-07 2000-02-29 Sprint Communications Co. L.P. Telecommunications system
US6430195B1 (en) * 1994-05-05 2002-08-06 Sprint Communications Company L.P. Broadband telecommunications system interface
US6181703B1 (en) * 1995-09-08 2001-01-30 Sprint Communications Company L. P. System for managing telecommunications
WO1997028622A1 (en) * 1996-02-02 1997-08-07 Sprint Communications Company, L.P. Atm gateway system
US5940393A (en) 1996-05-28 1999-08-17 Sprint Communications Co. L.P. Telecommunications system with a connection processing system
KR100459306B1 (en) * 1996-11-22 2004-12-03 스프린트 커뮤니케이숀스 컴파니 리미티드 파트너쉽 System and method for transporting a call in a telecommunication network
US6115380A (en) * 1996-11-22 2000-09-05 Sprint Communications Co., L.P. Broadband telecommunications system
US6002689A (en) * 1996-11-22 1999-12-14 Sprint Communications Co. L.P. System and method for interfacing a local communication device
US6014378A (en) * 1996-11-22 2000-01-11 Sprint Communications Company, L.P. Telecommunications tandem system for circuit-based traffic
JP2850957B2 (en) * 1997-02-28 1999-01-27 日本電気株式会社 Voice packet ATM relay transfer system
US6137800A (en) * 1997-05-09 2000-10-24 Sprint Communications Company, L. P. System and method for connecting a call
US6178170B1 (en) 1997-05-13 2001-01-23 Sprint Communications Company, L. P. System and method for transporting a call
US6940971B1 (en) * 1997-08-21 2005-09-06 Siemens Schweiz Ag Method and system for activating echo suppression in a communications network
JPH1168782A (en) * 1997-08-26 1999-03-09 Fujitsu Ltd Signaling processing unit and its method
US6145028A (en) * 1997-12-11 2000-11-07 Ncr Corporation Enhanced multi-pathing to an array of storage devices
US6061364A (en) * 1997-12-16 2000-05-09 Alcatel Usa Sourcing, L.P. System and method for transporting SS7 signaling over broadband asynchronous transfer mode links
US6563918B1 (en) * 1998-02-20 2003-05-13 Sprint Communications Company, LP Telecommunications system architecture for connecting a call
US6483837B1 (en) 1998-02-20 2002-11-19 Sprint Communications Company L.P. System and method for connecting a call with an interworking system
US6888820B1 (en) * 1998-02-20 2005-05-03 Sprint Communications Company L.P. System and method for treating a call for call processing
US6128659A (en) * 1998-02-24 2000-10-03 Nokia Telecommunications, Oy Method and apparatus for resolving dynamic channel assignment conflict in AAL2 negotiation procedure
US6546022B1 (en) 1998-04-03 2003-04-08 Sprint Communications Company, L.P. Method, system and apparatus for processing information in a telecommunications system
US6560202B1 (en) * 1998-07-27 2003-05-06 Lucent Technologies Inc. Control architecture using a multi-layer embedded signal status protocol
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US6826616B2 (en) 1998-10-30 2004-11-30 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network
EP3086533B1 (en) 1998-10-30 2019-09-11 VirnetX Inc. An agile network protocol for secure communications with assured system availability
US7418504B2 (en) 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US10511573B2 (en) 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
GB2343582B (en) * 1998-11-06 2000-10-11 Marconi Comm Ltd Telecommunications system
US6496508B1 (en) * 1998-11-12 2002-12-17 Nortel Networks Limited Communication system architecture and method of establishing a communication connection therein
US6614757B1 (en) * 1998-11-23 2003-09-02 3Com Corporation Method of local flow control in an asynchronous transfer mode network utilizing PNNI routing protocol
US6714217B2 (en) * 1998-12-18 2004-03-30 Sprint Communication Company, L.P. System and method for providing a graphical user interface to, for building, and/or for monitoring a telecommunication network
US6597701B1 (en) 1998-12-22 2003-07-22 Sprint Communications Company L.P. System and method for configuring a local service control point with a call processor in an architecture
US6888833B1 (en) * 1998-12-22 2005-05-03 Sprint Communications Company L.P. System and method for processing call signaling
US6785282B1 (en) 1998-12-22 2004-08-31 Sprint Communications Company L.P. System and method for connecting a call with a gateway system
US6982950B1 (en) 1998-12-22 2006-01-03 Sprint Communications Company L.P. System and method for connecting a call in a tandem architecture
US6724765B1 (en) 1998-12-22 2004-04-20 Sprint Communications Company, L.P. Telecommunication call processing and connection system architecture
US7079530B1 (en) 1999-02-25 2006-07-18 Sprint Communications Company L.P. System and method for caching toll free number information
WO2000062494A1 (en) * 1999-04-09 2000-10-19 General Datacomm, Inc. Method and apparatus for mapping narrowband ds0 circuits into aal2 type switched virtual circuits
US7103068B1 (en) * 1999-05-04 2006-09-05 Sprint Communication Company L.P. System and method for configuring bandwidth transmission rates for call connections
US6895088B1 (en) 1999-05-21 2005-05-17 Sprint Communications Company L.P. System and method for controlling a call processing system
CA2280278A1 (en) * 1999-08-12 2001-02-12 Stephan Waespe Method and apparatus for bundling connections
US6832254B1 (en) * 1999-08-23 2004-12-14 Nortel Networks Limited Method and apparatus for associating an end-to-end call identifier with a connection in a multimedia packet network
AU7730400A (en) * 1999-09-30 2001-04-30 Routech, Inc. Automatic routing system for pc board design
US7346008B1 (en) * 1999-10-15 2008-03-18 Alcatel Canada Inc. Method and apparatus for data driven network management
US6542942B1 (en) * 1999-10-27 2003-04-01 Nortel Networks Limited Method and apparatus for processing calls on a multiprocessor communication system
US20010030969A1 (en) * 1999-11-30 2001-10-18 Donaghey Robert J. Systems and methods for implementing global virtual circuits in packet-switched networks
US7106747B2 (en) * 1999-11-30 2006-09-12 Level 3 Communications, Llc Systems and methods for implementing second-link routing in packet switched networks
US6704314B1 (en) * 1999-12-15 2004-03-09 Sprint Communications Company, L.P. Method and apparatus to control cell substitution
US6570855B1 (en) * 1999-12-30 2003-05-27 At&T Corp. Automatic call manager traffic gate feature
US6681264B1 (en) * 2000-05-26 2004-01-20 Lucent Technologies Inc. Implied message sequence charts
US7162024B2 (en) * 2000-09-22 2007-01-09 Santera Systems, Inc. System and method for telephony call control
AU2001297701A1 (en) * 2000-10-10 2002-10-21 Nortel Networks Limited System and method for intercepting telecommunications
US7075936B2 (en) * 2000-11-02 2006-07-11 Agere Systems, Inc. Voice packet processor and method of operation thereof
US7333505B2 (en) * 2000-12-18 2008-02-19 Nortel Networks Limited Transaction management for interworking between disparate networks
DE60239475D1 (en) * 2001-08-22 2011-04-28 Tekelec Calabasas A method for improving the utilization of a time division multiplex communication link of a signaling transfer point, and corresponding signaling transfer point
US7512065B1 (en) * 2001-10-15 2009-03-31 Cisco Technology, Inc. Reducing overhead when setting up multiple virtual circuits using signaling protocols
US7114133B2 (en) * 2002-01-10 2006-09-26 Lsi Logic Corporation Broken symmetry for optimization of resource fabric in a sea-of-platform architecture
US6640333B2 (en) * 2002-01-10 2003-10-28 Lsi Logic Corporation Architecture for a sea of platforms
US6947542B2 (en) * 2002-02-28 2005-09-20 Siemens Communications, Inc. Carrier identification codes (CIC) transport
US7376228B2 (en) * 2002-12-18 2008-05-20 Castel, Inc. Call center management systems
EP2119251A1 (en) * 2007-01-08 2009-11-18 Telefonaktiebolaget LM Ericsson (publ) Invoking a service in an interlligent network
US7916735B2 (en) 2008-12-02 2011-03-29 At&T Intellectual Property I, L.P. Method for applying macro-controls onto IP networks using intelligent route indexing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185743A (en) * 1990-02-08 1993-02-09 Fujitsu Limited Signaling cell switching system
US5271010A (en) * 1990-10-20 1993-12-14 Fujitsu Limited Virtual identifier conversion system
US5323389A (en) * 1992-08-14 1994-06-21 Fore Systems, Inc. ATM cell interface and method for dispatching an ATM cell
US5394393A (en) * 1991-09-06 1995-02-28 Thomson-Csf Method for the routing of a packet of data in a digital transmission network
US5414701A (en) * 1994-07-22 1995-05-09 Motorola, Inc. Method and data structure for performing address compression in an asynchronous transfer mode (ATM) system
US5477537A (en) * 1993-04-06 1995-12-19 Siemens Aktiengesellschaft Method for accessing address features of communication subscribers when sending data packets

Family Cites Families (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4201889A (en) * 1978-03-17 1980-05-06 International Telephone And Telegraph Distributed control digital switching system
US4310727A (en) * 1980-02-04 1982-01-12 Bell Telephone Laboratories, Incorporated Method of processing special service telephone calls
US4348554A (en) * 1980-03-21 1982-09-07 Bell Telephone Laboratories, Incorporated Method of providing virtual private network telephone service
JPS57159192A (en) * 1981-03-27 1982-10-01 Hitachi Ltd Audio packet exchange system
US4565903A (en) * 1983-08-03 1986-01-21 At&T Bell Laboratories Telephone interexchange carrier selection
US4554659A (en) * 1983-12-12 1985-11-19 At&T Bell Laboratories Data communication network
US4683563A (en) * 1984-10-11 1987-07-28 American Telephone And Telegraph Company, At&T Bell Laboratories Data communication network
US4730312A (en) * 1986-02-21 1988-03-08 San/Bar Corporation Voice, data or both over one telephone line in a T-1 carrier system
US4736364A (en) * 1986-03-12 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Switching system control arrangements
US4748658A (en) * 1986-07-16 1988-05-31 Bell Communications Research, Inc. Architecture for allocating resources in a telecommunications network
ES2025099B3 (en) * 1986-07-23 1992-03-16 Siemens Ag MODULAR STRUCTURED ISDN COMMUNICATION SYSTEM WITH FORMATION AND ANNOUNCEMENT OF FAULTS TEXTS
BE1000512A7 (en) * 1987-05-07 1989-01-10 Bell Telephone Mfg Switching network.
US4823338B1 (en) * 1987-08-03 1998-11-10 At & T Information Systems Inc Virtual local area network
DE3742939A1 (en) * 1987-12-18 1989-07-06 Standard Elektrik Lorenz Ag METHOD FOR HYBRID PACKING AND DEVICES THEREFOR
GB8802533D0 (en) * 1988-02-04 1988-03-02 Plessey Co Plc Data packet switching
US4896319A (en) * 1988-03-31 1990-01-23 American Telephone And Telegraph Company, At&T Bell Laboratories Identification and authentication of end user systems for packet communications network services
US4853955A (en) * 1988-04-27 1989-08-01 Network Access Corporation Apparatus and method for providing existing telephone switching equipment with the capability of using the SS7 protocol
US5058104A (en) * 1988-07-26 1991-10-15 Nec Corporation Tdm demultiplexer with dedicated maintenance channels to indicate high-speed line faults to low speed circuits
US5089954A (en) * 1988-08-08 1992-02-18 Bell Communications Research, Inc. Method for handling conversational transactions in a distributed processing environment
US5101404A (en) * 1988-08-26 1992-03-31 Hitachi, Ltd. Signalling apparatus for use in an ATM switching system
EP0437422B1 (en) * 1988-09-30 1993-11-18 Siemens Aktiengesellschaft Communication system for forming virtual annular networks in a fast packet switching network
US5258752A (en) * 1988-11-25 1993-11-02 Sumitomo Electric Industries, Ltd. Broad band digital exchange
CA2002613C (en) * 1988-12-05 1996-02-27 Hisao Yamamoto Adaptive routing control method
US5085104A (en) * 1989-04-12 1992-02-04 Toyota Jidosha Kabushiki Kaisha Hydraulic control apparatus for vehicle power transmitting system
DE3912660C1 (en) * 1989-04-18 1990-08-30 Wandel & Goltermann Gmbh & Co, 7412 Eningen, De
US5018191A (en) * 1989-10-23 1991-05-21 At&T Bell Laboratories Special service call routing
US4993014A (en) * 1989-05-30 1991-02-12 At&T Bell Laboratories Dynamic shared facility system for private networks
JP2964151B2 (en) * 1989-07-03 1999-10-18 富士通株式会社 Communication control method
DE4020775A1 (en) * 1989-08-09 1991-02-14 Standard Elektrik Lorenz Ag COUPLING NETWORK AND COUPLING NETWORK MODULE FOR AN ATM SYSTEM
US4993104A (en) * 1989-08-11 1991-02-19 Rexair, Inc. Electrical safety interlock and pulse-type reset circuit for a vacuum cleaner system
US5231631A (en) * 1989-08-15 1993-07-27 At&T Bell Laboratories Arrangement for regulating traffic in a high speed data network
JPH03104451A (en) * 1989-09-19 1991-05-01 Fujitsu Ltd Route changeover system for multi-stage link exchange system
US5434981A (en) * 1989-09-28 1995-07-18 Rockwell International Corporation Functionally programmable PCM data analyzer and transmitter for use in telecommunication equipment
US5048081A (en) * 1989-12-28 1991-09-10 At&T Bell Laboratories Arrangement for routing packetized messages
CA2038646C (en) * 1990-03-20 1995-02-07 Katsumi Oomuro Atm communication system with optimal traffic control by changing the allocated bandwidth
JP2957223B2 (en) * 1990-03-20 1999-10-04 富士通株式会社 Load distribution control method for call processor
ATE127988T1 (en) * 1990-03-23 1995-09-15 Siemens Ag METHOD FOR SETTING UP VIRTUAL CONNECTIONS IN EXCHANGE FACILITIES WORKING IN AN ASYNCHRONOUS TRANSFER MODE.
US5003584A (en) * 1990-04-16 1991-03-26 At&T Bell Laboratories Method and apparatus for the billing of value-added communication calls
JP2555907B2 (en) * 1990-05-23 1996-11-20 日本電気株式会社 Complex network address routing control system
US5231633A (en) * 1990-07-11 1993-07-27 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
EP0810806A3 (en) * 1990-07-26 2001-04-11 Nec Corporation Method of transmitting a plurality of asynchronous cells
JPH04100342A (en) * 1990-08-20 1992-04-02 Toshiba Corp Traffic control system
JP2878805B2 (en) * 1990-08-20 1999-04-05 株式会社東芝 ATM switch
US5115431A (en) * 1990-09-28 1992-05-19 Stratacom, Inc. Method and apparatus for packet communications signaling
US5193110A (en) * 1990-10-09 1993-03-09 Boston Technology, Incorporated Integrated services platform for telephone communication system
US5453981A (en) * 1990-10-16 1995-09-26 Kabushiki Kaisha Toshiba Method of controlling communication network incorporating virtual channels exchange nodes and virtual paths exchange nodes
US5255266A (en) * 1990-10-20 1993-10-19 Fujitsu Limited ATM switching unit
FR2669798B1 (en) * 1990-11-23 1994-09-16 Lmt Radio Professionelle DEVICE FOR TRANSMITTING SYNCHRONOUS INFORMATION OVER AN ASYNCHRONOUS NETWORK, ESPECIALLY AN ATM NETWORK.
DE4290562T1 (en) * 1991-02-28 1996-03-07 Stratacom Inc Method and device for routing cell messages with delay
JPH04276942A (en) * 1991-03-05 1992-10-02 Fujitsu Ltd Setting system for logic channel in atm network
US5218602A (en) * 1991-04-04 1993-06-08 Dsc Communications Corporation Interprocessor switching network
US5168492A (en) * 1991-04-11 1992-12-01 Northern Telecom Limited Rotating-access ATM-STM packet switch
US5251255A (en) * 1991-04-17 1993-10-05 At&T Bell Laboratories Processing interactions among telecommunications call features
JPH05122391A (en) * 1991-05-08 1993-05-18 Fujitsu Ltd Information collection service system
US5282244A (en) * 1991-06-24 1994-01-25 At&T Bell Laboratories Virtual signaling network method
US5291479A (en) * 1991-07-16 1994-03-01 Digital Technics, Inc. Modular user programmable telecommunications system with distributed processing
US5179556A (en) * 1991-08-02 1993-01-12 Washington University Bandwidth management and congestion control scheme for multicast ATM networks
US5327433A (en) * 1991-08-30 1994-07-05 Adtran Corporation Digital tandem channel unit interface for telecommunications network
HUT62831A (en) * 1991-09-12 1993-06-28 Gen Electric Method for producing covered cubed leather-nitride abrasive grain, abrasive grain and grinding tool by using the same
DE69129851T2 (en) * 1991-09-13 1999-03-25 Ibm Configurable gigabit / s switch adapter
JPH05122240A (en) * 1991-10-24 1993-05-18 Fujitsu Ltd Vpi vci allocation system in atm transmission
US5291492A (en) * 1991-12-18 1994-03-01 Unifi Communications Corporation Externally controlled call processing system
JPH05168073A (en) * 1991-12-19 1993-07-02 Mitsubishi Electric Corp Device for inserting and extracting common line signal
US5367566A (en) * 1991-12-27 1994-11-22 At&T Corp. Common channel signaling message intercept system
US5295137A (en) * 1992-02-12 1994-03-15 Sprint International Communications Corp. Connection establishment in a flat distributed packet switch architecture
US5357510A (en) * 1992-02-19 1994-10-18 Fujitsu Limited Apparatus and a method for supervising and controlling ATM traffic
JPH05236138A (en) * 1992-02-20 1993-09-10 Nec Corp Electronic exchange
US5375124A (en) * 1992-02-20 1994-12-20 At&T Corp. Method and apparatus for providing ISDN access
US5285441A (en) * 1992-03-17 1994-02-08 At&T Bell Laboratories Errorless line protection switching in asynchronous transer mode (ATM) communications systems
JPH05292114A (en) * 1992-04-09 1993-11-05 Fujitsu Ltd Communication path setting device and its method
US5345443A (en) * 1992-04-30 1994-09-06 At&T Bell Laboratories Network-based digital bandwidth-on-demand
US5278889A (en) * 1992-07-29 1994-01-11 At&T Bell Laboratories Video telephony dialing
US5329308A (en) * 1992-07-29 1994-07-12 At&T Bell Laboratories Bidirectional video telephony between cable television and switched telephone systems
FR2694466B1 (en) * 1992-07-29 1994-09-02 Cit Alcatel Telecommunication network carrying out call processing and connection processing separately.
ATE148291T1 (en) 1992-08-25 1997-02-15 Siemens Ag CALL PROCESSING SYSTEM FOR CONTROLLING CONNECTIONS IN A SWITCHING SYSTEM
DE59209115D1 (en) * 1992-08-28 1998-02-12 Siemens Ag Method and circuit arrangement for transmitting message cells within an ATM network
JPH06169320A (en) 1992-10-02 1994-06-14 Toshiba Corp Atm cell making device
US5384840A (en) * 1992-10-09 1995-01-24 At&T Corp. Telecommunications system SS7 signaling interface with signal transfer capability
US5519707A (en) 1992-10-13 1996-05-21 Synoptics Communications, Inc. Multiplexing of communications services on a virtual service path in an ATM network or the like
JPH06132972A (en) * 1992-10-20 1994-05-13 Fujitsu Ltd Broad band isdn remote multiplexer
CA2104753C (en) * 1992-10-29 1999-02-16 Kotikalapudi Sriram Bandwidth allocation, transmission scheduling, and congestion avoidance in broadband atm networks
US5345446A (en) * 1992-11-06 1994-09-06 At&T Bell Laboratories Establishing telecommunications call paths in broadband communication networks
US5327421A (en) * 1992-11-06 1994-07-05 At&T Bell Laboratories Apparatus for interfacing between telecommunications call signals and broadband signals
US5365524A (en) * 1992-11-06 1994-11-15 At&T Bell Laboratories Establishing telecommunications call paths between clustered switching entities
US5345445A (en) * 1992-11-06 1994-09-06 At&T Bell Laboratories Establishing telecommunications calls in a broadband network
KR960003505B1 (en) * 1992-12-29 1996-03-14 재단법인 한국전자통신연구소 Atm multiplexing processor
GB2276292B (en) * 1993-03-17 1997-01-08 Roke Manor Research Improvements in or relating to communication systems
US5420858A (en) * 1993-05-05 1995-05-30 Synoptics Communications, Inc. Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium
JPH06335079A (en) * 1993-05-19 1994-12-02 Fujitsu Ltd Cell multiplexer in atm network
US5539884A (en) 1993-05-20 1996-07-23 Bell Communications Research, Inc. Intelligent broadband communication system and method employing fast-packet switches
JP2518515B2 (en) * 1993-05-27 1996-07-24 日本電気株式会社 High-speed connection setup packet switch
US5673262A (en) 1993-06-03 1997-09-30 Nec Corporation Communication network comprising transit switches without asynchronous transfer mode switching capability
US5473677A (en) * 1993-06-23 1995-12-05 At&T Corp. Telecommunications network architecture and system
DK0631454T3 (en) 1993-06-25 2000-03-20 Siemens Ag Method of establishing virtual connections in packet switching networks
CA2124379C (en) * 1993-06-25 1998-10-27 Thomas F. La Porta Distributed processing architecture for control of broadband and narrowband communications networks
US5509010A (en) * 1993-06-25 1996-04-16 At&T Corp. Communications signaling protocols
US5392402A (en) * 1993-06-29 1995-02-21 Bell Communications Research, Inc. Broadband intelligent telecommunications network and method employing a resource system to support network services
US5377186A (en) * 1993-07-21 1994-12-27 Telefonaktiebolaget L M Ericsson System for providing enhanced subscriber services using ISUP call-setup protocol
US5384771A (en) * 1993-08-27 1995-01-24 At&T Corp. Multimedia call configuration system
US5444713A (en) * 1993-09-14 1995-08-22 At&T Corp. Telephone information service system using digital and out-of-band signaling
GB9319449D0 (en) 1993-09-21 1993-11-03 Plessey Telecomm Telecommunications switching
US5600643A (en) 1993-09-23 1997-02-04 Bell Communications Research, Inc. Broadband intelligent telecommunications network and method providing enhanced capabilities for customer premises equipment
US5479495A (en) * 1993-10-01 1995-12-26 U S West Advanced Technologies, Inc. Method and system for automatically accessing and invoking switch-based services in an advanced intelligent network
US5495484A (en) 1993-10-12 1996-02-27 Dsc Communications Corporation Distributed telecommunications switching system
US5440563A (en) * 1993-10-12 1995-08-08 At&T Corp. Service circuit allocation in large networks
DE69330791T2 (en) 1993-10-14 2002-05-02 Ibm Method and device for data transfer into an ATM network
US5454034A (en) * 1993-11-23 1995-09-26 At&T Corp. Arrangement for sharing a telephone office code
CA2110643C (en) 1993-12-03 1997-07-08 Deborah L. Pinard Method of telephone signalling via data link
US5425090A (en) * 1993-12-07 1995-06-13 Bell Communications Research, Inc. System and method for providing advanced intelligent network services
DE4341888C1 (en) 1993-12-08 1995-04-06 Siemens Ag Method for controlling components of a communications system
US5473679A (en) * 1993-12-09 1995-12-05 At&T Corp. Signaling system for broadband communications networks
US5563939A (en) 1993-12-09 1996-10-08 At&T Method and system for delivering a communication service
US5426636A (en) * 1993-12-20 1995-06-20 At&T Corp. ATM distribution networks for narrow band communications
US5422882A (en) * 1993-12-20 1995-06-06 At&T Corp. ATM networks for narrow band communications
US5452297A (en) * 1993-12-20 1995-09-19 At&T Corp. Access switches for large ATM networks
US5428607A (en) * 1993-12-20 1995-06-27 At&T Corp. Intra-switch communications in narrow band ATM networks
US5457684A (en) * 1993-12-21 1995-10-10 At&T Ipm Corp. Delay-less signal processing arrangement for use in an ATM network
US5428609A (en) * 1994-01-03 1995-06-27 At&T Corp. STM-to-ATM converters
JP3386547B2 (en) * 1994-01-26 2003-03-17 株式会社東芝 Redundancy circuit device
US5485455A (en) * 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5522042A (en) * 1994-01-28 1996-05-28 Cabletron Systems, Inc. Distributed chassis agent for distributed network management
DE69530534T2 (en) 1994-02-25 2004-03-18 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Message receiving circuit for a signaling network
US5509123A (en) * 1994-03-22 1996-04-16 Cabletron Systems, Inc. Distributed autonomous object architectures for network layer routing
CA2145017C (en) 1994-03-31 2000-02-15 Masaru Murakami Cell multiplexer having cell delineation function
US5920562A (en) 1996-11-22 1999-07-06 Sprint Communications Co. L.P. Systems and methods for providing enhanced services for telecommunication call
CA2189253C (en) 1994-05-05 2002-12-31 Joseph Michael Christie Method, system and apparatus for telecommunications control
US5703876A (en) 1994-05-05 1997-12-30 Christie; Joseph Michael ATM transport system
US5506844A (en) * 1994-05-20 1996-04-09 Compression Labs, Inc. Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth
US5533106A (en) * 1994-06-27 1996-07-02 Us West Technologies, Inc. Method and system for processing calls wherein the display of calling party ID information has been inhibited
US5459722A (en) * 1994-06-30 1995-10-17 At&T Ipm Corp. Asynchronous transfer mode (ATM) transport of voice-band signals
CA2127521C (en) 1994-07-06 2002-02-05 Kenneth M. Buckland Method and apparatus for recovering a variable bit rate service clock
JP2812205B2 (en) 1994-08-12 1998-10-22 日本電気株式会社 D channel packet communication system
US5592477A (en) 1994-09-12 1997-01-07 Bell Atlantic Network Services, Inc. Video and TELCO network control functionality
US5621728A (en) 1994-09-12 1997-04-15 Bell Atlantic Network Services, Inc. Level 1 gateway controlling broadband communications for video dial tone networks
US5566173A (en) 1994-10-12 1996-10-15 Steinbrecher Corporation Communication system
US5526414A (en) 1994-10-26 1996-06-11 Northern Telecom Limited Dynamically controlled routing using virtual nodes
US5530724A (en) 1994-11-29 1996-06-25 At&T Corp. Echo canceler with automatic enablement/disablement on a per-call basis
US5568475A (en) 1994-12-21 1996-10-22 Lucent Technologies Inc. ATM network architecture employing an out-of-band signaling network
US5483527A (en) * 1994-12-21 1996-01-09 At&T Corp. Terminal adapter for interfacing an ATM network with a STM network
DE19502414C1 (en) 1995-01-26 1996-02-08 Siemens Ag Rapid through switching of virtual connections in ATM communication system
US5627836A (en) 1995-01-31 1997-05-06 Bell Atlantic Network Services, Inc. VPI/VCI administration
US5541918A (en) 1995-01-31 1996-07-30 Fore Systems, Inc. Method and apparatus for manipulating an ATM cell
US5539815A (en) * 1995-02-24 1996-07-23 At&T Corp. Network call routing controlled by a management node
US5623491A (en) 1995-03-21 1997-04-22 Dsc Communications Corporation Device for adapting narrowband voice traffic of a local access network to allow transmission over a broadband asynchronous transfer mode network
US5544161A (en) 1995-03-28 1996-08-06 Bell Atlantic Network Services, Inc. ATM packet demultiplexer for use in full service network having distributed architecture
US5635980A (en) 1995-04-04 1997-06-03 Bell Communications Research, Inc. System and method for customer premises broadband interface with on-hook alerting
US5640446A (en) 1995-05-01 1997-06-17 Mci Corporation System and method of validating special service calls having different signaling protocols
US5680390A (en) 1995-06-06 1997-10-21 Bell Communications Research, Inc. Broadband telecommunications network and method of having operations systems support
US5577039A (en) 1995-06-07 1996-11-19 Samsung Electronics, Inc. System and method of signal transmission within a plesiochronous digital hierarchy unit using ATM adaptation layers
US5708702A (en) 1995-07-28 1998-01-13 Bell Atlantic Network Services, Inc. Dynamic STP routing in response to triggering
US5636210A (en) 1995-08-02 1997-06-03 Agrawal; Jagannath P. Asynchronous transfer mode packet switch
US5661725A (en) 1995-09-12 1997-08-26 At&T Trunk-conditioning for reconfigurable T1 access to nodal services
US5629930A (en) 1995-10-31 1997-05-13 Northern Telecom Limited Call routing in an ATM switching network
US5867571A (en) 1996-02-23 1999-02-02 Lucent Technologies Inc. Method and arrangement for establishing call connections in a telecommunications network using a virtual transport server
US5710769A (en) 1996-02-29 1998-01-20 Lucent Technologies Inc. Merging the functions of switching and cross connect in telecommunications networks
US5802045A (en) 1996-04-30 1998-09-01 Lucent Technologies Inc. Method of using a narrowband server to provide service features to broadband subscribers
US5774465A (en) 1996-05-17 1998-06-30 Transwitch Corp. Method and apparatus for providing multiple multicast communication sessions in an ATM destination switch
US5940393A (en) 1996-05-28 1999-08-17 Sprint Communications Co. L.P. Telecommunications system with a connection processing system
US5751706A (en) 1996-06-05 1998-05-12 Cignal Global Communications, Inc. System and method for establishing a call telecommunications path

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185743A (en) * 1990-02-08 1993-02-09 Fujitsu Limited Signaling cell switching system
US5271010A (en) * 1990-10-20 1993-12-14 Fujitsu Limited Virtual identifier conversion system
US5394393A (en) * 1991-09-06 1995-02-28 Thomson-Csf Method for the routing of a packet of data in a digital transmission network
US5323389A (en) * 1992-08-14 1994-06-21 Fore Systems, Inc. ATM cell interface and method for dispatching an ATM cell
US5477537A (en) * 1993-04-06 1995-12-19 Siemens Aktiengesellschaft Method for accessing address features of communication subscribers when sending data packets
US5414701A (en) * 1994-07-22 1995-05-09 Motorola, Inc. Method and data structure for performing address compression in an asynchronous transfer mode (ATM) system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1177660A1 (en) * 1999-04-27 2002-02-06 Tekelec Methods and systems for routing signaling messages in a communications network using circuit identification code (cic) information
EP1177660A4 (en) * 1999-04-27 2003-05-28 Tekelec Us Methods and systems for routing signaling messages in a communications network using circuit identification code (cic) information
US9043451B2 (en) 2007-07-31 2015-05-26 Tekelec, Inc. Methods, systems, and computer readable media for managing the flow of signaling traffic entering a signaling system 7 (SS7) based network

Also Published As

Publication number Publication date
AU3222797A (en) 1998-01-05
US5940393A (en) 1999-08-17
US6147994A (en) 2000-11-14

Similar Documents

Publication Publication Date Title
US6147994A (en) Telecommunications system with a connection processing system
US6081525A (en) Broadband telecommunications system
US8730971B2 (en) Broadband telecommunications system
US6529514B2 (en) ATM gateway system
US7327728B2 (en) Broadband telecommunications system
CA2271761C (en) Broadband telecommunications system
MXPA99004599A (en) Broadband telecommunications system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG UZ VN YU AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 97542990

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA