WO2007084118A1 - Methods and apparatus for multiple audio connections over networks - Google Patents

Methods and apparatus for multiple audio connections over networks Download PDF

Info

Publication number
WO2007084118A1
WO2007084118A1 PCT/US2006/001383 US2006001383W WO2007084118A1 WO 2007084118 A1 WO2007084118 A1 WO 2007084118A1 US 2006001383 W US2006001383 W US 2006001383W WO 2007084118 A1 WO2007084118 A1 WO 2007084118A1
Authority
WO
WIPO (PCT)
Prior art keywords
audio
communication device
audio communication
processor
trigger
Prior art date
Application number
PCT/US2006/001383
Other languages
French (fr)
Inventor
Scott Stogel
Jonathan Niedfeldt
Original Assignee
Digital Accoustics, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Accoustics, Llc filed Critical Digital Accoustics, Llc
Priority to PCT/US2006/001383 priority Critical patent/WO2007084118A1/en
Publication of WO2007084118A1 publication Critical patent/WO2007084118A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/253Telephone sets using digital voice transmission
    • H04M1/2535Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network

Definitions

  • the invention relates to an audio communication system and more particularly to a means of establishing a connection between audio communications devices, such as telephones, intercoms or other audio communication terminals, connected together using TCP/IP connections.
  • the invention relates to TCP/IP Client-Server network connection pairs where the connection pairs of a plurality of devices is managed to provide multiple combinations.
  • Audio communication over Ethernet and Internet connections are known. They are implemented in VoIP telephony and communications equipment, music distribution, paging and remote audio monitoring. VoIP communications traditionally requires SIP/H323 management for establishment of a paired connection. The requirement includes encryption (TLS/SSL) that may require processor power of ARM or DSP processors running at over 1 OMIPS and a 'name server' database to provide connection information.
  • TLS/SSL encryption
  • processor power of ARM or DSP processors running at over 1 OMIPS and a 'name server' database to provide connection information.
  • Client-Server TCP/IP connections are also known and provide a single paired connection for data transfer.
  • Client-Server describes the relationship between two processors with TCP/IP programming in which one processor, the client, issues a service request to another processor program, the server, which fulfills the request.
  • the invention described herein is a method and apparatus for establishing an audio communication session utilizing Internet Protocol where the connection, once established, provides a means for audio exchanges.
  • the network connection may be closed to enable a condition for subsequent network connections and audio sessions.
  • fOOO ⁇ 'Ac ' c ⁇ fding fo'tne' ' invention an audio communication terminal, or multiple terminals in a system, may be connected to a network. Each terminal may idle in a server mode.
  • a trigger such as a switch or dialing mechanism.
  • the trigger causes the terminal to switch from a server mode to client mode.
  • client mode the terminal may issue a connection request to a remote destination terminal.
  • communications such as audio or data communication are possible.
  • Such communications may be half-duplex "intercom" style or any other applicable communication method.
  • connection pair combinations may be established, each based on sets of Client-Server pairs without the requirement of SIP/H323 or database name servers.
  • This provides a system with wide interconnection combinations without requirements of a specially programmed computer server or a specialized "head-end" system often used to manage such connections.
  • Device connections may be made without the requirement of common voIP techniques such as SIP (Session Initiated Protocol), Jabber/XMPP and H.323 gateways, but rather, may connect using the described flexible paired Client-Server connection techniques.
  • SIP Session Initiated Protocol
  • Jabber/XMPP Joint Initiated Protocol
  • H.323 gateways but rather, may connect using the described flexible paired Client-Server connection techniques.
  • the invention's novel process provides advancements for scalable implementations, cost reduction, worldwide communications and ease of setup and use.
  • One specific advantage is that processing power, and associated costs, may be reduced to operational speeds of 5MIPS and processors incorporating 8 bit microcontroller technology.
  • the invention's unique connection technique makes available call connection information in a network with a WAN firewall that might block SIP/H323 session initialization.
  • the audio device used for connections may contain a processor with associated memory, a TCP/IP protocol stack, a codec and a means of generating audio signals.
  • the audio communication terminals may incorporate switch closures for initiating talk, connect and disconnect states, a plurality of switches for selecting the desired connection, indicators and displays.
  • the audio communication terminal may also incorporate transducers in the form of a microphone, speaker or handset, or a means of creating audio signals with stored memory.
  • the audio communication terminals may be in a physical form resembling an intercom, telephone, or incorporated as part of a network "appliance.”
  • Network connections described may be over local LAN networks or span alternate networks for connections anywhere in the world.
  • a preferred embodiment is envisioned to be low cost, simple to operate, easy to configure and scalable from a single pair to pluralities of audio communication terminals, each with the possibility of connecting to any other.
  • An advantageous feature envisioned may provide for connection sequences to establish connections to one of any number of programmed "fail-forward" audio devices.
  • the address of these fail-forward IP addresses is stored in local memory and offers optional emergency and transfer "busy" IP address destinations.
  • the destination IP addresses may include selective routing based on a set of rules for call routing.
  • the rules may incorporate personal proximity detection, machine status settings (away messages), times of day rules or inactivity timers.
  • the selective routing information may be in the initial DNS routine or subsequent connect attempts. Such connections may work with or without an external registration server.
  • session initialization, setup, teardown as well as actual audio/data transport may be handled with a single protocol.
  • This is different from known systems such as Skype, AIM Google Voice and VoIP phones.
  • the method according to the invention may support unlimited numbers of devices, each capable of initiating a sequence to establish a network connection, directly to the destination device (i.e., just via network switches vs. another PC/Server) and via a single protocol (vs. an intermediate protocol, like H323, SIP or Translators).
  • the audio connection device may optionally exhibit the following features and/or advantages. [0015] - Does not require external computing service for address database management.
  • Figure 1 shows a schematic interconnection of in two audio communication terminal devices, connected on a network.
  • Figure 2 A details a plurality of similar devices, connected in a means according to the invention, shown in Idle/Standby modes .
  • Figure 2B shows the devices according to Figure 2A, after a paired connection.
  • Figure 3 shows plurality of similar hardware devices and a computer with communications management software connected to a network.
  • Figure 4 shows embodiments of an audio communication terminal device according to the invention.
  • Figure 5 shows an alternate embodiment of an audio device, according to the invention.
  • Figure 6 shows a block diagram of an embodiment of electronics, according to the invention.
  • Figure 7 shows a half-duplex audio sub-system comprising a microphone and speaker.
  • Figures 8-14 show flowcharts of methods according to an embodiment of the invention.
  • FIGS 1-3 show a block of IP enabled apparatus (audio communication terminals), such as those shown in Figures 4 and 5, each with their own IP address, static or assigned by a Dynamic Host Configuration Protocol ("DHCP.")
  • DHCP Dynamic Host Configuration Protocol
  • DHCP is an internet protocol for automating the configuration of computers that use TCP/IP.
  • DHCP can be used to automatically assign IP addresses to deliver TCP/IP stack configurations and provide other configuration information.
  • a connection on a Network (100) that may be a local LAN or WAN network, Internet network, wireless network or combination of these networks over a large distance.
  • the audio communication terminals shown all contain at least a unique identifier, such as a MAC ID, and an individual IP address in the commonly known format #.#.#.# (ex 192.168.0.100) stored in memory (618). These numbers may be in memory, assigned by the operator during a setup configuration, or may be assigned by the network on initialization (DHCP Assignment).
  • a unique identifier such as a MAC ID
  • an individual IP address in the commonly known format #.#.#.# (ex 192.168.0.100) stored in memory (618). These numbers may be in memory, assigned by the operator during a setup configuration, or may be assigned by the network on initialization (DHCP Assignment).
  • Figure 1 shows a representation of traditionally TCP paired connection such that one audio communication terminal (101) would be set as a client and another (102) would be set as a Server Listener via memory flags set in memory 618.
  • the Client (101) On power up initialization the Client (101) would request a connection to the known IP address of audio communication terminal 102, set as a Server listening for such a request. Connection would occur when the Server 102 receives and accepts the client's request. Once connected, data transfer is available at any time and audio communication may be exchanged. Connection may continue permanently or until power loss or failure.
  • connection and, therefore, communication, on any one audio communication terminal is limited to the mated counterpart audio communication terminal in the pair.
  • Figures 2 A and 2B show a configuration whereby audio communication terminals are programmed according to the invention for multiple, paired communications expanded over a plurality of audio communication terminals.
  • Audio communication terminals 201 and 202 are detailed, with the last audio communication terminal of an array indicated by 203. Such an array could extend into thousands of units, limited only by network capabilities to create and handle the expanding connections.
  • Audio communication terminals of Figure 2 A are shown in idle mode. In the idle mode all audio communication terminals are maintained in the Server mode waiting for a connect request from a Client. Devices in the Server mode are often referred to as TCP "listeners.”
  • any audio communication terminal may call (contact and connect) to a server utilizing a novel means of seamless re-configuration to act as a TCP client seeking the desired server listener address.
  • a server utilizing a novel means of seamless re-configuration to act as a TCP client seeking the desired server listener address.
  • connection example shows a configuration during a communication session.
  • the process for initiating a contact (or call) from audio communication terminal 202 may be invoked by activation of one or more local triggers. I n a described embodiment, depression of the Talk button (403,503) on audio communication terminal 202 would invoke the trigger, invoking the invention's process of instantly re-configuring the audio communication terminal from Server to a Client, loading required network addressing from memory, seeking and subsequently connecting to another audio communication terminal (201 in this example). This effectively enables the condition shown in Figure 1 of a TCP/IP Client-Server pair connection.
  • connection may be to any desired, available server audio communication terminal on the network, provided the originating audio communication terminal has the server address programmed in memory according to the invention.
  • a timeout period following release of the talk switch, or a "release key” event (503) or a hook-switch closure (511) would terminate the TCP/IP connection and return the audio communication terminal (202) from Client back to Server mode, restoring it back to an idle/standby.
  • the idle state would permit audio communication terminal 202 to be available (as a server) to receive calls from any other audio communication terminal in the array, or again call out to another known audio communication terminal in the array as a client.
  • Switches may be incorporated to refer to arrays of network address information providing ability to connect to a plurality of desired audio communication terminals.
  • Switches may " be ⁇ fi " the " form of dedicated speed-dial keys, or fixed and programmable keypad arrays.
  • the address arrays may include IP Addresses and Port numbers to be used in the TCP connection request as described in Fig 2 and information such as names and locations.
  • audio communication terminal address arrays may be programmed into audio communication terminal memory (616) by various means.
  • Figure 3 shows means whereby a computer (304) running a supporting application may be set to program a plurality of audio communication terminals 301-303.
  • UDP broadcasts originating from the computer may request audio communication terminals to reply with their individual network identifiers containing their unique MAC IDs, IP and port numbers, and useful identifications.
  • Subsequent network transmissions from the computer may individually or globally program audio communication terminals in the system with configuration information such as programmable key assignments, address directories and operating feature options.
  • Alternate configuration methods such as means for manual programming and configuring audio communication terminals to seek destination servers with known addresses and exchanging programming information may also be available within the processor operating system ( Figure 6).
  • an audio communication terminal may not be able to establish a requested connection with a preferred audio communication terminal, it may advantageously attempt a connection to another audio communication terminal according to a pre-programmed or interactive protocol.
  • a. fail-connection system is envisioned to be useful for security and emergency communications.
  • the apparatus may be entirely housed in an audio communication terminal enclosure (400) or styled in the form of a Telephone (500) with means of power (not shown) and network connection, such as an RJ45 jack (also not illustrated). These connections might enter the enclosures via rear or side connection jacks.
  • Figures 4 A and 4B describe an audio communication terminal with common elements shown in the drawing of Figure 5, styled as a telephone.
  • the description of Figures 4A/4B could apply to corresponding elements of the telephone (500) with available engineering and fabrication techniques.
  • Figure 4 contains switches (401,402), display information (403), and audio transducers (404,405).
  • the visual indicators (403) may be LEDs or an alphanumeric display indicating condition states and useful user information.
  • the microphone (404) and speaker (405) may be used as transducers for transmitting voice, playing received audio and providing audible indications. In alternate embodiments the microphone may be eliminated in favor of bidirectional transducers, audio data saved in memory, or housed in the form of a handset (506).
  • the Talk Button shown (402) may provide a local PTT (Push To Talk) signal to enable transmission of audio in the form of a trigger signal to the processor. The functionality of the talk button may be expanded to provide Talk/Release capability for terminating a call.
  • a handset (506) with integrated hook-switch (507) may also be used to incorporate audio and automatic Talk/Release capabilities.
  • the enclosure houses the electronic assembly schematically shown in Figure 6, incorporating power management, a network interface, a processor, a Codec, a transducer, controls and indicators.
  • the network connection (602) described may be a standard design such as a RJ45 housing with 10/100mb magnetic isolation, connected to a PHY interface IC, such as a RealTek 820 IBL (604).
  • Other network connections may include higher speed networks, wireless 802.11b, Bluetooth, Optical and Power-Line solutions that are all capable of transporting data using TCP/IP protocol.
  • a Power connection (601) is shown to provide the required DC power.
  • Optional methods for Power over Ethernet (PoE) (603) may be employed to deliver required power, without a dedicated power connection 601, when incorporated with the Network wiring connections (602).
  • the electronics for implementation may not require extensive DSP processing power.
  • a processor such as Atmel 8052 with 64KB Flash Memory and 2 K of RAM and W3100 Network ASIC can be employed. 25 MHZ devices have been chosen and provide sufficient speed to exchange audio data in Client-Server network connections.
  • the programming of the processor 600 may contain algorithms to handle multiple basic functions:
  • TCP/IP and UDP data manager may be used to store TCP/IP connection states and manage packet for reception and transmission in the form of a TCP/IP "Stack.” A key element used in this management is the connection mode attempted.
  • the audio communication terminal may be configured as TCP/IP Client or TCP/IP Server, both of which are required to make a valid "Connection” whereby data and digital audio may be transferred.
  • the data manager (Client or Server) mode may be controlled by a memory logic flag, "Client/Server Mode" in memory (618).
  • Data from the TCP/IP and UDP data manager 605 may be transferred via a method that includes commands listed in Table 1. Other command functions and methods are possible. Audio data may be incorporated between or contain commands when transferred serially in real time. Video or other data may also be transferred in versions envisioned.
  • the Command Decoder (606) parses incoming data for remote instructions that may include commands to raise or lower a volume in the Codec (609), control an input or output logic (613) or remotely control keystrokes (613), effectively controlling the audio communication terminal from a network signal. It may also hold cryptographic keys, flash memory programming codes and subsequent data stream information that may be used for remote servicing and data security.
  • the arriving data may be accepted in a form such as UDP data packet, and may contain command information, memory programming information and/or an audio packet stream.
  • the decoder (606) may manage the data by detection, setting or the memory flag TCP/IP-UDP in memory (618) and timing the decoding of incoming UDP packets decoding as needed.
  • UDP transfers may be used to exchange data information prior to Client-Server paired connection, for system setup and configuration as well as audio content distribution, such as group paging.
  • the Command Encoder (608) may advantageously create formatted code commands that, when transmitted, send signaling information to the remote network devices. This can be a signal to control status and operating states of other devices on the network.
  • the Audio Stream section (607) manages software based conversion and compression techniques such as PCM, uLaw or GSM compression, tone generation, voice activated transmission control (VOX level detection), echo cancellation and encryption/decoding security algorithms applied to the audio stream itself.
  • software based conversion and compression techniques such as PCM, uLaw or GSM compression, tone generation, voice activated transmission control (VOX level detection), echo cancellation and encryption/decoding security algorithms applied to the audio stream itself.
  • General Purpose Input-Output (GPIO) controls may be used to manage hardware lines (ports on the processor) to control and sense switches relays, sensors and indicators. GPIO states may be exchanged on the network for any purpose, including control of real time events, the audio communication terminal user interface, security and remote control.
  • GPIO General Purpose Input-Output
  • the processor capabilities may support echo-cancellation techniques (such as G.168) such that Full-Duplex exchanges of audio are possible.
  • Advantageously Half-Duplex audio may be implemented on the processor configured to allow 2-way communication via Push-to-Talk, wherein each party in a paired communication may either listen or speak at alternating intervals.
  • the process provides simple connection mechanism such as (Push to Talk) or hands-free (speakerphone) style communication while maximizing the available bandwidth on the network by having a single audio stream transferring at any point in time (to or from the apparatus).
  • This operational method also prevents acoustic feedback eliminating the need for computing intensive echo-canceling processes.
  • the logic management may optionally be used to tell the Audio Stream Manager (607) to generate a beep at the end of the audio transmission, effectively informing the remote human operator the audio channel is free and they may reply by voice. This is an operational mode, using beeps, that is commonly used in walkie-talkie communications.
  • Figure 7 details exchanging audio information with the processor in Half Duplex modes. Elements may be a microphone/ WM54 (712), speaker/CUI-GA0666 (711), IC power amplifier (714) (ex: National Semi LM5431) and Microphone Pre-Amp (such as AD SS2121) (715) combined to interface to a Codec (701) such as Winbond 692510.
  • the system may be provided with an external input(713).
  • Such blocks as shown are also available in either more discreet or more highly integrated implementations, all used to convert Analog and Digital signals.
  • Alternate transducers available, but not shown, may include 'bullhorn' speakers and parabolic microphones, or a microphone and ear element combined in telephone style handset.
  • audio signals connected to the Codec may be generated from external input signals such as audio data stored in memory or real-time audio sources such as Internet. In this manner a call to an audio communication terminal might generate a return recorded audio signal such as "I am not available now," or generate announcements from a real time 'live' source.
  • Half- Duplex and voice controlled duplexing (VOX) may be digitally controlled via signals 610 and 703.
  • Audio connections between audio communication terminal pairs are TCP Client-Server connections. Data may also be exchanged in an unconnected mode, such as UDP broadcast data.
  • UDP broadcast data the audio communication terminal processor (600) may parse data to decode commands and audio data information.
  • the audio communication terminal data manager may act on commands as needed and request additional data such as programming mode packets or broadcasted audio data streams.
  • Establishing connections requires a connection request to be sent from the client and be received by the TCP/IP manager (605) in the server. The processor then checks to see if the audio communication terminal memory flag (in memory 618) has been set for listening and may accept the request. If so, the pair exchanges additional TCP data, completing the connection. Once connected a Connect flag is set in memory to steer the processor operation accordingly.
  • Processor 600 of the intercom or audio communication device or terminal may run coded programming routines to manage data, control audio communication terminal operation, process audio and manage configuration and memory updates.
  • the routines of the processor that support the methods of the inventions are described in Figures 8-14.
  • [UUOSJ Primary routines ot the processor may be cyclical after power-up and system initialization. Prior to entering the main loop, system initialization may set memory states, visual displays, test network conditions and initialize the audio communication terminal to Idle Mode as shown in Figure 2A.
  • a connection request may be established 808, and the process is returned to the beginning of the main loop 800. If at 804, the TCP Mode is not set to Server, the Server Mode flag may be reset, 809 and control is returned to the main loop 800. If a connection is detected at 804 the system then processes audio at 806 prior to returning to the main loop 800. This loop process is effectively Idle Mode, shown in Figure 2A.
  • An apparatus of the invention may provide a means of specifying a desired connection, such as a speed-dial key set (901). If depressed, existing connections are terminated, the index of the button is stored, and a flag is set to indicate that a selection has occurred (902).
  • Key depressions such as Release may terminate a network connection (906) and additional keypresses, and sensors (905) may provide means for changing operation modes and programming. At the conclusion of the routine, control is passed back to the main loop.
  • FIG. 10 expands on the RequestConnection process (908) for beginning a call.
  • the process (1000) When invoked, the process (1000) would examine if a previous connection address is to be used, or be replaced with a new address (1001).
  • a New Address sequence (1002) would load a data array holding address information, save the information as an active address, and clear memory flags such as NewAddress to prevent re-entry.
  • This information would contain "Server Address Information” (SAI) and may contain an IP address, Port Number, Subnet Mask, MAC ID, and text to facilitate the actual connection request (1003).
  • SAI may also be saved providing means for a single TALK command to attempt a subsequent connection to the called audio communication terminal, equivalent to a telephone 'Recall' function.
  • TCP/IP Connection Request follows standard TCP/IP protocol to request a connection.
  • the processor must set the Server-Client flag to Client Mode.
  • SAI Server Address Information
  • Information for a connection request may then be passed to the network in TCP/IP SYN-ACK protocols (1003) to wait for the designated Server to establish a connection.
  • FIG 11 shows a TCP/IP connection process of an audio communication terminal receiving a client's incoming connect request.
  • Inbound frames of data to a server containing identification information are parsed and responded to by the specific target (TCP 1 ACK 1 ) (1101).
  • Subsequent return ACKs validate a handshake whereby a Client-Server connection state exists (1102).
  • the audio communication terminal may provide security algorithms and means of rejecting connection requests (1104). All connection events of both Server and Client events may be logged for functions equivalent to a "Caller ID" log and history.
  • audio processing 806 may transfer audio between audio communication terminals as further described in Figure 13.
  • the process of exchanging data on the network (1311) has been outlined previously for Half-Duplex and Full-Duplex exchanges.
  • Successfully established connections permitting audio exchanges may invoke memory storage of the network addresses information of the incoming client (1006) and a means for transfer to the SAI memory, for a single TALK command to reestablish connection with the last connected audio communication terminal, equivalent to a telephone 'Recall' function.
  • this information may further update integrated audio communication terminal address directories for later use.
  • Blocked connections would trigger a universal routine, ClearConnection (1105) further described in Figure 12.
  • FIG 12 describes the process for terminating a current TCP/IP connection initiated at (1200).
  • This routine is used for disconnecting "blocked" audio communication terminals (1104), in response to a Release sequences (904), and in TimerEvents (802). If a connection is active (1201) a TCP/IP 'FIN' exchange triggers the client and server pair to terminate their connections. Timeouts (1202) provide further insurance that failed exchanges will ultimately result in a terminated connection.
  • the Connected state becomes False, the Main routine 801 would subsequently restore the Client audio communication terminal back to a Server state in idle mode in process SetServerMode (809) and further described in Figure 13.
  • the Call Logs may also be updated to provide connect times and other useful information.
  • idle mode would then provide a means for additional paired communications, initiated from any audio communication terminal to any other audio communication terminal.
  • Figure 13 describes the detail of the SetServerMode routine.
  • the processor sets the TCP/IP Stack to Server mode (a TCP listener), creates the required Transmit Control Blocks and sets the processor to listen for network SYNs requesting a new connection.
  • Figure 14 outlines details of TimerEvents shown in the Main routine (802).
  • the timer may have sets of intervals ranging from counts of processor cycles to minutes.
  • the TimerEvent detail described in Figure 14 shows two such intervals (1401,1403) and for clarity does not show traditional and envisioned timer events of at least keyboard scans, display updates and memory flag housekeeping.
  • ActivityExpired Timer event (1401) provides a means of terminating a network connection (1402) when audio data or actuator timers indicate the call is complete. For example, in the described Half-Duplex embodiment this can be the absence of audio exchanges for some period of time.
  • the UpdateNow timer event (1403) may be set to invoke automatic access data exchanges to a network for system wide connection status and updated audio communication terminal array information. If the process is enabled (1404), and the audio communication terminal is available for data exchange, the audio communication terminal may update local displays with system information and report its current availability to other audio communication terminals or a computer on the network. Such a connection is possible with UDP exchanges, or TCP data transfers to a network device with a known network address (or ???). Advantageously, this would provide the capability for HTTP setup and status updates via a web enabled interface.

Abstract

A communication terminal, communication method and communication system is particularly suited for audio communications and applications such as intercom. Multiple communications terminals (301-303) may reside on a network (100) and idle in a server mode. When communications are initiated in response to a trigger by switching a communication terminal from server mode to client mode, the client addresses another communication terminal and requests service in the form of a connection. The system and terminals may operate using TCP/IP protocol.

Description

METHOD AND APPARATUS FOR MULTIPLE AUDIO CONNECTIONS
OVER NETWORKS
BACKGROUND
1. Field of Invention:
[0001] The invention relates to an audio communication system and more particularly to a means of establishing a connection between audio communications devices, such as telephones, intercoms or other audio communication terminals, connected together using TCP/IP connections. The invention relates to TCP/IP Client-Server network connection pairs where the connection pairs of a plurality of devices is managed to provide multiple combinations.
2. Description of Related Technology
[0002] Audio communication over Ethernet and Internet connections are known. They are implemented in VoIP telephony and communications equipment, music distribution, paging and remote audio monitoring. VoIP communications traditionally requires SIP/H323 management for establishment of a paired connection. The requirement includes encryption (TLS/SSL) that may require processor power of ARM or DSP processors running at over 1 OMIPS and a 'name server' database to provide connection information.
[0003] Client-Server TCP/IP connections are also known and provide a single paired connection for data transfer. Client-Server describes the relationship between two processors with TCP/IP programming in which one processor, the client, issues a service request to another processor program, the server, which fulfills the request.
SUMMARY OF THE INVENTION
[0004] The invention described herein is a method and apparatus for establishing an audio communication session utilizing Internet Protocol where the connection, once established, provides a means for audio exchanges. At the termination of the audio session the network connection may be closed to enable a condition for subsequent network connections and audio sessions. fOOO^'Ac'cόfding fo'tne'' invention an audio communication terminal, or multiple terminals in a system, may be connected to a network. Each terminal may idle in a server mode. In one embodiment, when a user desires to initiate communication, the user may actuate a trigger such as a switch or dialing mechanism. The trigger causes the terminal to switch from a server mode to client mode. In client mode the terminal may issue a connection request to a remote destination terminal. Once the client terminal is connected to the remote terminal, communications such as audio or data communication are possible. Such communications may be half-duplex "intercom" style or any other applicable communication method.
[0006] By utilizing the disclosed system a nearly unlimited amount of connection pair combinations may be established, each based on sets of Client-Server pairs without the requirement of SIP/H323 or database name servers. This provides a system with wide interconnection combinations without requirements of a specially programmed computer server or a specialized "head-end" system often used to manage such connections. Device connections may be made without the requirement of common voIP techniques such as SIP (Session Initiated Protocol), Jabber/XMPP and H.323 gateways, but rather, may connect using the described flexible paired Client-Server connection techniques. The invention's novel process provides advancements for scalable implementations, cost reduction, worldwide communications and ease of setup and use.
[0007] One specific advantage is that processing power, and associated costs, may be reduced to operational speeds of 5MIPS and processors incorporating 8 bit microcontroller technology.
[0008] In addition, the invention's unique connection technique makes available call connection information in a network with a WAN firewall that might block SIP/H323 session initialization.
[0009] In a preferred embodiment the audio device used for connections, referred to herein as an "audio communication terminal" may contain a processor with associated memory, a TCP/IP protocol stack, a codec and a means of generating audio signals. The audio communication terminals may incorporate switch closures for initiating talk, connect and disconnect states, a plurality of switches for selecting the desired connection, indicators and displays. The audio communication terminal may also incorporate transducers in the form of a microphone, speaker or handset, or a means of creating audio signals with stored memory. The audio communication terminals may be in a physical form resembling an intercom, telephone, or incorporated as part of a network "appliance."
[0010] Network connections described may be over local LAN networks or span alternate networks for connections anywhere in the world. A preferred embodiment is envisioned to be low cost, simple to operate, easy to configure and scalable from a single pair to pluralities of audio communication terminals, each with the possibility of connecting to any other.
[0011] An advantageous feature envisioned may provide for connection sequences to establish connections to one of any number of programmed "fail-forward" audio devices. The address of these fail-forward IP addresses is stored in local memory and offers optional emergency and transfer "busy" IP address destinations.
[0012] Additional features are envisioned, such that for unanswered calls the destination IP addresses may include selective routing based on a set of rules for call routing. The rules may incorporate personal proximity detection, machine status settings (away messages), times of day rules or inactivity timers. The selective routing information may be in the initial DNS routine or subsequent connect attempts. Such connections may work with or without an external registration server.
[0013] According to an advantageous feature of the invention, session initialization, setup, teardown as well as actual audio/data transport may be handled with a single protocol. This is different from known systems such as Skype, AIM Google Voice and VoIP phones. Advantageously, the method according to the invention may support unlimited numbers of devices, each capable of initiating a sequence to establish a network connection, directly to the destination device (i.e., just via network switches vs. another PC/Server) and via a single protocol (vs. an intermediate protocol, like H323, SIP or Translators). This offers the capability of using stored audio data for audio information transfers following a connection, such as security, news, information or promotional announcements, i.e., can be used to transfer both prerecorded or microphone audio.
[0014] The audio connection device, according to the invention, may optionally exhibit the following features and/or advantages. [0015] - Does not require external computing service for address database management.
[0016] • Secure and private storage of IP addresses providing means of connections without identifying PP information to intermediate services, allowing creation of a VPIN (Virtual Private Intercom Network).
[0017] • Deployment advantage of operating entirely within a WAN firewall environment (within a single subnet).
[0018] • Cost saving advantage of complete system ownership and freeing the requirements for server based X509 or other security certificate ownership.
[0019] • Initiate connections automatically, manually or on a timed basis.
[0020] • Operate with half duplex or full duplex audio in handset and hands-free modes, or be configured to act as a device capable of only receiving or transmitting audio.
[0021] • Use known or proprietary conversion techniques for audio exchanges over the network.
[0022] • Provide methods other than TCP/IP for exchanging data, such as UDP broadcast protocol.
[0023] • Provide interoperability with Jabber and XMPP protocols.
[0024] • Provide a means to use memory lists to disallow connections.
[0025] • Provide a means to determine status of available stations without using SIP/H3232 encryption.
[0026] • Provide a means of storing a call log and providing levels of connection security. [0027] ""*' Provide ""capaBility for remote update via flash memory from a computer on the network.
[0028] • Provide a means for routing alternate IP addresses, effectively offering call forwarding operations.
[0029] • Provide ability to transmit and receive stored and real time streaming audio and messages.
BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 shows a schematic interconnection of in two audio communication terminal devices, connected on a network.
[0031] Figure 2 A details a plurality of similar devices, connected in a means according to the invention, shown in Idle/Standby modes . Figure 2B shows the devices according to Figure 2A, after a paired connection.
[0032] Figure 3 shows plurality of similar hardware devices and a computer with communications management software connected to a network.
[0033] Figure 4 shows embodiments of an audio communication terminal device according to the invention.
[0034] Figure 5 shows an alternate embodiment of an audio device, according to the invention.
[0035] Figure 6 shows a block diagram of an embodiment of electronics, according to the invention.
[0036] Figure 7 shows a half-duplex audio sub-system comprising a microphone and speaker.
[0037] Figures 8-14 show flowcharts of methods according to an embodiment of the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0038] Figures 1-3 show a block of IP enabled apparatus (audio communication terminals), such as those shown in Figures 4 and 5, each with their own IP address, static or assigned by a Dynamic Host Configuration Protocol ("DHCP.") DHCP is an internet protocol for automating the configuration of computers that use TCP/IP. DHCP can be used to automatically assign IP addresses to deliver TCP/IP stack configurations and provide other configuration information. Also shown is a connection on a Network (100) that may be a local LAN or WAN network, Internet network, wireless network or combination of these networks over a large distance. The audio communication terminals shown all contain at least a unique identifier, such as a MAC ID, and an individual IP address in the commonly known format #.#.#.# (ex 192.168.0.100) stored in memory (618). These numbers may be in memory, assigned by the operator during a setup configuration, or may be assigned by the network on initialization (DHCP Assignment).
[0039] Figure 1 shows a representation of traditionally TCP paired connection such that one audio communication terminal (101) would be set as a client and another (102) would be set as a Server Listener via memory flags set in memory 618. On power up initialization the Client (101) would request a connection to the known IP address of audio communication terminal 102, set as a Server listening for such a request. Connection would occur when the Server 102 receives and accepts the client's request. Once connected, data transfer is available at any time and audio communication may be exchanged. Connection may continue permanently or until power loss or failure.
[0040] In the mode described in Figure 1, the connection and, therefore, communication, on any one audio communication terminal is limited to the mated counterpart audio communication terminal in the pair.
[0041] Figures 2 A and 2B show a configuration whereby audio communication terminals are programmed according to the invention for multiple, paired communications expanded over a plurality of audio communication terminals. Audio communication terminals 201 and 202 are detailed, with the last audio communication terminal of an array indicated by 203. Such an array could extend into thousands of units, limited only by network capabilities to create and handle the expanding connections. Audio communication terminals of Figure 2 A are shown in idle mode. In the idle mode all audio communication terminals are maintained in the Server mode waiting for a connect request from a Client. Devices in the Server mode are often referred to as TCP "listeners."
[0042] According to the invention any audio communication terminal may call (contact and connect) to a server utilizing a novel means of seamless re-configuration to act as a TCP client seeking the desired server listener address. Such a method provides virtually unlimited connection combinations, without the requirement of NameServers, SIP protocol overhead or hardware switchers normally associated with a such distributed system infrastructure.
[0043] The connection example, Figure 2B, shows a configuration during a communication session. The process for initiating a contact (or call) from audio communication terminal 202 may be invoked by activation of one or more local triggers. I n a described embodiment, depression of the Talk button (403,503) on audio communication terminal 202 would invoke the trigger, invoking the invention's process of instantly re-configuring the audio communication terminal from Server to a Client, loading required network addressing from memory, seeking and subsequently connecting to another audio communication terminal (201 in this example). This effectively enables the condition shown in Figure 1 of a TCP/IP Client-Server pair connection. Such a process is known to work within a period fast enough to be transparent to the users and produce a seamless "instant connection." The connection may be to any desired, available server audio communication terminal on the network, provided the originating audio communication terminal has the server address programmed in memory according to the invention.
[0044] A timeout period following release of the talk switch, or a "release key" event (503) or a hook-switch closure (511) would terminate the TCP/IP connection and return the audio communication terminal (202) from Client back to Server mode, restoring it back to an idle/standby. The idle state would permit audio communication terminal 202 to be available (as a server) to receive calls from any other audio communication terminal in the array, or again call out to another known audio communication terminal in the array as a client.
[0045] Additional switches (401,501) may be incorporated to refer to arrays of network address information providing ability to connect to a plurality of desired audio communication terminals. Switches may" be ϊfi "the" form of dedicated speed-dial keys, or fixed and programmable keypad arrays. The address arrays may include IP Addresses and Port numbers to be used in the TCP connection request as described in Fig 2 and information such as names and locations.
[0046] audio communication terminal address arrays may be programmed into audio communication terminal memory (616) by various means.
[0047] Figure 3 shows means whereby a computer (304) running a supporting application may be set to program a plurality of audio communication terminals 301-303. UDP broadcasts originating from the computer may request audio communication terminals to reply with their individual network identifiers containing their unique MAC IDs, IP and port numbers, and useful identifications. Subsequent network transmissions from the computer may individually or globally program audio communication terminals in the system with configuration information such as programmable key assignments, address directories and operating feature options. Alternate configuration methods, such as means for manual programming and configuring audio communication terminals to seek destination servers with known addresses and exchanging programming information may also be available within the processor operating system (Figure 6).
[0048] In the event that an audio communication terminal may not be able to establish a requested connection with a preferred audio communication terminal, it may advantageously attempt a connection to another audio communication terminal according to a pre-programmed or interactive protocol. Such a. fail-connection system is envisioned to be useful for security and emergency communications.
[0049] In a preferred embodiment the apparatus may be entirely housed in an audio communication terminal enclosure (400) or styled in the form of a Telephone (500) with means of power (not shown) and network connection, such as an RJ45 jack (also not illustrated). These connections might enter the enclosures via rear or side connection jacks.
[0050] Figures 4 A and 4B describe an audio communication terminal with common elements shown in the drawing of Figure 5, styled as a telephone. The description of Figures 4A/4B could apply to corresponding elements of the telephone (500) with available engineering and fabrication techniques.
[0051] Figure 4 contains switches (401,402), display information (403), and audio transducers (404,405). The visual indicators (403) may be LEDs or an alphanumeric display indicating condition states and useful user information. The microphone (404) and speaker (405) may be used as transducers for transmitting voice, playing received audio and providing audible indications. In alternate embodiments the microphone may be eliminated in favor of bidirectional transducers, audio data saved in memory, or housed in the form of a handset (506). The Talk Button shown (402) may provide a local PTT (Push To Talk) signal to enable transmission of audio in the form of a trigger signal to the processor. The functionality of the talk button may be expanded to provide Talk/Release capability for terminating a call. A handset (506) with integrated hook-switch (507) may also be used to incorporate audio and automatic Talk/Release capabilities.
[0052] The enclosure houses the electronic assembly schematically shown in Figure 6, incorporating power management, a network interface, a processor, a Codec, a transducer, controls and indicators.
[0053] The network connection (602) described may be a standard design such as a RJ45 housing with 10/100mb magnetic isolation, connected to a PHY interface IC, such as a RealTek 820 IBL (604). Other network connections (not shown) may include higher speed networks, wireless 802.11b, Bluetooth, Optical and Power-Line solutions that are all capable of transporting data using TCP/IP protocol. A Power connection (601) is shown to provide the required DC power. Optional methods for Power over Ethernet (PoE) (603) may be employed to deliver required power, without a dedicated power connection 601, when incorporated with the Network wiring connections (602).
[0054] As an advantageous feature of the invention, the electronics for implementation may not require extensive DSP processing power. A processor (600) such as Atmel 8052 with 64KB Flash Memory and 2 K of RAM and W3100 Network ASIC can be employed. 25 MHZ devices have been chosen and provide sufficient speed to exchange audio data in Client-Server network connections. [0055] The programming of the processor 600 may contain algorithms to handle multiple basic functions:
[0056] TCP/IP and UDP data manager (605) may be used to store TCP/IP connection states and manage packet for reception and transmission in the form of a TCP/IP "Stack." A key element used in this management is the connection mode attempted. The audio communication terminal may be configured as TCP/IP Client or TCP/IP Server, both of which are required to make a valid "Connection" whereby data and digital audio may be transferred. The data manager (Client or Server) mode may be controlled by a memory logic flag, "Client/Server Mode" in memory (618).
[0057] Data from the TCP/IP and UDP data manager 605 may be transferred via a method that includes commands listed in Table 1. Other command functions and methods are possible. Audio data may be incorporated between or contain commands when transferred serially in real time. Video or other data may also be transferred in versions envisioned.
TABLE 1
Sample Packet Stream
Figure imgf000013_0001
Sample Command Codes
Name Value Description
Cmd_PICFLASH 10 Program flash memory
Cmd_TXcode_0 11 Tell audio communication terminal to play audio
Cmd TXcode 1 12 audio communication terminal play off
Cmd_NVWRITE 13 Write a value to the audio communication terminal memory
Cmd_PING 14 Ping the audio communication terminal
CmdJJstenON 15 Set audio communication terminal to baby monitor
Cmd_PagingON 16 Set broadcast paging mode
Cmd SET SW CFG 17 Send switch config byte set port config
Cmd SET LED STATE 18 Set led state, byte
Cmd_SET_TONE 19 Generate TONE FREQ, MSB (*255)
Cmd FRIENDLYNAME 21 Set is the Friendly Name Text
Cmd_CONNECT_SERVER MODE 73 Set Server Mode
Cmd CONNECT CLIENT MODE 74 Set Client Mode
Cmd_CONNECT_FAIL 75 Not connected
Cmd DHCP FAIL 76 Connect to the DHCP host
Cmd_READ_ST CFG 86 Send status byte set
Cmd MICON 87 audio communication terminal microphone depressed
Cmd_MICOFF 88 audio communication terminal microphone un- pressed
Cmd_SEND_MAC_ADDR 89 Send the MAC address
Cmd FRIENDLYNAME 90 Send the Friendly Name
[0058] The Command Decoder (606) parses incoming data for remote instructions that may include commands to raise or lower a volume in the Codec (609), control an input or output logic (613) or remotely control keystrokes (613), effectively controlling the audio communication terminal from a network signal. It may also hold cryptographic keys, flash memory programming codes and subsequent data stream information that may be used for remote servicing and data security. Advantageously, the arriving data may be accepted in a form such as UDP data packet, and may contain command information, memory programming information and/or an audio packet stream. In such cases the decoder (606) may manage the data by detection, setting or the memory flag TCP/IP-UDP in memory (618) and timing the decoding of incoming UDP packets decoding as needed. UDP transfers may be used to exchange data information prior to Client-Server paired connection, for system setup and configuration as well as audio content distribution, such as group paging.
[0059] The Command Encoder (608) may advantageously create formatted code commands that, when transmitted, send signaling information to the remote network devices. This can be a signal to control status and operating states of other devices on the network.
[0060] The Audio Stream section (607) manages software based conversion and compression techniques such as PCM, uLaw or GSM compression, tone generation, voice activated transmission control (VOX level detection), echo cancellation and encryption/decoding security algorithms applied to the audio stream itself.
[0061] General Purpose Input-Output (GPIO) controls (613) may be used to manage hardware lines (ports on the processor) to control and sense switches relays, sensors and indicators. GPIO states may be exchanged on the network for any purpose, including control of real time events, the audio communication terminal user interface, security and remote control.
[0062] The processor capabilities may support echo-cancellation techniques (such as G.168) such that Full-Duplex exchanges of audio are possible. Advantageously Half-Duplex audio may be implemented on the processor configured to allow 2-way communication via Push-to-Talk, wherein each party in a paired communication may either listen or speak at alternating intervals. The process provides simple connection mechanism such as (Push to Talk) or hands-free (speakerphone) style communication while maximizing the available bandwidth on the network by having a single audio stream transferring at any point in time (to or from the apparatus). This operational method also prevents acoustic feedback eliminating the need for computing intensive echo-canceling processes.
[0063] The logic management may optionally be used to tell the Audio Stream Manager (607) to generate a beep at the end of the audio transmission, effectively informing the remote human operator the audio channel is free and they may reply by voice. This is an operational mode, using beeps, that is commonly used in walkie-talkie communications. [0064] Figure 7 details exchanging audio information with the processor in Half Duplex modes. Elements may be a microphone/ WM54 (712), speaker/CUI-GA0666 (711), IC power amplifier (714) (ex: National Semi LM5431) and Microphone Pre-Amp (such as AD SS2121) (715) combined to interface to a Codec (701) such as Winbond 692510. In addition, the system may be provided with an external input(713). Such blocks as shown are also available in either more discreet or more highly integrated implementations, all used to convert Analog and Digital signals. Alternate transducers available, but not shown, may include 'bullhorn' speakers and parabolic microphones, or a microphone and ear element combined in telephone style handset. Additionally audio signals connected to the Codec may be generated from external input signals such as audio data stored in memory or real-time audio sources such as Internet. In this manner a call to an audio communication terminal might generate a return recorded audio signal such as "I am not available now," or generate announcements from a real time 'live' source. Half- Duplex and voice controlled duplexing (VOX) may be digitally controlled via signals 610 and 703.
[0065] Audio connections between audio communication terminal pairs (as shown in Figures 1- 3), according to the invention, are TCP Client-Server connections. Data may also be exchanged in an unconnected mode, such as UDP broadcast data. In the case of UDP broadcast data, the audio communication terminal processor (600) may parse data to decode commands and audio data information. In UDP reception the audio communication terminal data manager may act on commands as needed and request additional data such as programming mode packets or broadcasted audio data streams.
[0066] Establishing connections requires a connection request to be sent from the client and be received by the TCP/IP manager (605) in the server. The processor then checks to see if the audio communication terminal memory flag (in memory 618) has been set for listening and may accept the request. If so, the pair exchanges additional TCP data, completing the connection. Once connected a Connect flag is set in memory to steer the processor operation accordingly.
[0067] Processor 600 of the intercom or audio communication device or terminal may run coded programming routines to manage data, control audio communication terminal operation, process audio and manage configuration and memory updates. The routines of the processor that support the methods of the inventions are described in Figures 8-14. [UUOSJ Primary routines ot the processor may be cyclical after power-up and system initialization. Prior to entering the main loop, system initialization may set memory states, visual displays, test network conditions and initialize the audio communication terminal to Idle Mode as shown in Figure 2A.
[0069] Figure 8 outlines the states of the Main Loop (800), which may begin by examining keypress conditions. At power-up or upon a Re-set, the system may be initialized by setting various flags. At power-up a keypress may invoke special system setting, however normally a keypress (801) is not detected and a subsequent TimerEvent (802) will not have triggered. If a keypress is detected at 801, it is processed accordingly at 802. If no keypress is detected, timer events are processed at 802a. The audio communication terminal would have been initialized to be Not Connected and set in operating mode TCPmode=Server. In this condition, and if a TCP/IP remote connect request has not been received, the process returns to the Main Loop, returning to 800. If a remote connection request has been detected at 807, a connection request may be established 808, and the process is returned to the beginning of the main loop 800. If at 804, the TCP Mode is not set to Server, the Server Mode flag may be reset, 809 and control is returned to the main loop 800. If a connection is detected at 804 the system then processes audio at 806 prior to returning to the main loop 800. This loop process is effectively Idle Mode, shown in Figure 2A.
[0070] Details of the main loop illustrated in Figure 8 are further described in Figures 9-14.
[0071] One embodiment of the ProcessKeys routine 802 is described in Figure 9. An apparatus of the invention (audio communication terminal) may provide a means of specifying a desired connection, such as a speed-dial key set (901). If depressed, existing connections are terminated, the index of the button is stored, and a flag is set to indicate that a selection has occurred (902).
[0072] Other actuator events, such as a depression of a Talk (903), or lifting of a handset may initiate a sequence that would test for a connection (907) and then begin a new connection sequence, RequestConnection (908). [0073] In the special case of HaltUuplex connection (909), the Talk switch may be used during a connection to invoke audio transmission (910).
[0074] Key depressions such as Release (904) may terminate a network connection (906) and additional keypresses, and sensors (905) may provide means for changing operation modes and programming. At the conclusion of the routine, control is passed back to the main loop.
[0075] Figure 10 expands on the RequestConnection process (908) for beginning a call. When invoked, the process (1000) would examine if a previous connection address is to be used, or be replaced with a new address (1001). A New Address sequence (1002) would load a data array holding address information, save the information as an active address, and clear memory flags such as NewAddress to prevent re-entry. This information would contain "Server Address Information" (SAI) and may contain an IP address, Port Number, Subnet Mask, MAC ID, and text to facilitate the actual connection request (1003). The SAI may also be saved providing means for a single TALK command to attempt a subsequent connection to the called audio communication terminal, equivalent to a telephone 'Recall' function.
[0076] TCP/IP Connection Request follows standard TCP/IP protocol to request a connection. As specified in the invention the processor must set the Server-Client flag to Client Mode. Such a client mode would require a destination server network address, and would be loaded with the Server Address Information (SAI). Information for a connection request may then be passed to the network in TCP/IP SYN-ACK protocols (1003) to wait for the designated Server to establish a connection. A background task (1004) would set 'Connected' =True when the Request is acknowledged, and a connection is established, or otherwise time-out to indicate unavailable or busy states via audio communication terminal indicators.
[0077] To complete a paired connection, another audio communication terminal, in Server (idle) Mode according to the invention, would be testing for connection requests (807) and, if received, would process a request to Establish a Connection (808), further described in Figure 11 (1100).
[0078] Figure 11 shows a TCP/IP connection process of an audio communication terminal receiving a client's incoming connect request. Inbound frames of data to a server containing identification information are parsed and responded to by the specific target (TCP 1ACK1) (1101). Subsequent return ACKs validate a handshake whereby a Client-Server connection state exists (1102). Both audio communication terminals would set their respective flags Connected=True. Advantageously the audio communication terminal may provide security algorithms and means of rejecting connection requests (1104). All connection events of both Server and Client events may be logged for functions equivalent to a "Caller ID" log and history.
[0079] Once a connection is established, according to the Main flow routine, audio processing 806 may transfer audio between audio communication terminals as further described in Figure 13. The process of exchanging data on the network (1311) has been outlined previously for Half-Duplex and Full-Duplex exchanges. Successfully established connections permitting audio exchanges may invoke memory storage of the network addresses information of the incoming client (1006) and a means for transfer to the SAI memory, for a single TALK command to reestablish connection with the last connected audio communication terminal, equivalent to a telephone 'Recall' function. Advantageously this information may further update integrated audio communication terminal address directories for later use. Blocked connections would trigger a universal routine, ClearConnection (1105) further described in Figure 12.
[0080] Figure 12 describes the process for terminating a current TCP/IP connection initiated at (1200). This routine is used for disconnecting "blocked" audio communication terminals (1104), in response to a Release sequences (904), and in TimerEvents (802). If a connection is active (1201) a TCP/IP 'FIN' exchange triggers the client and server pair to terminate their connections. Timeouts (1202) provide further insurance that failed exchanges will ultimately result in a terminated connection. When the Connected state becomes False, the Main routine 801 would subsequently restore the Client audio communication terminal back to a Server state in idle mode in process SetServerMode (809) and further described in Figure 13. At termination the Call Logs may also be updated to provide connect times and other useful information. According to the invention, idle mode would then provide a means for additional paired communications, initiated from any audio communication terminal to any other audio communication terminal. [0081] Figure 13 describes the detail of the SetServerMode routine. In the sequence (1300) the processor sets the TCP/IP Stack to Server mode (a TCP listener), creates the required Transmit Control Blocks and sets the processor to listen for network SYNs requesting a new connection.
[0082] Figure 14 outlines details of TimerEvents shown in the Main routine (802). The timer may have sets of intervals ranging from counts of processor cycles to minutes. The TimerEvent detail described in Figure 14 shows two such intervals (1401,1403) and for clarity does not show traditional and envisioned timer events of at least keyboard scans, display updates and memory flag housekeeping.
[0083] ActivityExpired Timer event (1401) provides a means of terminating a network connection (1402) when audio data or actuator timers indicate the call is complete. For example, in the described Half-Duplex embodiment this can be the absence of audio exchanges for some period of time.
[0084] The UpdateNow timer event (1403) may be set to invoke automatic access data exchanges to a network for system wide connection status and updated audio communication terminal array information. If the process is enabled (1404), and the audio communication terminal is available for data exchange, the audio communication terminal may update local displays with system information and report its current availability to other audio communication terminals or a computer on the network. Such a connection is possible with UDP exchanges, or TCP data transfers to a network device with a known network address (or ???). Advantageously, this would provide the capability for HTTP setup and status updates via a web enabled interface.
[0085] The process described is not limited to the preferred hardware and the processor may be enabled with additional capabilities to provide compatibility with SIP H.323 and other protocols. The invention has been described with reference to a specific exemplary embodiment thereof. Various modifications and changes may be made thereto without departing from the broad spirit and scope of the invention. The specification and drawings are to be regarded in an illustrative rather than a restrictive sense and the invention is limited only by the claims.

Claims

CLAIMSWhat is claimed is:
1. An audio communication device comprising:
a codec connected to a processor;
a TCP/IP operating system on said processor;
at least one audio transducer and audio circuit connected to said codec/processor;
a trigger connected to said processor wherein said processor is responsive to said trigger to switch said device from a server condition to a client condition and establish a TCP/IP network connection-to another device in a client-listener pair configuration and enable a digitized audio transmission.
2. An audio communication device according to claim 1 wherein said processor includes program instructions responsive to said trigger to configure the processor from TCP/IP server mode to client mode.
3. An audio communication device according to claim 1 wherein said processor includes program instructions to terminate the network connection a predetermined time period after release of said trigger.
4. An audio communication device according to claim 3 wherein said processor is re-set to establish a TCP/IP server mode upon termination of a connection.
5. An audio communication device according to claim 1 wherein said TCP/IP connection does not require initialization protocols to be used as lookup as a result of the detection of the trigger.
6. An audio communication device according to claim 2 wherein said destination client IP address is archived by a list stored in local memory.
7. An audio communication device according to claim 6 wherein said client address list is loaded from an external network data transfer.
8. An audio communication device according to claim 6 wherein said client address list is accessed and stored from an external network data transfer automatically on first use.
9. An audio communication device according to claim 1 wherein said trigger is a switch and said processor includes program instructions to monitor said switch and operates as a push to talk sequence.
10. An audio communication device according to claim 1 wherein said trigger is a remote command received by said processor.
11. An audio communication device according to claim 1 wherein said trigger is program instructions monitoring audio levels.
12. An audio communication device according to claim 10 wherein said trigger is activated upon monitoring in audio level greater than a threshold level.
13. Au audio communication device according to claim 10 wherein said trigger is activated upon monitoring a level of inactivity.
14. An audio communication device according to claim 1 wherein said trigger is a timed event.
15. An audio communication device according to claim 1 wherein said processor and codec are configured for uncompressed audio exchanges.
16. An audio communication device according to claim 1 wherein said processor and codec are configured to create compressed and decompressed data exchanges.
17. An audio communication device according to claim 16 wherein said compressed and decompressed audio exchanges are further encrypted.
18. An audio communication device according to claim 1 where a connection state is indicated by a tone.
19. An audio communication device according to claim 1 where a connection state is indicated by a real time audio exchange.
20. An audio communication device according to claim 1 wherein said trigger is a binary trigger.
21. An audio communication device according to claim 1 wherein said trigger is a digital signal from a processor.
22. An audio communication device according to claim 1 wherein said processor is in a personal computer.
23. An audio communication device according to claim 1 wherein said processor is in a PDA.
24. An audio communication device according to claim 1 wherein said processor is in a mobile telephone.
25. An audio communication device according to claim 1 wherein said processor operates without setup intervention from a personal computer.
26. A communication method comprising the steps of: setting a communication terminal to a stand-by server mode state; switching said communication terminal to a client mode state in response to a trigger; establishing a network connection between said communication terminal and a remote communication terminal at a known address; and transmitting data from said communication terminal to said remote communication terminal.
27. A communication method according to claim 26 wherein said step of setting sets said communication terminal to a stand-by TCP/IP server mode; said step of switching switches said terminal to a TCP/IP client mode state; and said network connection is a TCP/IP connection.
28. A communication method according to claim 26 wherein said communication terminal and said remote communication terminals are audio communication terminals.
29. A communication method according to claim 28 further comprising the steps of: converting audio input at said communication terminal to data; and converting said data to audio output at said remote communication terminal.
PCT/US2006/001383 2006-01-18 2006-01-18 Methods and apparatus for multiple audio connections over networks WO2007084118A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2006/001383 WO2007084118A1 (en) 2006-01-18 2006-01-18 Methods and apparatus for multiple audio connections over networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2006/001383 WO2007084118A1 (en) 2006-01-18 2006-01-18 Methods and apparatus for multiple audio connections over networks

Publications (1)

Publication Number Publication Date
WO2007084118A1 true WO2007084118A1 (en) 2007-07-26

Family

ID=38287936

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/001383 WO2007084118A1 (en) 2006-01-18 2006-01-18 Methods and apparatus for multiple audio connections over networks

Country Status (1)

Country Link
WO (1) WO2007084118A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9386123B2 (en) 2013-07-23 2016-07-05 Adobe Systems Incorporated Distributed audio playback and recording

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020062365A1 (en) * 2000-06-13 2002-05-23 Sanyo Electric Co., Ltd. Control of electronic appliances over network
US6937712B2 (en) * 2002-02-22 2005-08-30 Marc S. Lemchen Network-based intercom system and method for simulating a hardware based dedicated intercom system
US20060056386A1 (en) * 2004-09-01 2006-03-16 Scott Stogel Method and system for computer based intercom control and management
US20060090021A1 (en) * 2004-10-27 2006-04-27 Weidig Terry D PC managed networked audio bell/intercom system
US20060087993A1 (en) * 2004-10-27 2006-04-27 Sengupta Uttam K Methods and apparatus for providing a communication proxy system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020062365A1 (en) * 2000-06-13 2002-05-23 Sanyo Electric Co., Ltd. Control of electronic appliances over network
US6937712B2 (en) * 2002-02-22 2005-08-30 Marc S. Lemchen Network-based intercom system and method for simulating a hardware based dedicated intercom system
US20060056386A1 (en) * 2004-09-01 2006-03-16 Scott Stogel Method and system for computer based intercom control and management
US20060090021A1 (en) * 2004-10-27 2006-04-27 Weidig Terry D PC managed networked audio bell/intercom system
US20060087993A1 (en) * 2004-10-27 2006-04-27 Sengupta Uttam K Methods and apparatus for providing a communication proxy system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9386123B2 (en) 2013-07-23 2016-07-05 Adobe Systems Incorporated Distributed audio playback and recording

Similar Documents

Publication Publication Date Title
US7698437B2 (en) Method and apparatus for multiple audio connections over networks
US7760721B2 (en) Method and system for computer based intercom control and management
US20070019571A1 (en) Apparatus and method for audio communications
US8553678B2 (en) Distributed codec for packet-based communications
US6965614B1 (en) Method and system for communications between different types of devices
US7715413B2 (en) Multi-network exchange system for telephony applications
US8315251B2 (en) Multi-mode endpoint in a communication network system and methods thereof
TWI229518B (en) Apparatus and method for computer telephone integration in packet switched telephone networks
JP3880629B2 (en) Processing unit network
JP4176637B2 (en) Data conferencing method, apparatus and system
US20130097333A1 (en) Methods and apparatuses for unified streaming communication
US20060046697A1 (en) Methods for enhanced communication between a plurality of communication systems
EP2150013A1 (en) System, equipment and method for implementing special calling services
WO2002082762A2 (en) System and method for providing real time connectionless communication of media data through a firewall
JP2004336756A (en) Computer telephony integration adapter
JP2004500744A (en) Network telephone apparatus and system for internet telephone
US20020071424A1 (en) Packet voice telephony apparatus and method
JP2001189757A (en) Method and device for suppressing packet during silence time in packet telephone system
US20070243898A1 (en) Multi-handset cordless voice over IP telephony system
WO2007084118A1 (en) Methods and apparatus for multiple audio connections over networks
CN214125328U (en) Narrow-band communication system equipment for interconnection and intercommunication of wireless cluster gateway and broadband communication system
US20060098684A1 (en) Data communications system, computer, and data communications method for parallelly operating standard-based and proprietary resources
JP4861491B2 (en) Telephone system, telephone exchange apparatus, and connection control method used in telephone exchange apparatus
JP4191183B2 (en) IP telephone system, packet conversion apparatus, and packet conversion method
CN113383536B (en) DECT portable equipment base station and operation method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06718455

Country of ref document: EP

Kind code of ref document: A1