The present invention relates generally to peer-to-peer communication between electronic devices. More particularly, the present invention relates to the transfer of address information between peer devices in order to quickly and easily establish communication arrangements such as voice over IP (VoIP) communication.
VoIP technology enables the establishing of voice calls where the data is sent over the Internet or other IP networks. Session initiation protocol (SIP) is currently the most important standard for VoIP and is supported in many mobile telephones. In mobile telephones supporting wireless local area network (WLAN) and SIP/VoIP capabilities, VoIP offers an inexpensive alternative to global system for mobile communications (GSM)/cellular calls. Currently, in order to be able to establish a VoIP call, both ends of the call need to be under WLAN coverage, to be permanently connected to a WLAN access point (AP) and to be subscribed to the same (or compatible) VoIP or SIP provider. Furthermore, it has traditionally been very difficult to roam from a GSM call to a less expensive VoIP call, even if WLAN is available at both ends of the call. In addition, having permanent connectivity to WLAN (and the sending of periodic messages in order to be capable of receiving calls through network address translators (NAT)/firewalls (FWs) generates a very high level of power consumption in the device.
One system that has attempted to address the above issues involves the unlicensed mobile alliance (UMA), which specifies a system for GSM-WLAN roaming. However, this system requires a subscription to a service to take advantage of this feature. Additionally, when using WLAN in this system, the telephone call is not necessarily less expensive than when VoIP is used, and it is definitely not free of charge. Still further, UMA is complex in nature and needs to be provided by operators.
In peer-to-peer (P2P) communication networks, a centralized SIP proxy and register is used to locate communication end points and maintain sessions between the end points. In Internet P2P communication networks, the locating of addresses (e.g., IP addresses) of the other users and their terminals is a significant issue that must be addressed. Traditional approaches to addressing this issue involve using such centralized SIP registers at which each of the terminals registers their address at the time of “logging on.” At the same time, the users also obtain the latest registered addresses of their contacts. This information can also be obtained at the time of actual communication initiation.
In some versions, the centralized system described is maintained only for registration purposes in order to enable the end points to query location information (e.g., IP addresses, etc.) of desired members of the network. This results in client-server communication between the SIP communication client, which can be part of a personal computer, mobile telephone, or a variety of other devices, and the centralized SIP register, each time a call has to be made solely for the purpose of obtaining this location information.
Because of this process as described above, devices must rely upon SIP service providers for call setup. This process also leads to the reliance of the whole communication system on the availability of the SIP register at any point whenever communication needs arise. Furthermore, in this arrangement, individual clients also need to have some type of agreement, such as a free or paid subscription, with a service provider in order to take advantage of the system. Lastly, this arrangement somewhat limits the range of other peers that the subscribers of one provider can communicate with, as the identity of the peer must necessarily be available in the same provider's register or in the register of a partner service provider.
The present invention provides for various systems for establishing P2P communication, such as VoIP and video calls, between devices without the use of SIP servers/providers using available “parallel” mechanisms such as electronic mail or SMS messages to transmit the required IP addresses. Various embodiments of the present invention involve a system where a communication client can interact with each other using simple mail transfer protocol (SMTP) protocol to directly send lists of IP addresses/port candidates to its peers. As of a result of this capability, a communication network of the present invention is based strictly on peer-to-peer communication, with no centralized server, except for existing SMTP email servers, or nodes involved. The SMTP servers involved are not specific to this network, but instead comprise general email servers already existing on the Internet. With this system, the reliance of the communication network on the SIP service providers is removed.
With these embodiments of the present invention, peer-to-peer network clients do not have to rely on centralized registers for finding peers. As a result, performance is significantly improved. In addition, because there is no subscription service required (except for the existing email subscriptions that clients may have for regular email usage) and no service provider, the present invention does not require any mechanism that could be used to track, control, and/or charge the users of such network. Additionally, the present invention allows for devices to “hole-punch” through NATs/FWs, regardless of which side each device is on, because both devices are able to obtain each others' IP address before starting the desired session.
The present invention also includes a software component running in mobile devices that supports both GSM (voice and short messaging service (SMS)) and WLAN/VoIP. The software enables automatic roaming whenever there is free network connectivity available, for example WLAN or flat fee 3G data connectivity, to roam from a cellular call to a VoIP call. According to various embodiments of the invention, devices do not need to be subscribed to any SIP or VoIP provider. Various embodiments can also be used with non-GSM cellular systems as well.
With the ability to roam between GSM and WLAN, the present invention enables the providing of inexpensive or even free calls when the devices at issue possess acceptable WLAN coverage. This arrangement also results in improved power consumption compared to other systems that enable WLAN and VoIP services. Such a system is also secure due to the SMS-based authentication, and there is no dependency required on SIP servers or providers. Similarly, with certain embodiments of the present invention, there is no need for the IP addresses of other users, as a person's telephone number is sufficient to establish and maintain a connection. Furthermore, devices operating in accordance with various embodiments of the present invention do not require “always on” IP connectivity, while at the same time, the improved integration of GSM and VoIP aids in the deployment of VoIP technology. Different embodiments of the present invention can also aid in preventing unwanted incoming traffic of various forms, and available NAT traversal techniques can be implemented on top of the present invention.
These and other advantages and features of the invention, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings, wherein like elements have like numerals throughout the several drawings described below.
The electronic device 12 of
Various embodiments of the present invention involve a system where a communication client can interact using SMTP protocol to directly send lists of IP addresses/port candidates to its peers. As of a result of this capability, a communication network of the present invention is based strictly on peer-to-peer communication, with no centralized server, except for existing SMTP email servers, or nodes involved. The SMTP servers involved are not specific to this network, but instead comprise general email servers already existing on the Internet. With this system, the reliance of the communication network on the SIP service providers is removed.
Various embodiments of the present invention involve incorporating a SMTP client into a P2P communication client. Each P2P communication client is capable of direct communication sessions with another party once it knows the address of the other party. The SMTP client is used by each P2P client to transmit its list of IP addresses/port candidates to any desired devices (i.e., all of its ‘buddies’) at the time of login. The SMTP client is configured to use any generic SMTP server in the Internet domain with which the user of the client has access (i.e., any SMTP server with which the SMTP has an email account). For example, a client device can be configured to use email provider's server for the user at the user's email address. In different embodiments of the present invention, any other email servers in the public domain may be used.
In another embodiment, a client can possess back-up SMTP connection settings, in which case it can use multiple or best-possible SMTP connections for transmitting the list of IP addresses/port candidates. In still another embodiment of the present invention, instead of using SMTP clients integrated with P2P clients, an SMTP server can be implemented in the SIP client implementation. This serves to remove the reliance of the system on the performance and reliability of the configured public or private SMTP servers.
The present invention also includes a software component running in mobile devices that supports both GSM (voice and SMS) and WLAN/VoIP. The software enables automatic roaming from a GSM call to a VoIP call when both devices are in WLAN coverage. According to various embodiments of the invention, devices do not need to be subscribed to any SIP or VoIP provider. Instead, SMS messages are automatically transmitted and processed in the background of the client devices at issue in order to inform the devices about WLAN availability and the devices' respective IP addresses. It should be noted that, although embodiments herein are described in terms of WLAN network coverage, the present invention could also be implemented in other networks as well.
If the receiving device is also under WLAN coverage, then it automatically activates its WLAN interface and replies with its own SIP URI/IP address at 620. This reply is also in the form of an SMS message. If the calling device receives the receiving device's SMS reply, then the calling device knows that both devices are in WLAN coverage. Therefore, the calling device proceeds to transmit a SIP INVITE message directly to the other device's IP address, with no SIP Proxy used, in order to initiate a VoIP call at 630. The VoIP call is fully established at 640. Once the VoIP call (or other media call over IP) is established, the GSM call is cancelled at 650, with the users not noticing a substantial interruption, as the SMS exchange and VoIP call setup occurs in the background of the devices. In fact, it is possible that the conversion to a VoIP call occurs even before the recipient of the original GSM call has answered the call.
The following are a number of potential variations for the implementation of the present invention. In one embodiment, roaming is not triggered automatically. Instead, the “roaming” option is exhibited to a user through a device's user interface when in WLAN coverage, providing the user with the opportunity to request VoIP functionality if so desired. The providing of this option and its selection is depicted at 700 in
Another embodiment involves eliminating the reply message transmitted by the receiving device. In this embodiment and as depicted in
In yet another embodiment, in addition to the IP/SIP URI, the initial SMS can contain a text message such as: “XXX is trying to establish a VoIP call with you,” with an instruction or request for the receiving device to obtain the appropriate software at a certain location. In this embodiment, if the receiving device exhibits this message, then the user knows that the receiving device does not have the appropriate software. If the receiving device has the correct software, this message can be processed and deleted in the background so that the user does not see it.
In still another embodiment of the invention, the calling device can also possess a certain degree of intelligence in order to make a decision as to whether a SMS should be sent. This decision can be based upon information available to the device. For example, the calling device's phonebook could store information as to whether the receiving device is WLAN-capable. The decision can also be based upon whether there have been WLAN connections to the receiving party in prior calls. Alternatively, presence information can be used to notify another device that the device at issue is in WLAN coverage. With each of these mechanisms, the likelihood of transmitting unnecessary SMS messages can be reduced.
In yet another embodiment, the present invention can be implemented such that the SMS signalling is used only to add a SIP video session, with the voice session remaining on the cellular call. In this particular embodiment, SMS messages are used to exchange IP address information as discussed above. However, this IP address information is only used to transfer video data, e.g., over a 3G system such as in standard videosharing or WLAN if available. In this embodiment, the cellular call continues in its original state without roaming.
In addition to the above, it should also be noted that the present invention is not limited to SIP, but instead can be used in conjunction with other IP-based protocols. In addition, the present invention is not strictly limited to voice calls, as the invention can also be used with video calls for example. A wide variety of cellular technologies, including GSM, CDMA, WCDMA, and other technologies can also be used in conjunction with the present invention.
In addition to the above, the devices involved in a GSM call can use mechanisms other than SMS messages to exchange information for a VoIP call. For example, the initiation messages can be transmitted over the GSM voice connection, being coded in a manner similar to that used in conventional modems. Another option involves using network signalling (ringing) to initiate the VoIP call. This can be used for nodes which know each other beforehand and can locate the other user using DNS or SIP servers. In this situation, the software implementing the present invention recognizes that the incoming call belongs to a “VoIP partner,” and thereafter attempts to establish a VoIP call with the other party. Pre-stored information regarding the calling party such as the SIP address, DNS name or permanent IP address is utilized to establish the call. The receiving and calling parties may obtain notification that it is possible to establish a VoIP (or video over IP) call as well, along with an inquiry as to whether the party would like to establish such as call.
The software used in conjunction with various embodiments of the present invention can be configured to attempt roaming from WLAN to VoIP with only certain telephone numbers, for example only designated numbers stored in a device's phonebook, which are likely to have the required software for successful implementation.
The present invention is described in the general context of method steps, which may be implemented in one embodiment by a program product including computer-executable instructions, such as program code, executed by computers in networked environments. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
Software and web implementations of the present invention could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various database searching steps, correlation steps, comparison steps and decision steps. It should also be noted that the words “component” and “module,” as used herein and in the claims, is intended to encompass implementations using one or more lines of software code, and/or hardware implementations, and/or equipment for receiving manual inputs.
The foregoing description of embodiments of the present invention have been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the present invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the present invention. The embodiments were chosen and described in order to explain the principles of the present invention and its practical application to enable one skilled in the art to utilize the present invention in various embodiments and with various modifications as are suited to the particular use contemplated.
Number | Name | Date | Kind |
---|---|---|---|
6108704 | Hutton et al. | Aug 2000 | A |
20020058504 | Stanforth | May 2002 | A1 |
20030026289 | Mukherjee et al. | Feb 2003 | A1 |
20040067761 | Pyhalammi et al. | Apr 2004 | A1 |
20040139230 | Kim | Jul 2004 | A1 |
20040157590 | Lazaridis et al. | Aug 2004 | A1 |
20040209614 | Bright et al. | Oct 2004 | A1 |
20050049001 | Lazaridis | Mar 2005 | A1 |
20050060411 | Coulombe et al. | Mar 2005 | A1 |
20050141694 | Wengrovitz | Jun 2005 | A1 |
20060126594 | Tu | Jun 2006 | A1 |
20060159079 | Sachs et al. | Jul 2006 | A1 |
20060165060 | Dua | Jul 2006 | A1 |
20060215684 | Capone | Sep 2006 | A1 |
20060215820 | Barclay et al. | Sep 2006 | A1 |
20070076729 | Takeda | Apr 2007 | A1 |
20070082671 | Feng et al. | Apr 2007 | A1 |
20070087748 | Du et al. | Apr 2007 | A1 |
20070115991 | Ramani et al. | May 2007 | A1 |
20070211702 | Doradla et al. | Sep 2007 | A1 |
20070223444 | Foo et al. | Sep 2007 | A1 |
20070253407 | Wang et al. | Nov 2007 | A1 |
20070270145 | Feng et al. | Nov 2007 | A1 |
20070274271 | Jones et al. | Nov 2007 | A1 |
20070276907 | Maes | Nov 2007 | A1 |
20080096565 | Jin et al. | Apr 2008 | A1 |
Number | Date | Country |
---|---|---|
1555786 | Jul 2005 | EP |
Entry |
---|
International Search Report for PCT Patent Application No. PCT/IB2007/052360. |
Office Action from U.S. Appl. No. 12/599,758, mailed Nov. 28, 2011. |
Number | Date | Country | |
---|---|---|---|
20080123685 A1 | May 2008 | US |