Abstract:
A system and method is described here for discovering capabilities of nearby telephones using a secondary communication channel. The secondary communication channel can use various media that can include infrared, Bluetooth, Wi-Fi 802.11 a/b/g, or any other medium that is not used for the purpose of primary telephone communication. Usage of the secondary channel isolates this feature from the state of the art system and at the same time provides for a common method of interoperability for various telephones. Infrared communication for the secondary channel is preferred, due to its cost, and easy of usage.

Description:
[0001]     This application claims priority under 35 U.S.C. § 119 to U.S. Provisional Application Ser. No. 60/489,963 filed on Jul. 25, 2003, the entire content of which is hereby incorporated herein by reference. 
     
    
     CROSS-REFERENCE TO ATTACHED APPENDIX  
       [0002]     Appendix A, containing a listing of computer software code (computer program listing appendix), is a part of the present disclosure and is incorporated by reference herein in its entirety. The compact disc contains the following files created on Jul. 26, 2004:  
                                                   Size (Bytes)   Name                           3,124   ChildView.cpp           7,320   IrServer.cpp           1,834   IrServer.h                      
 
       BACKGROUND  
       [0003]     1. Field of the Invention  
         [0004]     This invention defines a system and method for discovering nearby telephones and their corresponding identities and capabilities using a special broadcast and response from such devices using a secondary channel for such communication.  
         [0005]     2. Background Information  
         [0006]     A Service Provider is defined in this document as the entity that provides call routing and distribution. It can include a company PBX, or VoIP PBX (IP-PBX), it can be a Centrex system, or it can be a traditional telephone service provider (e.g., PacBell).  
         [0007]     An Endpoint (EP) will be defined here as a device that provides capabilities for generating and/or terminating plurality of information streams.  
         [0008]     In this document, the word “telephone” or “phone” will be used in its most general sense and will encompass a home telephone, office telephone, conference phone, cell phone, PDA, videophone, etc. Endpoint can be used interchangeably with Phone.  
         [0009]     An Originating Device (OD) is a device that originally owns a telephone call, and wants to interact with a different Endpoint. For the purpose of this document, an Originating Device will be considered to be a Mobile Phone.  
         [0010]     An Endpoint ID (EP-ID) is the identity of the Telephone. For example, it could be a normal telephone number (555-123-4567), it also could be an IP address of IP phone, or fully qualified VoIP (SIP, MGCP, H.323, etc.) address.  
         [0011]     Endpoint Capabilities (EP-CAP) consist of features that EP supports, e.g., telephone&#39;s name (e.g., John&#39;s Phone), protocol used (POTS, SIP, H.323, ISDN), media streams supported (e.g., audio only, POTS channel, video and audio), audio compressions, etc. It also includes Endpoint ID (EP-ID). Therefore, for the purpose of this document, whenever Endpoint ID is used, it can be always substituted with Endpoint Capabilities. Information included in the Endpoint Capabilities could be used to transfer a pending call to the other telephone (either IP based, or just a different hand-set). It could also be used to invite another telephone to a conference call. Such a situation can occur when an End User moves from one room to another room while holding a telephone conversation. The other room might have a telephone that is not marked (e.g., conference room phone that does not have a label on it).  
         [0012]     In the present state of the art, if an End User wishes to determine the location of various telephones in a vicinity and the various telephone Endpoint Capabilities, End User has to inquire, about them individually, which is awkward, time consuming, and may not even be possible at the time. In essence, there is no automated way in the present state of the art for an End User to query and determine these telephone locations and properties.  
       SUMMARY OF THE INVENTION  
       [0013]     In accordance with exemplary embodiments, this device and method defines a means of communication and a process and method for discovering nearby telephones and their identifying information using a special broadcast and collecting response from such devices, using a secondary channel for such communication that lies outside of all the commercially available primary channels. It also specifies a method for formatting information being exchanged using the XML (Extensible Markup Language) for ease of collection and parsing of supplied data. Finally, it specifies a method for formatting Endpoint Capabilities using Session Description Protocol (SDP). 
     
    
     DESCRIPTION OF DRAWINGS  
       [0014]      FIG. 1 . Telephone discovery system and device using the secondary communication channel  
         [0015]      FIG. 2 . Telephone discovery and direct call transfer with call control kept on the originating device  
         [0016]      FIG. 3 . Telephone discovery and a call transfer with a complete call handoff  
         [0017]      FIG. 4 . XML and SDP formatted request for other Endpoints capabilities  
         [0018]      FIG. 5 . XML and SDP formatted answer specifying Endpoint SIP address and telephones capabilities  
         [0019]      FIG. 6 . Alternate response providing direct IP address of a VoIP phone, and its capabilities.  
         [0020]      FIG. 7 . XML only formatted response providing telephone number of the Endpoint 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0021]     In order to discover nearby telephones and their identifying information, it is necessary to introduce a querying system, to operate it on a secondary channel which resides outside of all the commercially available primary channels, and to format information being exchanged using the XML (Extensible Markup Language) for ease of collection and parsing of supplied data, and to format Endpoint Capabilities using Session Description Protocol (SDP).  
         [0022]     Wireless communications in a querying system comprises of several modules both on querying and on target telephones, as shown in  FIG. 1 . A Mobile Phone  101  represents a querying entity. Mobile Phone  101  is equipped with a wireless Transmitting Device  103  that broadcast query signals. Endpoint A  201  has affixed a wireless Receiving Device  204  that detects presence of broadcasted query signals. In the event when Endpoint A  201 , using its wireless Receiving Device  204 , discovers such signal, a Signal Processing Device  205  detects and format its Endpoint Identity and Capability. Next, Signal Processing Device  205  passes the processed Endpoint Identity and Capability to the wireless Transmitting Device  203  that resides on Endpoint A for outgoing transmission. Wireless Transmitting Device  203  sends a reply to the broadcasted query. Wireless Receiving Device  104  that resides on the Mobile Phone  101  detects sent Endpoint Identity and Capability. A Display Conversion  105  software module decodes the received reply, and formats it in a way that is suitable for a Display Device  106 , to be presented to the End User. This concludes a simple discovery process.  
         [0023]     Mobile Phone  101  might receive several replies to its broadcasted query, provided that multiple Endpoints are within the reach of its wireless transmission. While sending their information using Wireless Transmitter ( 203 ), Endpoints should also listen on Wireless Receiver  204 , to check if there is any collision. If more than one Endpoint is trying to transfer Endpoint Capabilities, a collision can happen. This collision can be resolved by using similar methods used in Ethernet transmission.  
         [0024]     In  FIG. 1 , solid lines are used to represent connections to the Service Provider  110 , dashed lines are used to show broadcasting of querying information, and dotted lines are used to show targets sending Endpoint Identification and Capabilities.  
         [0025]     A telephone sends and receives its call control messages and media streams within a primary communication channel and each telephone technology supports a different primary communication channel. Therefore, in order to automatically query nearby Endpoint Capabilities, a means of communication between various telephones using a separate secondary communication channel that lies outside of all the commercially available primary communication channels is given in accordance with one of the preferred embodiments. Examples of such a separate secondary communication channel include infrared, Bluetooth, Wi-Fi 802.11a/b/g, and the like.  
         [0026]     Information received from target devices helps to decide if any Endpoint is suitable for further action as is the case for call transfer (e.g., if both devices support audio).  
         [0027]     All messages between Endpoints are formatted using XML, which provides a simplified means of collecting and parsing of exchanged data. XML formatting also enables various manufacturers to easily extend Endpoint Capabilities.  
         [0028]     If the advanced capabilities (e.g., media streams supported, media encoding/decoding techniques, etc.) of the telephone are sent to the querying telephone, a Session Description Protocol (SDP), that is described in IETF RFC 2327, is used.  
         [0029]     A process step diagram showing a simple call transfer from a Mobile Phone  101  to an Endpoint  201  is shown in  FIG. 2 . Solid lines are used to indicate usage of the primary communication channel, and dashed and dotted lines are used to indicate usage of the secondary communication channel. Interaction  32  shows Mobile Phone  101  broadcasting a query to the Endpoint A  201 . Formatting of this message is shown in the  FIG. 4 . Interaction  33  shows Endpoint  201  responding to the request for information broadcasted by the Mobile Phone  101 . Endpoint  201  replies with its capabilities XML and SDP formatted according to  FIG. 5 . Interaction  34  shows Mobile Phone  101  requesting that the Service Provider  110  forward the ongoing call to Endpoint  201 . Interaction  35  shows that the ongoing call is handed off to Endpoint  201 . This concludes the description of how the secondary communication channel is used to modify call state in the primary communication channel.  
         [0030]     A process set diagram showing a more complex call transfer from a Mobile Phone  101  to an Endpoint  201  is shown in  FIG. 3 . Solid lines indicate the call control channel that utilizes the primary communication channel. Dotted lines indicate the plurality of media streams that utilize the primary communication channel. Dashed lines indicate the discovery of capabilities that utilize the secondary communication channel. Interaction  21  shows the establishment of the call that terminates in the Mobile Phone  101 . Interaction  22  shows the media channel added to the call to Mobile Phone  101 . Interaction  23  shows Mobile Phone  101  broadcasting a request for information using the secondary communication channel. Interaction  24  shows Endpoint  103  replying to the requester with its Endpoint Capabilities. Interaction  25  shows Mobile Phone  101  calling directly to Endpoint  201 , using capabilities of Endpoint  201  acquired during the telephone discovery phase ( 23 ,  24 ). Interaction  26  shows Mobile Phone  101  requesting Service Provider  110  to transfer media streams to the Endpoint  201 . Interaction  27  shows Service Provider  110  transferring media streams of the pending conversation to Endpoint  103 . This concludes call discover and call transfer. Endpoint  103  is the active telephone. However, Mobile Phone  101  still controls the status of the call.  
         [0031]     Formatting using XML and SDP standards is shown in  FIG. 4-7 .  FIG. 4  shows formatting of the request for information.  FIG. 5  shows formatting of the reply to the request for information.  FIG. 6  shows an alternative formatting to the formatting used in  FIG. 5 .  FIG. 7  shows formatting of a minimum response to the request for information, which provides the minimum requirements for the Signal Processing Device  205  shown on  FIGS. 1-3 . It is implied that any existing telephone can be easily retrofitted to provide such minimum functionality.  
         [0032]     In another exemplary embodiment, other actions, such as a conference call invitations and the like, can be performed similar to the call transfer shown  FIG. 2  and  FIG. 3 .  
         [0033]     The above described system and methods are implemented using a Microsoft PocketPC 2002 based Personal Digital Assistant (PDA) as the querying device. Wireless Transmitting Device  103  ( FIG. 1 ) is implemented as the infrared transmitter on the PDA. Wireless Receiving Device  104  ( FIG. 1 ) is implemented as the infrared sensor on the PDA. A software program written in C++ for PocketPC 2002 target parses information retrieved by wireless Receiving Device  104 , and places it in a format to be displayed on the Display Device  106 . A PDA screen is used for the Display Device  106 . A target telephone is implemented on a PDA. Wireless Receiving Device  204  and Transmitting Device  203  are implemented as an infrared sensor/transmitter on the PDA. Signal Processing Device  205  is implemented as a software program written in C++ for PocketPC 2002, which uses a standard infrared frequency as the secondary communication channel. For the primary communication channel, a combination of wireless 802.11b and wired 100TX Ethernet is used. With the standard infrared frequency allocation, secondary communication channel is well outside of the frequencies of the primary communication channel. The infrared connection used for the secondary communication channel is used for its simplicity to add and small cost. This program is included as a CD-ROM Appendix A. It is written in C++ and runs on Microsoft PocketPC 2002 devices (PDAs).  
         [0034]     It will be appreciated by those of ordinary skill in the art that the present invention can be embodied in various specific forms without departing from the spirit or essential characteristics thereof. The presently disclosed embodiments are considered in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the appended claims, rather than the foregoing description, and all changes that come within the meaning and range of equivalence thereof are intended to be embraced.  
         [0035]     All United States patents and applications, foreign patents, and publications discussed above are hereby incorporated herein by reference in their entireties.