Session Initiation Protocol (SIP) is a call control signaling protocol for Internet Protocol (IP) networks. SIP is designed to be device-agnostic—that is, it is intended to provide a highly flexible call signaling capability that is not tailored to the capabilities of any particular device. Analog telephone signaling, on the other hand, is device-specific and highly constrained because of the historical legacy of the services delivered to the device. As a result, many call features available in traditional analog telephone devices are not easily integrated in a packet-switched and/or packet-based network such as a SIP-based network.
In order to facilitate a fuller understanding of the exemplary embodiments of the present inventions, reference is now made to the appended drawings. These drawings should not be construed as limiting, but are intended to be exemplary only.
A system and process of an exemplary embodiment of the present invention provides establishing a processing data session over a data network based on a processing data session request from a remote communication device, identifying a dialing directory based on the processing data session request, the dialing directory including multiple complete addresses, and receiving address information over the data network via the processing data session. The system and process of an exemplary embodiment may further include processing the address information to determine whether the address information corresponds to one of the plurality of complete addresses, and providing the corresponding one of the plurality of complete addresses over the data network to the remote communication device.
The term module, as used herein, may refer to hardware, software, firmware, and/or combinations thereof.
SIP Device 110 may represent a device that manages User Interface 114. User Interface 114 may include a traditional telephone and other data communication device using voiceband or other signaling, including but not limited to data modems, facsimile devices, teletype (TTY) equipment, etc. SIP Device 110 may contain SIP User Agent 112. SIP User Agent 112 may be integrated with SIP Device 110 or remote from SIP Device 110. SIP User Agent 112 may perform interworking between SIP signaling and user interface actions. For example, SIP User Agent 112 may manage an exchange of media (e.g., audio, etc.) between User Interface 114 and a Real Time Protocol (RTP) media stream of a media session set up by the SIP signaling. SIP Device 110 may originate calls to and receive calls from other users. SIP Device 110 may communicate through IP Network 120 to SIP Server 122.
SIP Server 122 may represent a SIP proxy or application server that acts on behalf of SIP Device 110. For example, SIP Server 122 may manage a SIP Address of Record (AOR) on behalf of SIP Device 110. SIP Device 110 may register with SIP Server 122 and send SIP signaling through SIP Server 122 to other SIP elements, such as SIP Element 130 and SIP Element 132. For example, a call to the SIP AOR may be delivered to SIP Server 122, which in turn delivers the call to SIP Device 110. SIP Server 122 may perform some service on behalf of SIP Device 110, or may simply forward SIP messages to and from SIP Device 110. SIP Device 110 communicates through IP Network 124 to SIP Element 130 and/or SIP Element 132.
SIP Element 130 and SIP Element 132 may represent users with which the user of SIP Device 110 communicates. SIP Element may be a SIP Device, SIP Server, and/or other SIP enabled device. In addition, SIP Element may also represent a PSTN device that may be reached by a gateway that, directly or indirectly, acts as a SIP User Agent.
As shown in
The various components of systems 200 and 300 as shown in
Voice dialing allows a caller to speak a calling party name (or other identifier), which may then used to select an associated phone number and to connect a call. Conventional SIP does not provide for voice dialing. Exemplary embodiments of the present inventions solve these and other problems by providing support for both standard digit dialing and voice dialing.
The receiver module 402 may receive analog signals from the User Interface 114 and may convert the signals to a form suitable for transport over the IP networks 120 and 124. The analog signals may include an initialization signal, coded signals, and telephony signals. In an exemplary embodiment, the initialization signal may represent the User Interface 114 signaling the SIP Device 110 to initiate establishing a data session. For example, the initialization signal may be an “off-hook” signal (e.g., off hook event) generated by the User Interface 114 when a user lifts a telephone receiver. The initialization signal also may be a signal indicating that the user has pressed a button labeled “Talk” or “On,” or may be other known signals to initiate establishing a data session. The coded signals may be Dual-Tone Multi-Frequency (DTMF) signals or may be pulse dialing signals. The DTMF signals may correspond to the DTMF signals 1-9, A-D, ‘*’, or ‘#,’ for example. Coded signals corresponding to analog signaling schemes other than DTMF also may be used. The telephony signals may be signals representing a voice of the user of the User Interface 114 captured at a microphone in a telephone receiver, for example. The receiver module 402 may receive the analog signals, digitize the analog signals, and place the digitized analog signals in a data type suitable for transport over the IP Networks 120 and 124. For example, the digitized analog signals may be packaged in IP packets. The digitized analog signals also may be packaged as other data types, such as Asynchronous Transfer Mode (ATM) cells, frames, etc., or other digital representations of analog signals for transport across other networks, as are well known.
The initialization module 404 may monitor analog signals received at the receiver module 402 for the initialization signal. Once the initialization signal is received, the initialization module 404 may instruct the identification module 406 to obtain identification information on the User Interface 114 and/or the user, and to forward the identification information to the request module 410. The identification information may uniquely identify the User Interface 114 and/or a user of the User Interface 114. For example, the identification information may include a name of the user, a password of the user, a home address, a phone number, an IP address, a serial number of the User Interface 114, other information to uniquely identify the user and the User Interface 114, and/or combinations thereof. The identification information may be locally stored at the SIP Device 110, or may be stored remote to the SIP Device 110. The identification module 406 also may prompt the user and/or query the User Interface 114 for the identification information. Once obtained, the identification module 406 may forward the identification information to the request module 408.
The request module 408 may generate a processing data session request for requesting establishment of a processing data session between the SIP Device 110 and the VDR Server 126. The processing data session request may include the identification information for identifying the User Interface 114 and/or the user. The request module 408 also may generate a data session request for establishing a data session between the SIP Device 110 and another device, such as the SIP Element 130 or 132, for example. Once generated, the request module 408 may forward the processing data session request or the data session request to the UA communication module 410.
The UA communication module 410 may communicate the processing data session request to the VDR Server 126 over the IP Network 120, and may communicate the data session request to the SIP Server 122. After the processing data session is established, the UA communication module 410 may transmit data to and receive data from the VDR Server 126. After the data session is established, the UA communication module 410 may transmit data to and receive data from with the SIP Element 130 over the IP Networks 120 and 124, for example.
The VDR communication module 502 may receive the processing data session request from the SIP Device 110 and may establish a processing data session between the VDR Server 126 and the SIP Device 110. After the processing data session is established, the VDR communication module 502 may forward action prompt information instructing the SIP Device 110 to generate an analog signal useable to produce a message at the User Interface 114 requesting the user select an action. For example, the action may be to add, delete, or modify an address stored at a voice dialing recognition (VDR) directory, or to generate a connection request for establishing a data session. The action prompt information may include instructions for optionally generating a dial tone or a short or long burst of dial tone, followed by a message requesting the user to dial or speak a name, for example.
The VDR communication module 502 may then start a timer to wait for a response from the user. If no response is received at the expiration of the time interval, the VDR communication module 502 may generate error information for generating an error message. If a response is received in the time interval, then the SIP Device 110 may create action response information (e.g., packets containing digitized analog signals received from user) based on the analog signals produced by the User Interface 114 in response to voice signals or coded signals entered by the user. For example, the action response information may be one or more packets containing digitized voice of a user selecting to add an address to the VDR directory. The SIP Device 110 may then transmit the action response information to the VDR Server 126. The VDR communication module 502 of the VDR server 126 may receive and forward the action response information to the input type recognition module 504.
The input type recognition module 504 may determine an input type of the action response information. For example, the input type recognition module 504 may determine whether the action response information contains one or more packets of digitized voice signals or coded signals (e.g., digitized DTMF signals). Once determined, the input type recognition module 504 may forward the action response information along with the input type to the processing module 506.
The processing module 506 may determine whether the action response information corresponds to creating and/or updating a VDR directory or to generating a connection request for establishing a data session. The VDR directory may permit voice dialing or shortened digit dialing based on a shortened address received from the user of the User Interface 114. The VDR directory may be a set of mappings from the shortened address to a complete address. For example, the VDR directory may map the user's spoken voice to a string of digits. Initially, the VDR directory may be empty. The VDR directory may be stored in a database 508 communicatively coupled to the VDR server 126. The database 508 may store multiple VDR directories each being associated with the identification information of the user and/or the User Interface 114.
In an exemplary embodiment, the VDR directory may associate a shortened address with a complete address, and when the user speaks or enters the shortened address, the VDR directory may identify the complete address based on the shortened address. The shortened address may correspond to a sequence of numbers or one or more words spoken by the user, and the complete address may correspond to an address of a device on the IP Networks 120 and 124, or on a telephone network. For example, a user may speak a name of a friend into a telephone receiver at the User Interface 114, and the SIP Device 110 may forward a packetized version of the name to the VDR Server 126. The processing module 506 of the VDR Server 126 may process the packetized version of the spoken name and may deteiniine if the name corresponds to an entry of the VDR directory. If an entry exists, the processing module 506 may obtain a complete address, such as a ten digit phone number, from the VDR directory based on the spoken name, for example. Thus, a user may not be required to speak or enter the entire ten digit phone number to obtain a complete address.
To create and/or update the VDR directory, the VDR Server 126 may generate prompt information instructing the SIP Device 110 to generate various messages to interact with a user at the User Interface 114. The prompt information may be one or more packets (or of other data types) associated with a message for prompting the user to speak a name or an abbreviated code (e.g., speed dial number, etc.) that may be used as a shortened address for a complete address. The user may then respond by speaking or entering a coded signal at the User Interface 114, which may then be packetized as shortened address information and communicated by the SIP Device 110 to the VDR Server 126.
The processing module 506 may then generate a second prompt information associated with a message for prompting the user to enter or speak an address. The user may then respond by speaking or entering a coded signal at the User Interface 114, which may then be packetized and communicated by the SIP Device 110 to the VDR Server 126 as address information. The processing module 506 of the VDR Server 126 may then verify that the address information corresponds to a complete address. The address information may correspond to a complete address if the address information is a valid address identifying a device on the IP Network 120 or 124 or a device on a telephony network, if the address information corresponds to a format of known complete addresses, or if the address information includes an express indication of end-of-dialing (e.g., # symbol, “send” key, etc.). The complete address information may be a sequence of letters, digits, other symbols, and/or combinations thereof. The processing module 506 may use matching rules of a dialing plan to determine if the address information matches a format of a known complete address. Dialing plans are further discussed in co-pending U.S. patent application Ser. No. 11/534,281, titled “Method and System for Providing Variable Dial Pattern Provisioning in a SIP-based Network,” the contents of which are incorporated herein by reference in its entirety.
If the address information does not correspond to a complete address, then the processing module 506 may generate error information associated with an error message for informing the user that the entered address information does not correspond to a complete address. For example, the error message may be audibly produced at the User Interface 114 to indicate that the dialed digits do not correspond to a known telephone number. The error message also may be a tone, a visual message, an audible message, and/or combinations thereof.
After verification of the address information, the processing module 506 may associate the shortened address information with the complete address information in the VDR directory. For example, the processing module 506 may store in the database 508 the shortened address information and the complete address information in an entry of a VDR directory associated with the identification information of the user and/or the User Interface 114.
For example, entries 1-3 of the shortened address column 604 respectively include name information N1-3 and entries 1-3 of the complete address column 606 include complete address information C1-3. Name information N1-3 may be one or more packets containing digitized voice signals of a user speaking a name or a word. Entries 4-6 of the shortened address column 604 respectively include number sequence information S1-3 and entries 4-6 of the complete address column 606 include the complete address information C4-6. If a user speaks a name corresponding to any of name information N1-3, the associated complete address information may be C1-3, respectively, for the spoken name. If a user enters a number sequence corresponding to any of number sequence information S1-3, the associated complete address information may be C4-6, respectively, for the entered number sequence.
If the processing module 506 determines that the action response information corresponds to generating a connection request, the processing module 506 may generate prompt information (e.g., packets, etc.) associated with a message for prompting the user to enter a shortened address and/or a complete address. For example, the prompt information may instruct the SIP Device 110 to generate analog signals for audibly producing a message at the User Interface 114. The message may instruct the user to dial or speak a telephone number of one or more digits or to speak one or more words, for example. The processing module 506 also may monitor a time interval and may generate error information if the user does not respond to the message within the time interval. To respond, the user may input either a shortened address or a complete address by speaking one or more numbers or words, or by entering a coded signal (e.g., dialing a digit or a letter) at the User Interface 114, which may produce analog signals based on the user input. The SIP Device 110 may generate address information including one or more packets based on the received analog signals and may forward the address information to the VDR Server 126.
The VDR Server 126 may process the address information to determine whether the user has entered coded signals or voice signals. For example, the coded signals may be transmitted from the SIP Device 110 as inband tones or Request for Comments (RFC) 2833 events, or as packetized voice signals. RFC 2833, titled “RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals,” Network Working Group, May 2000, is hereby incorporated by reference in its entirety. For voice signals, the VDR Server 126 may identify packetized voice signals of sufficient energy in the address information, and may stop processing the packetized voice signals after a period of insufficient energy (e.g., corresponding to silence from a user) greater than a threshold time interval (e.g., two seconds) or after determining that the packetized voice signals match a word or name recorded in a single entry in the VDR directory associated with the identification information of the user, as described below in further detail.
The processing module 506 of the VDR Server 126 may determine whether the address information corresponds to a complete address or to a shortened address. The processing module 506 may analyze the address information to determine whether the address information corresponds to any of the shortened addresses within the VDR directory. For example, the processing module 506 may determine whether the packetized voice signals match a shortened address information storing similar packetized voice signals included as an entry in the VDR directory. The received packetized voice signals may be similar to the stored packetized voice signals associated with the VDR directory, but may differ somewhat. The VDR Server 126 may perform signal processing on the received packetized voice signals and the stored packetized voice signals to determine correspondence within a desired confidence level and/or error rate. For coded signals, the processing module 506 may determine whether the packetized coded signals match a shortened address information storing the same packetized coded signals included as an entry in the VDR directory. If the processing module 506 identifies a match, the processing module 506 may retrieve the complete address information from the VDR directory associated with the shortened address information.
If the processing module 506 does not identify a match with an entry in the VDR directory, then the processing module 506 may analyze the address information based on the dialing plan. If the processing module 506 determines that the address information corresponds to a complete address based on the dialing plan, then the processing module 506 may generate complete address information based on the address information. For example, the processing module 506 may include digits, letters, and/or symbols in the complete address information corresponding to the digital representations of spoken digits, letters, and/or symbols included in the address information. For coded signals, the processing module 506 may include digits, letters, and/or symbols in the complete address information corresponding to the packetized coded signals of the address information. If the processing module 506 determines that the address information does not correspond to a complete address, the processing module 506 may generate error infoiination.
If complete address information is identified, the processing module 506 may then instruct the VDR communication module 502 to forward the complete address information to the SIP Device 110. In an exemplary SIP embodiment, the processing module 506 may package the complete address information as a uniform resource identifier (URI) in a “Refer-To” header field of a REFER message. The processing module 506 may then instruct the VDR communication module 502 to send the REFER message to SIP Device 110. After receiving the REFER message, the SIP Device 110 may send a NOTIFY response to the VDR Server 126 indicating that the SIP Device 110 has received the REFER message and may send a final status (e.g., a Hypertext Transfer Protocol (http) 100 response code) after interpreting the URI of the Refer-To field.
The request module 408 of the SIP Device 110 may interpret the URI in the Refer-To header field as complete address information (e.g., dialed digits) as if the SIP Device 110 had collected the complete address information from the user of the User Interface 114 without interacting with the VDR Server 126. The request module 408 may generate a connection request with a destination address based on the complete address information. The destination address may be the address of the SIP Element 130, for example. The request module 408 may then instruct the UA communication module 410 to forward the connection request to the SIP Server 122. The SIP Server 122 may use the connection request to establish a data session between the SIP Device 110 and the device identified by the destination address in the connection request (e.g., SIP Element 130). For example, the connection request may be a SIP INVITE message. Upon sending the connection request (e.g., a SIP INVITE message), the SIP Device 110 may send a success response (e.g., SIP Notify that includes the http 200 response) to the VDR Server 126 indicating that the SIP Device 110 has properly generated the connection request (e.g., SIP INVITE message) based on the complete address information, and the VDR Server 126 may then send a terminate response (e.g., SIP BYE response) to end the processing data session with SIP Device 110.
Thus, the VDR Server 126 may support a VDR directory that may be shared by multiple SIP Devices and SIP Elements and may efficiently use resources of the VDR Server 126. The above systems also support voice dialing of any number sequence that may be dialed at the User Interface using non-voice dialing.
It is noted that the VDR directory also may be local to or integrated into the SIP Device 110, and thus the SIP Device 110 may locally manage voice and digit dialing without the VDR Server 126. This advantageously may not use network resources. In such an embodiment, the SIP Device 110 may be more complex, and the VDR directory may or may not be accessible by other devices on the IP Networks 120 and 124. Also, the SIP Device 110 may locally process address information containing sequences of coded signals (e.g. dialed digits), or subsequences, and may forward address information to the VDR Server 126 containing voice signals. For example, the SIP Device 110 may contain some of the functionality of the processing module 506 for determining whether coded signals correspond to a complete address based on a dialing plan. Additionally, the SIP Server 122 may include the components of the VDR Server 126, and instead of forwarding the complete address information (e.g., in a REFER message) to the SIP Device 110, the SIP Server 122 may use the processing data session as a portion of the data session and may communicate through the SIP Server 122 with the SIP Element 130, for example. This may consume resources of the SIP Server 122 to remain in the call path for the duration of the call.
In 704, the processing module 506 of the VDR Server 126 may receive a processing data session request from the request module 408 via the VDR communication module 502 for establishing a processing data session between the SIP Device 110 and the VDR Server 126. The processing data session request may include identification information for uniquely identifying the user and/or the User Interface 114.
In 706, the processing module 506 may process the identification information to uniquely identify the user and/or the User Interface 114 and to determine whether the identification information corresponds to a VDR directory. The processing module 506 may deteiniine that the user is a new user based on the identification information or may identify a previous VDR directory associated with the identification information.
In 708, the processing module 506 may instruct the VDR communication module 502 to transmit action prompt information to the SIP Device 110 for prompting the user to select an action (e.g., add a new address, add a new address; modify an existing address, etc.). The processing module 506 may then wait to receive action response information from the user through the User Interface 114 and the SIP Device 110.
In 710, the processing module 506, after receiving the action response information, may transmit address prompt information to the SIP Device 110 for prompting the user to enter an address. The processing module 506 may then wait to receive the address information from the user through the User Interface 114 and the SIP Device 110. The address information may be packets of digitized coded signals or packets of digitized voice signals, for example. The input type recognition module 504 may determine the input type of the address information, and the processing module 506 may verify that the address information corresponds to a complete address based on the dialing plan, as discussed above. If the address information corresponds to a complete address, the processing module 506 may use the address information as complete address information. If the address information does not correspond to a complete address, the processing module 506 may generate error information associated with an error message for informing the user that the address information does not correspond to a complete address.
In 712, the processing module 506, after receiving the address information, may transmit shortened address prompt information to the SIP Device 110 for prompting the user to input a shortened address. The processing module 506 may then wait to receive shortened address information from the user through the User Interface 114 and the SIP Device 110. The shortened address information may be one or more packets containing a sequence of digitized coded signals (e.g., a sequence of letters, numbers, symbols, etc.), or may be one or more packets containing digitized voice signals corresponding to a voice signal spoken by the user (e.g., spoken letters, numbers, a name, etc.), for example.
In 714, the processing module 506 may associate the shortened address information with the complete address information in the VDR directory. If a user speaks or enters the shortened address information for establishing a connection request, the processing module 506 may use the shortened address information to look-up the associated complete address information in the VDR directory. The processing module 506 may transmit the complete address information to the SIP Device 110 for use in generating a connection request. Once the user has created and/or updated the VDR directory, the user may end the processing data session. For example, the user may hang up a telephone at the User Interface 114, which may cause the User Interface 114 to send an on-hook signal to the SIP Device 110. The SIP Device 110 may then communicate with the VDR Server 126 to end the processing data session. The flow diagram 700 may continue to 716 and end.
Thus, the processing module 506 may permit a user of the User Interface 114 to create and/or update shortened addresses associated with complete addresses in a VDR directory for use in voice and/or digit dialing.
In 804, an initialization module 404 of the SIP Device 110 may identify an initialization signal transmitted by the User Interface 114 and may instruct the request module 408 to generate a processing data session request (e.g., SIP INVITE message) including the identification information of the user and/or User Interface 114.
In 806, the UA communication module 410 may forward the processing data session request to the VDR Server 126 and may communicate with the VDR Server 126 to establish a processing data session (e.g., a SIP dialog and media session).
In 808, the processing module 506 of the VDR Server 126 may process the identification information included in the processing data session request to identify a VDR directory associated with the user and/or User Interface 114.
In 810, the processing module 506 may generate prompt information for prompting the user of the User Interface 114 to input (i.e., speak or dial) a shortened address and/or a complete address. The SIP Device 110 may generate analog signals based on the prompt information for display and/or for generating audio at the User Interface 114. In response to analog signals (e.g., coded signals or voice signals) received from the User Interface 114, the receiver module 402 of the SIP Device 110 may generate address information based on the received analog signals and may instruct the UA communication module 410 to forward the address information to the VDR Server 126.
In 812, the input type recognition module 504 of the VDR Server 126 may identify an input type of the address information based on determining whether the address information may include one or more packets containing digitized voice signals or digitized coded signals.
In 814, the processing module 506 may determine whether the address information corresponds to any shortened address information of the VDR directory associated with the identification information. For digitized voice signals, the processing module 506 may perform signal processing on the digitized voice signals to attempt to substantially match the address information to any of the shortened addresses of the VDR directory. For digitized coded signals, the processing module 506 may process the digitized coded signals to attempt to match the address information to any of the number sequences of shortened address information stored within the VDR directory. If the processing module 506 identifies a match, the processing module 506 may include the complete address associated with the shortened address information in the complete address information and the flow diagram 800 may continue to 820. If the processing module 506 does not identify a match, the flow diagram 800 may continue to 816.
In 816, the processing module 506 may determine whether the address information corresponds a complete address, as discussed above. If the address information does not correspond to a complete address, the flow diagram 800 may continue to 818. If the address information corresponds to a complete address, the processing module 506 may include the complete address in the complete address information, and the flow diagram 800 may continue to 820.
In 818, the processing module 506 may determine an error and may forward error information to the SIP Device 110. The SIP Device 110 may generate an analog signal for producing audio, video, or a text message at the User Interface 114 informing the user that a data session may not be established based on the received address information. For example, the message may indicate that a telephone call may not be completed as dialed. The flow diagram 800 may continue to 826 and end.
In 820, the processing module 506 may instruct the VDR communication module 502 to transmit the complete address information to the SIP Device 110. For example, the processing module 506 may package the complete address information as a URI in a Refer-to field of a SIP REFER message, and the VDR communication module 502 may transmit the SIP REFER message to the SIP Device 110.
In 822, the request module 408 may generate a connection request including the complete address from the complete address information received at the UA communication module 410, and may instruct the UA communication module 410 to forward the connection request to the SIP Server 122.
In 824, the UA communication module 410 may communicate with the SIP Server 122 and the SIP Element 130, for example, to establish a data session. Once the data session is established, the User Interface 114 may exchange data with the SIP Element 130 over the IP Networks 120 and 124 via the SIP Device 110. The flow diagram 800 may continue to 826 and end.
In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.
This patent application claims priority to U.S. Provisional Patent Application No. 60/719,465, filed Sep. 22, 2005, which is hereby incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3737587 | Romero | Jun 1973 | A |
4154987 | Rosenberg et al. | May 1979 | A |
4528424 | Middleton et al. | Jul 1985 | A |
4723271 | Grundtisch | Feb 1988 | A |
4741024 | Del Monte et al. | Apr 1988 | A |
4950011 | Borcea et al. | Aug 1990 | A |
5165095 | Borcherding | Nov 1992 | A |
5323444 | Ertz et al. | Jun 1994 | A |
5471519 | Howe et al. | Nov 1995 | A |
5619561 | Reese | Apr 1997 | A |
5815550 | Miller | Sep 1998 | A |
5835570 | Wattenbarger | Nov 1998 | A |
5913166 | Buttitta et al. | Jun 1999 | A |
5970134 | Highland et al. | Oct 1999 | A |
5999610 | Lin et al. | Dec 1999 | A |
6021176 | McKendry et al. | Feb 2000 | A |
6026156 | Epler et al. | Feb 2000 | A |
6031896 | Gardell et al. | Feb 2000 | A |
6072865 | Haber et al. | Jun 2000 | A |
6208726 | Bansal et al. | Mar 2001 | B1 |
6219414 | Maciejewski et al. | Apr 2001 | B1 |
6308726 | Sato et al. | Oct 2001 | B2 |
6337898 | Gordon | Jan 2002 | B1 |
6339639 | Henderson | Jan 2002 | B1 |
6404876 | Smith et al. | Jun 2002 | B1 |
6484196 | Maruille | Nov 2002 | B1 |
6510315 | Arnson | Jan 2003 | B1 |
6636594 | Oran | Oct 2003 | B1 |
6735295 | Brennan et al. | May 2004 | B1 |
6741695 | McConnell et al. | May 2004 | B1 |
6744877 | Edwards | Jun 2004 | B1 |
6754325 | Silver et al. | Jun 2004 | B1 |
6801604 | Maes et al. | Oct 2004 | B2 |
6807259 | Patel et al. | Oct 2004 | B1 |
6834048 | Cho et al. | Dec 2004 | B1 |
6856616 | Schuster et al. | Feb 2005 | B1 |
6857072 | Schuster et al. | Feb 2005 | B1 |
6870830 | Schuster et al. | Mar 2005 | B1 |
6876632 | Takeda | Apr 2005 | B1 |
6879673 | Creamer et al. | Apr 2005 | B2 |
6954521 | Bull et al. | Oct 2005 | B2 |
6954524 | Gibson | Oct 2005 | B2 |
6961332 | Li et al. | Nov 2005 | B1 |
6963633 | Diede et al. | Nov 2005 | B1 |
6965614 | Osterhout et al. | Nov 2005 | B1 |
6985961 | Ramsayer et al. | Jan 2006 | B1 |
6996605 | Low et al. | Feb 2006 | B2 |
7020130 | Krause et al. | Mar 2006 | B2 |
7031700 | Weaver et al. | Apr 2006 | B1 |
7039710 | Khartabil | May 2006 | B2 |
7050559 | Silver et al. | May 2006 | B2 |
7082193 | Barclay et al. | Jul 2006 | B2 |
7085253 | Yang | Aug 2006 | B2 |
7130282 | Black | Oct 2006 | B2 |
7145997 | Poikselka et al. | Dec 2006 | B2 |
7203293 | Bedingfield | Apr 2007 | B1 |
7224792 | Fusco | May 2007 | B2 |
7257837 | Xu et al. | Aug 2007 | B2 |
7260201 | Jorasch et al. | Aug 2007 | B2 |
7274662 | Kalmanek et al. | Sep 2007 | B1 |
7283517 | Yan et al. | Oct 2007 | B2 |
7290288 | Gregg et al. | Oct 2007 | B2 |
7295577 | Moody et al. | Nov 2007 | B2 |
7301913 | Corrao et al. | Nov 2007 | B2 |
7406696 | Burger et al. | Jul 2008 | B2 |
7426265 | Chen et al. | Sep 2008 | B2 |
7440440 | Abichandani et al. | Oct 2008 | B1 |
7460657 | Baeza | Dec 2008 | B1 |
7489771 | McMurry et al. | Feb 2009 | B2 |
7580497 | Wang et al. | Aug 2009 | B2 |
7593389 | Vance | Sep 2009 | B2 |
7599355 | Sunstrum | Oct 2009 | B2 |
7609700 | Ying et al. | Oct 2009 | B1 |
7609706 | Scott et al. | Oct 2009 | B2 |
7630481 | Kafka | Dec 2009 | B2 |
7715413 | Vaziri et al. | May 2010 | B2 |
7743141 | Wang et al. | Jun 2010 | B2 |
7773581 | Punj et al. | Aug 2010 | B2 |
7860089 | Tripathi et al. | Dec 2010 | B2 |
8059805 | Claudatos et al. | Nov 2011 | B2 |
8116302 | Robbins | Feb 2012 | B1 |
20020038388 | Netter | Mar 2002 | A1 |
20020114318 | Rines | Aug 2002 | A1 |
20020131447 | Krishnamurthy et al. | Sep 2002 | A1 |
20020136359 | Stumer et al. | Sep 2002 | A1 |
20020136363 | Stumer et al. | Sep 2002 | A1 |
20020137495 | Gabrysch | Sep 2002 | A1 |
20020141548 | Boda | Oct 2002 | A1 |
20020156900 | Marquette et al. | Oct 2002 | A1 |
20030028806 | Govindarajan et al. | Feb 2003 | A1 |
20030043992 | Wengrovitz | Mar 2003 | A1 |
20030088421 | Maes et al. | May 2003 | A1 |
20030231759 | Bedingfield et al. | Dec 2003 | A1 |
20040030750 | Moore et al. | Feb 2004 | A1 |
20040037403 | Koch | Feb 2004 | A1 |
20040051900 | Sagiya et al. | Mar 2004 | A1 |
20040082324 | Ayoub | Apr 2004 | A1 |
20040090954 | Zhang et al. | May 2004 | A1 |
20040148395 | Schulzrinne | Jul 2004 | A1 |
20040207724 | Crouch et al. | Oct 2004 | A1 |
20040240656 | Poustchi | Dec 2004 | A1 |
20040243680 | Mayer | Dec 2004 | A1 |
20040249951 | Grabelsky et al. | Dec 2004 | A1 |
20040264406 | Pattenden et al. | Dec 2004 | A1 |
20050013421 | Chavez et al. | Jan 2005 | A1 |
20050043014 | Hodge | Feb 2005 | A1 |
20050069104 | Hanson et al. | Mar 2005 | A1 |
20050078642 | Mayer et al. | Apr 2005 | A1 |
20050123104 | Bishop et al. | Jun 2005 | A1 |
20050129219 | Williamson | Jun 2005 | A1 |
20050147227 | Chervirala et al. | Jul 2005 | A1 |
20050190721 | Pershan | Sep 2005 | A1 |
20050193338 | Hawkins et al. | Sep 2005 | A1 |
20050195802 | Klein et al. | Sep 2005 | A1 |
20050201530 | Koch et al. | Sep 2005 | A1 |
20050213716 | Zhu et al. | Sep 2005 | A1 |
20050215243 | Black et al. | Sep 2005 | A1 |
20050226217 | Logemann et al. | Oct 2005 | A1 |
20050237978 | Segal | Oct 2005 | A1 |
20050249196 | Ansari et al. | Nov 2005 | A1 |
20050286466 | Tagg et al. | Dec 2005 | A1 |
20060033809 | Farley | Feb 2006 | A1 |
20060039389 | Burger et al. | Feb 2006 | A1 |
20060062210 | Dharanikota | Mar 2006 | A1 |
20060062251 | Lim et al. | Mar 2006 | A1 |
20060067300 | Poustchi et al. | Mar 2006 | A1 |
20060067504 | Goldman et al. | Mar 2006 | A1 |
20060140379 | Yamamoto et al. | Jun 2006 | A1 |
20060140380 | Croak et al. | Jun 2006 | A1 |
20060146737 | Ohrstrom Sandgren et al. | Jul 2006 | A1 |
20060165060 | Dua | Jul 2006 | A1 |
20060177030 | Rajagopalan et al. | Aug 2006 | A1 |
20060177044 | O'Neil et al. | Aug 2006 | A1 |
20060178130 | Makrygiannis | Aug 2006 | A1 |
20060203986 | Gibson | Sep 2006 | A1 |
20060218283 | Jones | Sep 2006 | A1 |
20060221176 | Di Pietro et al. | Oct 2006 | A1 |
20060251229 | Gorti et al. | Nov 2006 | A1 |
20060285533 | Divine et al. | Dec 2006 | A1 |
20060286984 | Bonner | Dec 2006 | A1 |
20070025270 | Sylvain | Feb 2007 | A1 |
20070058613 | Beckemeyer | Mar 2007 | A1 |
20070083658 | Hanna et al. | Apr 2007 | A1 |
20070092073 | Olshansky et al. | Apr 2007 | A1 |
20070111723 | Ahmed et al. | May 2007 | A1 |
20070143858 | Hearty | Jun 2007 | A1 |
20070280469 | Baker et al. | Dec 2007 | A1 |
20080049724 | Tsujino et al. | Feb 2008 | A1 |
20080126549 | Khanchandani et al. | May 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
60719465 | Sep 2005 | US |