Video calls for external networks

A method for setting up a video communication session via an Internet Protocol (IP) network between a first correspondent and a second correspondent, the method having the steps of: the first correspondent placing a call through a public switched telephone network (PSTN) to the second correspondent to establish a PSTN communication session; the first correspondent sending a compatibility request via in-band signals to determine compatibility with the first correspondent for video communication; prompting the second correspondent to accept or decline an invitation for the video communication session; exchanging setup information via the PSTN for setting up the video communication session when the second correspondent accepts the invitation, the setup information comprising attributes of each of the correspondents; and setting up the video communication session via the IP network and terminating the PSTN communication session.

FIELD OF THE INVENTION

The present invention relates to video-based communication systems.

DESCRIPTION OF THE RELATED ART

Video is becoming increasingly important to unified communications, and is especially gaining in popularity as a means for real-time communications. Exemplary solutions for video communication include Skype from Skype Inc., Luxembourg, Facetime™ from Apple Inc., Cupertino, Calif., U.S.A., Movi™ from Cisco Systems Inc., San Jose, Calif., U.S.A. and Microsoft Office Communications Server™ (OCS) from Microsoft, Redmond, Wash., U.S.A. However, these various consumer and enterprise video-based communication systems are generally suitable for participants subscribing to a common video based communication system, and having the same call control protocol. For the consumer market, this is not as much an issue as the system is one large network and all participants are registered with the same call control protocol, e.g. Skype. However, enterprise communication typically involves private networks focused on internal staff communications within one company, and therefore communication between two different companies requires additional resources, and may be limited. For example, even if two companies both use the same communication system, e.g. Microsoft OCS, then individuals at the two companies can only communicate with each other via video only if a communication bridge has been set up at both company sites.

Another challenge in setting up a video communication session between two parties is determining whether there is compatibility between the endpoints and determining the video capabilities of the endpoints. Also, despite the parties having compatible endpoints with the desired video capabilities and specifications, it is often difficult for the endpoints to discover each other on the network and set up a video call through their respective firewalls at either site. The set-up process is further complicated by time-consuming firewall/NAT traversal configurations, which often leads to unsuccessful connections.

It is an object of the present invention to mitigate or obviate at least one of the above-mentioned disadvantages.

SUMMARY OF THE INVENTION

In one of its aspects, there is provided a method for setting up a video communication session via an Internet Protocol (IP) network between a first correspondent and a second correspondent, the method having the steps of:

said first correspondent placing a call through a public switched telephone network (PSTN) to said second correspondent to establish a PSTN communication session;

said first correspondent sending a compatibility request via in-band signals to determine compatibility with said first correspondent for video communication;

prompting said second correspondent to accept or decline an invitation for said video communication session;

exchanging setup information via said PSTN for setting up the video communication session when said second correspondent accepts said invitation, said setup information comprising attributes of each of said correspondents; and

setting up said video communication session via said IP network and terminating said PSTN communication session.

In another of its aspects, there is provided a method for setting up a video communication session via an Internet Protocol (IP) network between a first correspondent and a second correspondent, the method having the steps of:

providing a call server on an IP network, said call server configured to facilitate said video communication session between said correspondents;

assigning a unique identifier to each of said correspondents;

registering said unique identifier and at least one attribute associated with each of said correspondents with said call server;

said first correspondent placing a call through a public switched telephone network (PSTN) to said second correspondent to establish a PSTN communication session, and said first correspondent simultaneously initiating a set-up procedure for a video communication session by sending a request to said call server to determine whether said second correspondent is registered with said call server; and

when said second correspondent is registered with said call server determining whether said second correspondent is compatible with said first correspondent based on at least one attribute;

when said second correspondent is compatible with said first correspondent, said call server sending a video communication session invitation to said second correspondent via said IP network; and

when said second correspondent accepts said invitation, establishing said video communication session via said IP network between said first correspondent and said second correspondent.

In another of its aspects, there is provided a method for setting up a video communication session via an Internet Protocol (IP) network between a first correspondent and a second correspondent, the method having the steps of:

providing a call server on an IP network, said call server configured to facilitate said video communication session between said correspondents;

assigning a unique identifier to each of said correspondents;

registering said unique identifier and at least one attribute associated with each of said correspondents with a directory on said IP network;

said first correspondent placing a call through a public switched telephone network (PSTN) to said second correspondent to establish a PSTN communication session, and said first correspondent simultaneously initiating a query to said directory to determine said at least one attribute of said second correspondent, and to determine whether said second correspondent is compatible with said first correspondent based on at least one attribute;

when said second correspondent is compatible with said first correspondent, one of said correspondents initiating a video communication session via said call server; and

said call server assigning a unique video communication session identifier and establishing said video communication session via said IP network between said correspondents.

In another of its aspects, there is provided an apparatus in a first communication network, said apparatus adapted for a first type of communication via at least one call control protocol in said first communication network, said apparatus comprising:

a unique identifier associated with characteristics of said apparatus;

a processing structure; and a memory including computer program code, wherein said memory and said computer program code are configured, with said processing structure, to cause said apparatus to at least:initiate a communication session with another apparatus by transmitting a compatibility request to determine whether said other apparatus is compatible to carry out said first type of communication based on characteristics of said other apparatus; andwhen said other apparatus is compatible, then establish said first type communication between said apparatuses.

Advantageously, compatibility issues are easily resolved as the endpoints exchange their initial credentials via in-band signalling such as DTMF or FSK, thus obviating the need for specialized and time-consuming firewall/NAT traversal techniques. Therefore, the video calls are set up with both endpoints calling out to the public IP network, and since the call is initiated via the PSTN, then the existing E.164 telephone directory can be used.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The detailed description of exemplary embodiments of the invention herein makes reference to the accompanying block diagrams and schematic diagrams, which show the exemplary embodiment by way of illustration and its best mode. While these exemplary embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, it should be understood that other embodiments may be realized and that logical and mechanical changes may be made without departing from the spirit and scope of the invention. Thus, the detailed description herein is presented for purposes of illustration only and not of limitation. For example, the steps recited in any of the method or process descriptions may be executed in any order and are not limited to the order presented.

Many of the methods of the invention may be performed with a digital processing system, such as a conventional, general purpose computer system. Special purpose computers which are designed or programmed to perform only one function may also be used.FIG. 1shows an exemplary video communication system, generally identified by reference numeral10, comprising a plurality of participant computing devices or endpoint terminals12and13in communication with each other by either wired or wireless connection via a network14, including a video communication server (VCS)15which and is responsible for conference and session management, routing and interworking to facilitate video communication between the devices12and13. In this exemplary embodiment, the network14is the Internet, however, the network14may alternatively be another network, such as for example, a cellular network, or a mixture of different networks. Device12is coupled to a local area network16, while device13is coupled to a local area network18. Both local area networks16and18are coupled to the network14and a Public Switched Telephone Network (PSTN)19.

FIG. 2shows one example of a typical computer system of a device12or13. Note that whileFIG. 2illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components as such details are not germane to the present invention. It will also be appreciated that network computers and other data processing systems which have fewer components or perhaps more components may also be used with the present invention. As shown inFIG. 2, the computer system, which is a form of a data processing system, includes a bus20which is coupled to a microprocessor21and machine readable media, ROM22, volatile RAM23and a non-volatile memory24. The microprocessor21is coupled to cache memory25. The bus20interconnects these various components together and also interconnects these components21,22,23, and24to a display controller34and display device26and to peripheral devices such as input/output (I/O) devices28which may be mice, keyboards, modems, network interfaces, printers, scanners, video cameras and other devices which are well known in the art. Typically, the input/output devices are coupled to the system through input/output controllers30. The bus20may include one or more buses connected to each other through various bridges, controllers and/or adapters as is well known in the art.

It will be apparent from this description that aspects of the present invention may be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as a machine readable medium, or ROM22, volatile RAM23, non-volatile memory24, cache25or a remote storage device. In various embodiments, hardwired circuitry may be used in combination with software instructions to implement the present invention. Thus, the techniques are not limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the data processing system. In addition, throughout this description, various functions and operations are described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize what is meant by such expressions is that the functions result from execution of the code by a processor, such as the microprocessor21. The machine readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, any device with a set of one or more processors, etc.). For example, machine readable media includes recordable/non-recordable media (e.g., read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; etc.), as well as electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.).

The computing system may be in the form of any kind of general processing structure, and may for example include any device12, such as, personal computers, laptops, tablets, computer servers, computerized kiosks, personal digital assistants (PDAs), cellular phones, smartphones, videophones, Session Initiation Protocol (SIP)—and H.323-compliant endpoints. The VCS15comprises a similar computing system, however, it may further comprise data structures, such as, databases40.

Looking atFIG. 3, there is shown a flow diagram outlining the exemplary steps for setting up a video communication session between two correspondents, such as SIP-compliant endpoints12,13, corresponding to calling party (A) and called party (B), respectively. The process starts with the calling party A at terminal12placing a traditional audio or voice call through the PSTN19(step100) to a terminal13of the called party B. However, calling party (A) has no knowledge of whether terminal13associated with called party (B) is capable of video-based communication, or the device characteristics or specifications of terminal13, such as those related to elements described inFIG. 2, or the call control protocol associated with terminal13. In fact, terminal13may be registered to a different call control protocol to that of terminal12. Once a voice call is set up via the PSTN19, and if both parties A and B desire to switch to a video communication session, then one of the parties, such as calling party A, selects this option using a video request button or a voice command via the user interface of terminal12, to initiate the video communication session (step102). Accordingly, terminal12sends a compatibility request via in-band signals (step104) to determine whether terminal13is compatible, with respect to video handling capabilities, based on the device type, characteristics or specifications of terminal13related toFIG. 2(step106). When it is determined that terminal13is compatible with terminal12, then called party B is prompted to accept or decline the invitation for a video call (step108). When called party B accepts the video call invitation, the two terminals12,13exchange information which can be used for setting up the video call (step110), otherwise the calling party A and party B continue with the voice call, or the call set-up is terminated (step112). The set-up information includes, but is not limited to, MAC addresses, SIP addresses, telephone numbers, email addresses, and unique identifiers. In this embodiment, the compatibility request and the exchanged information is sent via dual-tone multi-frequency (DTMF) signals or other in-band signals such as frequency-shift keying (FSK). The audio path to the speakers associated with terminal12or13may be muted for better user experience while these in-band signals are being transmitted. The unique identifiers correspond to each of terminals12and13, and are transmitted to the VCS15for registration therewith, and are stored in a computer readable medium or database associated with the VCS15. The VCS15associates the unique identifiers corresponding to each of terminals12and13with a unique communication session identifier pertaining to the prospective video call. The VCS15then couples the two parties A, B via the IP network14, allowing for a further and more detailed exchange of information, leading to the set-up of an IP video call and the termination of the PSTN connection. The VCS15also performs call control protocol translation should the terminals12,13be associated with disparate call control protocols. Accordingly, compatibility issues are resolved as the terminals12,13exchange their initial credentials via in-band signalling such as DTMF or FSK, thus obviating the need for specialized and time-consuming firewall/NAT traversal techniques. Therefore, the video call is set up with both terminals12,13calling out to the public IP network14, and since the call is initiated via the PSTN19, then the existing E.164 telephone directory can be used.

In another exemplary embodiment, the two terminals12and13are registered with a VCS15located on the public Internet14, as described above. In addition, the characteristics of terminals12and13are stored and stored in a computer readable medium or database associated with the VCS15. This registration may be permanent, or temporary, and may be maintained on the VCS15for any specific time period, such as the time frame in which either party A or B desires to receive an invitation to participate in a video communication session. In this embodiment, as shown in a flow diagram ofFIG. 4, when the calling party A, initiates a voice call via the PSTN19(step200), the terminal12of calling party A also initiates a set-up procedure for a video communication session by sending a compatibility request directly to the VCS15(step202) via the IP network14. The compatibility request from calling party A is a query to the VCS15regarding the registration status of called party B, or the capabilities of terminal13associated therewith. The VCS15then queries its registration database40(step204), and if the VCS15receives confirmation that terminal13is registered, and has a unique identifier, and is compatible with terminal12, then the VCS15assigns a unique video communication session identifier associated with unique identifiers of each terminal12and13, and sends a video communication session invitation to terminal13, via the IP network (step206). Subsequently, if called party B accepts the invitation, a video communication session with calling party A is established directly or indirectly, through the VCS15(step208). Upon successful setup of the IP video connection, the PSTN connection attempt is aborted (if not yet connected) or terminated (if already connected). At step204, if terminal13is not registered on the VCS15, or is not a compatible with terminal12, or does not have a unique identifier for the VCS15, or called party B does not accept the invitation to connect to a video communication session, then calling party A will continue with the PSTN call (step210).

In yet another embodiment, each of the terminals12and13is associated with one or more identifying network addresses, such as an E.164 address as defined in the International Telecommunication Union's international public telecommunication numbering plan, available at http://www.itu.int/ITU-T/publications/index.html and hereby incorporated herein by reference in its entirety. Alternatively, in other embodiments, the terminals12and13are associated with IP addresses, H.323 IDs, SIP URLs, Media Gateway Control Protocol (MGCP) endpoint names, and other network address identifiers known in the art. Accordingly, the terminals12and13are registered with a directory, such as an E. 164 directory, comprising a unique identifier, a telephone number, and device characteristics or capabilities of each terminal12or13. In this embodiment, when the calling party A initiates a voice call via the PSTN19using terminal12, a query is concurrently sent by the terminal12to the E.164 directory, via the IP network, pertaining to the capabilities of terminal13. If the E.164 directory indicates that terminal13is a compatible terminal with a unique identifier, then either party A or B can request a video communication session. If both parties A, B accept, each party A or B then initiates a video communication session with the VCS15. Next, the VCS15assigns a unique video communication session identifier associated with unique identifiers of each terminal12and13, and the video communication session is subsequently established between the two parties A, B, while the PSTN connection is terminated. Advantageously, the requirement for the initial in-band signalling that would be required to exchange the necessary information to set up a video call between both parties A, B is eliminated, and the requirement to mute in-band signals to prevent them from being heard by parties A, B is also obviated.

The preceding detailed description of exemplary embodiments of the invention makes reference to the accompanying drawings, which show the exemplary embodiment by way of illustration. While these exemplary embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, it should be understood that other embodiments may be realized and that logical and mechanical changes may be made without departing from the spirit and scope of the invention. For example, the steps recited in any of the method or process claims may be executed in any order and are not limited to the order presented. Further, the present invention may be practiced using one or more servers, as necessary. Thus, the preceding detailed description is presented for purposes of illustration only and not of limitation, and the scope of the invention is defined by the preceding description, and with respect to the attached claims.