US20110200184A1 - Multiple protocol communications - Google Patents
Multiple protocol communications Download PDFInfo
- Publication number
- US20110200184A1 US20110200184A1 US13/096,834 US201113096834A US2011200184A1 US 20110200184 A1 US20110200184 A1 US 20110200184A1 US 201113096834 A US201113096834 A US 201113096834A US 2011200184 A1 US2011200184 A1 US 2011200184A1
- Authority
- US
- United States
- Prior art keywords
- call
- telephony
- protocol
- gateway
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000004891 communication Methods 0.000 title claims description 32
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000000977 initiatory effect Effects 0.000 claims abstract description 11
- 230000011664 signaling Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 6
- 108700023290 Stanford University protocol Proteins 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 101000961041 Pseudopleuronectes americanus Ice-structuring protein B Proteins 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 229920006235 chlorinated polyethylene elastomer Polymers 0.000 description 3
- 238000000136 cloud-point extraction Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 101000961042 Pseudopleuronectes americanus Ice-structuring protein A Proteins 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1033—Signalling gateways
- H04L65/104—Signalling gateways in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1106—Call signalling protocols; H.323 and related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
A particular method includes receiving a dialing code from a calling device at a customer premise device coupled to the calling device. The method also includes selecting a telecommunication protocol based at least in part on a network of a receiving device. The method further includes initiating a call to the receiving device using the selected telecommunication protocol.
Description
- This application is a continuation of and claims priority to U.S. patent application Ser. No. 10/613,656 filed Jul. 3, 2003, which is a continuation in part of U.S. patent application Ser. No. 10/354,527 filed Jan. 30, 2003, which claims priority to Provisional Application No. 60/394,207 filed Jul. 5, 2002. Each of the above referenced applications is incorporated by reference herein, in their entirety, for all purposes.
- The present disclosure relates generally to implementation of communication protocols.
- Less than thirty years ago, the term “telecommunications” connoted making and receiving telephone calls over the public switched telephone network (PSTN). Today, telecommunications means transporting data representing voice, video, text, and instructions over wired and wireless digital networks such as the Internet.
- Within the PSTN telephony environment the equipment needed to support the telecommunications infrastructure was centralized at a telephone company “central office” so that Customer Premises Equipment (CPE) could be limited to simple telephones. The nature of modern digital networks is to decentralize many functions and capabilities thus requiring more complex CPE to provide access. However, subscribers expect newer digital telecommunications to be usable with the same ease as the traditional telephone and at low cost. This expectation dictates that the digital network interfaces and associated protocols be compact and unobtrusive, implemented inexpensively, and require little in the way of subscriber interaction.
- The complexity of implementing a CPE for digital telecommunications comes primarily from the need to implement the protocols used to organize information sent over digital networks. These protocols evolved in rich computing environments with many computing resources (e.g., central processing unit (CPU) power for computation; memory for data and program storage). Additionally, the protocols evolved quickly (i.e., in months or years, vs. the traditional PSTN years or decades), reflecting knowledge gained from actual application. The CPE for digital communications of today must, therefore, have an effective way to deal with protocol implementation within the restricted computational resources dictated by the CPE's restricted hardware cost.
- What would be useful is a system and method for implementing multiple digital telecommunication protocols on a reduced hardware CPE that is not limited to any specific protocol.
- A particular embodiment is a telecommunications gateway that implements telecommunication protocols using a telecommunication protocol engine (TPE). Telecommunication protocols include multiple digital networking protocols (e.g., Session Initiation Protocol (SIP), H.323, DHCP, TCP/IP and STUN protocol) and telephony protocols. However, the present disclosure is not so limited. As will be apparent to those skilled in the art, any protocol that facilitates telecommunications over digital networks (both between digital devices, a digital device and an analog device, and between analog devices) may be implemented by the TPE without departing from the scope of the present disclosure.
- In this embodiment, the TPE is implemented using inexpensive, memory limited microprocessors and inexpensive flash memory. However, this is not meant as a limitation. As will be apparent to those skilled in the art, embodiments may be implemented in other computing contexts without departing from the scope of the present disclosure.
- Therefore, an aspect of the present disclosure is an implementation of a telecommunication protocol engine (TPE) using a memory limited microprocessor and flash memory.
- Another aspect of the present disclosure is an implementation of a (TPE) using a “virtual machine” that executes instructions from flash memory.
- Another aspect of the present disclosure is the representation of telecommunication protocols as Finite State Machine (FSM) abstractions.
- Still another aspect of the present disclosure is the implementation of a virtual machine to support FSMs used to express protocol implementation.
- A further aspect of the present disclosure is the implementation of FSMs using virtual machine instructions stored in a flash memory, wherein the virtual machine instructions represent telecommunication protocols implemented as states, instructions, and transitions.
- Yet another aspect of the present disclosure is a CPE Control Protocol that specifies how an end user can control the behavior of the CPE using a standard telephone that may be connected directly to the CPE or that accesses the CPE remotely.
- An aspect of the present disclosure is a telephony gateway including a TPE.
- Another aspect of the present disclosure is the implementation of the Session Initiation Protocol (SIP), H.323 protocol, DHCP and STUN protocol as FSM.
- These and other aspects of the present disclosure will become apparent from a review of the general and detailed descriptions that follow. A particular embodiment is a telecommunications gateway that implements multiple digital networking protocols using a telecommunication protocol engine (TPE). In this embodiment, the TPE is implemented using inexpensive, memory limited microprocessors and inexpensive flash memory. However, this is not meant as a limitation. As will be apparent to those skilled in the art, particular embodiments may be implemented in other computing contexts without departing from the scope of the present disclosure.
- A finite state machine (FSM) execution facility is implemented using virtual machine instructions located in the flash memory. The “state” of a given instance of a FSM is located in the RAM and accessed by the microprocessor. As the virtual machine executes instructions from the flash memory, it modifies the FSM state in RAM along with accessing other facilities of the microprocessor and other software resources.
- Another embodiment includes a method for representing a protocol as a FSM using an extension of the C++ programming language. Specifically, an FSM specification may be created on a development computer using C++ with a specialized library. The result is a program that, when executed on the development computer, produces virtual machine instructions that can be loaded into the flash memory of the TPE. The virtual machine within the TPE microprocessor then uses these instructions as described above. While this embodiment uses the C++ programming language and a C++ library, the present disclosure is not so limited. As will be appreciated by those skilled in the art, other programming languages (and related libraries) may be used to produce virtual machine instructions that define an FSM.
- An additional aspect of the present disclosure is the specification of a CPE Control Protocol that is implemented using the technique described above. This protocol specifies how an end user can control the behavior of the CPE using a standard telephone that may be connected directly to the CPE or accessing the CPE remotely by “calling” over either a Voice over Internet Protocol (VoIP) or PSTN connection. This protocol allows the user to direct the CPE to place a local telephone to VoIP call; a local telephone to local PSTN call or a received VoIP call routed to the local PSTN based call. Additionally, this protocol allows the user to modify other operations of the CPE.
- The CPE Control Protocol receives input from the user via the standard telephone touch-tone keypad. Specifically, the user enters a pound-sign (#), a sequence of digits or stars identifying the operation with any related data and a terminating pound-sign (#) indicating the end of user input. The CPE Control Protocol communicates with the user via one or more facilities depending on the originating location of the command. These include: flashing of light-emitting diodes (LEDs) on the CPE; generation of tones played over the telephone; voice commands played over the telephone; placing a call back to the telephone; and using a “Caller ID” mechanism to present alpha numeric data via the telephones Caller ID display facility.
-
FIG. 1A illustrates a functional block diagram of a telecommunication protocol engine according to an embodiment. -
FIG. 1B illustrates a functional block diagram of a telecommunication protocol according to an embodiment. -
FIG. 1C illustrates a function block diagram showing data flows in a telecommunication protocol engine according to an embodiment. -
FIG. 2 illustrates a flowchart of a process for implementing a telecommunication according to an embodiment. -
FIG. 3 illustrates means for expressing a finite state machine (FSM) according to an embodiment. -
FIG. 4 illustrates a Voice over Internet Protocol (VoIP) telecommunication between a caller and a called party from the perspective of the caller according to an embodiment. -
FIG. 5 illustrates a script created using a scripting language to implement the protocol illustrated inFIG. 4 . -
FIG. 6 illustrates a block diagram of a telephony gateway according to an embodiment. -
FIG. 7 illustrates a service offering according to an embodiment. -
FIG. 8 illustrates a service provider gateway according to an embodiment. - A particular embodiment is a telecommunications gateway that implements multiple protocols using a telecommunication protocol engine (TPE). In this embodiment, the TPE is implemented using an inexpensive, memory limited microprocessor and inexpensive flash memory. A finite state machine (FSM) execution facility is implemented in firmware using virtual machine instructions located in the flash memory. The “state” of a given instance of a FSM is located in the RAM and accessed by the microprocessor. As the virtual machine executes instructions from the flash memory, it modifies the FSM state in RAM along with accessing other facilities of the microprocessor and other software resources. However, this is not meant as a limitation. As will be apparent to those skilled in the art, particular embodiments may be implemented in other computing contexts without departing from the scope of the present disclosure.
- Referring to
FIG. 1A , a block diagram of aTPE 100 according to an embodiment is illustrated. TheTPE 100 includesmicroprocessor 102 andflash memory 140. Themicroprocessor 102 includes a central processing unit (CPU) 120, random-access memory (RAM) 115, andfirmware 105 in which avirtual machine 125 resides. TheCPU 120 runs thevirtual machine 125 and communicates with theflash memory 140 over adata bus 110. In the preferred embodiment, thedata bus 110 is a parallel bus, but this is not meant as a limitation. In another embodiment, thedata bus 110 is a serial bus. Theflash memory 140 holds protocol templates forprotocol A 145,protocol B 155, andprotocol N 160 and data relating to each protocol. Each protocol template includesvirtual machine instructions 150 defining one or more finite state machines (FSMs) implementing a particular protocol, illustrated only forprotocol A 145. TheRAM 115 may include finite state machine (FSM) instructions. - A protocol template provides specifications for the one or more FSMs that represent a single protocol. Each FSM specification is used to generate a set of
virtual machine instructions 150 that define a FSM implementing all or a portion of a particular protocol. -
FIG. 1B illustrates a functional block diagram of a telecommunication protocol according to an embodiment.Protocol A 145 includes thevirtual machine instructions 150. Thevirtual machine instructions 150 forprotocol A 145 define a firstfinite state machine 161, a secondfinite state machine 162, and an Nthfinite state machine 163. Thus, a single protocol may include more than one finite state machine. Telecommunication protocols include multiple digital networking protocols (e.g., Session Initiation Protocol (SIP), H.323, dynamic host configuration protocol (DHCP), transmission control protocol/internet protocol (TCP/IP) and session traversal utilities for network address translation (STUN) protocol) and telephony protocols. However, the present disclosure is not so limited. As will be apparent to those skilled in the art, any protocol that facilitates telecommunications over digital networks (both between digital devices, a digital device and an analog device, and between analog devices) may be implemented by the TPE without departing from the scope of the present disclosure. - The
virtual machine instructions 150 are read and executed on demand by a virtual machine that resides in thefirmware 105. Since the microprocessor 102 (seeFIGS. 1A and 1C ) retrieves instructions in response to a request from thevirtual machine 125, only a tiny portion of an entire protocol specification (specifically one virtual machine instruction and its associated operands) is stored in theRAM 115 at any given time. One advantage of this arrangement is that theRAM 115 contains only the currently executing virtual machine instruction and data, and a few miscellaneous data structures needed for representing the current FSM states (also fixed in size). The content of theflash memory 140—which can be quite sizeable if it implements a number of complex protocols—does not utilize any significant portion of theRAM 115. The size of thevirtual machine instructions 150 is limited by the amount offlash memory 140 available, and has no significant impact on theRAM 115 resources. This allows complex protocols to be implemented on very low cost microcontroller architectures in which program and data memory is very limited but flash memory is plentiful. -
FIG. 1C illustrates a function block diagram showing data flows in thetelecommunication protocol engine 100 according to an embodiment. The bus references have been deleted for clarity. Aprotocol creation system 175 produces thevirtual machine instructions 150. In an embodiment, theprotocol creation system 175 includes a C++ development environment that is used to encode an FSM specification for a protocol as human readable text. The resulting C++ program is then executed to generate the virtual machine code that is store in theflash memory 140 via I/O ports 165 and I/O bus 170 (FIG. 1A ). While this embodiment uses the C++ programming language and a C++ library, the present disclosure is not so limited. As will be appreciated by those skilled in the art, other programming languages (and related libraries) may be used to produce virtual machine instructions that define a FSM. - A
virtual machine instruction 150 and its operands are retrieved, by theCPU 120 at the direction of thevirtual machine 125 and stored inRAM 115 for execution.Virtual machine 125 then executes the instruction that was retrieved. - A telecommunication protocol is implemented in accordance with the process embodiment illustrated in
FIG. 2 . A call is made to the TPE to implement a telecommunication protocol, at 200. The call is processed, at 205, by the microprocessor via the TPE software, which determines, at 210, which telecommunication protocol is to be implemented and where the protocol template resides in flash memory, at 215. FSM data is then created in RAM and initialized to represent the state of the FSM used to implement the protocol, at 220. The virtual machine then starts executing instructions from a location within the flash memory based upon the FSM data, at 225. - The classic definition of a FSM is a collection of states. When a FSM is being executed, it is said to be “in” a specific state waiting for an event. When an event occurs, the FSM definition asserts a next state to be entered. When a state is entered a set of actions may performed, then the FSM waits in that state for the next event. This FSM operational model is implemented directly by the virtual machine described above in reference to
FIG. 1B and supported by the specialized virtual machine instructions generated from the FSM that expresses the protocol. Specifically, the State entry actions are expressed as specialized virtual machine instructions. Additional the virtual machine is capable of executing multiple FSM at the same time be they multiple instances of one FSM definition or different FSM definitions. It is through this facility that the TPE supports multiple protocols concurrently. - The virtual machine in this embodiment is specially designed to operate with events modeled as “tokens” so that it can respond to both physical events identified by the microprocessor firmware or logical events generated by other FSMs being concurrently executed in a uniform manner. The representation of “tokens” and their management further enhances the TPE to operate on very low cost microprocessor architectures in which program and data memory is very limited.
- Virtual machine instructions are generated using a “translator” that receives human-readable syntax and translates this syntax to FSM instructions. To facilitate the specification of a protocol in human readable form and support its maintenance as the protocol evolves over time, the translator and virtual machine support the concept of shared state entry instructions through function or macros. These are collections of virtual machine instructions that reside in the flash memory, along with FSM specifications. As required, the virtual machine can execute these special collections of instructions upon demand.
-
FIG. 3 illustrates a means for expressing FSM according to an embodiment. Referring toFIG. 3 , a function name is associated with a purpose. These function name/purpose pairs are used to author protocol implementations via FSM definitions. A function name/purpose pair (referred to as an “Advocate”) corresponds to a facility “known” to the virtual machine that is implemented in the firmware. While this exemplary embodiment uses the C++ programming language, the present disclosure is not so limited. As will be appreciated by those skilled in the art, other programming languages may be used to produce virtual machine instructions that define a FSM. - The C++ definition of each Advocate includes code that produces the appropriate virtual machine instructions that will be placed into the flash memory. Note that some Advocates take parameters. The task of setting up virtual machine instructions for accessing and updating these parameters is also performed by C++ code within the body of the Advocate.
-
FIG. 4 illustrates a VoIP telecommunication protocol according to an embodiment between a caller and a called party from the perspective of the caller.FIG. 5 illustrates a script according to an embodiment created using the scripting language (FIG. 3 ) to implement the protocol illustrated inFIG. 4 . The caller initiates a call, at 400, causing the FSM to send a message to the called party, at 410. Referring toFIG. 5 , the initial state of the FSM is “CALL INITIATED.” The FSM then receives signaling messages via the network from the called party indicating the response (status) of the called party, at 420. If the called party is busy, the FSM receives a CALLED PARTY BUSY condition (referred to as an event), at 430, executes a PLAY BUSY TONE command (an action), at 460, and enters a “BUSY TONE” state, at 475. Similarly, if there is no response from the called party and the call times out, at 420, the FSM receives a TIME OUT condition, at 440, executes a PLAY FAST BUSY TONE command, at 470, and enters a “FAST BUSY TONE” state, at 485. If the call is delivered, the FSM receives a CALL DELIVERED condition, at 450, executes both an “Init Vocoder” and “Send (CONNECT_ACK)” instruction, at 465, and enters a “Voice” state, at 480. -
FIG. 6 illustrates a block diagram of atelephony gateway 600 according to an embodiment. A digital signal processor (DSP) 603 communicates with aCPU 610 over a host interface/API 605. Power to thetelephony gateway 600 is provided via apower supply 615. TheDSP 603 communicates with a subscriber line interface (SLI) 620 that offers connection to consumer premises equipment through a firstexternal jack 625. TheSLI 620 interfaces with customer premises equipment, such as a telephone. TheDSP 603 communicates with a data access arrangement (DAA) 635 that offers connection to a public switched telephone network (PSTN) through a secondexternal jack 637. - The
CPU 610 is connected to aRAM 650, to aflash memory 640, and to afirmware unit 660. Together, theCPU 610, theRAM 650, theflash memory 640, and thefirmware unit 660 include a telecommunication protocol engine as described in the context ofFIG. 1 . TheCPU 610 also provides an interface to I/O ports 630. In an embodiment, the I/O ports 630 include a serial interface and an Ethernet interface. The I/O ports 630 are accessible through a thirdexternal jack 645. It is anticipated that as RAM becomes cheaper and more capable of enhanced storage that thefirmware unit 660 can also reside within theRAM 650. -
FIG. 7 illustrates a service offering according to an embodiment. Referring toFIG. 7 , aservice provider network 700 includes aservice provider proxy 703, aservice provider gateway 705 and connectivity to a public switched telephone network (PSTN) 740, an internet service provider (ISP)-Anetwork 710, and an ISP-B network 715. A telephony gateway-A 720 is in communication with the ISP-A network 710. A telephone-A 725 is connected to the telephony gateway-A 720. Similarly, a telephony gateway-B 730 is in communication with the ISP-B network 715. A telephone-B 735 is connected to the telephony gateway-B 730. - A connection between the telephony gateway (720,730) and its associated ISP network (710, 715) is made by means known in the art. By way of illustration and not as a limitation, the telephony gateway-
A 720 is in communication with the ISP-A network 710 using DSL connection. The telephony gateway-B 730 is in communication with the ISP-B network 715 via a dialup connection. It is noteworthy that no general-purpose computer is required to establish communication between the telephony gateway (720, 730) and theservice provider gateway 705. - Both the telephony gateway-
A 720 and the telephony gateway-B 730 are registered with theservice provider network 700. The telephony gateway-A 720 may place a call to the telephony gateway-B 730 by interacting with theservice provider network 700. Theservice provider proxy 703 then contacts the telephony gateway-B 730 on behalf of the telephony gateway-A 720 to facilitate call setup (also known in the art as signaling). Once the signaling has been completed, the telephony gateway-A 720 interacts directly with the telephony gateway-B 730 passing information until the call is terminated. When the call is terminated, call tear down signaling is performed through theservice provider proxy 703. - Both the telephony gateway-
A 720 and the telephony gateway-B 730 are registered withservice provider network 700. Theservice provider network 700 is also connected to thePSTN 740, which is connected to a telephone-C 745 and a telephone-D 750. A call placed by telephony gateway-A 720 to the telephone-C 745 via thePSTN 740 would involve call setup and tear down signaling between the telephony gateway-A 720, theservice provider proxy 703, and theservice provider gateway 705. - A call placed over the
service provider network 700 is routed by theservice provider gateway 705. In an embodiment, the protocol used by a telephony gateway (720, 730) and the routing is controlled by a number dialed to initiate a telephone call via a CPE Control protocol. By way of illustration and not as a limitation, a call placed from the telephone-A 725 to the telephone-B 735 is an “on-network” call, meaning both the calling party and receiving party are using registered telephony gateways (720, 730). In this embodiment, the telephone numbers associated with registered telephony gateways begin with the same prefix, for example 777. In this embodiment, the calling party using the telephone-A 725 presses #777 (plus the remaining telephone number digits)# on the telephone-A 725 (note that the starting and ending pound-sings (#) reflect the requirements of the CPE Control protocol). Theservice provider gateway 705 determines from the prefix preceding the remaining telephone number digits that the call is on-network and connects the telephone-A 725 to the telephone-B 735 over theservice provider network 700. - By contrast, if the telephone-
A 725 places a call to the telephone-C 745, the call is dialed using a standard prefix (1+areacode+number) again bracketed by the pound-signs required by the CPE Control protocol (e.g., #16503288459#). - As will be apparent to those skilled in the art, other signaling conventions may be used to route telephone calls without departing from the scope of the present disclosure.
- In an embodiment, a service provider gateway is a self-contained system for providing telephone communications using telephony gateways as embodied herein.
FIG. 8 illustrates a service provider gateway according to an embodiment. - Referring to
FIG. 8 , aservice provider gateway 800 includesnetwork communication systems 805 andprotocol handling systems 815. These systems permit theservice provider gateway 800 to communicate with various networks using protocols required by the networks or required by the type of communication service being provided. Interactive voice response (IVR)software 830, in combination with abilling system 835 and data management andstorage systems 850 gather billing data and automate billing questions. Authentication of users is managed by anauthentication system 825. - In yet another embodiment, a
service provider gateway 800 according an embodiment as described in reference toFIG. 8 is licensed for use by a third party service provider (TPSP). In one embodiment, the TPSP is permitted under the license to provide service to subscribers using a telephony gateway as described previously wherein the service is private labeled in the name of the TPSP. In an alternate embodiment, the TPSP acquires franchise rights to provide services to subscribers in the name of the licensor. In still another embodiment, the TPSP is permitted to offer access to a service provider network operated by the licensor in the name of the TPSP. - In yet another embodiment, the telephony gateway is configured to receive communications from a remote location via a telephone call (either from the PSTN or a wireless service provider). The communications may be used to configure the gateway or to initiate a call from the gateway to a remote communication device. In this latter embodiment, the gateway additionally functions as a bridge between the incoming calling device and the remote communication device. The gateway answers the incoming calling, the CPE Control protocol accepts user input (e.g., an authentication personal identification number (PIN), star and target phone number: #65432*7771234567#) necessary to call the remote receiving device, and then places a VoIP call to the remote communication device.
- In another embodiment, two telephony gateways are connected to first and second communication devices respectively that are in communication with each other. The first communication device sends a “hook-flash” signal to the first telephony gateway. The first telephony gateway suspends the communication with the second telephony gateway and enables caller access to the CPE Control protocol. Using this protocol the user directs the CPE to initiate a three-way call to another phone. The CPE Control protocol will notify the CPE Control protocol on the second device that a three-way call has been initiated. The three-way connection includes sharing data from one party with the other two parties on the call. In this manner, a three-way connection is established and maintained without external mixing devices or the need to deploy a media gateway in the VoIP system.
- The traditional VOIP architecture contained three layers: A Signaling Layer, which converted signaling information between PSTN protocols (such as CAS, SS7 or ISDN) and VOIP protocols (such as MGCP, Megaco, or R323); a Switching Layer that routed and switched VOIP calls to Signaling, Switching (for other systems) or the Application layers; and an Application Layer, which provided IP-centric enhanced voice services.
- Prior to adopting H.323, there were few if any interoperability standards. First-generation gateways were closed, proprietary systems unique to each manufacturer. Few worked with one another. While well suited to toll bypass applications, their proprietary design severely limited their ability to interconnect to carrier grade networks. Most could not support voice services beyond toll bypass and debit card applications.
- The subsequent generation VOIP call control architecture used H.323 protocol to accomplish simple tasks like call setup/control between gateways or billing/rating and routing functions for multipoint networks. Call control software acted simply as middleware that directed the media gateways as to how to set up and tear down calls between gateways. Operating in real time, the call control software kept track of which media gateways were available, where they were located, and often determined how to route calls over the network. Soft-switches evolved out of this climate to overcome the limitations of the Media Gateway Control Protocol (MGCP) and the media gateway controllers to support voice services applications. Soft-switches are designed to support PSTN/IP internetworking and signaling protocol mediation, (e.g., out-of-band SS7/C7, in-band R1, CAS, etc.) to switch calls and control the media gateways in its domain through MGCP or Megaco, and in addition, support application interfaces such as the Session Initiation Protocol (SIP). This enabled a system to interact in real-time with voice streams. Further, these enhancements allowed a system to respond in real-time to detect dual-tone multi-frequency (DTMF) or voice-recognition inputs and responses.
- But these systems are incapable of handling DSP-intensive media processing, for example, such as the type of processing required to handle Interactive Voice Response (IVR) and conferencing applications. Media Servers were introduced to handle these tasks, but they created Quality of Service (QoS) problems. This is because, streaming VOIP placed an entire application at the mercy of the QoS level that an underlying IP network could provide. Dropped packets because of instability of the underlying IP network could negatively affect the overall QoS. Moreover, streaming cannot support the basic, everyday telephony functions such as unified messaging, store-and-forward faxing and other standard functions that are needed today. This requires DSP-intensive media processing, especially for in-band DTMF and fax tones. Further, streaming solution could tax the system resources because the system could be required to process a large number of small packets, each containing the normal TCP/IP overhead.
- In an illustrative architecture of a VOIP-enabled telecommunication system, a calling party device—first Customer Premise Equipment (CPE)—is coupled to a network, such as a packet switched network (PSN), such as the Internet. A called party device—second CPE—is coupled to the PSN.
- Microgateway—a VOIP-Enabled CPE
- In an aspect, the instant disclosure is directed toward a CPE called a microgateway (MG), which connects telecommunication terminal equipment such as a telephone handset to a PSN. Microgateway could be connected to any other terminal device, such as a desktop or a handheld personal computer, or a telephone handset. Alternatively, a general-purpose server computer could be coupled to the PSN, which computer is programmed suitably to provide the functions of a microgateway (MG). Note that the microgateway is not the same in form or function as a Media Gateway or a VOIP gateway. Rather, microgateway is the name given to a CPE device connected to a terminal device and configured to work as a single port gateway, as will be explained in detail in the following.
- In an embodiment, microgateway includes a processor, some memory and communication devices to couple the microgateway to a network and to receive and transmit information in digital or analog form. Additionally, where the terminal device coupled to the microgateway is a telephone handset—which could be a digital or analog telephone handset—the microgateway could connect to the PSN via a telecommunication switch such as Lucent 5ESS® or equivalent local office switch. Where the terminal device is a mobile handset, it could be coupled to the PSN via a wireless telecommunication network, and the details of how these connections are established are known to persons of ordinary skill in the art and need not be repeated here. The microgateway is configured to interface with both Ethernet and dial-up VOIP lines. It is understood that the first and the second CPEs (microgateways) are connected to the PSN with an address such as a dotted-decimal address used in IP addressing, for example, 121.255.48.16, which is known to persons skilled in the art.
- The microgateway could be implemented in the form of custom hardware or in software. In a hardware implementation, the microgateway includes custom-manufactured Application-Specific Integrated Circuits (ASIC) that could be programmed with application logic, and other supporting circuit elements, such as digital signal processors (DSP) and memory devices to process signals. These details will be explained with reference to microgateway hardware architecture below.
- In an embodiment, a block architectural diagram of the microgateway contains a Digital Signal Processor (DSP), such as a VP 1405; a Central Processor Unit (CPU), such as an IP2022 Network Processor; memory, such as semiconductor memory; devices to interface with a variety of input/output (I/O) or peripheral devices, such as Ethernet, Serial I/O interface, Subscriber Line Interface Card (SLIC), Data Access Arrangement (DAA), and the like; and a suite of software programs, such as a Telephony Protocol Engine and protocol stacks, such as H.323, SIP (for VOIP), TCP/IP, Real Time Protocol (RTP), and V.34 soft modem programs. It should be noted that the microgateway may be implemented totally in software, where the critical DSP functions could be implemented as software code executed in a general purpose processor such as a Pentium III® microprocessor. It is assumed that the first and the second CPEs are connected to the PSN either directly, via a modem, or via another network, which other network could be a mobile or PSTN or the like. The principles of the disclosure apply equally well for all these variations.
- A microgateway may be integrated into a VOIP architecture in various forms (either in the form of a circuit board or in the form of an AMC chip). For example, a microgateway may be coupled to a traditional telephone and thereafter to both a PSN and the PSTN via different interfaces, thereby making a “regular” PSTN telephone call as well as a VOIP call (via the PSN) possible. In another example, a low-cost dialup adapter may be coupled to the microgateway enabling a connection to an ISP and a VOIP telecommunication network. In another example, the microgateway could be used to interface with a variety of telephony I/O devices, such as an analog/digital wireline telephone handset, a cordless telephone handset, and, via optional I/O ports, to a keypad such as either a QWERTY keyboard or a DTMF keypad, and an LCD. In another example, the microgateway (e.g., an ASIC chip) could be incorporated into numerous devices.
- A software architecture of the disclosed system includes a transport layer such as the Transmission Control Protocol (TCP) or the User Datagram Protocol (UDP) layer over an Internet Protocol (IP) layer. It should be noted that this description provides only an embodiment of the principles of the disclosed system and therefore the principles should not be so limited. The IP layer may be configured to function over an Ethernet (the protocol of choice for local area networks) or a PPP interface (which is the protocol of choice for a dialup ISP connection) layer. A network layer (including the layers for Signaling, Call Control and Media control) resides above the transport layer. A Media Gateway Application Program Interface (Mg API) layer is configured above the network layer. Application layer and the Telephony Protocol Engine (TPE) layers reside above the network layer. An API layer for customized user applications and DSP-intensive VOIP applications (such as conference calling, three-way calling, etc) resides above the Application layer. Standard telephony protocols such as the G.168 (Echo Canceler), G.711, G.723 (Voice Codec), G.729 and G.726 are also programmed within the microgateway. And finally, codec drivers and interface software or firmware for SLIC, DAA and other interfaces is also provided within the microgateway.
- Virtual Memory Subsystem
- Traditional designs for telephony applications used multiple processors and a shared main memory that stored data. Sometimes, each processor may use a local cache to store its own private copy of a subset of the data in the main memory. In this traditional system, a separate memory control chip connecting the processors to the main memory manages the operations necessary to access memory from the processor. For example, if one of the processors makes a reference to memory to access data, the control chip will schedule a read for the data corresponding to the reference from the main memory while simultaneously scheduling system probes to the other processors to check for the presence of this address in the processor cache.
- In general, to establish a connection between the microprocessor and the memory, the control chip uses 2*k pins with k bits for each of two address buses, i.e., the address-out bus for communicating the address of the memory reference from the processor to the control chip, and the address-in bus used by the control chip to send an address of a probe into each of the processors. If k is large, the control chip can quickly become pin-limited and cannot address a large amount of memory.
- It is desirable to manage or address a large amount of memory without the limitations imposed by low pin counts. Though some large pin count processors exist, they are expensive. And low-cost telephony applications, such as the disclosed VOIP application, would benefit from a low pin count architecture, while achieving a larger addressable memory via a virtual memory system. It is generally known that a processor with a single address bus for all memory size requirements will still require all the address pins be connected to the control chip even though a lesser number of pins are actually needed.
- Thus, it is desired to reduce the pin count of the memory control chip for a multiprocessor system with a limited memory size requirement by providing a microprocessor which permits a designer to select an address bus supporting one of a maximum memory size requirement and a small memory size requirement.
- In general, pin count limitation increases the number of chips needed to emulate a particular logic design and thereby decreases emulation speed, because signals must cross more chip boundaries, and increases system cost. This is especially pronounced in microcontroller chip designs where reducing the overall cost is a critical factor.
- The instant disclosure includes a method of overcoming pin count limitations using a virtual memory system that uses a virtual addressing scheme. VMS is built on a DSP/micro-controller and allows in conjunction with the TPE to run high-level protocols, such as H.323, which requires the ability to address a large amount of memory.
- Telephony Protocol Engine
- The microgateway includes a Telephony Protocol Engine (TPE). This TPE enables designing a system with protocol-independent architecture, thereby enabling one to support a variety of protocols, such as H.323. Additionally, using the TPE, one can execute complex protocols on memory-limited and I/O (pin-limited) micro-controllers or DSP chips.
- The process of off-loading the state transitions, semantic rules and language tokens to an external flash memory is called uploading a template. In an aspect, rules of a protocol are abstracted and stored on an auxiliary memory, which can be accessed using a parallel bus or serial link that connects the auxiliary memory to the TPE.
- A protocol-independent machine can be built by adopting a generalized state machine that can determine its next state from the current state and an input. The protocol engine could use generic tokens that represent each state, thereby enabling the implementation of a variety of protocols with little complicated coding. Additionally, the protocol engine could be stored in an auxiliary memory, thereby enabling a designer to use the virtual memory features to address a larger address space than is permitted by the traditional pin-count limitations of a moderately priced processor. Moreover, the auxiliary memory could be a volatile memory (in which case the protocol engine should be loaded at power up) or a non volatile memory (in which case the protocol engine could be permanently burned into an EPROM or a Flash memory for easy reuse).
- In an embodiment, the architecture for the TPE and the VMS both may be implemented entirely in hardware or in software. In this embodiment, state information, semantic rules, tokens and data tables that are necessary to execute a telephony protocol are stored in an auxiliary memory device, such as the Atmel AT45DB011 flash memory. An aspect of the implementation is that the TPE operates in conjunction with the main CPU, which executes program instructions that act upon the state information, semantic rules, rules and data tables to effect state transitions.
- Common Channel Signaling to Setup and Manage VOIP Calls
- Elements in the disclosed system, including the microgateway, may also be configured to transport voice packets over the SS7/C7 protocol. The SS7/C7 protocol allows the switch to use out-of-band signaling. Out-of-band signaling refers to the capability of the protocol to send signaling information separately from the voice circuits. This greatly increases call processing and trunk efficiency in the disclosed system as speed for a call set up can be increased. Moreover, the disclosed system has the ability to not use trunks if the called party phone is busy. The trunks that would have been used to make the call can then be used to make other calls. Further, the system designed herein provides the ability to release calls to the previous gateways if the call fails for a user-termination reason other than user-busy.
- Remote Access and Control of Microgateway Via a Mobile Telephone Handset
- The disclosed microgateway is additionally configured to receive communication from a remote location via a telephone call. Such information may be used to configure, control and maintain the microgateway, or to initiate additional calls from the microgateway.
- As stated above, the microgateway is equipped with a SLIC and LAN or dialup VOIP interfaces, in addition to other interfaces. A user operating a regular telephone handset may make a telephone call into the microgateway by dialing a number designated to the microgateway. In this case, the microgateway functions as a regular telephone destination CPE, but the call terminates with the microgateway. The user can then enter the required data to the microgateway in order to initiate an outbound call from the microgateway over the LAN or other VOIP connection. Advantageously, the microgateway establishes a bridge connection to a second destination, thereby allowing the user to communicate with a party connected to the second destination. This is helpful in cases where a user is out of his office or home, where the microgateway is located. The user may wish to place an international call, but doing so with his wireless connection may be prohibitive. In such a case, the user may call his home or office microgateway and then bridge a VOIP telephone call via the microgateway to the international destination. This can help reduce the overall toll for the call.
- Three-Way VOIP Calling Using Peer-to-Peer Architecture
- Also disclosed herein is a method for three-way calling between VOIP clients using no external “media concentration” or mixing device. Assume that two microgateways, a first microgateway MG1 and a second microgateway MG2 are in voice communication with each other, allowing a calling party to converse with a called party in a manner described above. This could be similar to the description of point-to-point communications between two VOIP-enabled CPEs.
- When one of the two parties in conversation, say, the calling party, wishes to establish a three-way conference call, which may include a third party, the party sends a hook-flash signal to the microgateway to which it is connected. The microgateway then acts as a switch, and suspends the call temporarily and provides a dial tone to the party that sent the hook-flash signal.
- At or about the same time, MG1 allocates a register or other service circuit and allocates a conference bridge circuit. Alternatively, the microgateway may initiate a second VOIP call from MG1 over the LAN or the dialup VOIP connection. Conference bridge circuits are similar to two-way voice channels, except that in these circuits, more than two channels converge at a single point, which could be the conference bridge service circuit. Data read from any one channel is copied to all other channels connected to the conference bridge.
- A voice channel is created to establish a third leg of connection with the third party's equipment with the conference bridge circuit. A connection is set up with the third party's equipment, which includes transmitting an alert signal to the third party equipment (e.g., a ring tone) and receiving an answer signal from that third party equipment. These details are similar to tasks that a central office switch performs when establishing a three-way conference call.
- After a third party is connected to the conference bridge circuit, data from each party is copied to the other two parties, thereby establishing a three-way communication. The same procedure may be expanded to include a multiple party conference circuit.
- Enhanced VOIP Architecture for a V.34 Modem
- Internet Service Providers, such as America Online or Fry's Internet, enable a customer operating a personal computer or other similar device to connect with the Internet either directly or via the ISP's network. Typically, these connections use a V.34 class of modems. Where data connections are established—for example, where facsimile and other connections are required—a data compression/decompression scheme known as V.42 is typically utilized. These features—V.34 for connection to the Internet, and V.42 compression/decompression for data transfer—typically are not optimal for delivering high quality VOIP telephone calls to a user's CPE, such as a telephone handset. Accordingly, there is a need to advance the art by enhancing a user's CPE.
- Noting that the VOIP architecture uses a TCP/IP connection and a Point-to-Point protocol connection between the personal computer and ISP modems, the state of the art can be enhanced using the following method. First, error correction is turned off. Because VOIP is deterministic, based on a sampling or frame rate of 30 ms—if a packet is lost, this can be ignored instead of waiting for it or adding any delay to correct the error. Second, data compression, such as MNP, can be turned on to reduce the size of text sent over a connection giving an apparent increase in transfer speed. This is likely not the best solution for a VOIP call because voice signal is already coded in an optimized way. Additionally, data compression designed for data transfer must be turned off. Third, the microgateway is connected at a specific predetermined baud rate. It has been found that 21600 bits per second is suitable for a low symbol rate without impacting the quality of service. Because a VOIP call may need about 17 kb/s to connect, 21,600 b/s is appropriate. These steps reduce the code size, MIPS, and complexity while increasing the performance of the modem for VOIP applications. This method could be used potentially on a variety of modems, such as V.32 14.4 kbps modems and V.90, as well as with ADSL systems especially when these devices operate in voice-mode.
- MG1 registers with server once turned on. After that a periodic “heartbeat” packet is sent to the server to indicate that the device is still on line and alive, ready for a call. If a call is placed to another MG1, the server gets a packet from MG1 requesting the call to the other MG1. The server will look up a destination unit, determine if the destination unit is online, then signal the called and calling units. Once done, the calling and called units connect directly over the Internet for peer-peer communications. The server is signaled once the call is terminated and both MG1's are ready for a call. If a call is placed to a PSTN phone, MG1 connects to a H.323 gateway to setup the call.
- VOIP Menu Display on Existing LCD Screens
- A number of proprietary VOIP systems need to provide an acceptable and uncomplicated user interface to a user that wishes to program the VOIP system. For example, Aplio's proprietary system requires a user to use the DTMF keypad of a POTS telephone to enter data in order to program the system. Typically, a user is prompted to enter a dial-up telephone number for an ISP, a user name and a password. These data items are then repeated to the user via the earpiece of the telephone handset or through a speaker embedded within the system.
- Another architecture could be to provide a keypad and an LCD screen within the VOIP system itself. But this increases the overall system cost. To overcome this issue, one may program the VOIP system to use—instead of or in addition to the keypad of a POTS telephone handset—an LCD screen that typically comes with a telephone handset or with a Caller-ID box. Such boxes are marketed by most of the telephone consumer electronic equipment manufacturers such as CIDCO, Inc. of San Jose, Calif.
- A telephony gateway, CPE Control protocol and a telecommunication protocol engine and method have now been illustrated. As described herein, the telecommunication protocol engine and method results in significant reduction in on-chip memory requirements and permits the use of otherwise memory limited microprocessors. It will also be understood that aspects may be embodied in other specific forms without departing from the scope of the disclosure and that the examples and embodiments described herein are in all respects illustrative and not restrictive. Those skilled in the art of the present disclosure will recognize that other embodiments using the concepts described herein are also possible.
Claims (20)
1. A method comprising:
receiving a dialing code from a calling device at a customer premise device coupled to the calling device;
determining a network of a called device based on the dialing code;
selecting a telecommunication protocol based at least in part on the network of the called device; and
initiating a call to the called device using the selected telecommunication protocol.
2. The method of claim 1 , wherein, when the dialing code comprises a predetermined prefix, the network of the called device is a same network as a network of the calling device and the call is initiated as an on-network call.
3. The method of claim 1 , wherein the dialing code is preceded with and followed by a first non-numeric symbol.
4. The method of claim 3 , further comprising receiving a personal identification code from the calling device.
5. The method of claim 4 , wherein the personal identification code is separated from the dialing code by a second non-numeric symbol that is different from the first non-numeric symbol.
6. The method of claim 1 , wherein initiating the call comprises interacting with a service provider network device, wherein the service provider network device performs call set up signaling on behalf of the calling device to establish the call, and wherein the calling device and the called device communicate without the service provider network device after the call is established.
7. The method of claim 1 , wherein initiating the call using the selected telecommunication protocol comprises:
selecting a telecommunication protocol template by a processor of the customer premise device, wherein the telecommunication protocol template includes one or more virtual machine instructions executable by a virtual machine at the customer premise device to implement the selected telecommunication protocol;
reading a first virtual machine instruction of the telecommunication protocol template from a first memory device of the customer premise device;
initializing a first finite state machine using the first virtual machine instruction, wherein the telecommunication protocol template includes first template state data defining a first template state of the first finite state machine; and
storing the first template state at a second memory device of the customer premise device in a first state table, wherein the second memory device is internal to the processor.
8. The method of claim 7 , further comprising:
receiving an input at the processor via the call;
determining, by the virtual machine, an updated template state of the first finite state machine based on the first state table and the input; and
storing an updated first state table at the second memory device, the updated first state table specifying the updated template state.
9. The method of claim 7 , further comprising:
receiving a request at the processor to implement a second telecommunication protocol;
reading a second virtual machine instruction from the first memory device;
initializing a second finite state machine using the second virtual machine instruction; and
storing a second template state of the second finite state machine at the second memory device in a second state table.
10. The method of claim 7 , wherein the first memory device is a FLASH memory device and the second memory device is a RAM memory device.
11. The method of claim 1 , wherein the selected telecommunication protocol includes at least one of a Session Initiation Protocol (SIP), a H.323 protocol, a STUN protocol, and a dynamic host configuration protocol (DHCP).
12. A method comprising:
receiving a signal from a telephony device coupled to a customer premise equipment telephony gateway during a call between the telephony device and a remote telephony device via the customer premise equipment telephony gateway;
in response to the signal, interrupting the call at the customer premise equipment telephony gateway;
initiating a second call to a second remote telephony device from the customer premise equipment telephony gateway;
sending information from the customer premise equipment telephony gateway to a second telephony gateway, wherein the second telephony gateway is a customer premise device coupled to the remote telephony device, wherein the information notifies the second telephony gateway of the second call; and
sharing data among the telephony device, the remote telephony device and the second remote telephony device via the call and the second call.
13. The method of claim 12 , wherein the signal comprises a hook flash.
14. The method of claim 13 , wherein the hook flash enables access to a control protocol of the customer premise equipment telephony gateway via the telephony device.
15. The method of claim 12 , wherein initiating the second call comprises:
selecting a telecommunication protocol template by a processor of the customer premise equipment telephony gateway, wherein the telecommunication protocol template includes one or more virtual machine instructions executable by a virtual machine at the customer premise equipment telephony gateway to implement a telecommunication protocol;
reading a first virtual machine instruction of the telecommunication protocol template from a first memory device of the customer premise equipment telephony gateway;
initializing a first finite state machine using the first virtual machine instruction, wherein the telecommunication protocol template includes first template state data defining a first template state of the first finite state machine; and
storing the first template state at a second memory device of the customer premise equipment telephony gateway in a first state table, wherein the second memory device is internal to the processor.
16. A communication system comprising:
a service provider gateway configured to communicate with one or more telephony gateways, including a first telephony gateway and a second telephony gateway, via a switched packet network, the service provider gateway comprising:
a network communication system to communicate via the switched packet network;
a protocol handling system to process data communicated according to a selected telephony protocol;
a bridge system to connect the first telephony gateway to the second telephony gateway in response to data received from the first telephony gateway; and
a billing system to facilitate billing users.
17. The communication system of claim 16 , wherein the service provider gateway is further configured to communicate with one or more telephones via a public switched telephone network.
18. The communication system of claim 16 , wherein the service provider gateway further includes an interactive voice response system to automatically respond to billing questions.
19. The communication system of claim 16 , wherein the service provider gateway further comprises an authentication system to authenticate a user of the first telephony gateway.
20. The communication system of claim 16 , wherein the service provider gateway is configured to determine whether a call initiated via the first telephony gateway is an on-network call based on a portion of a dialing code received at the first telephony gateway.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/096,834 US20110200184A1 (en) | 2002-07-05 | 2011-04-28 | Multiple protocol communications |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39420702P | 2002-07-05 | 2002-07-05 | |
US35452703A | 2003-01-30 | 2003-01-30 | |
US10/613,656 US7957401B2 (en) | 2002-07-05 | 2003-07-03 | System and method for using multiple communication protocols in memory limited processors |
US13/096,834 US20110200184A1 (en) | 2002-07-05 | 2011-04-28 | Multiple protocol communications |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/613,656 Continuation US7957401B2 (en) | 2002-07-05 | 2003-07-03 | System and method for using multiple communication protocols in memory limited processors |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110200184A1 true US20110200184A1 (en) | 2011-08-18 |
Family
ID=30118057
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/613,656 Active 2027-08-08 US7957401B2 (en) | 2002-07-05 | 2003-07-03 | System and method for using multiple communication protocols in memory limited processors |
US13/096,834 Abandoned US20110200184A1 (en) | 2002-07-05 | 2011-04-28 | Multiple protocol communications |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/613,656 Active 2027-08-08 US7957401B2 (en) | 2002-07-05 | 2003-07-03 | System and method for using multiple communication protocols in memory limited processors |
Country Status (5)
Country | Link |
---|---|
US (2) | US7957401B2 (en) |
EP (1) | EP1527561A4 (en) |
AU (1) | AU2003256450A1 (en) |
CA (1) | CA2494980C (en) |
WO (1) | WO2004006511A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10652148B2 (en) * | 2014-10-30 | 2020-05-12 | At&T Intellectual Property I, L. P. | Distributed customer premises equipment |
US10931574B2 (en) | 2014-10-30 | 2021-02-23 | At&T Intellectual Property I, L.P. | Universal customer premise equipment |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7031442B1 (en) | 1997-02-10 | 2006-04-18 | Genesys Telecommunications Laboratories, Inc. | Methods and apparatus for personal routing in computer-simulated telephony |
US6104802A (en) | 1997-02-10 | 2000-08-15 | Genesys Telecommunications Laboratories, Inc. | In-band signaling for routing |
US6711611B2 (en) | 1998-09-11 | 2004-03-23 | Genesis Telecommunications Laboratories, Inc. | Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure |
US6985943B2 (en) | 1998-09-11 | 2006-01-10 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
USRE46528E1 (en) | 1997-11-14 | 2017-08-29 | Genesys Telecommunications Laboratories, Inc. | Implementation of call-center outbound dialing capability at a telephony network level |
US7907598B2 (en) | 1998-02-17 | 2011-03-15 | Genesys Telecommunication Laboratories, Inc. | Method for implementing and executing communication center routing strategies represented in extensible markup language |
USRE46153E1 (en) | 1998-09-11 | 2016-09-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment |
US7606217B2 (en) * | 2003-07-02 | 2009-10-20 | I2 Telecom International, Inc. | System and method for routing telephone calls over a voice and data network |
US7417981B2 (en) | 2003-10-15 | 2008-08-26 | Vonage Holdings Corp. | Method and apparatus for enhanced Internet Telephony |
US7676599B2 (en) | 2004-01-28 | 2010-03-09 | I2 Telecom Ip Holdings, Inc. | System and method of binding a client to a server |
US7386111B2 (en) | 2004-02-10 | 2008-06-10 | Vonage Network Inc. | Method and apparatus for placing a long distance call based on a virtual phone number |
US8804758B2 (en) | 2004-03-11 | 2014-08-12 | Hipcricket, Inc. | System and method of media over an internet protocol communication |
CA2559891A1 (en) * | 2004-03-11 | 2005-09-22 | Ali Awais | Dynamically adapting the transmission rate of packets in real-time voip communications to the available bandwidth |
US7782878B2 (en) | 2004-08-16 | 2010-08-24 | I2Telecom Ip Holdings, Inc. | System and method for sharing an IP address |
US7336654B2 (en) * | 2004-10-20 | 2008-02-26 | I2Telecom International, Inc. | Portable VoIP service access module |
US20060210036A1 (en) | 2005-03-16 | 2006-09-21 | Jeffrey Citron | System for effecting a telephone call over a computer network without alphanumeric keypad operation |
US8683044B2 (en) | 2005-03-16 | 2014-03-25 | Vonage Network Llc | Third party call control application program interface |
GB2426666B (en) * | 2005-05-25 | 2007-09-26 | Toshiba Res Europ Ltd | Method and apparatus for mobility management |
US8442031B2 (en) * | 2005-06-24 | 2013-05-14 | Alcatel Lucent | Method and apparatus for utilizing network services in a manner substantially transparent to service endpoints |
AU2006311417A1 (en) | 2005-11-09 | 2007-05-18 | Vonage Holdings Corp. | Method and system for customized caller identification |
US9008075B2 (en) | 2005-12-22 | 2015-04-14 | Genesys Telecommunications Laboratories, Inc. | System and methods for improving interaction routing performance |
US8917717B2 (en) | 2007-02-13 | 2014-12-23 | Vonage Network Llc | Method and system for multi-modal communications |
WO2007098261A2 (en) | 2006-02-27 | 2007-08-30 | Vonage Holdings Corp. | Automatic device configuration |
EP2035928A2 (en) * | 2006-06-30 | 2009-03-18 | Symbol Technologies, Inc. | Systems and methods for processing data packets using a multi-core abstraction layer (mcal) |
US8311513B1 (en) | 2007-06-27 | 2012-11-13 | ENORCOM Corporation | Automated mobile system |
US8326353B1 (en) | 2007-06-27 | 2012-12-04 | ENORCOM Corporation | Customizable mobile device |
US7895348B2 (en) * | 2007-10-17 | 2011-02-22 | Dispersive Networks Inc. | Virtual dispersive routing |
US8560634B2 (en) | 2007-10-17 | 2013-10-15 | Dispersive Networks, Inc. | Apparatus, systems and methods utilizing dispersive networking |
US8539098B2 (en) | 2007-10-17 | 2013-09-17 | Dispersive Networks, Inc. | Multiplexed client server (MCS) communications and systems |
US8504048B2 (en) | 2007-12-17 | 2013-08-06 | Geos Communications IP Holdings, Inc., a wholly owned subsidiary of Augme Technologies, Inc. | Systems and methods of making a call |
US8433283B2 (en) | 2009-01-27 | 2013-04-30 | Ymax Communications Corp. | Computer-related devices and techniques for facilitating an emergency call via a cellular or data network using remote communication device identifying information |
US8955110B1 (en) | 2011-01-14 | 2015-02-10 | Robert W. Twitchell, Jr. | IP jamming systems utilizing virtual dispersive networking |
US8941659B1 (en) | 2011-01-28 | 2015-01-27 | Rescon Ltd | Medical symptoms tracking apparatus, methods and systems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4600812A (en) * | 1984-11-23 | 1986-07-15 | At&T Information Systems Inc. | Communication system having abbreviated dialing access |
US6931018B1 (en) * | 2001-03-16 | 2005-08-16 | At&T Corp. | Local network router and method of routing IP data packets |
Family Cites Families (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5274693A (en) | 1990-07-17 | 1993-12-28 | Herbert Waldman | Abbreviated and enhanced dialing apparatus and methods particularly adapted for cellular or other types of telephone systems |
US5805676A (en) | 1995-05-19 | 1998-09-08 | Pcpi Phone, Inc. | Telephone/transaction entry device and system for entering transaction data into databases |
US5809128A (en) | 1996-11-01 | 1998-09-15 | Interactive Telecom Inc. | Method and apparatus permitting notification and control of blocked incoming calls over a data network |
US6125113A (en) | 1996-04-18 | 2000-09-26 | Bell Atlantic Network Services, Inc. | Internet telephone service |
US6859525B1 (en) | 1996-10-23 | 2005-02-22 | Riparius Ventures, Llc | Internet telephony device |
US6307853B1 (en) | 1996-11-21 | 2001-10-23 | Net2Phone, Inc. | Re-routing telephony communications traffic through a private branch exchange to a data network |
US6256778B1 (en) | 1996-12-21 | 2001-07-03 | Christopher Oliver | Octet iterator template interface for protocol transfer syntax coding services |
US6141345A (en) | 1997-03-06 | 2000-10-31 | Lucent Technologies Inc. | Signal processing resource allocation for internet-based telephony |
US6445694B1 (en) | 1997-03-07 | 2002-09-03 | Robert Swartz | Internet controlled telephone system |
US6721306B1 (en) | 1997-03-11 | 2004-04-13 | Verizon Services Corp. | Public wireless/cordless internet gateway |
US6771594B1 (en) | 1997-03-31 | 2004-08-03 | Intel Corporation | Reliable/non-reliable transmission of voice using TCP/UDP based on network quality of service |
WO1998048542A1 (en) | 1997-04-22 | 1998-10-29 | Bell Communications Research, Inc. | Apparatus and method for internet telephony routing |
US6014440A (en) | 1997-07-21 | 2000-01-11 | Northern Telecom Limited | Inter-half call protocol negotiation techniques |
US6118768A (en) | 1997-09-26 | 2000-09-12 | 3Com Corporation | Apparatus and methods for use therein for an ISDN LAN modem utilizing browser-based configuration with adaptation of network parameters |
US6091732A (en) | 1997-11-20 | 2000-07-18 | Cisco Systems, Inc. | Method for configuring distributed internet protocol gateways with lan emulation |
US6389005B1 (en) | 1997-12-01 | 2002-05-14 | Nortel Networks Limited | Automatic backup trunking for voice over the internet |
US6185288B1 (en) | 1997-12-18 | 2001-02-06 | Nortel Networks Limited | Multimedia call signalling system and method |
US6353614B1 (en) | 1998-03-05 | 2002-03-05 | 3Com Corporation | Method and protocol for distributed network address translation |
AU3372199A (en) | 1998-03-30 | 1999-10-18 | Voxware, Inc. | Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment |
JP4304734B2 (en) | 1998-04-17 | 2009-07-29 | ソニー株式会社 | REPRODUCTION DEVICE, DATA REPRODUCTION METHOD, AND RECORDING MEDIUM |
US6104757A (en) | 1998-05-15 | 2000-08-15 | North Carolina State University | System and method of error control for interactive low-bit rate video transmission |
JP3686335B2 (en) * | 1998-07-13 | 2005-08-24 | ユニヴァースティ オブ サザーン カリフォルニア | Methods for promoting bone and cartilage growth and repair |
US6603774B1 (en) | 1998-10-09 | 2003-08-05 | Cisco Technology, Inc. | Signaling and handling method for proxy transcoding of encoded voice packets in packet telephony applications |
US6502135B1 (en) | 1998-10-30 | 2002-12-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US6856612B1 (en) | 1999-02-24 | 2005-02-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for call routing and codec negotiation in hybrid voice/data/internet/wireless systems |
US6636504B1 (en) | 1999-03-18 | 2003-10-21 | Verizon Services Corp. | Reverse billing of internet telephone calls |
US6449251B1 (en) | 1999-04-02 | 2002-09-10 | Nortel Networks Limited | Packet mapper for dynamic data packet prioritization |
US6954454B1 (en) | 1999-05-03 | 2005-10-11 | Ut Starcom, Inc. | Architecture for a central office using IP technology |
US6496477B1 (en) | 1999-07-09 | 2002-12-17 | Texas Instruments Incorporated | Processes, articles, and packets for network path diversity in media over packet applications |
US6434139B1 (en) | 1999-08-10 | 2002-08-13 | Lucent Technologies Inc. | Method for optimizing mobile wireless communications routed across plural interconnected networks |
US6760324B1 (en) | 1999-09-10 | 2004-07-06 | Array Telecom Corporation | Method, system, and computer program product for providing voice over the internet communication |
US6351464B1 (en) | 1999-09-20 | 2002-02-26 | Mci Worldcom, Inc. | Virtual second line hybrid network communication system |
US6788769B1 (en) | 1999-10-13 | 2004-09-07 | Emediacy, Inc. | Internet directory system and method using telephone number based addressing |
US7092380B1 (en) | 1999-10-22 | 2006-08-15 | Cisco Technology, Inc. | Method and system for providing voice communication over data networks |
JP4708650B2 (en) * | 1999-12-02 | 2011-06-22 | パナソニック株式会社 | Optical disc medium, recording method therefor, and recording apparatus |
US6778505B1 (en) * | 2000-01-03 | 2004-08-17 | Agere Systems Inc. | DSL automatic protocol detection system |
DE60107076T2 (en) | 2000-01-31 | 2005-11-24 | Aeptec Microsystems, Inc. | ACCESSORY DEVICE FOR BROADBAND COMMUNICATIONS |
US6700956B2 (en) | 2000-03-02 | 2004-03-02 | Actiontec Electronics, Inc. | Apparatus for selectively connecting a telephone to a telephone network or the internet and methods of use |
US6826174B1 (en) | 2000-03-02 | 2004-11-30 | 3Com Corporation | Voice-over-IP interface for standard household telephone |
US7173923B2 (en) | 2000-03-17 | 2007-02-06 | Symbol Technologies, Inc. | Security in multiple wireless local area networks |
WO2001071569A1 (en) | 2000-03-23 | 2001-09-27 | Ali Habib | Unified communications and commerce systems and methods, and device therefore |
US6901429B2 (en) | 2000-10-27 | 2005-05-31 | Eric Morgan Dowling | Negotiated wireless peripheral security systems |
US6986030B2 (en) | 2000-10-27 | 2006-01-10 | M-Systems Flash Disk Pioneers Ltd. | Portable memory device includes software program for interacting with host computing device to provide a customized configuration for the program |
JP4068798B2 (en) * | 2000-10-31 | 2008-03-26 | 株式会社日立製作所 | Storage subsystem, I / O interface control method, and information processing system |
US7113500B1 (en) | 2000-11-03 | 2006-09-26 | Insors Integrated Communications | Method and dial plan for packet based voice communications functionality |
US20020131604A1 (en) | 2000-11-08 | 2002-09-19 | Amine Gilbert A. | System and method for measuring and enhancing the quality of voice communication over packet-based networks |
US7221663B2 (en) | 2001-12-31 | 2007-05-22 | Polycom, Inc. | Method and apparatus for wideband conferencing |
US20020097843A1 (en) | 2001-01-19 | 2002-07-25 | Ivoice.Com, Inc. | Speech activated telephone device for connection to existing telephone |
EP1225742A1 (en) | 2001-01-22 | 2002-07-24 | Inventec Appliances Corp. | Internet phone using USB interface to transmit signals |
US6907031B1 (en) | 2001-02-26 | 2005-06-14 | At&T Corp. | Customer premises equipment call re-routing technique |
US7020707B2 (en) | 2001-05-30 | 2006-03-28 | Tekelec | Scalable, reliable session initiation protocol (SIP) signaling routing node |
US7145900B2 (en) | 2001-05-31 | 2006-12-05 | Go2Call.Com, Inc. | Packet-switched telephony call server |
US6775373B2 (en) | 2001-06-14 | 2004-08-10 | Ericsson Inc. | System for and method of channel associated signaling backhaul in a routing system |
US20020191621A1 (en) | 2001-06-14 | 2002-12-19 | Cypress Semiconductor Corp. | Programmable protocol processing engine for network packet devices |
US6947417B2 (en) | 2001-06-29 | 2005-09-20 | Ip Unity | Method and system for providing media services |
US20030002479A1 (en) | 2001-07-02 | 2003-01-02 | International Business Machines Corporation | Virtual call center |
US7042841B2 (en) | 2001-07-16 | 2006-05-09 | International Business Machines Corporation | Controlling network congestion using a biased packet discard policy for congestion control and encoded session packets: methods, systems, and program products |
US7480705B2 (en) | 2001-07-24 | 2009-01-20 | International Business Machines Corporation | Dynamic HTTP load balancing method and apparatus |
US7046683B1 (en) | 2001-07-31 | 2006-05-16 | Cisco Technology, Inc. | VoIP over access network |
US7162549B2 (en) | 2001-10-29 | 2007-01-09 | Onspec Electronics, Inc. | Multimode controller for intelligent and “dumb” flash cards |
KR100426306B1 (en) | 2001-12-11 | 2004-04-08 | 한국전자통신연구원 | Method for providing a load distributed processing among session initiation protocol servers |
DE10163478C2 (en) | 2001-12-21 | 2003-12-18 | Siemens Ag | Method and arrangement for codec negotiation |
US20030123388A1 (en) | 2001-12-28 | 2003-07-03 | Patrick Bradd | Admissions control in a connectionless communications network |
US7212622B2 (en) | 2002-02-14 | 2007-05-01 | Itxc Ip Holdings Sarl | Call routing system |
US20030161453A1 (en) | 2002-02-25 | 2003-08-28 | Veschi Robert A. | Flexible and scalable integrated access device |
US7260645B2 (en) | 2002-04-26 | 2007-08-21 | Proficient Networks, Inc. | Methods, apparatuses and systems facilitating determination of network path metrics |
US20030214939A1 (en) | 2002-05-15 | 2003-11-20 | Ismail I. Eldumiati | Method and apparatus for providing life line service to access gateway telephony subscribers |
US20030219006A1 (en) | 2002-05-21 | 2003-11-27 | Har Benjamin Yuh Loong | Virtual end-to-end coder/decoder capability in H.323 gateways |
US8228849B2 (en) * | 2002-07-15 | 2012-07-24 | Broadcom Corporation | Communication gateway supporting WLAN communications in multiple communication protocols and in multiple frequency bands |
US20040019539A1 (en) | 2002-07-25 | 2004-01-29 | 3Com Corporation | Prepaid billing system for wireless data networks |
US6763226B1 (en) | 2002-07-31 | 2004-07-13 | Computer Science Central, Inc. | Multifunctional world wide walkie talkie, a tri-frequency cellular-satellite wireless instant messenger computer and network for establishing global wireless volp quality of service (qos) communications, unified messaging, and video conferencing via the internet |
AU2003263957A1 (en) | 2002-08-16 | 2004-03-03 | Nuasis Corporation | Contact center architecture |
US20040032860A1 (en) | 2002-08-19 | 2004-02-19 | Satish Mundra | Quality of voice calls through voice over IP gateways |
US7054420B2 (en) | 2002-09-11 | 2006-05-30 | Telstrat International, Ltd. | Voice over IP telephone recording architecture |
US20040133668A1 (en) | 2002-09-12 | 2004-07-08 | Broadcom Corporation | Seamlessly networked end user device |
US7307982B2 (en) | 2003-02-21 | 2007-12-11 | Avaya Technology Corp. | Apparatus and method for controlling telephony endpoints |
US20060276230A1 (en) | 2002-10-01 | 2006-12-07 | Mcconnell Christopher F | System and method for wireless audio communication with a computer |
US20050180464A1 (en) | 2002-10-01 | 2005-08-18 | Adondo Corporation | Audio communication with a computer |
US20040086093A1 (en) | 2002-10-29 | 2004-05-06 | Schranz Paul Steven | VoIP security monitoring & alarm system |
US7283542B2 (en) | 2002-11-15 | 2007-10-16 | Nortel Networks Limited | Network address translator and secure transfer device for interfacing networks |
US20040114581A1 (en) | 2002-12-16 | 2004-06-17 | Hans Mathieu Claude | Voice-over-IP communicator |
US20040141758A1 (en) | 2003-01-22 | 2004-07-22 | El-Reedy Jamil O. | System and method for providing multiple services to a destination via a fiber optic link |
US20040205023A1 (en) | 2003-04-08 | 2004-10-14 | First Data Corporation | Money transfer convenience card, systems and methods |
US7567549B2 (en) | 2003-04-30 | 2009-07-28 | Microsoft Corporation | Computer telephony integration adapter |
US7342879B2 (en) | 2003-05-09 | 2008-03-11 | Avaya Technology Corp. | Method and apparatus for detection of prioritization and per hop behavior between endpoints on a packet network |
US20040248590A1 (en) | 2003-06-06 | 2004-12-09 | Kevin Chan | Apparatus and method for presence-based call routing using computers |
US6795540B1 (en) | 2003-06-09 | 2004-09-21 | John Beck Mow | Premised based 3-way call detection device |
US7746799B2 (en) | 2003-06-20 | 2010-06-29 | Juniper Networks, Inc. | Controlling data link layer elements with network layer elements |
US7606217B2 (en) | 2003-07-02 | 2009-10-20 | I2 Telecom International, Inc. | System and method for routing telephone calls over a voice and data network |
US7599355B2 (en) | 2003-08-14 | 2009-10-06 | Aksys Networks Inc. | Server-less VoIP (voice over internet protocol) phone system |
US7325133B2 (en) | 2003-10-07 | 2008-01-29 | Koolspan, Inc. | Mass subscriber management |
US7376129B2 (en) | 2003-10-29 | 2008-05-20 | International Business Machines Corporation | Enabling collaborative applications using Session Initiation Protocol (SIP) based Voice over Internet protocol Networks (VoIP) |
US7213766B2 (en) | 2003-11-17 | 2007-05-08 | Dpd Patent Trust Ltd | Multi-interface compact personal token apparatus and methods of use |
US7762470B2 (en) | 2003-11-17 | 2010-07-27 | Dpd Patent Trust Ltd. | RFID token with multiple interface controller |
US7302053B2 (en) | 2003-12-01 | 2007-11-27 | International Business Machines Corporation | System and method for providing a communication session |
US7571235B2 (en) | 2003-12-19 | 2009-08-04 | Nortel Networks Limited | Computer telephone integration over a network |
US7676599B2 (en) | 2004-01-28 | 2010-03-09 | I2 Telecom Ip Holdings, Inc. | System and method of binding a client to a server |
US7656895B2 (en) | 2004-03-04 | 2010-02-02 | Wiline Networks, Inc. | Method and device for coupling a POTS terminal to a non-PSTN communications network |
CA2559891A1 (en) | 2004-03-11 | 2005-09-22 | Ali Awais | Dynamically adapting the transmission rate of packets in real-time voip communications to the available bandwidth |
JP4574366B2 (en) | 2004-03-30 | 2010-11-04 | 要二 竹内 | CD-ROM, management server, operation server, and IP telephone terminal registration method in which a program for functioning as an IP telephone terminal is recorded |
US7596096B2 (en) | 2004-04-29 | 2009-09-29 | Avaya Inc | Method and apparatus for providing trace route and timing information for media streams |
US7684549B2 (en) | 2004-07-08 | 2010-03-23 | At&T Intellectual Property I, Lp | System and method for managing messages in a packetized voice environment |
EP1771998B1 (en) | 2004-07-23 | 2015-04-15 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
KR20070037649A (en) | 2004-07-23 | 2007-04-05 | 사이트릭스 시스템스, 인크. | A method and systems for routing packets from a gateway to an endpoint |
US7782878B2 (en) | 2004-08-16 | 2010-08-24 | I2Telecom Ip Holdings, Inc. | System and method for sharing an IP address |
US7336654B2 (en) | 2004-10-20 | 2008-02-26 | I2Telecom International, Inc. | Portable VoIP service access module |
-
2003
- 2003-07-03 US US10/613,656 patent/US7957401B2/en active Active
- 2003-07-07 EP EP03763277A patent/EP1527561A4/en not_active Withdrawn
- 2003-07-07 CA CA2494980A patent/CA2494980C/en not_active Expired - Fee Related
- 2003-07-07 WO PCT/US2003/021190 patent/WO2004006511A1/en not_active Application Discontinuation
- 2003-07-07 AU AU2003256450A patent/AU2003256450A1/en not_active Abandoned
-
2011
- 2011-04-28 US US13/096,834 patent/US20110200184A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4600812A (en) * | 1984-11-23 | 1986-07-15 | At&T Information Systems Inc. | Communication system having abbreviated dialing access |
US6931018B1 (en) * | 2001-03-16 | 2005-08-16 | At&T Corp. | Local network router and method of routing IP data packets |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10652148B2 (en) * | 2014-10-30 | 2020-05-12 | At&T Intellectual Property I, L. P. | Distributed customer premises equipment |
US10931574B2 (en) | 2014-10-30 | 2021-02-23 | At&T Intellectual Property I, L.P. | Universal customer premise equipment |
US11388093B2 (en) | 2014-10-30 | 2022-07-12 | Ciena Corporation | Distributed customer premises equipment |
US11502950B2 (en) | 2014-10-30 | 2022-11-15 | Ciena Corporation | Universal customer premise equipment |
Also Published As
Publication number | Publication date |
---|---|
US7957401B2 (en) | 2011-06-07 |
EP1527561A4 (en) | 2010-07-07 |
CA2494980C (en) | 2012-11-27 |
CA2494980A1 (en) | 2004-01-15 |
US20040205777A1 (en) | 2004-10-14 |
AU2003256450A1 (en) | 2004-01-23 |
EP1527561A1 (en) | 2005-05-04 |
WO2004006511A1 (en) | 2004-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110200184A1 (en) | Multiple protocol communications | |
US7715413B2 (en) | Multi-network exchange system for telephony applications | |
US8027335B2 (en) | Multimedia access device and system employing the same | |
US7283519B2 (en) | Distributed edge switching system for voice-over-packet multiservice network | |
US20050135598A1 (en) | Display accessory for non-graphical phone | |
CN112953925B (en) | Real-time audio and video communication system and method based on SIP (Session initiation protocol) and RTC (real time communication) network | |
US20080198994A1 (en) | General Intellectual Click-To-Dial Method And The Software Structure Thereof | |
CN104735271B (en) | A kind of method and terminal of intelligent multimedia telephone terminal processing speech business | |
JP4361212B2 (en) | Communications system | |
KR100679806B1 (en) | IP voice service system for voice over IP and method thereof | |
CN1264318C (en) | System and apparatus for telecommunication | |
US20030002478A1 (en) | Lightweight internet protocol telephony client | |
US20060098684A1 (en) | Data communications system, computer, and data communications method for parallelly operating standard-based and proprietary resources | |
CN101753577A (en) | VoIP communication system based on SIP protocol and communication method thereof | |
Cisco | Glossary: Cisco IP Phone 7905 Administrator's Guide (H.323) | |
WO2012071917A1 (en) | Method for voip instant call | |
KR100359558B1 (en) | An Automatic Exchange Internet phone and Method for Calling using Automatic Exchange Internet phone | |
JP2002542718A (en) | Communication controller providing multiple access using a single telephone line | |
US9906569B2 (en) | Method and apparatus for bidirectional emulation of telephonic device communication | |
Spencer | Introduction to the Asterisk Open Source PBX | |
Witowsky | IP Telephone design and implementation issues | |
KR100506750B1 (en) | System and Method for IP Phone | |
CN100411402C (en) | Data device for integrating network telephone servo terminal and costumer end | |
Bauer | IP exchange systems—Redefining distributed communications in the enterprise | |
Alemseged et al. | A hybrid of traditional telephone service and computer based internet telephony |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |