Multi-media communication management system with dynamic bypass routing of real time streaming media
Claim Score by NHIP
Abstract
A communication system controller interconnects a plurality of communication stations with each of the Internet and the public switched telephone network. Each communication station may communicate both real time streaming media frames and non-real time data frames on the Internet. The system controller includes a local area network interface for receiving frames, including both real time streaming media frames and non-real time data frames, from a communication station and a frame buffer for queuing the frames for transmission on the Internet. The system controller also provides for establishing a supplemental PSTN channel to a remote endpoint over the PSTN when the frame buffer has filled above a predetermined capacity. A routing circuit routes at least a portion of the real time streaming media frames to the remote endpoint on the supplemental PSTN channel.

Term
Term ended
Projected expiry passed 24 September 2021, 5 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
24 claims: 6 independent, 18 dependent
- 1A communication system controller that interconnects a plurality of communication stations with each of the Internet and the public switched telephone network, the communication system controller comprising:means for receiving an indication of a remote endpoint from a communication station;means for establishing a real time streaming media channel with the remote endpoint over the Internet;means for sending frames including real time streaming audio to the remote endpoint utilizing the channel;means for measuring whether a quality of service failure has occurred, a quality of service failure including at least one of frame loss and frame latency of frames sent on the channel falling below a quality of service threshold;means for establishing a PSTN channel to the remote endpoint over the PSTN when a quality of service failure has occurred;means for routing at least a portion of the frames sent to the remote endpoint over the PSTN channel.
- 5A communication system controller that interconnects a plurality of communication stations with each of the Internet and the public switched telephone network, the communication system controller comprising:a communication circuit for exchanging frames of data with a remote device over the Internet;a modem interface circuit for establishing a PSTN connection with the remote device over the PSTN and for exchanging frames of data with the remote endpoint over the PSTN connection;a monitor circuit comprising: means for measuring whether a quality of service failure has occurred on the Internet, a quality of service failure including at least one of frame loss and frame latency of frames sent on the Internet falling below a quality of service threshold;and means for identifying a remote device to the modem interface and providing an indication to the modem interface to establishing a connection with the remote device;and means for instructing a router to route frames to the remote device over the PSTN connection.
- 9A method of sending real time streaming media frames to a remote device, the method comprising:receiving an indication of a remote endpoint from a communication station;establishing a real time streaming media channel with the remote endpoint over the Internet;sending frames including real time streaming audio to the remote endpoint utilizing the channel;measuring whether a quality of service failure has occurred, a quality of service failure including at least one of frame loss and frame latency of frames sent on the channel falling below a quality of service threshold;establishing a PSTN channel to the remote endpoint over the PSTN when a quality of service failure has occurred;and routing at least a portion of the frames sent to the remote endpoint over the PSTN channel.
- 13A communication system controller that interconnects a plurality of communication stations with each of the Internet and the public switched telephone network, the communication system controller comprising:a communication circuit for exchanging frames of data with a remote device over the Internet;a modem interface circuit for establishing a PSTN connection with the remote device over the PSTN and for exchanging frames of data with the remote endpoint over the PSTN connection;a monitor circuit comprising: means for measuring whether a quality of service failure has occurred on the Internet, a quality of service failure including at least one of frame loss and frame latency of frames sent on the Internet falling below a quality of service threshold;and means for identifying a remote device to the modem interface and providing an indication to the modem interface to establishing a connection with the remote device;and means for instructing a router to route frames to the remote device over the PSTN connection.
- 17A communication system controller that interconnects a plurality of communication stations with each of the Internet and the public switched telephone network, the communication system controller comprising:a local area network interface for receiving frames, including both real time streaming media frames and non-real time data frames, from a communication station;a frame buffer for queuing the frames for transmission on the Internet;means for establishing a supplemental PSTN channel to a remote endpoint over the PSTN when the frame buffer has filled above a predetermined capacity;and a routing circuit for routing at least a portion of the real time streaming media frames to the remote endpoint on the supplemental PSTN channel.
- 21Broadest claimClaim Score 63, broad(NHIP)A method of sending real time streaming media frames to a remote device, the method comprising:receiving frames, including both real time streaming media frames and non-real time data frames, from a communication station on a local network;queuing the frames for transmission on the Internet;establishing a supplemental PSTN channel to a remote endpoint over the PSTN when the frame buffer has filled above a predetermined capacity;and routing at least a portion of the real time streaming media frames to the remote endpoint on the supplemental PSTN channel.
Independent claims6
190 paragraphs in 6 sections, as filed
CROSS-REFERENCE TO RELATED ACTIONS
P-0001[0001] This application claims the benefit of, and is a continuation in part of U.S. patent application Ser. No. 10/000,543 filed on Oct. 23, 2001, entitled “Modular Multi-Media Communication Management System,” that is a continuation in part of U.S. patent application Ser. No. 09/961,532 entitled “Teledata Space and Docking Station with Modular and Integrated Display” filed on Sep. 24, 2001, the contents of both such patent applications being incorporated herein.
FIELD OF THE INVENTION
P-0002[0002] The invention relates generally to managing multi-media communications, and more particularly to a multi-media communication management system with dynamic session routing modification.
BACKGROUND OF THE INVENTION
P-0003[0003] In an office environment, desk top telephone service is typically provided by a private telephone system. Early key switch systems include a control unit that is coupled to each desk top telephone utilizing a conventional plain old telephone service (POTS) analog subscriber loop. The control unit enables calls between the various desk top telephones and, upon activation of an applicable key on the desk top telephone, couples the desk top telephone to one of the public switched telephone service (PSTN) analog lines. This enables the user of a desk top phone to both answer a ringing outside line and to place outgoing calls on the PSTN. The quantity of PSTN lines (e.g analog trunk lines) coupled to the control unit limits the number of calls between desk top telephones and the PSTN that can be simultaneously in session.
P-0004[0004] More recent private telephone systems include a control unit that is coupled to each desk top telephone utilizing a digital subscriber loop and is coupled to the PSTN central office controller utilizing a digital trunk interface such as a Primary Rate Interface (PRI). One advantage of a PRI interface is that a separate pair of wires is not required for each call that may be simultaneously in session. For example, a 4-wire PRI interface can support 23 “B” channels (e.g. one channel for each voice session) and one 64K “D” channel for setting up and tearing down telephone calls on each of the “B” channels. Another advantage of a PRI interface is that is supports direct dial and both inbound and outbound caller ID information.
P-0005[0005] When a call is placed to a direct dial telephone number associated with a desk top telephone, the PSTN routes the call to the central office supporting the private telephone system. A DID identifier is then provided by the central office system to the private telephone system control unit on the “D” channel to identify the particular desk top telephone to which the call is being placed. As such, the control unit can ring the desk top telephone without having to route through an operator or an auto attendant whereby the caller identifies an extension.
P-0006[0006] Further, when an inbound call is place to a direct dial telephone number, the central office supporting the private telephone system may further send caller ID information to the control unit on the “D” channel. The control unit can provide this to the desk top telephone in association with ringing the desk top telephone. When an outbound call is placed from a desk top telephone, the control unit will utilize the “D” channel to set up the call to the central office and may even provide caller ID information identifying the desk top telephone to the central office for forwarding to the callee over the PSTN.
P-0007[0007] More recently yet, Internet based telephone systems have been developed. Rather than coupling to the PSTN, a control unit may couple to the Internet whereby it can place and receive calls through a gateway server utilizing predefined voice over IP protocols such as the Session Initiation Protocol (SIP) promulgated by the Internet Engineering Task Force (IETF) for setting up and tearing down a VOIP telephone call and Real time Transport Protocols (RTP) over UDP/IP channels for exchanging compressed digital audio data.
P-0008[0008] The advantage of an Internet based telephone system is that the number of simultaneous call sessions is limited only by the bandwidth of the system's connection to an Internet Service Provider. As such, communication rates may be less expensive. Further, SIP messaging can support caller ID and can support other call management features that may not be supported over a PRI interface.
P-0009[0009] I primary disadvantage of an Internet based system is that there is that the nature of frame based routing from a source to a destination on the Internet does not assure that all frames representing digital compressed voice will reach the destination or that frames will reach the destination within a time frame wherein the frames can be used. Such can result in portions of words being clipped and/or the conversation stream being delayed.
P-0010[0010] What is needed is a multi-media communication management system that includes the benefits of an Internet based system but does not suffer the disadvantages of such known systems.
SUMMARY OF THE INVENTION
P-0011[0011] The multi-media communication management system comprises a controller that interfaces with a plurality of subscriber stations, and their associated subscriber device(s), and with one or more communication medium service providers.
P-0012[0012] The controller translates multi-media communications received from a multi-media service provider into the protocols required for use by the subscriber stations. More specifically, the controller includes a local area network interface for receiving frames, including both real time streaming media frames and non-real time data frames, from a communication station and a frame buffer for queuing the frames for transmission on the Internet. The system controller also provides for establishing a supplemental PSTN channel to a remote endpoint over the PSTN when the frame buffer has filled above a predetermined capacity. A routing circuit routes at least a portion of the real time streaming media frames to the remote endpoint on the supplemental PSTN channel.
P-0013[0013] The communication and control signaling between the controller and the subscriber stations may be wireless in nature with the subscriber stations each powered by an internal battery and/or connection to a local source of conventional line power.
P-0014[0014] The architecture of the subscriber station is modular. Multiple functional elements can be interconnected with backbone communication circuitry to form an integrated communication platform. Modular docking interfaces may be used to couple the subscriber station to a portable subscriber device and to enable integrated and coordinated communication through multiple communication medium service providers.
P-0015[0015] These and other advantages of the invention, along with the invention itself, will be more fully understood after a review of the following figures, detailed description, and claims.
BRIEF DESCRIPTION OF THE FIGURES
P-0016[0016]FIG. 1 is a block diagram representing an overview of operation of the present invention;
P-0017[0017]FIG. 2, is a block diagram view of a modular multi-media communication management system in accordance with one embodiment of the present invention;
P-0018[0018]FIG. 3 is a block diagram of a multi-media communication management system controller in accordance with one embodiment of the present invention;
P-0019[0019]FIG. 4 is a perspective exploded view of a modular communication subscriber station in accordance with one embodiment of the present invention;
P-0020[0020]FIG. 5 is a block diagram of a subscriber station in accordance with one embodiment of the present invention;
P-0021[0021]FIG. 6 is a block diagram of a subscriber data assistant in accordance with one embodiment of the present invention;
P-0022[0022]FIG. 7 is a block diagram of a wide area network communication device in accordance with one embodiment of the present invention;
P-0023[0023]FIG. 8<i>a </i>is a table diagram representing a current network location table in accordance with one embodiment of the present invention;
P-0024[0024]FIG. 8<i>b </i>is a table diagram representing a multicast group table in accordance with one embodiment of the present invention;
P-0025[0025]FIGS. 9<i>a </i>through <b>9</b><i>j </i>each show a flow chart representing processing steps performed by a multi-media communication management system in accordance with one embodiment of the present invention;
P-0026[0026]FIGS. 10<i>a </i>through <b>10</b><i>f </i>each show an exemplary display of information to a subscriber utilizing a subscriber interface of a subscriber station in accordance with one embodiment of the present invention;
P-0027[0027]FIGS. 11<i>a </i>through <b>11</b><i>c </i>each show a flow chart representing exemplary operation of packet audio/video gateway in accordance with one embodiment of the present invention; and
P-0028[0028]FIG. 12 is a block diagram of a real time frame router circuit in accordance with one embodiment of the present invention;
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
P-0029[0029] The present invention is now described in detail with reference to the drawings. In the drawings, each element with a reference number is similar to other elements with the same reference number independent of any letter designation following the reference number.
P-0030[0030] It should also be appreciated that many of the elements discussed in this specification may be implemented in hardware circuit(s), a processor executing software code, or a combination of a hardware circuit and a processor executing code. As such, the term circuit or module as used throughout this specification is intended to encompass a hardware circuit (whether discrete elements or an integrated circuit block), a processor executing code, or a combination of a hardware circuit and a processor executing code, or other combinations of the above known to those skilled in the art.
P-0031[0031] The block diagram of FIG. 1 represents an overview of the present invention. The present invention facilitates real time streaming media audio communications between a first subscriber station <b>24</b><i>a </i>served by a first multi-media communication management control unit <b>12</b><i>a </i>and a second subscriber station <b>24</b><i>b </i>served by a second multi-media communication management control unit <b>12</b><i>b. </i>
P-0032[0032] The first subscriber station <b>24</b><i>a </i>communicates with the first control unit <b>12</b><i>a </i>utilizing wireless local area network <b>22</b><i>a</i>. Similarly the second subscriber station <b>24</b><i>b </i>communicates with the second control unit <b>12</b><i>b </i>utilizing a wireless local area network <b>22</b><i>b</i>. Both wireless local area network <b>22</b><i>a </i>and <b>22</b><i>b </i>may be Internet protocol compliant networks such that each subscriber station <b>24</b><i>a </i>and <b>24</b><i>b </i>may establish, maintain, and tear down voice-over IP (VOIP) telephony sessions. The VOIP sessions may utilize protocols such as the Session Initiation Protocol (SIP) promulgated by the Internet Engineering Task Force (IETF) for signaling, establishing, and tearing down a VOIP telephone call and Real time Transport Protocols (RTP) over UDP/IP channels for exchanging compressed digital audio data to maintain the session.
P-0033[0033] Each controller <b>12</b><i>a </i>and <b>12</b><i>b </i>is coupled to the Internet <b>30</b> through a multi-media service provider communication network (e.g. Internet Service Provider network or ISP network) <b>18</b><i>a </i>and <b>18</b><i>b </i>respectively. As such, UDP/IP channels may be used to transport RTP frames between subscriber station <b>24</b><i>a </i>and subscriber station <b>24</b><i>b </i>during a communication session over the Internet <b>30</b> to effect a telephone conversation between users of the two devices.
P-0034[0034] During the course of the session, at least one of controllers <b>12</b><i>a </i>and <b>12</b><i>b </i>may monitor the quality of service to measure whether quality of service failure has occurred. A quality of service failure may include at least one of frame delay or frame loss exceeding predetermined thresholds whereby audio quality, as noticed by a user, would be degraded. Upon the occurrence of a quality of service failure, a supplementary connection utilizing the PSTN <b>42</b> between controller <b>12</b><i>a </i>and controller <b>12</b><i>b </i>may be established and frames (both RTP frames and SIP control frames) may be routed over such supplementary connection to reduce frame delay and loss.
P-0035[0035] Further, in the event that a controllers <b>12</b><i>a</i>, <b>12</b><i>b </i>connection to its ISP network <b>18</b><i>a</i>, <b>18</b><i>b </i>becomes congested (e.g. its frame buffer for transmission on the ISP network <b>18</b><i>a </i>or <b>18</b><i>b </i>begins to fill beyond a predetermined capacity), the controller <b>12</b><i>a </i>or <b>12</b><i>b </i>may establish a supplementary connection to another controller to which a stream of RTP frames is being sent and route the RTP stream over the supplementary connection to relieve congestion on the connection to the ISP network <b>18</b><i>a</i>, <b>18</b><i>b</i>. This may occur even if a quality of service failure has not occurred for that particular RTP stream. For example, if the controller <b>12</b><i>a </i>supports several computing devices on network <b>22</b><i>a</i>, each of which is attempting to access data from a remote server on the Internet <b>30</b>, a quality of service failure on an RTP stream representing an audio conversation may not occur because such frames may have priority in the frame buffer of the control unit <b>12</b><i>a</i>. However, data frames to or from the computer devices may be overflowing the buffer or significantly delayed in the buffer prior to transmission. In such a case, it would be advantageous for control unit <b>12</b><i>a </i>to establish a supplementary connection to the control unit to which the RTP frames are being sent to eliminate routing such frames to the ISP network <b>18</b><i>a. </i>
P-0036[0036] Referring to FIG. 2, an exemplary architecture of a multi-media communication management system <b>10</b> is shown. The multi-media communication management system <b>10</b> includes its control unit <b>12</b> that is coupled with a plurality of local communication devices <b>20</b> over a wireless local area network <b>22</b> (or by a wired network connection <b>23</b> to the backbone wired network of the wireless local area network <b>22</b>).
P-0037[0037] The local communication devices <b>20</b> may include: subscriber stations <b>24</b>, wireless dialog handsets <b>26</b>, traditional computer systems <b>32</b>, network printers <b>46</b>, and various network appliances <b>34</b>.
P-0038[0038] The control unit <b>12</b> includes a circuit-switched provider bay <b>19</b> which operatively couples the control unit <b>12</b> to the public switched telephone network (PSTN) <b>42</b> and includes an ISP service provider bay <b>14</b> which operatively couples the control unit <b>12</b> to the ISP network <b>18</b> through one of a plurality of communication medium modules <b>16</b><i>a</i>-<b>16</b><i>d. </i>
P-0039[0039] In the exemplary embodiment, the ISP network <b>18</b> may utilize the Internet Protocol Suite for communication at the IP level, but may be proprietary at the data link and physical layers. As such, the control unit <b>12</b> includes the IP stacks applicable for communication between applications over the network <b>18</b> and each module <b>16</b><i>a</i>-<b>16</b><i>d </i>includes the applicable data link and physical layer circuits for communication of IP frames over the physical medium of the network <b>18</b>.
P-0040[0040] Some illustrative examples of communication modules include: communication module <b>16</b><i>a </i>which may be a cable modem module for communicating over coaxial cable <b>36</b> with an ISP such as a local cable company, communication module <b>16</b><i>b </i>which may be a wide area network radio for communication over a wireless spectrum channel <b>38</b> with a wide area wireless ISP such as an analog or digital cellular/PCS telephone service provider, communication module <b>16</b><i>c </i>which may be a customer service unit (CSU) for communication over a T1 line <b>40</b> with an ISP such as a local telephone service provider, and communication module <b>16</b><i>d </i>which may be an optical modem for communication over a fiber channel <b>44</b> with a fiber optic ISP network.
P-0041[0041] In operation, the control unit <b>12</b> integrates and manages multi-media communication between two or more local communication devices <b>20</b> and between each local communication device <b>20</b> and a remote communication system(s) (not shown) coupled to either the ISP network <b>18</b> or the PSTN <b>42</b>.
P-0042[0042]FIG. 3 shows a block diagram of an exemplary control unit <b>12</b>. The control unit <b>12</b> includes applicable modules for managing the local area network <b>22</b> as an IP network. Such modules may include an applicable combination of hubs, routers, and switches <b>29</b> for managing communications over the network <b>22</b> as well as an address server <b>220</b> (e.g. DHCP server) for assigning local IP addresses to each local communication device <b>20</b>.
P-0043[0043] The control unit <b>12</b> may also include a packet audio/video gateway <b>232</b>, a voice mail module <b>236</b>, an email module <b>228</b>, and a web server application <b>230</b>.
P-0044[0044] Packet Voice Gateway
P-0045[0045] The packet audio/video gateway <b>232</b> provides a subscriber's real time full duplex audio and/or video call and conference call services. The services may include routing and maintaining a subscriber's outgoing calls, a subscriber's incoming calls, and a subscriber's conference calls.
P-0046[0046] A subscriber's outgoing calls are calls initiated by the subscriber utilizing a subscriber station <b>24</b>. A subscriber's incoming calls are calls initiated by a remote caller to the subscriber. Each call takes place over a real time communication session between the subscriber station <b>24</b> serving the subscriber and a remote device serving the other call participant. The remote device may be another subscriber station <b>24</b>, a VOIP device coupled to the Internet <b>30</b> (or to a VOIP proxy coupled to the Internet <b>30</b>), or a PSTN device coupled to the PSTN <b>42</b>.
P-0047[0047] A real time communication session between the subscriber station <b>24</b> and another subscriber station <b>24</b>, or a VOIP device coupled to the Internet <b>30</b>, will be a VOIP session with the subscriber station <b>24</b> being one endpoint of the VOIP session and the other subscriber station <b>24</b>, or the VOIP device, being the other endpoint.
P-0048[0048] A real time communication session between a subscriber station <b>24</b> and a PSTN device coupled to the PSTN <b>42</b> comprises a VOIP session between the subscriber station <b>24</b> and the gateway <b>232</b> plus a PSTN session between the gateway <b>232</b> and the PSTN device. In this case, the subscriber station <b>24</b> and the gateway <b>232</b> are the two endpoints of the VOIP session and the gateway <b>232</b> and the PSTN device are the two PSTN endpoints of the PSTN session.
P-0049[0049] Establishing and managing a VOIP session between two endpoints includes exchanging session signaling messages, channel negotiation messages, compression capability messages, and optionally encryption capability and key messages between the two endpoints utilizing predetermined message protocols such as the SIP protocols. The messages are exchanged utilizing UDP/IP datagrams transferred between the two endpoints over the network <b>22</b>, the ISP network <b>18</b>, and the Internet <b>30</b>. The gateway <b>232</b> operates as an address directory for locating an endpoint on the local area network <b>22</b> and as an IP layer proxy for exchanging datagrams between the two endpoints if one of the two endpoints is coupled to the Internet <b>30</b>.
P-0050[0050] After a VOIP session is established, communication of audio (and video) data between the two endpoints comprises compressing digital audio data into a sequence of RTP frames, optionally encrypting the RTP frames, and sending the RTP frames to the other endpoint utilizing UDP/IP datagrams on the negotiated channels. At the other endpoint, the UDP/IP datagrams are received, sequenced, and the RTP frames are recovered, decrypted (if applicable), and decompressed to yield the digital audio data.
P-0051[0051] Establishing a PSTN session between two PSTN endpoints includes use of standard PSTN analog or PSTN digital signaling and, after the PSTN session is established, communication of audio data between the two PSTN endpoints comprises standard PSTN analog or PSTN digital communications.
P-0052[0052] A multi-party conference call initiated by the subscriber to a plurality of callee participants comprises a VOIP session between the initiating subscriber's subscriber station <b>24</b> and the gateway <b>232</b> plus a plurality of participant sessions. These participant sessions are VOIP sessions and/or PSTN sessions, each between the gateway <b>232</b> and a participating subscriber station <b>24</b>, a participating VOIP device coupled to the Internet <b>30</b>, or a participating PSTN device coupled to the PSTN <b>42</b>.
P-0053[0053] To support the above described functionality, the gateway <b>232</b> comprises a PSTN interface module <b>19</b>, a call signaling module <b>227</b>, a relay module <b>229</b>, a conference mix module <b>237</b>, and a compression/encryption module <b>240</b>.
P-0054[0054] The PSTN interface module <b>21</b> includes circuits for translating between PSTN session signaling (and analog or PSTN digital audio communication) and digital session signaling messages (and digital audio communication formats and protocols) for use by the other elements of the packet audio/video gateway <b>232</b>.
P-0055[0055] The call signaling module <b>227</b> includes a routing circuit, a session signaling circuit, and a directory circuit that work in combination to provide: i) routing of a subscriber's incoming calls to his or her then current subscriber station <b>24</b>; ii) routing the subscriber's outgoing calls to a destination subscriber station <b>24</b>, a destination VOIP device on the Internet <b>30</b>, or to a destination PSTN subscriber loop; and iii) establishing calls between the gateway <b>232</b> and each conference participant.
P-0056[0056] The routing circuit provides for routing session signaling messages between the two VOIP endpoints when the gateway <b>232</b> itself is not one of the endpoints. The session signaling circuit generates session signaling messages and establishes a VOIP session on behalf of the gateway <b>232</b> if the gateway <b>232</b> is an endpoint of the VOIP session being established (e.g. a session between a subscriber station <b>24</b> and a PSTN device or a conference call including the subscriber station <b>24</b>). Both the routing circuit and the session signaling circuit operate under control of the directory circuit.
P-0057[0057] With respect to a subscriber's outbound calls (and with respect to a subscriber's conference calls), the directory receives session signaling messages from the subscriber's subscriber station <b>24</b> (or from the conference mix module <b>237</b> if a conference call) that includes a number identifying the callee and routes (or redirects) the call to a callee device. The number identifying the callee may be a 10 digit number representing a subscriber loop of the PSTN <b>42</b>, a number identifying a person associated with a VOIP device coupled to the Internet <b>30</b>, or a subscriber ID representing a subscriber to the system <b>10</b>.
P-0058[0058] If the number represents a VOIP device coupled to the Internet <b>30</b>, the number may be an ID number permanently assigned to the callee. However, the IP network address utilized by the callee device may change periodically. As such, the directory circuit may query a remote directory server to determine the network address of the device (or the network address of a proxy for the device) and provide the network address to the subscriber station <b>24</b> as a redirect address such that the subscriber station <b>24</b> may initiate session signaling directly to the callee device or the proxy.
P-0059[0059] If the number represents a subscriber loop of the PSTN <b>42</b>, the directory circuit provides the number to the PSTN interface <b>21</b>, such that the PSTN interface circuit may establish a PSTN session with a PSTN device coupled to the subscriber loop. The directory circuit also instructs the call signaling module <b>227</b> to respond to the call signaling to establish a VOIP session between the subscriber station <b>24</b> and the gateway <b>232</b>. If the number represents a subscriber to the system <b>10</b>, steps discussed below with respect to receiving an inbound call for a subscriber are applicable.
P-0060[0060] With respect to a subscriber's inbound calls, the directory circuit receives session signaling messages from a caller device that identifies a subscriber as the callee, and routes the call to the particular subscriber station <b>24</b> that is then servicing the subscriber or, if the subscriber is not served by a subscriber station <b>24</b> or is already participating in a call, routes the call to the voice mail module <b>236</b> such that the caller may leave a message for the subscriber. Referring to FIG. 11<i>a </i>in conjunction with the current network location table <b>245</b> of FIG. 8<i>a</i>, the process of identifying the subscriber station <b>24</b> servicing the subscriber is shown.
P-0061[0061] Step <b>600</b> represents receipt of the session signaling message identifying the subscriber. In the exemplary embodiment, each subscriber may be assigned a subscriber identifier number that corresponds to the last digits of a PSTN direct dial number that routes to the control unit <b>12</b> when dialed on the PSTN. As such, the session signaling message, whether originated by a VOIP device coupled to the Internet <b>30</b>, a subscriber station <b>24</b> coupled to the network <b>22</b>, or the PSTN interface <b>21</b> (in response to PSTN session signaling over the PSTN <b>42</b>), may include the subscriber identifier number to identify the destination subscriber.
P-0062[0062] At step <b>602</b>, the directory circuit identifies a subscriber device <b>50</b> (FIG. 2) that is associated with the identified subscriber utilizing the network location table <b>245</b>. To associate each subscriber with his or her subscriber device <b>50</b>, the network location table <b>245</b> includes a record <b>251</b> for each subscriber. Within such record are fields that identify the subscriber, identify the subscriber identifier number associated with the subscriber, and identify a subscriber device ID code that is unique to the subscriber device <b>50</b> that is assigned to the subscriber.
P-0063[0063] At step <b>604</b> the directory circuit identifies whether the subscriber's subscriber device <b>50</b> is served by a subscriber station <b>24</b>. The network location table <b>245</b> further includes a field that may comprise the network address of the subscriber station <b>24</b> that is then currently serving the subscriber device <b>50</b> assigned to the subscriber. The address within this field will be updated when the subscriber moves his or her subscriber device <b>50</b> from one subscriber station <b>24</b> to another using circuits and methods discussed herein. If the subscriber device <b>50</b> is not currently served by any subscriber station <b>24</b>, then the field will indicate such as represented by the term “open”.
P-0064[0064] If at step <b>604</b>, the directory circuit determines that the subscriber device <b>50</b> assigned to the subscriber is not currently served by any subscriber station <b>24</b>, the directory circuit instructs the call signaling module <b>227</b> to establish the session on behalf of the gateway <b>232</b> such that the caller will be coupled to the voice mail module <b>236</b> at step <b>612</b>.
P-0065[0065] If the subscriber device is served by a subscriber station <b>24</b>, however, the directory circuit at step <b>606</b> either: i) provides the network address of the subscriber station <b>24</b> (as a redirect address) to the caller device if the caller device is coupled to the local area network <b>22</b>; ii) instructs the routing circuit to send the call signaling messages to the subscriber station <b>24</b> if the caller device is a VOIP device coupled to the Internet <b>30</b>; or iii) instructs the session signaling circuit to respond to the session signaling and establish a VOIP session with the subscriber station <b>24</b> if the caller device is coupled to the PSTN <b>42</b>.
P-0066[0066] Step <b>608</b> represents the directory circuit determining whether the response of the subscriber station <b>24</b> is such that a communication session can be established with the subscriber station <b>24</b>. In certain events, such as when the subscriber is already engaged in a call or if the subscriber does not answer the inbound call, the directory circuit will determine that a session can not be established with the subscriber station <b>24</b> (either immediately or after a brief time period of the subscriber station <b>24</b> ringing but remaining unanswered). In this case, the directory circuit instructs the call signaling module <b>227</b> to establish the session on behalf of the gateway <b>232</b> such that the caller will be coupled to the voice mail module <b>236</b> at step <b>612</b>.
P-0067[0067] The relay module <b>229</b> includes circuits for operating as an IP layer proxy for VOIP sessions between a subscriber station <b>24</b> endpoint and a VOIP device coupled to the Internet <b>30</b>.
P-0068[0068] The compression/encryption module <b>240</b> performs the translation between digital audio data and compressed/encrypted RTP frames for VOIP sessions for which the gateway <b>232</b> is itself an endpoint (e.g. sessions between a subscriber station <b>24</b> and a PSTN device and sessions between the gateway <b>232</b> and each conference participant).
P-0069[0069] The conference mix module <b>237</b> includes an audio mixing circuit, a video routing circuit, and a conference session control circuit. The audio mixing circuit receives audio streams from each participating endpoint in the form of digital audio data provided by the compression/encryption module <b>240</b> or the PSTN interface <b>21</b> and generates digital audio data comprising one or more conference mix audio streams. The conference mix module <b>237</b> provides applicable conference mix audio streams back to each participating endpoint. It is undesirable to include the voice of a participant in the conference mix audio stream that will be returned back to such participant's endpoint because echoes could occur. As such, a single conference call may require multiple conference mix audio streams—one for each participant that excludes such participant's own voice.
P-0070[0070] The video routing circuit receives a video stream from each participating endpoint that has video capture capabilities in the form of digital video data provided by the compression/encryption module <b>240</b>. The video routing circuit also provides selected video streams back to each participating endpoint in accordance with instructions from the web server <b>230</b> discussed with respect to FIGS. 10<i>e</i>-<b>10</b><i>h. </i>
P-0071[0071] The conference session control circuit receives conference set up signaling messages from an initiating subscriber station <b>24</b> that includes a number identifying each conference participant. The conference session control circuit provides session signaling messages to the call signaling module, each including a number identifying a conference participant, such that the call signaling module may establish a communication session between the gateway <b>232</b> and each participant.
P-0072[0072] At any time during a conference session, the conference session control circuit may receive a message from a participating endpoint instructing the conference mix module <b>237</b> to secure the conference session. In response to such message, the conference session control circuit will instruct the call signaling module <b>227</b> to generate applicable messages to begin (or continue, or at least not stop) encrypting each VOIP session comprising the conference session and to report which, if any, VOIP sessions have successfully begun encryption (or continue to be encrypted).
P-0073[0073] After receiving a report of successful encryption, the control circuit will provide signals to the web server <b>230</b> so that the web server <b>230</b> may: a) update applicable displays associated with each participating subscriber station <b>24</b> as discussed with respect to FIGS. 10<i>e</i>-<b>10</b><i>h</i>; and, b) if all VOIP sessions are secure, send a message to each participating subscriber station <b>24</b> to provide for the secure button <b>108</b> to illuminate.
P-0074[0074] Voice Mail Module
P-0075[0075] The voice mail module <b>236</b> includes circuits for providing a sequence of RTP frames representing applicable audio prompts from compressed audio prompt files <b>233</b> to the compression/encryption module <b>240</b>, receiving RTP frames from the compression/encryption module <b>240</b> representing the voice of the remote caller leaving a message for the subscriber, compressing the message into a digital audio file, and sending the digital audio file to the email module <b>228</b> for storage in the email files <b>247</b> for later retrieval by the subscriber.
P-0076[0076] Email Module
P-0077[0077] The email module <b>228</b> maintains an email account associated with each subscriber. The email module <b>228</b> includes client circuits for interfacing with a remote email server. The email module <b>228</b> logs onto an account associated with each subscriber, obtains new email messages associated with the subscriber, and sends email messages drafted by the subscriber to the remote server. The email module <b>228</b> also maintains email files <b>247</b> in the storage <b>235</b> that may include an address book and an inbox for each subscriber.
P-0078[0078] WebServer
P-0079[0079] The web server application <b>230</b> provides additional multi media communication services provided to each subscriber. Examples of the multi media communication services provided to each subscriber by the web server application <b>230</b> include: a) delivery of email and voice mail messages (as emailed audio files) to the subscriber station <b>24</b> at which the subscriber's subscriber device <b>50</b> is then currently coupled; b) updating of the network location table <b>245</b> to assure proper routing of incoming audio and audio/video calls; c) proxy communication over network <b>18</b>; d) delivery of multicast messages directed to a subscriber of the particular subscriber station <b>24</b> at which his or her subscriber device is then currently coupled; and e) providing subscriber control of audio and audio/video conference calls through the packet voice gateway <b>232</b>.
P-0080[0080] The web server application <b>230</b> includes a multicast module <b>231</b> and an address translation module <b>31</b>. The multicast module <b>231</b> provides IP multicast services to enable the web server application <b>230</b> to deliver select communications to multiple subscriber stations <b>24</b> simultaneously utilizing IP multicast protocols and without using excessive bandwidth on network <b>22</b>. The address translation module <b>31</b> provides address and port translation services to enable the web server <b>230</b> to provide each subscriber station <b>24</b> with access to servers coupled to the network <b>18</b> as an IP layer proxy and without using higher layer resources of the control unit <b>12</b>.
P-0081[0081] In the exemplary embodiment, non streaming media communication between the web server application <b>230</b> and each subscriber station <b>24</b> utilizes tagged data messages over a TCP/IP session between the web server application <b>230</b> and a system client application <b>115</b> (FIG. 5) within the subscriber station <b>24</b>. Each message transferred between the web server application <b>230</b> and the subscriber station <b>24</b> comprises a data element and a tag identifying the significance of the data element. For example: a) if the data element comprises the text of an email message, the tag would identify the data element as the text of an e-mail message; b) if the data element comprises an executable script that would provide for the subscriber station <b>24</b> to perform a certain function, the tag would identify the data element as executable script and may identify the significance of the script; and c) if the data element comprises display layout control information (e.g. a style sheet) defining how another data element (such as the text of the email) should be displayed on a display screen, the tag would identify the data element as a style sheet.
P-0082[0082] Streaming media communications between the web server application <b>230</b> (such as multicast streaming media messages provided by the IP multicast module <b>231</b>) and the client application <b>115</b> utilize a sequence of RTP frames that include compressed media data and are sent utilizing UDP/IP channels.
P-0083[0083] To provide communication services to each subscriber, the web server application <b>230</b> processes certain scripts in response to events generated by a subscriber station <b>24</b> and the packet audio/video gateway <b>232</b>. In processing the scripts, the web server application <b>230</b> manages subscriber communication data stored in the storage <b>235</b> and provides operating instructions to subscriber station <b>24</b> and the email module <b>228</b>.
P-0084[0084] The flow charts of FIGS. 9<i>a </i>through <b>9</b><i>g </i>(which will be discussed in more detail herein) represent processing scripts that in aggregate provide for a subscriber to navigate through a layered menu to select applicable services form the control unit <b>12</b>. The web server application <b>230</b> maintains state information for each subscriber station <b>24</b> such that each subscriber station <b>24</b> may navigate through the layered menu independently of other subscriber stations <b>24</b>.
P-0085[0085] RTP Stream Routing
P-0086[0086] As discussed with respect to FIG. 1, several VOIP sessions established between subscriber stations <b>24</b> and endpoints coupled to the Internet <b>30</b> (and several active data connection sessions open by the web server <b>230</b>) may congest the control unit's <b>12</b> connection to the ISP network <b>18</b> causing a quality of service failure or causing data frames (discussed later) to be delayed or lost to buffer overflow. Additionally, the ISP network <b>18</b> (or even portions of the Internet <b>30</b>) may be congested causing such problems. As such, a RTP stream routing circuit <b>33</b> may couple to the communication module <b>16</b> and the PSTN interface <b>21</b> to establish supplemental connections with remote endpoints (or control units or proxys for remote endpoints) over the PSTN <b>42</b> (or a combination of a PSTN <b>42</b> connection to a dial up Internet service provider and a Internet connection with such remote endpoint, control unit, or proxy) and may route RTP frames over such supplemental connections. Such supplemental connections may be established when a quality of service failure occurs or if frames begin to overflow a frame buffer.
P-0087[0087] Referring briefly to FIG. 12, the RTP stream routing circuit <b>33</b> may include a router <b>700</b>, a load monitor and router control circuit <b>704</b>, and a modem <b>702</b>. The modem functions to establish and maintain an IP connection with each of a plurality of remote devices over the PSTN <b>42</b>. The router <b>700</b> routes UPD/IP frames representing a real time streaming media session to the remote endpoint utilizing either the communication module <b>16</b> or the modem <b>702</b> in accordance with the monitor and router control circuit <b>704</b>.
P-0088[0088] The monitor and router control circuit <b>704</b> accesses a directory table <b>706</b> that associates the IP address of other known control unit's <b>12</b> (or other VOIP proxy devices) with a PSTN telephone number that can be used to establish a supplemental connection to such device. Further, the monitor and router control circuit <b>704</b> maintains an indication of quality of service <b>712</b> with such device at the IP address. For example, for each remote device to which a stream of RTP frames are being sent, the monitor and router control circuit <b>704</b> may maintain a table <b>708</b> that stores an ID of each frame sent and the time sent. As such, when the remote device returns a table <b>710</b> that includes the frame ID and time received, the monitor and router control circuit <b>704</b> can calculate delay and packet loss as a measure of quality of service. This measure may be included in the indication of quality of service <b>712</b>.
P-0089[0089] To enable the remote device to have a similar function, the monitor and router control circuit <b>700</b> may log frames received and return a table similar to table <b>710</b> to each remote device with which a stream of RTP frames is received. It should be appreciated that the directory table <b>706</b> may be maintained locally in the control unit <b>12</b> or may be a global directory accessible on the Internet <b>30</b>.
P-0090[0090] When a failure of quality of service occurs (or the web server application <b>230</b> of FIG. 2 indicates a significant delay or failure of data frames), the monitor and router control circuit <b>704</b> will obtain the PSTN telephone number associated with a IP address with which the quality of service failure has occurred and provide such telephone number to the modem <b>702</b> so that the modem <b>702</b> may establish a supplementary connection to such IP address. After a supplementary connection has been established, the monitor and control circuit <b>704</b> instructs the router <b>700</b> to route frames addressed to such IP address to the modem instead of to the communication module <b>16</b> thereby relieving the communication module <b>16</b> of the task or routing such frames on the ISP network <b>18</b>.
P-0091[0091] The monitor and router control circuit <b>704</b> also monitors a frame buffer in router <b>700</b>. Each frame for transmission, whether an RTP frame provided by the packet voice gateway <b>232</b> or a non-realtime data frame provided by the web server <b>230</b> will be queued for transmission in the frame buffer. The real time frames may be given priority for tranmission. In the event that the buffer begins to overflow, the higher priority RTP frames will likely still be transmitted while the non-realtime frames would likely be dropped. To reduce such problems, when the monitor and router control circuit <b>704</b> detects the buffer filling beyond a predetermined capacity, it may access the directory table <b>706</b> to select a PSTN telephone number of remote control unit (or VOIP proxy) to which one or more RTP streams are being sent, and enable the modem <b>702</b> to open a establish a supplemental connection to such remote control unit or VOIP proxy. As discussed above, once opened the router <b>700</b> may send frames addressed to such remote control unit or proxy using the supplemental connection. Such frame will then be queued in a separate frame buffer dedicated to the supplemental connection and will not utilize space in the frame buffer associated with the communication module <b>16</b>.
P-0092[0092] The monitor and router circuit <b>704</b> also monitors the PSTN interface <b>21</b> for supplemental connections that may be initiated to the control unit <b>12</b> by a remote control unit or VOIP proxy and, if such a supplemental connection is detected, instructs the router <b>700</b> to route frames addressed to the IP address associated with the supplemental connection to the modem instead of to the communication module <b>16</b>.
P-0093[0093] Because the IP address of the control unit <b>12</b> may change periodically, the monitor and router circuit <b>704</b> may periodically provide the IP address of the control unit <b>12</b> to a directory table available on the Internet to other control units and proxys.
P-0094[0094] Subscriber Station
P-0095[0095] Referring to FIG. 4, a perspective view of an exemplary subscriber station <b>24</b> is shown. The subscriber station <b>24</b> includes a platform unit <b>52</b> that operatively couples to the control unit <b>12</b> via either a wireless communication link between a platform unit network circuit <b>96</b> and the wireless network <b>22</b> or a direct network connection <b>23</b> between the platform unit <b>52</b> and the backbone network of the wireless network <b>22</b>.
P-0096[0096] A plurality of functional modules <b>54</b>, <b>56</b>, <b>58</b>, <b>60</b>, and <b>11</b> may be coupled to the platform unit <b>52</b> to form an integrated multi-media communication platform. The platform unit <b>52</b> includes a subscriber interface docking platform <b>64</b> for coupling and optionally supporting one of a plurality of modular subscriber interface units <b>60</b> to the platform unit <b>52</b>. The modular subscriber interface unit <b>60</b><i>a </i>may include a plurality of buttons <b>68</b> in an arrangement similar to a typical telephone key pad to provide for subscriber input in a manner similar to that of a traditional telephone handset. The modular subscriber interface <b>60</b><i>b </i>may include a touch panel graphic display <b>72</b> to provide for subscriber input through virtual buttons visible thereon.
P-0097[0097] The platform unit <b>52</b> further includes a first function specific docking platform <b>74</b><i>a </i>and a second function specific docking platform <b>74</b><i>b</i>, each of which couples to respective function specific modules <b>54</b> and <b>56</b>. The first function specific docking platform <b>74</b><i>a </i>is a shallow platform for coupling to function specific modules that primarily comprise function specific buttons or other circuits that may be placed within a thin module. The second function specific docking platform <b>74</b><i>b </i>is a larger platform for coupling to function specific modules with more complex internal circuits requiring the additional size.
P-0098[0098] In the exemplary embodiment, the function specific module <b>54</b> may include subscriber interface buttons configured for enhancing voice communication through the subscriber station <b>24</b> such as a voice message control <b>76</b> for single button access to voice message files and voice management controls <b>86</b> for single button control of enhanced voice management functions.
P-0099[0099] The function specific module <b>56</b> may include circuits configured for enhancing data communication through the subscriber station <b>24</b> such as an email control <b>78</b> for single button access to subscriber email messages, a print control <b>80</b> for single button initiation of the printing of an email message, and a data networking port <b>84</b>.
P-0100[0100] The platform unit <b>52</b> further includes a docking bay <b>62</b> into which a modular docking interface <b>58</b> may be secured and operatively coupled to the platform unit <b>52</b>. The modular docking interface <b>58</b> supports one of a plurality of modular subscriber devices <b>50</b> within a subscriber device interface bay <b>66</b> and provides for operatively coupling the modular subscriber device <b>50</b> to the platform unit <b>52</b>. Exemplary configurations for the modular subscriber device <b>50</b> include a subscriber data assistant <b>86</b>, a subscriber wide area network communication device <b>88</b>, and the wireless LAN voice handset <b>26</b>, each of which is discussed in more detail herein.
P-0101[0101] While operatively coupled to the platform unit <b>52</b>, the subscriber device <b>50</b> becomes an integral part of the subscriber interface of the subscriber station <b>24</b>. A liquid crystal graphic display <b>90</b> on the subscriber device <b>50</b> may function to display multi-media communication management information under control of the platform unit <b>52</b> and the control unit <b>12</b>. Further, programmable subscriber controls <b>92</b> positioned adjacent to the subscriber device <b>50</b> may be configured to activate platform unit <b>52</b> and control unit <b>12</b> functions in accordance with the contents of the graphic display <b>90</b> adjacent to the controls <b>92</b>.
P-0102[0102] The platform unit <b>52</b> also includes docking bay <b>61</b> into which a modular video camera <b>11</b> may be coupled to the subscriber station <b>24</b>. The modular video camera <b>11</b> provides a video image for use by the subscriber station <b>24</b> when participating in a video conference call.
P-0103[0103] The platform unit <b>52</b> may further include one or more of the following elements:
P-0104[0104] a) a handset <b>98</b> similar to a traditional telephone handset to provide a subscriber voice interface, b) a speaker <b>100</b> and a microphone <b>102</b> to provide a hands-free subscriber voice interface, c) a modular battery pack <b>70</b> (which fits within a battery pack bay that is not shown) for operating power when the subscriber station <b>24</b> is uncoupled from a line voltage, d) cell button <b>104</b> for single button selection of certain functions such as a wide area network communication function, e) help button <b>106</b> for single button selection of a help function, and f) a secure button <b>108</b>, selection of which actuates encryption of the VOIP session supporting a subscriber's call from the subscriber station <b>24</b>.
P-0105[0105]FIG. 5 shows a block diagram of the subscriber station <b>24</b>. The platform unit <b>52</b> includes an application controller <b>112</b> coupled to a local bus <b>116</b> that interconnects the controller <b>112</b> with a plurality of peripheral circuits that include a wireless module <b>94</b>, a power management controller <b>120</b>, a communication controller <b>122</b>, a network switch controller <b>124</b>, a key switch controller <b>126</b>, a touch panel controller <b>128</b>, and a voice communication system <b>130</b>.
P-0106[0106] The wireless module <b>94</b> operatively couples the platform unit <b>52</b> with the control unit <b>12</b> over the wireless LAN <b>22</b> (both of FIG. 2). The controller <b>112</b> includes appropriate drivers for operation of the wireless module <b>94</b>.
P-0107[0107] The power management controller <b>120</b> selectively receives input power from the battery pack <b>70</b> or external line voltage <b>134</b>. The power management controller <b>120</b> includes appropriate circuits for converting the input power voltage to appropriate operating power required by each component of the subscriber station <b>24</b>. Additionally, the power management controller <b>120</b> includes appropriate circuits for managing charging of the battery pack <b>70</b> when the platform unit <b>52</b> is coupled to the line voltage <b>134</b> and generating appropriate power for operating and/or charging the modular docking interface <b>58</b> and the modular subscriber device <b>50</b> when coupled to the platform unit <b>52</b>.
P-0108[0108] The communication controller <b>122</b> operatively couples the modular docking interface <b>58</b> and the modular subscriber device <b>50</b> to the controller <b>112</b> such that the platform <b>52</b> can exchange data with the modular subscriber device <b>50</b>. In the exemplary embodiment, the communication controller <b>122</b> is a serial communication controller that enables the serial exchange of data with a compatible serial communication controller within the modular subscriber device <b>50</b> over a physical medium. Exemplary physical mediums include hardwired contacts, an infrared transmission, and RF transmission, however other physical mediums are envisioned and which medium is used is not critical to this invention.
P-0109[0109] The communication control <b>122</b> also operatively couples the modular video camera <b>11</b> to the controller <b>112</b> such that the platform unit <b>52</b> may power the video camera <b>11</b> and receive the video image from the video camera <b>11</b>.
P-0110[0110] The network switch controller <b>124</b> provides a network data port <b>84</b> which enables the controller <b>112</b> to communicate with another network computing circuit over a network interface. The network switch controller <b>124</b> is coupled to a bus port <b>135</b> within the function specific docking platform <b>74</b><i>b </i>for coupling to a mating port <b>148</b> on the function specific module <b>56</b>.
P-0111[0111] The key switch (e.g. button) controller <b>126</b> is coupled to: 1) a connector <b>136</b><i>a </i>which in turn is coupled to a mating connector on the modular subscriber interface unit <b>60</b><i>a </i>(FIG. 4) for interconnecting the buttons <b>68</b> to the key switch controller <b>126</b>; 2) a connector <b>136</b><i>b </i>which in turn is coupled to a mating connector <b>142</b> on the function specific module <b>54</b> for interconnecting the buttons <b>76</b> and <b>86</b> to the key switch controller <b>126</b>; 3) the bus port <b>135</b> which in turn is coupled to a mating port <b>148</b> on the function specific module <b>56</b> for interconnecting the buttons <b>78</b> and <b>80</b> to the key switch controller <b>126</b>; 4) the cell button <b>104</b>; 5) the help button <b>106</b>; and 6) the secure button <b>108</b>. In the exemplary embodiment, the key switch controller <b>126</b> may drive row and column signals to the various buttons and, upon detecting a short between a row and a column (e.g. button activation) reports the button activation to the application controller <b>112</b> over the bus <b>116</b>. Again, the application controller <b>112</b> includes appropriate drivers for operating the key switch controller <b>126</b>.
P-0112[0112] The touch panel controller <b>128</b> is coupled to a connector <b>144</b> which in turn is coupled to a mating connector on the modular subscriber interface unit <b>60</b><i>b </i>(FIG. 4) for interconnecting the touch panel graphic display <b>72</b> to the touch panel controller <b>128</b>. In the exemplary embodiment, the touch panel controller <b>128</b> may include a separate display control circuit compatible with the resolution and color depth of the touch panel graphic display <b>72</b> and a separate touch panel control circuit for detecting subscriber contact with the touch panel graphic display <b>72</b>. The application controller <b>112</b> includes appropriate systems for driving the contents of the touch panel graphic display <b>72</b> through the touch panel controller <b>128</b>.
P-0113[0113] The voice communication system <b>130</b> generates analog voice signals for driving the speaker <b>100</b> (or the speaker in the handset <b>98</b> of FIG. 4) and detects input from the microphone <b>102</b> (or the microphone in the handset <b>98</b>) under the control of the application controller <b>112</b>.
P-0114[0114] In the exemplary embodiment, the controller <b>112</b> executes a packet audio/video communication client <b>113</b> and a client application <b>115</b>. The packet audio/video communication client <b>113</b> includes a session set up circuit <b>118</b> and a compression/encryption circuit <b>114</b>.
P-0115[0115] The session set up circuit <b>118</b> provides for establishing communication session with remote endpoints over the network <b>22</b> and over the wide are network service provider network <b>27</b> when a wide are network communication device <b>88</b> is coupled to the platform unit <b>52</b>.
P-0116[0116] More specifically, with respect to communication sessions over the network <b>22</b>, the session set up circuit <b>118</b> provides for sending (and responding to) applicable session signaling messages to (and from) another endpoint (whether on network <b>22</b> or the Internet <b>30</b>) to establish a VOIP session with such other endpoint. The session set up circuit <b>118</b> also provides for sending (and responding to) applicable session signaling messages to (and from) the gateway <b>232</b> over the network <b>22</b> to initiate a conference session to conference session participants.
P-0117[0117] With respect to communication sessions over the wide area network <b>27</b>, the session set up circuit <b>118</b> provides for sending signals to the wide area network communication device <b>88</b> via the communication controller <b>122</b> to provide for the wide are network communication device <b>88</b> to establish a wireless communication session over the wide are network <b>27</b>. Such wireless communication session can be established either by answering an incoming wireless call or by placing an outgoing wireless call. The session set up circuit <b>118</b> will provide signals to the wide area network communication device <b>88</b> for answering an incoming call in response to the subscriber activating the cell button <b>104</b> while the wide area network communication device <b>88</b> is ringing. The session set up circuit <b>118</b> will provide signals to the wide area network communication device <b>88</b> for placing an outgoing call through the wide area network communication device <b>88</b> in response to subscriber entry of a telephone number (by selecting from an address book or by key entry or virtual key entry on the touch panel <b>72</b>) and subscriber activation of the cell button <b>104</b> to indicate subscriber desire to place the outgoing call through the wide area network communication device <b>88</b> instead of through the network <b>22</b>.
P-0118[0118] Additionally, the session set up circuit <b>118</b> may provide signals to place an outgoing call through the wide are network communication device <b>88</b> even if the operator does not activate the cell button <b>104</b>, but the subscriber station <b>24</b> receives an indication from the control unit <b>12</b> that the network <b>22</b>, the ISP network <b>18</b>, or the trunk lines to the PSTN <b>42</b> are too congested to complete the real time streaming media session and a wide are network communication device <b>88</b> is docked to the platform unit <b>52</b> and capable of completing the session.
P-0119[0119] The compression/encryption circuit <b>114</b> exchanges the sequences of RTP frames representing compressed audio data and video data with the other endpoint and translates between compressed (and optionally encrypted) RTP frames and digital audio and digital video data. More specifically, the compression/encryption circuit <b>114</b> compresses video images from the video camera <b>11</b> into a sequence of RTP frames for sending to the other endpoint, compresses voice signals from the voice communication circuit <b>130</b> into sequences of RTP frames for sending to the other endpoint, and decompresses RTP frames of video images and audio signals received from the other endpoint for driving the voice communication circuit <b>130</b> and for displaying a video image on a display. In the exemplary embodiment, the packet audio/video communication client <b>113</b> may be one of the commercially available clients utilizing established protocols such as the International Telephone Union (ITU) H.<b>323</b> protocols, The Internet Engineering Task Force (IETF) Session Initiation Protocols, or other protocols useful for signaling and establishing a real time streaming media session with the packet audio/video gateway <b>232</b>.
P-0120[0120] The session set up module <b>118</b> includes circuits for generating and sending applicable messages to the other endpoint to initiate encryption of a VOIP session in response to operator activation of the secure button <b>108</b>. The applicable messages will include negotiation of an encryption algorithm and the exchange of each endpoint's public encryption key. Further, in response to successful initiation of encryption during a VOIP session that is not a conference session, the session set up module <b>118</b> may generate an applicable signal to illuminate the secure button <b>108</b>. Further, in response to an all-secure message from the conference module <b>237</b> during a conference session, the module may generate the applicable signal to illuminate the secure button <b>108</b>.
P-0121[0121] The client application <b>115</b> operates as a client to the web server application <b>230</b> (FIG. 4) within the control unit <b>12</b>. The client application <b>115</b> provides for the controller <b>112</b> to: a) generate an image on the touch panel graphic display <b>72</b> or on the graphic display <b>90</b> on the subscriber device <b>50</b> in accordance with display content and a style sheet received from the control unit <b>12</b>; b) output an audio stream file received from the control unit <b>12</b> through the dialog system <b>130</b>; c) execute processing steps in accordance with instructions received from the control unit <b>12</b>; d) provide messages indicating subscriber actions (such as subscriber activation of the cell button <b>104</b>, the help button <b>106</b>, a touch panel virtual button, or any other button on the subscriber station <b>24</b>) to the web server application <b>230</b>; e) activate the packet audio/video client <b>113</b> to set up a real time audio/video session with the packet audio/video gateway <b>232</b> (FIG. 3); f) identify the modular configuration or subscriber interface configuration of the subscriber station <b>24</b> and report the configuration to the control unit <b>12</b>; and g) report the coupling of (and decoupling of) a subscriber device <b>50</b> and/or modules to the platform <b>52</b> of the subscriber station <b>24</b> to the control unit <b>12</b>.
P-0122[0122] Subscriber Data Assistant
P-0123[0123] Turning to FIG. 6, exemplary structure of a subscriber data assistant <b>86</b> is shown. The subscriber data assistant <b>86</b> includes a controller <b>160</b> interconnected to a plurality of peripheral controllers by an internal bus <b>162</b>. Because of the small size and the portability of the subscriber data assistant <b>86</b>, the touch panel <b>90</b> provides the primary subscriber interface. The touch panel <b>90</b> is controlled by a display controller <b>164</b> and a touch panel controller <b>166</b>. The display controller <b>164</b> drives the liquid crystal display of touch panel <b>90</b> using signals compatible with the resolution and color depth of the display <b>90</b>. The touch panel controller <b>166</b> detects user activation of the touch panel <b>90</b>. The controller <b>160</b> operates appropriate drivers <b>176</b> for controlling operation of the touch panel controller <b>166</b> and the display controller <b>164</b>.
P-0124[0124] A communication controller <b>168</b> is also coupled to the bus <b>162</b> and operates under control of the application controller <b>160</b>. In the exemplary embodiment, the communication controller <b>168</b> is a serial communication controller that is compatible with the communication controller <b>122</b> of the platform unit <b>52</b> (both of FIG. 5) such that data communication may occur between the platform unit <b>52</b> and the subscriber data assistant <b>86</b> when the subscriber data assistant <b>86</b> is operatively coupled to the platform unit <b>52</b>.
P-0125[0125] A power management circuit <b>170</b> selectively receives input power from a battery pack <b>172</b> or from the power management circuit <b>120</b> in the platform unit <b>52</b>. The power management circuit <b>170</b> includes appropriate circuits for converting the input power voltage to appropriate operating power required by each component of the subscriber data assistant <b>86</b>. Additionally, the power management circuit <b>170</b> includes appropriate circuits for managing charging of the battery pack <b>172</b> when the subscriber data assistant is coupled to the platform unit <b>52</b>.
P-0126[0126] The controller <b>160</b> also operates subscriber station client application <b>174</b> for displaying multi-media communication management information under control the platform unit <b>52</b> when coupled to the platform unit <b>52</b>. In the exemplary embodiment the subscriber station client application <b>174</b> receives messages from the platform unit <b>52</b> in the form of tagged messages. After receipt of the tagged messages, the subscriber station client application <b>174</b> builds a display document to display the communication management information represented by tagged content messages in accordance with a style sheet that is compatible with the size, resolution, and color depth of the touch panel display <b>90</b>. The display document is then displayed on the touch panel display <b>90</b>.
P-0127[0127] It should be appreciated that in additional to operating the drivers <b>176</b> and the subscriber station client application <b>174</b>, the controller <b>160</b> may optionally operate any of the software applications that are commercially available for personal data assistants (PDAs) which may include address book management, calendar management, and games. While operation of such PDA applications may be useful to the subscriber, it is not critical to the operation of the present invention.
P-0128[0128] Subscriber Wide Area Network Communication Device
P-0129[0129] Turning to FIG. 7, exemplary structure of a subscriber wide area network communication device <b>88</b> is shown. The wide area network communication device <b>88</b> includes a controller <b>180</b> operating a subscriber station application <b>198</b>, a wireless communication application <b>194</b>, and applicable drivers <b>196</b> for a plurality of peripheral controllers. The controller <b>180</b> is interconnected to the plurality of peripheral controllers by an internal bus <b>186</b>. The peripheral controllers include a wide area network RF circuit <b>182</b>, a voice system <b>197</b>, a display controller <b>184</b>, a touch panel controller <b>185</b>, a key switch controller <b>193</b>, a communication controller <b>188</b>, and a power management system <b>190</b>.
P-0130[0130] The wide area network RF circuit <b>182</b> may be a circuit for transmitting and receiving signals from a wide area network service provider's network <b>27</b> under control of the wireless communication application <b>194</b>.
P-0131[0131] The key switch controller <b>193</b> is coupled to the control buttons <b>195</b>. The key switch controller <b>193</b> drives row and column signals to the control buttons <b>195</b> and, upon detecting a short between a row and a column indicating button activation, reports the activation to the controller <b>180</b>. The control buttons may be used by a subscriber for operating the wide area network communication device <b>88</b> when uncoupled form the platform unit <b>52</b>.
P-0132[0132] The voice system <b>197</b> includes a speaker and a microphone. Under control of the wireless communication application <b>194</b>, the voice system <b>197</b> may provide a subscriber voice interface for an audio session with a remote device over the wide area network service provider's network <b>27</b>.
P-0133[0133] The display controller <b>184</b> drives the display <b>90</b> using signals compatible with the resolution and color depth of the display <b>90</b>. The display <b>90</b> may optionally be a touch panel display <b>90</b> and the touch panel controller <b>185</b> detects user activation of the touch panel <b>90</b>.
P-0134[0134] The communication controller <b>188</b> may be a serial communication controller compatible with the communication controller <b>122</b> in the platform unit <b>52</b> such that data communication may occur between the platform unit <b>52</b> and the wide area network communication device <b>88</b> when the wide area network communication device <b>88</b> is operatively coupled to the platform unit <b>52</b>.
P-0135[0135] The power management controller <b>190</b> operates with a battery pack <b>192</b>, both of which may operate in a similar manner to the power management controller <b>170</b>, and the battery pack <b>172</b> discussed with reference to FIG. 6.
P-0136[0136] Similar to the subscriber data assistant <b>86</b> (FIG. 6), when the wide area network communication device <b>88</b> is coupled to the platform unit <b>52</b>, the subscriber station application <b>198</b> provides for displaying multi-media communication management information under control of the platform unit <b>52</b> and provides for multi-media communication directly between the platform unit <b>52</b> and the wide area network service provider medium.
P-0137[0137] In addition subscriber station application <b>198</b> may receive messages from the platform unit <b>52</b> which may be real time streaming audio for communication over the wide area network service provider network <b>27</b> during a real time streaming media session
P-0138[0138] When the message is for communication with the wide area network service provider medium, the subscriber station application <b>198</b> will reformat the message to a format compatible with wide area network service provider medium transmission standards and transmit the message using the wide area network RF circuit <b>182</b>.
P-0139[0139] The wide area network communication device <b>88</b> may also receive signals from the wide area network service provider medium via the wide area network RF circuit <b>182</b>. When received, the subscriber station application <b>198</b> reformats the messages into a plurality of tagged messages for communication to the platform unit <b>52</b> and sends the tagged messages to the platform unit <b>52</b> via the communication controller <b>188</b>.
P-0140[0140] Web Server Application
P-0141[0141] Referring to FIGS. 9<i>a </i>through <b>9</b><i>j </i>in conjunction with FIG. 3, exemplary processing steps performed by the web server application <b>230</b> to provide communication services to a subscriber station <b>24</b> are shown.
P-0142[0142] The flowchart of FIG. 9<i>a </i>represents steps performed by the web server application <b>230</b> upon receiving an open session request on a predetermined port from a subscriber station <b>24</b> that has just been operatively coupled to the network <b>22</b>, obtained a network address from the network address server <b>220</b>, and is ready to operate as a client to the web server application <b>230</b>. Step <b>300</b> represents receipt of the open session request and step <b>302</b> represents establishing a TCP/IP session with the subscriber station <b>24</b>.
P-0143[0143] Step <b>304</b> represents sending a start up script to the subscriber station <b>24</b>. The start up script includes instructions that, when executed by the client application <b>115</b>, provide for the subscriber station <b>24</b> to detect its subscriber interface configuration (e.g. whether the subscriber station <b>24</b> includes a display screen and what capabilities such as video capabilities and graphic resolution capabilities the display screen may have) and to report its subscriber interface configuration back to the web server application <b>230</b>.
P-0144[0144] Step <b>306</b> represents receipt of the subscriber interface configuration of the subscriber station <b>24</b> from the subscriber station <b>24</b> and step <b>308</b> represents writing an indication of the subscriber interface configuration of the subscriber station <b>24</b> to a subscriber interface table <b>239</b> in the storage <b>235</b>.
P-0145[0145] Step <b>310</b> represents retrieving a main menu display style sheet from a selection of style sheets <b>241</b> stored in the storage <b>235</b>. The retrieved main menu display style sheet will be a style sheet that corresponds to the subscriber interface configuration of the subscriber station <b>24</b>.
P-0146[0146] Step <b>312</b> represents providing main menu display content and the style sheet to the subscriber station <b>24</b> and step <b>314</b> represents updating a subscriber station state table <b>243</b> in the storage <b>235</b> to indicate that the subscriber station <b>24</b> is in a main menu state.
P-0147[0147] It should be appreciated that the main menu content provided to the subscriber station <b>24</b> is independent of the subscriber interface, however, the style sheet provided to the subscriber station <b>24</b> is dependent on the subscriber interface. For example, turning to FIG. 10<i>a </i>which represents display of a main menu on a subscriber device <b>50</b> in the modular docking interface <b>58</b> the content of the main menu display includes a title of main menu and choices of view email, voice mail, and multi cast paging. The style sheet corresponding to a subscriber interface that includes a subscriber device <b>50</b> provides for the content to be graphically displayed with the title at the top and each menu choice to be displayed adjacent a button <b>92</b> on the modular docking interface <b>58</b>. Alternatively, turning to FIG. 20<i>b </i>which represents display of a main menu on a display <b>72</b> that is coupled to a subscriber station interface <b>64</b> (FIG. 4), the content of the main menu display again includes a title of main menu and the choices of view email, voice mail, and multi cast paging. However, the style sheet that corresponds to a subscriber interface that includes a display <b>72</b> that is coupled to a subscriber station interface <b>64</b> provides for the content to be graphically displayed with the title at the top and each choice to be displayed in a vertical list with an adjacent numeral for selection using the keypad <b>68</b> (FIG. 4). The examples shown in FIGS. 10<i>a </i>and <b>10</b><i>b </i>are for illustrative purposes only. Other subscriber interface configurations that include non-graphic displays, bit mapped multi line text displays, or 7 element single or multi line text displays may utilize different style sheets for displaying all or a portion of the main menu content.
P-0148[0148] The flowchart of FIG. 9<i>b </i>represents steps performed by the web server application <b>230</b> upon receiving an indication that a subscriber device <b>50</b> has been coupled to a subscriber station <b>24</b>. Step <b>316</b> represents receipt of such indication.
P-0149[0149] Step <b>318</b> represents sending a device ID extraction script to the subscriber station <b>24</b>. The device ID extraction script includes instructions that, when executed by the client application <b>115</b>, provide for the subscriber station <b>24</b> to interrogate the subscriber device <b>50</b> to determine its device identification (e.g. an identification of which subscriber to which the device has been assigned) and to report the device identification back to the web server application <b>230</b>.
P-0150[0150] Step <b>320</b> represents receipt of the device identification back from the subscriber station <b>24</b> and step <b>322</b> represents associating the device ID with the subscriber station <b>24</b> in the network location table <b>245</b> in the storage <b>235</b>. As discussed previously, the packet audio/video gateway <b>232</b> utilizes the network location table <b>245</b> for routing incoming telephone calls to the particular subscriber station <b>24</b> at which a subscriber's subscriber device <b>50</b> is then currently coupled. It should be appreciated that this step <b>322</b> provides for the network location table <b>245</b> to properly indicate association between a subscriber station <b>24</b> and the subscriber device <b>50</b> that is served thereby.
P-0151[0151] Because the style sheet selected for display of content on the subscriber station <b>24</b> is dependent on the subscriber interface configuration of the subscriber station <b>24</b> as determined by the subscriber interface table <b>239</b>, the table should be updated when the subscriber interface configuration changes. Coupling a subscriber device <b>50</b> to a subscriber station <b>24</b> changes the subscriber interface because the display of the subscriber device <b>50</b> becomes a display for the subscriber station <b>24</b>. As such, step <b>324</b> represents updating the subscriber interface configuration of the subscriber station <b>24</b> in the subscriber interface table <b>239</b>.
P-0152[0152] Step <b>326</b> represents retrieving a main menu display style sheet that is applicable to the new subscriber interface configuration from the selection of style sheets <b>241</b> in the storage <b>235</b> and step <b>328</b> represents providing main menu display contend and the style sheet to the subscriber station <b>24</b>. Step <b>330</b> represents updating the subscriber station state table <b>243</b> to assure that it represents that the subscriber station <b>24</b> is in the main menu state.
P-0153[0153] The flow chart of FIG. 9<i>c </i>represents steps performed by the web server application <b>230</b> upon receiving an indication that a subscriber device <b>50</b> has been removed from a subscriber station <b>24</b>. Step <b>322</b> represents receipt of such an indication.
P-0154[0154] Because the packet audio/video gateway <b>232</b> utilizes the network location table <b>245</b> for routing incoming telephone calls to the particular subscriber station <b>24</b> at which a subscriber's subscriber device <b>50</b> is then currently coupled, the network location table should be updated upon removal of a subscriber device form a subscriber station <b>24</b>. Step <b>334</b> represents disassociating the subscriber device <b>50</b> from the subscriber station <b>24</b> in the network location table <b>245</b>.
P-0155[0155] Because the display on the subscriber device <b>50</b> is no longer part of the subscriber interface of the subscriber station <b>24</b> after the subscriber device <b>50</b> is removed, step <b>336</b> represents updating the subscriber interface configuration table <b>239</b>.
P-0156[0156] Step <b>338</b> represents retrieving a main menu display style sheet that is applicable to the subscriber interface configuration without the subscriber device <b>50</b> from the selection of style sheets <b>241</b> in the storage <b>235</b> and step <b>340</b> represents providing main menu display content and the style sheet to the subscriber station <b>24</b>. Step <b>342</b> represents updating the subscriber station state table <b>243</b> to assure that it represents that the subscriber station <b>24</b> is in the main menu state.
P-0157[0157] The flowchart of FIG. 9<i>d </i>represents steps performed by the web server application <b>230</b> upon receiving a subscriber indication of a command to view subscriber email messages. The means by which the subscriber station <b>24</b> may detect such a subscriber indication is dependent on the subscriber interface configuration of the subscriber station <b>24</b>. For example, if the subscriber interface includes the email button <b>78</b> (FIG. 4), detection of button <b>78</b> activation would be a subscriber indication of a command to view subscriber email messages. Similarly, subscriber activation of the email menu choice on the main menu either by touch panel activation or by activation of a button associated with the menu choice (either or both of which may be applicable dependent on the subscriber interface configuration) would be a subscriber indication of a command to view subscriber email messages. Step <b>344</b> represents the web server application <b>230</b> receiving the subscriber indication of a command to view subscriber email messages.
P-0158[0158] Step <b>346</b> represents instructing the email module <b>228</b> to logon to an email server (which may be a remote email server coupled to the network <b>18</b>) and to receive new email messages associated with the subscriber's account. Step <b>348</b> represents writing the new email messages to the subscriber inbox in the email files <b>247</b> in the storage <b>235</b>. In an embodiment wherein the remote email server maintains subscriber inbox information, steps <b>346</b> and <b>348</b> may be viewed as synchronizing the email messages between the remote server and the email files <b>247</b>. It should also be appreciated that the email module <b>228</b> may periodically retrieve new email messages and write to the subscriber inbox independently of whether the subscriber has activated an email control. As such, the inbox will already include new messages and steps <b>346</b> and <b>348</b> may not need to be performed in response to event <b>344</b>.
P-0159[0159] Step <b>350</b> represents retrieving inbox content from the email files <b>247</b> and step <b>352</b> represents retrieving an inbox style sheet that is applicable to the subscriber interface from the style sheets <b>241</b> in the storage <b>235</b>. Because the subscriber's voice mails will be sent to the subscriber's email account as audio files, it is possible that the email messages retrieved at step <b>346</b> will include both text based emails and emails from the voice mail server <b>236</b>. Because the subscriber activated a command to view email messages, the inbox style sheet provides for the display of the email messages received from senders other than the voice mail server <b>236</b> to be displayed first (or on the top of the display).
P-0160[0160] Step <b>354</b> represents providing the inbox content and style sheet to the subscriber station <b>24</b> and step <b>356</b> represents updating the subscriber station state table <b>243</b> to indicate that the subscriber station <b>24</b> is in an email state.
P-0161[0161] The flowchart of FIG. 9<i>e </i>represents steps performed by the web server application <b>230</b> in response to receiving a subscriber indication of a command to obtain voice mail messages. Again, the means by which the subscriber station <b>24</b> may detect such a subscriber indication is dependent on the subscriber interface configuration of the subscriber station <b>24</b>. For example, if the subscriber interface includes the voice mail button <b>76</b> (FIG. 4), detection of button <b>76</b> activation would be a subscriber indication of a command to obtain voice mail messages. Similarly, subscriber activation of the voice mail menu choice either by touch panel activation or by activation of a button associated with the menu choice would be a subscriber indication of a command to obtain voice mail messages. Step <b>358</b> represents the web server application <b>230</b> receiving the subscriber indication of a command obtain voice mail messages. Because voice mail messages will be sent as audio files form the voice mail server <b>236</b> to the subscriber's email account, step <b>360</b> represents instructing the email module <b>228</b> to logon to the email server and to receive new email messages associated with the subscribers account. Step <b>362</b> represents writing the new email messages to the subscriber inbox in the email files <b>247</b> in the storage <b>235</b>.
P-0162[0162] Step <b>364</b> represents retrieving inbox content from the email files <b>247</b> and step <b>366</b> represents retrieving a voice mail style sheet that is applicable to the subscriber interface from the style sheets <b>241</b> in the storage <b>235</b>. Because the email messages that include voice mail audio files from the voice mail server <b>236</b> may be intermixed with email messages from other senders, the voice mail style sheet provides for only the display of the voice mail messages received from the voice mail server <b>236</b>.
P-0163[0163] Step <b>368</b> represents providing the inbox content and the voice mail style sheet to the subscriber station <b>24</b> and step <b>370</b> represents updating the subscriber station state table <b>243</b> to indicate that the subscriber station <b>24</b> is in a voice mail state.
P-0164[0164] The flowchart of FIG. 9<i>f </i>represents steps performed by the web server application <b>230</b> upon receiving a subscriber indication of a command to initiate a multicast paging message. The subscriber station <b>24</b> may detect such a subscriber indication by various means, such as touch panel activation or button activation of a menu selection on the main menu, dependent on the subscriber interface configuration of the subscriber station <b>24</b>. Step <b>372</b> represents the web server application <b>230</b> receiving the subscriber indication of a command to initiate a multicast paging message.
P-0165[0165] Step <b>374</b> represents retrieving the subscriber's address book content <b>249</b> from the email files <b>247</b>. Turning briefly to FIG. 8<i>b</i>, the address book content <b>249</b> may comprise a plurality of records with each record including a group identification name and identification of each subscriber in such group, and, if the group identifies a single person, contact information for the person.
P-0166[0166] Step <b>376</b> represents retrieving a select paging group style sheet that corresponds to the subscriber interface of the subscriber station <b>24</b> and step <b>378</b> represents providing both the address book content and the select paging group style sheet to the subscriber station <b>24</b>. Step <b>380</b> represents updating the subscriber station state table <b>243</b> to indicate that the subscriber station <b>24</b> is in the select paging group state.
P-0167[0167]FIG. 10<i>c </i>represents an exemplary display of the select paging group content utilizing a style sheet that may be applicable for use on a display <b>72</b> wherein the subscriber may use buttons or touch panel activation to select one or more paging groups to include in the multicast page. It should be appreciated that some paging groups may include only a single name such that individuals may be selected to include in the multicast page. Because the list of groups included in the paging group content may be larger than can be displayed on the display <b>72</b>, the style sheet may provide for only a portion of the content to be displayed along with touch activated scroll controls for display of the remainder of the content. The style sheet may further include touch activated controls to return to the main menu and to start the multicast message.
P-0168[0168]FIG. 10<i>d </i>represents an exemplary display of the select paging group content utilizing a style sheet that may be applicable for display of the content on a display of a subscriber device <b>50</b> coupled in the modular docking interface <b>58</b>. Because subscriber selection is to be by activation of buttons <b>92</b>, the style sheet provides for the content to be displayed with the groups on the left side for selection by buttons <b>92</b> on the left side of the modular docking interface <b>58</b> and for indicators to label the function of the buttons <b>92</b> on the right side of the modular docking interface <b>58</b> such as scroll up, scroll down, start message, and return to main menu.
P-0169[0169] The flowchart of FIG. 9<i>g </i>represents steps performed by the web server application <b>230</b> upon receiving a subscriber indication of a command to start the multicast paging message. Step <b>384</b> represents receipt of such a subscriber indication along with identification of the subscriber selected multicast groups to include in a multicast recipient list.
P-0170[0170] Steps <b>388</b> through <b>394</b> represent steps that are performed by the web server application <b>230</b> for each recipient. Such steps may be performed in sequence or in parallel. For purposes of illustration, the steps are shown performed in sequence. Step <b>388</b> represents identifying the subscriber device <b>50</b> that is associated with the recipient and determining if the subscriber device is then currently coupled to a subscriber station <b>24</b>. If yes, step <b>390</b> represents inviting such subscriber station <b>24</b> to the multicast session group. However, if the subscriber device <b>50</b> associated with the recipient is not coupled to a subscriber station <b>24</b> where the subscriber may receive the multicast, then at step <b>389</b> the recipient is added to an email list.
P-0171[0171] Following step <b>390</b>, step <b>392</b> represents determining whether the subscriber station <b>24</b> joined the multicast session group. If the subscriber station <b>24</b> is operating a voice session, it would be inappropriate to interrupt the voice session with a multicast page for the subscriber. As such, it is envisioned that the subscriber station <b>24</b> may, when in certain operational states, not join the multicast session group. In which case, the recipient is added to the email list at step <b>393</b>. At this time, the voice mail module <b>236</b> is invited to the multicast session group to receive the multicast on behalf of each recipient added to the email list at step <b>389</b> or <b>393</b>.
P-0172[0172] After the recipient is either added to the email list at step <b>393</b> or the subscriber station <b>24</b> joined the multicast session group at step <b>392</b>, step <b>394</b> represents determining if steps <b>388</b> though <b>392</b> must be performed for additional recipients. If not, step <b>396</b> represents establishing a RTP channel with the subscriber station <b>24</b> that initiated the multicast paging message and step <b>398</b> represents instructing the web server <b>230</b> to prompt the subscriber to begin the multicast paging message.
P-0173[0173] Step <b>400</b> represents multicasting the message to the session group utilizing the multicast module <b>231</b> and step <b>402</b> represents instructing the voice mail module <b>236</b> to, build an audio file and send the audio file by email to each recipient that was added to the email list at either step <b>389</b> or <b>393</b>.
P-0174[0174] The flowchart of FIG. 9<i>h </i>represents steps performed by the web server <b>230</b> upon receiving a subscriber indication of a command to initiate an audio or an audio/video conference call from a subscriber station <b>24</b>. The subscriber station <b>24</b> may detect such a subscriber indication by various means, such as by subscriber activation of the conference call control <b>502</b> on the touch panel <b>72</b> of FIG. 10<i>b </i>or by activation of a button <b>92</b> corresponding to the conference call menu selection on the display screen <b>50</b> of FIG. 20<i>a</i>. Step <b>404</b> represents the web server <b>230</b> receiving such an indication from a subscriber station <b>24</b>.
P-0175[0175] Step <b>406</b> represents retrieving the subscriber's address book content <b>249</b> from the email files <b>247</b> and step <b>408</b> represents retrieving a “select conference session participants” style sheet that corresponds to the subscriber interface of the subscriber station <b>24</b> from the style sheets <b>241</b> in the storage <b>235</b>. Step <b>410</b> represents providing both the address book content and the style sheet to the subscriber station <b>24</b> for display.
P-0176[0176] Step <b>412</b> represents receiving subscriber selection of participants for the conference call. FIG. 10<i>e </i>represents an exemplary display of the address book for selection of conference call participants on the touch panel <b>72</b>. The subscriber station <b>24</b> may detect subscriber activation of the touch panel <b>72</b> to “highlight” conference call participants and indicate that selection is complete by activating a finished control <b>512</b>. Upon activation of the finish control <b>512</b>, the subscriber station <b>24</b> will provide the subscriber selection of participants to the web server <b>230</b>.
P-0177[0177] Step <b>414</b> represents instructing the session set up module <b>118</b> to initiate a conference call by providing the session participant list to the packet audio/video gateway <b>232</b> as discussed above and step <b>416</b> represents updating the state of the subscriber station <b>24</b> to a conference call state.
P-0178[0178] After receiving the session participant list from the web server <b>230</b>, the packet audio/video gateway <b>232</b>, or more specifically the call signaling module <b>227</b> (FIG. 3) will establish applicable audio and video communication channels with those subscriber stations <b>24</b> that are serving subscriber devices associated with the participants in accordance with the steps discussed with respect to FIG. 11<i>a</i>. With the communication channels open, the packet voice gateway <b>232</b> will activate the conference mix module <b>237</b> to begin mixing the audio streams from each subscriber station <b>24</b> participating in the conference call and will report the status of each participant to the web server <b>230</b> as discussed above. More specifically, the status will include an indication of whether each session participant is connected to the conference or is inactive (not connected to the conference) and will include an indication of whether each session participant is on a secure VOIP session with the packet voice gateway <b>232</b>. As will be discussed later, the status may also indicate whether the participant has stopped providing an active audio stream (e.g. put his or her phone on mute) and may indicate whether the conference mixing module <b>237</b> has suspended sending a conference mix to the participant (e.g. the packet audio/video gateway <b>232</b> has placed a particular participant on hold for a time period to so that others can converse without such participant hearing the conversation).
P-0179[0179] The flowchart of FIG. 9<i>i </i>represents steps performed by the web server application <b>230</b> upon receiving conference status content from the packet audio/video gateway <b>232</b>. Step <b>418</b> represents receipt of the status content. Step <b>419</b> represents retrieving a “status” style sheet form the style sheets <b>241</b> in the storage <b>235</b> and step <b>420</b> represents providing the status content and the style sheet to at least the initiating subscriber station <b>24</b> and optionally, to other subscriber stations <b>24</b> participating in the conference call. It should be appreciated that the steps for the flowchart of FIG. 9<i>i </i>may be repeated several times during the duration of a conference call as the status of each participant changes.
P-0180[0180]FIG. 10<i>f </i>represents an exemplary display of the status of each participant on the touch panel <b>72</b>. The display includes a vertical listing of each participant and an indication of the participants status in a column <b>514</b>. An “A” indicates that the participant is active (e.g. sending a non-mute audio stream and receiving a conference mix audio stream). An “I” indicates that the participant is not on the conference call. A “M” indicates that the participant has muted his or her telephone and is not sending an audio stream. An “H” indicates that the participant has been placed on hold by the initiating subscriber station and is not receiving a conference mix.
P-0181[0181] The display also includes a video indication column <b>516</b>. This column indicates which participants are not sending a video image signal to the packet voice/video gateway <b>232</b> (e.g. the “φ” symbol). Because the subscriber may select which of the participants to view during a video conference, the video column <b>516</b> will also indicate the subscribers selection of the video image to view if the subscriber activates the video control <b>520</b>. In the exemplary display, the “*” symbol associated with Dave indicates that the subscriber would view the video image provided by Dave's subscriber station <b>24</b> upon activating the video control <b>520</b>. The subscriber may change such selection by utilizing the controls of the touch panel <b>72</b>. Upon detecting activation of the video control, the communicating subscriber station <b>24</b> will report the indication to the web server application <b>230</b>.
P-0182[0182] The display also includes a hold control <b>522</b>. The initiating subscriber may indicate his or her desire to place a participant(s) on hold status by highlighting the participant(s) and activating the hold control <b>522</b>. Upon detecting activation of the hold control <b>522</b>, the subscriber station <b>24</b> will report the indication to the web server application <b>230</b>. Upon receiving the indication, the web server application <b>230</b> will provide the indication to the packet voice/video gateway <b>232</b> which will place the selected participant(s) on hold status and return updated status content to the web server application <b>230</b>.
P-0183[0183] The display further includes a secure/encryption indication column <b>518</b>. Symbols in the column <b>518</b> indicate whether communications between the associated participant are over a secure VOIP session. A “Y” indicates that such communications are secure while a “N” indicates that communications with the associated participant are not secure.
P-0184[0184] The flow chart of FIG. 9<i>j </i>represents steps performed by the web server <b>230</b> upon receiving a subscriber indication of a video image selection from a subscriber station <b>24</b>. Step <b>426</b> represents such receipt by the web server <b>230</b>. Step <b>428</b> represents providing the video image selection to the packet voice/video gateway <b>232</b>. The packet voice/video gateway <b>232</b> will then begin relaying the selected video image to the subscriber station. Step <b>430</b> represents the web server application <b>230</b> retrieving a style sheet for the display of the video image. Step <b>432</b> represents providing the style sheet to the subscriber station <b>24</b> and step <b>434</b> represents providing instructions to display the video image received from the packet voice/video gateway <b>232</b> in conjunction with the style sheet.
P-0185[0185]FIG. 10<i>g </i>represents an exemplary display of a single video image on the touch panel <b>72</b>. The display will include a control to return to the status page which, when activated, will cause the subscriber station <b>24</b> to return to the display of FIG. 10<i>f</i>. The display includes an indication <b>524</b> that the communication with the displayed person is secure.
P-0186[0186] The display will also include a scroll video control <b>530</b> which, when activated will cause the subscriber station <b>24</b> to report such activation to the web server <b>230</b>. The web server <b>230</b> performs the steps discussed with respect to FIG. 9<i>j </i>with the selected image scrolled by one video image.
P-0187[0187] The display will also include a ¼ video control <b>528</b> which, when activated will cause the subscriber station <b>24</b> to report such activation to the web server application <b>230</b>. The web server application <b>230</b> will perform the steps discussed with respect to FIG. 9<i>j </i>but the packet voice/video gateway <b>232</b> will provide a mixed video image comprising each of four video images arranged in the four corners of the display as represented by FIG. 10<i>h. </i>
P-0188[0188] From any of the displays associated with the conference call (e.g. FIG. 10<i>e</i>, FIG. 10<i>f</i>, FIG. 10<i>g</i>, and FIG. 10<i>h</i>, termination of the call will cause the subscriber station <b>24</b> to return to the main menu as represented by FIGS. 10<i>a </i>or <b>10</b><i>b. </i>
P-0189[0189] The systems and methods of the invention provide enhanced conference call services to subscribers of the multimedia communication management system of the invention. Although the invention has been shown and described with respect to certain preferred embodiments, equivalents and modifications will occur to others skilled in the art upon the reading and understanding of the specification. Those skilled in the art may envision other processing states, events, and processing steps to further the objectives of the modular multi-media communication management system of the invention. The invention includes all such equivalents and modifications, and is limited only by the scope of the following claims.
P-0190[0190] Other embodiments are within the scope and spirit of the appended claims. For example, due to the nature of software, functions described above can be implemented using software, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations. For example, modules for encryption, such as for storing public encryption keys, may be disposed in the subscriber's device <b>50</b>, the subscriber station <b>24</b>, or the control unit <b>12</b>. Further, indicia that communications are secure may be provided by a module in the subscriber station <b>24</b> instead of by the mix module <b>238</b> of the controller <b>12</b>.
Contents6
22 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US8441501B1 | Cited by | United States of America | Applicant |
| US9596101B2 | Cited by | United States of America | Applicant |
| US8257084B1 | Cited by | United States of America | Applicant |
| US2016255201A1 | Cited by | United States of America | Pre-grant |
| US2010195642A1 | Cited by | United States of America | Pre-grant |
| US11356487B2 | Cited by | United States of America | Search report |
| US2005141529A1 | Cited by | United States of America | Pre-grant |
| US8477639B2 | Cited by | United States of America | Applicant |
| US12494938B2 | Cited by | United States of America | Applicant |
| US12120171B2 | Cited by | United States of America | Applicant |
| US7962569B2 | Cited by | United States of America | Applicant |
| US7356687B2 | Cited by | United States of America | Search report |
| US12284057B2 | Cited by | United States of America | Applicant |
| US10213696B2 | Cited by | United States of America | Applicant |
| US2020366515A1 | Cited by | United States of America | Search report |
| US2010226363A1 | Cited by | United States of America | Pre-grant |
| US2008310407A1 | Cited by | United States of America | Pre-grant |
| US10649717B2 | Cited by | United States of America | Applicant |
| US10356059B2 | Cited by | United States of America | Applicant |
| US2009131091A1 | Cited by | United States of America | Pre-grant |
| US10574832B1 | Cited by | United States of America | Search report |
| US2009185558A1 | Cited by | United States of America | Pre-grant |
| US11606398B2 | Cited by | United States of America | Applicant |
| US7215643B2 | Cited by | United States of America | Search report |
| US2005025043A1 | Cited by | United States of America | Pre-grant |
| US7701883B2 | Cited by | United States of America | Search report |
| US8582560B2 | Cited by | United States of America | Applicant |
| US11810445B2 | Cited by | United States of America | Applicant |
| US8644272B2 | Cited by | United States of America | Applicant |
| US12088425B2 | Cited by | United States of America | Applicant |
| US12250547B2 | Cited by | United States of America | Applicant |
| US12244663B2 | Cited by | United States of America | Applicant |
| US11824675B2 | Cited by | United States of America | Search report |
| US11811845B2 | Cited by | United States of America | Applicant |
| US9262046B2 | Cited by | United States of America | Applicant |
| US2010157983A1 | Cited by | United States of America | Pre-grant |
| US9891882B2 | Cited by | United States of America | Applicant |
| US8651868B2 | Cited by | United States of America | Applicant |
| US2009180395A1 | Cited by | United States of America | Pre-grant |
| US12277853B2 | Cited by | United States of America | Applicant |
| US2007255848A1 | Cited by | United States of America | Pre-grant |
| US9294353B2 | Cited by | United States of America | Applicant |
| US2016352708A1 | Cited by | United States of America | Pre-grant |
| US8249052B2 | Cited by | United States of America | Applicant |
| US2009147700A1 | Cited by | United States of America | Pre-grant |
| US9237102B2 | Cited by | United States of America | Applicant |
| US8780889B2 | Cited by | United States of America | Search report |
| US2009182845A1 | Cited by | United States of America | Pre-grant |
| US12267385B2 | Cited by | United States of America | Applicant |
| US7570632B2 | Cited by | United States of America | Applicant |
| US12541237B2 | Cited by | United States of America | Applicant |
| US8230091B2 | Cited by | United States of America | Applicant |
| US7940804B2 | Cited by | United States of America | Applicant |
| US12253833B2 | Cited by | United States of America | Applicant |
| US12476840B2 | Cited by | United States of America | Applicant |
| US2004228327A1 | Cited by | United States of America | Pre-grant |
| US10122767B2 | Cited by | United States of America | Search report |
| US12283172B2 | Cited by | United States of America | Applicant |
| US2009175285A1 | Cited by | United States of America | Pre-grant |
| US12301379B2 | Cited by | United States of America | Applicant |
| US11809174B2 | Cited by | United States of America | Applicant |
| US11997584B2 | Cited by | United States of America | Applicant |
| US9584406B2 | Cited by | United States of America | Applicant |
| US7788081B1 | Cited by | United States of America | Search report |
| US2011022727A1 | Cited by | United States of America | Pre-grant |
| US2005226264A1 | Cited by | United States of America | Pre-grant |
| US8732808B2 | Cited by | United States of America | Applicant |
| US9185142B2 | Cited by | United States of America | Applicant |
| US11816323B2 | Cited by | United States of America | Applicant |
| US7693132B1 | Cited by | United States of America | Applicant |
| US12063221B2 | Cited by | United States of America | Applicant |
| US2006077959A1 | Cited by | United States of America | Pre-grant |
| US2006072729A1 | Cited by | United States of America | Pre-grant |
| US2009172658A1 | Cited by | United States of America | Pre-grant |
| US11831462B2 | Cited by | United States of America | Applicant |
| CN110113662A | Cited by | China | Search report |
| US7764784B2 | Cited by | United States of America | Search report |
| US11916870B2 | Cited by | United States of America | Applicant |
| US10715557B2 | Cited by | United States of America | Applicant |
| US9232461B2 | Cited by | United States of America | Applicant |
| US12127095B2 | Cited by | United States of America | Applicant |
| US7848229B2 | Cited by | United States of America | Search report |
| US7363381B2 | Cited by | United States of America | Applicant |
| US11962672B2 | Cited by | United States of America | Applicant |
| US12063220B2 | Cited by | United States of America | Applicant |
| US11815969B2 | Cited by | United States of America | Applicant |
| US9900769B2 | Cited by | United States of America | Applicant |
| US10264130B2 | Cited by | United States of America | Search report |
| US8948190B2 | Cited by | United States of America | Applicant |
| US10251055B2 | Cited by | United States of America | Applicant |
| US2009168789A1 | Cited by | United States of America | Pre-grant |
| US7453827B2 | Cited by | United States of America | Applicant |
| US11943301B2 | Cited by | United States of America | Applicant |
| US2009172796A1 | Cited by | United States of America | Pre-grant |
| WO2006114391A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2013332526A1 | Cited by | United States of America | Pre-grant |
| US12184443B2 | Cited by | United States of America | Applicant |
| US11354385B2 | Cited by | United States of America | Search report |
| US2006050866A1 | Cited by | United States of America | Pre-grant |
| US12513110B2 | Cited by | United States of America | Applicant |
37 members in 1 office; this record represents the family
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 96153201 | United States of America | A | |
| 54301 | United States of America | A |
Members37
| Document | Office | Kind | |
|---|---|---|---|
| US2003058805A1 | United States of America | A1 | |
| US2003058806A1 | United States of America | A1 | |
| US2003058844A1 | United States of America | A1 | |
| US2003058858A1 | United States of America | A1 | |
| US2003059001A1 | United States of America | A1 | |
| US2003059002A1 | United States of America | A1 | |
| US2003059003A1 | United States of America | A1 | |
| US2003059005A1 | United States of America | A1 | |
| US2003059009A1 | United States of America | A1 | |
| US2003059014A1 | United States of America | A1 | |
| US2003059020A1 | United States of America | A1 | |
| US2003059021A1 | United States of America | A1 | |
| US2003059022A1 | United States of America | A1 | |
| US2003059024A1 | United States of America | A1 | |
| US2003059025A1 | United States of America | A1 | |
| US2003059033A1 | United States of America | A1 | |
| US2003059035A1 | United States of America | A1 | |
| US2003059038A1 | United States of America | A1 | |
| US2003059039A1 | United States of America | A1 | |
| US2003061622A1 | United States of America | A1 | |
| US2003137959A1 | United States of America | A1 | |
| US6671356B2 | United States of America | B2 | |
| US2004004942A1 | United States of America | A1 | |
| US2004015574A1 | United States of America | A1 | |
| US2004062264A1 | United States of America | A1 | |
| US2004068648A1 | United States of America | A1 | |
| US2004076157A1 | United States of America | A1 | |
| US2004114577A1 | United States of America | A1 | |
| US6912283B2 | United States of America | B2 | |
| US6970556B2 | United States of America | B2 | |
| US7054416B2 | United States of America | B2 | |
| US7054423B2 | United States of America | B2 | |
| US7088685B2 | United States of America | B2 | |
| US7177403B2 | United States of America | B2 | |
| US7177412B2 | United States of America | B2 | |
| US7304985B2 | United States of America | B2 | |
| US7336668B2 | United States of America | B2 |
27 transactions on the USPTO file
Abandoned after 2 non-final rejections.
- Non-final rejections
- 2
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Mail Express Abandonment (During Examination)AbandonedMABN3 | MABN3 | |
| Express Abandonment (during Examination)AbandonedABN3 | ABN3 | |
| Letter of Express Abandonment FiledAbandonedEABN | EABN | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| IFW Scan & PACR Auto Security Review | – | |
| Initial Exam Team nnIEXX | IEXX |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationEXPRESSLY ABANDONED -- DURING EXAMINATIONSTCB | STCB | |
| AssignmentAS | AS |
Numbers
- Application
- 14773302
Titles
- English
- Multi-media communication management system with dynamic bypass routing of real time streaming media
Classification
- CPC, 19
- H04N7/147
- H04M1/02
- H04M1/2473
- H04M1/2478
- H04M1/2535
- H04M3/567
- H04W24/00
- H04W48/16
- H04W88/02
- H04L65/4038
- H04M7/0057
- H04M7/0096
- H04Q3/00
- H04Q2213/1322
- H04Q2213/13389
- H04W76/10
- H04M1/72409
- H04L51/56
- H04L51/00
- IPC, 6
- H04L12 18
- H04L12 56
- H04L12 58
- H04L29 06
- H04M3 56
- H04N7 14