Caller-callee association of a plurality of networked devices
Abstract
This record has no abstract on file.
Term
Term ended
Projected expiry passed 16 May 2026, 0.4 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
37 claims: 2 independent, 35 dependent
- 1Zastrzeżenia patentowe 1. Metoda nawiązywania połączenia pomiędzy pierwszym urządzeniem (D1) a drugim urządzeniem (D2), obejmująca:odebranie od pierwszego urządzenia (D1) żądania aktualizacji kontaktów wraz z informacją identyfikującą pierwsze urządzenie;wysłanie pierwszemu urządzeniu (D1) listy kontaktów odpowiadającej informacji identyfikującej pierwsze urządzenie w odpowiedzi na wspomniane żądanie aktualizacji, przy czym wspomniana lista kontaktów zawiera identyfikator kontaktu dla każdego kontaktu na liście kontaktów;odebranie z pierwszego urządzenia (D1) żądania połączenia, które identyfikuje przynajmniej jeden identyfikator kontaktu;i znamienna tym, ż e zawiera etapy mapowania wspomnianego identyfikatora kontaktu na adres drugiego urządzenia (D2);oraz użycia wspomnianego adresu drugiego urządzenia (D2) do nawiązania połączenia pomiędzy pierwszym urządzeniem (D1) a drugim urządzeniem (D2).
- 2Metoda według zastrzeżenia 1, obejmująca ponadto weryfikację żądania aktualizacji kontaktów wysłanego przez pierwsze urządzenie (D1).
- 3Metoda według zastrzeżenia 1, obejmująca ponadto weryfikację żądania połączenia wysłanego przez pierwsze urządzenie (D1).
- 4Metoda według zastrzeżenia 1, obejmująca ponadto wskazanie pierwszemu urządzeniu (D1), które kontakty ze wspomnianej listy kontaktów są obecnie dostępne dla komunikacji.
- 5Metoda według zastrzeżenia 4, w której wskazanie które kontakty są obecnie dostępne obejmuje ponadto odniesienie się do informacji o obecności wspomnianych kontaktów, aby ustalić które kontakty są obecnie dostępne dla komunikacji.
- 6Metoda według zastrzeżenia 1, obejmująca ponadto nawiązanie cyfrowego połączenia komunikacyjnego z pierwszym urządzeniem (D1), przez które przekazywana jest wspomniana lista kontaktów.
- 7Metoda według zastrzeżenia 6, w której nawiązanie wspomnianego cyfrowego połączenia komunikacyjnego obejmuje nawiązanie wspomnianego cyfrowego połączenia komunikacyjnego przez kanał kompatybilny z protokołem inicjowania sesji SIP.
- 8Metoda według zastrzeżenia 1, obejmująca ponadto nawiązanie połączenia głosowego pomiędzy wspomnianymi pierwszym i drugim urządzeniem (D1, D2).
- 9Metoda według zastrzeżenia 8, w której nawiązanie wspomnianego połączenia głosowego obejmuje nawiązanie połączenia głosowego przez kanał kompatybilny z systemem SS7.
- 10Metoda według zastrzeżenia 8, w której nawiązanie wspomnianego połączenia głosowego obejmuje nawiązanie wspomnianego połączenia głosowego przy użyciu publicznej komutowanej sieci telefonicznej.
- 11Metoda według zastrzeżenia 1, w której pierwszym urządzeniem (D1) jest urządzenie do bezprzewodowej komunikacji telefonicznej.
- 12Metoda według zastrzeżenia 1, w której drugim urządzeniem (D2) jest urządzenie komunikujące się przy użyciu protokołu VoIP.
- 13Metoda według zastrzeżenia 1, zawierająca ponadto korelację wspomnianego identyfikatora kontaktu z adresem IP odpowiadającym wspomnianemu drugiemu urządzeniu (D2).
- 14Metoda według zastrzeżenia 1, obejmująca ponadto korelację wspomnianego identyfikatora kontaktu z numerem telefonu odpowiadającym drugiemu urządzeniu (D2).
- 15Metoda według zastrzeżenia 1, obejmująca ponadto połączenie przynajmniej dwóch sieci do nawiązania wspomnianej komunikacji pomiędzy wspomnianym pierwszym i drugim urządzeniem (D1, D2), przy czym wspomniane przynajmniej dwie sieci obejmują przynajmniej sieć PSTN.
- 16Metoda według zastrzeżenia 1, obejmująca ponadto połączenie przynajmniej dwóch sieci do nawiązania wspomnianej komunikacji pomiędzy wspomnianym pierwszym i drugim urządzeniem (D1, D2), przy czym wspomniane przynajmniej dwie sieci obejmują przynajmniej sieć IP.
- 17Metoda według zastrzeżenia 1, obejmująca ponadto połączenie przynajmniej dwóch sieci do nawiązania wspomnianej komunikacji pomiędzy wspomnianym pierwszym i drugim urządzeniem (D1, D2), przy czym wspomniane przynajmniej dwie sieci obejmują przynajmniej komórkową sieć komunikacyjną.
- 18Metoda według zastrzeżenia 1, obejmująca ponadto aktualizację wspomnianej listy kontaktów na serwerze połączonym z siecią komunikacyjną, która może być z kolei połączona ze wspomnianym pierwszym urządzeniem (D1).
- 19Metoda według zastrzeżenia 1, obejmująca ponadto aktualizację wspomnianej listy kontaktów na serwerze połączonym z siecią komunikacyjną, która z kolei może być połączona ze wspomnianym drugim urządzeniem (D2).
- 20Metoda według zastrzeżenia 1, w której nawiązanie wspomnianego połączenia obejmuje mostowanie komunikacji pomiędzy pierwszą siecią kompatybilną z PSTN, a drugą siecią kompatybilną z protokołem VoIP.
- 21Metoda według zastrzeżenia 1, obejmująca ponadto utrzymywanie wielu list kontaktów odpowiadających pierwszemu użytkownikowi P2P wspomnianego pierwszego urządzenia (D1), przy czym wspomniane wiele list kontaktowych jest przechowywanych w odpowiadających im wielu bazach danych, zaś każda baza danych zawiera odpowiadającą jej listę kontaktów.
- 22Metoda według zastrzeżenia 21, w której wspomniane wiele baz danych jest podłączonych do wielu serwerów.
- 23Metoda według zastrzeżenia 1, obejmująca ponadto przekierowanie wspomnianego żądania połączenia pierwszego pierwszego urządzenia do jednego z wielu serwerów przystosowanych do przetwarzania wspomnianej komunikacji pomiędzy wspomnianym pierwszym i drugim urządzeniem (D1, D2).
- 24Metoda według zastrzeżenia 1, obejmująca ponadto przekierowanie pakietów komunikacji głosowej wymienianych pomiędzy wspomnianym pierwszym i drugim urządzeniem (D1, D2) przez przynajmniej jeden serwer podłączony zarówno do pierwszej sieci odpowiadającej pierwszemu urządzeniu (D1), jak i do drugiej sieci odpowiadającej drugiemu urządzeniu (D2).
- 25Metoda według zastrzeżenia 24, w której wspomniany przynajmniej jeden serwer komunikuje się ze wspomnianą pierwszą siecią przy pomocy pierwszego protokołu komunikacyjnego oraz komunikuje się ze wspomnianą drugą siecią przy pomocy drugiego protokołu komunikacyjnego.
- 26Metoda według zastrzeżenia 1, w której wspomniana metoda zapewnia komunikację pomiędzy pierwszym przenośnym urządzeniem komunikacyjnym a drugim przenośnym urządzeniem komunikacyjnym.
- 27System nawiązujący komunikację pomiędzy pierwszym urządzeniem (D1) i drugim urządzeniem (D2), zawierający:port komunikacyjny przystosowany do odbierania od pierwszego urządzenia (D1) żądania aktualizacji listy kontaktów łącznie z informacją identyfikującą pierwsze urządzenie;jednostkę przechowującą dane, która przechowuje listę kontaktów odpowiadającą wspomnianej informacji identyfikującej pierwszego użytkownika, przy czym wspomniana lista kontaktów zawiera identyfikator kontaktu dla każdego kontaktu na liście kontaktów;procesor podłączony do wspomnianego portu komunikacyjnego i podłączony do wspomnianej jednostki przechowującej dane, który odbiera wspomniane żądanie aktualizacji kontaktów wraz z informacją identyfikującą pierwsze urządzenie przy pomocy wspomnianego portu komunikacyjnego i odpowiada na wspomniane żądanie aktualizacji kontaktów wysyłając informacje ze wspomnianej listy kontaktów pierwszemu urządzeniu (D1) przy pomocy wspomnianego portu komunikacyjnego, przy czym wspomniana lista kontaktów zawiera przynajmniej jeden identyfikator kontaktu dla każdego kontaktu na liście kontaktów;wspomniany procesor jest zaś ponadto przystosowany do odbierania od pierwszego urządzenia (D1) żądania połączenia przy pomocy wspomnianego portu komunikacyjnego, a żądanie połączenia identyfikuje przynajmniej jeden identyfikator kontaktu;wspomniany procesor jest ponadto przystosowany do powiązania wspomnianego identyfikatora kontaktu z adresem drugiego urządzenia (D2);oraz znamienny tym, że wspomniany procesor jest ponadto przystosowany do użycia wspomnianego adresu drugiego urządzenia (D2) do nawiązania komunikacji pomiędzy pierwszym i drugim urządzeniem (D1, D2).
- 28System według zastrzeżenia 27, w którym wspomniany procesor jest umieszczony na serwerze przystosowanym do komunikacji poprzez kanał komunikacyjny ze wspomnianym pierwszym i drugim urządzeniem (D1, D2).
- 29System według zastrzeżenia 27, w którym wspomniany procesor jest umieszczony na serwerze przystosowanym do komunikacji ze wspomnianym pierwszym urządzeniem (D1) przez pierwszy kanał komunikacyjny i ze wspomnianym drugim urządzeniem (D2) przez drugi kanał komunikacyjny.
- 30System według zastrzeżenia 29, w którym wspomnianym pierwszym kanałem komunikacyjnym jest sieć bezprzewodowa, zaś wspomnianym drugim kanałem komunikacyjnym jest sieć VoIP.
- 31System według zastrzeżenia 27, obejmujący ponadto drugi port komunikacyjny przystosowany do komunikacji ze wspomnianym drugim urządzeniem (D2).
- 32System według zastrzeżenia 27, w którym wspomniany procesor obejmuje pierwszy proces uruchomiony na serwerze, który komunikuje się ze wspomnianym pierwszym urządzeniem (D1) przy użyciu pierwszego protokołu komunikacyjnego i komunikuje się ze wspomnianym drugim urządzeniem (D2) przy użyciu drugiego protokołu komunikacyjnego.
- 33System według zastrzeżenia 27, w którym wspomniany procesor jest przystosowany do nawiązywania komunikacji pomiędzy pierwszym, drugim i trzecim urządzeniem.
- 34System według zastrzeżenia 27, obejmujący ponadto strukturę danych przechowywaną na wspomnianym urządzeniu przechowującym dane, przy czym wspomniana struktura danych zawiera informacje dotyczące wspomnianych kontaktów, a ponadto informacje dotyczące stanu wspomnianych kontaktów.
- 35System według zastrzeżenia 34, w którym wspomnianym stanem jest stan obecności w sieci.
- 36System według zastrzeżenia 27, zapewniający komunikację pomiędzy pierwszym przenośnym urządzeniem komunikacyjnym i drugim przenośnym urządzeniem komunikacyjnym.
- 37System według zastrzeżenia 27, w którym wspomniane pierwsze urządzenie (D1) jest podłączone do sieci bezprzewodowej, a wspomniane drugie urządzenie (D2) jest podłączone do sieci transmitującej dane; wspomniany port komunikacyjny jest częścią pierwszego komputera będącego serwerem podłączonego do wspomnianego pierwszego urządzenia (D1) przez przynajmniej wspomnianą sieć bezprzewodową, przy użyciu protokołu komunikacji bezprzewodowej; zaś wspomniany system zawiera ponadto:drugi komputer podłączony do wspomnianego pierwszego komputera będącego serwerem przynajmniej przez sieć transmitującą dane;oraz drugie urządzenie przechowujące dane, podłączone do wspomnianego drugiego komputera, na którym przechowywane są dane, które można użyć do nawiązania połączenia komunikacyjnego pomiędzy wspomnianym pierwszym komputerem będącym serwerem i wspomnianym drugim komputerem;zaś wspomniany drugi komputer jest również skonfigurowany tak, aby komunikował się z trzecim komputerem przy użyciu komunikacji VoIP. Iskoot Inc., USA Pełnomocnik: EP 1 915 844 B1 Z-7241/10 Fig. 1 EP 1 915 844 B1 Z-7241/10 EP 1 915 844 B1 Z-7241/10 Cl o Fig.4 EP 1 915 844 B1 Z-7241/10 EP 1 915 844 B1 Z-7241/10 Ol Fig. 6 EP 1 915 844 B1 Z-7241/10 ο cn Z U7 Fig. 7 EP 1 915 844 B1 Z-7241/10 . START Fig. δ EP 1 915 844 B1 Z-7241/10 Fig. 9 EP 1 915 844 B1 Z-7241/10 START Fig. 10 EP 1 915 844 B1 Z-7241/10 Fig. 11 EP 1 915 844 B1 Z-7241/10 EP 1 915 844 B1 Z-7241/10 EP 1 915 844 B1 Z-7241/10 Fig. 14 EP 1 915 844 B1 Z-7241/10 Fig. 15
Independent claims37
208 paragraphs in 1 section, as filed
[0001] Voice communication systems have been in use for some time and usually include telephone communication systems. Communication systems and methods of using traditional telephones, including analogue and digital systems have evolved to use various communication networks. These networks and supporting systems include traditional POTS (Plain Old Telephone Service) networks, the Public Switched Telephone Network ( Public Switched Telephone Networks, PSTN), cellular networks and more. Recently, the Internet has also started to be used to transmit voice communication signals from one point to another in real time or near real time. Routing, switching, bridging and other methods of packaging and transmitting data for voice communications are currently in use, but are still evolving. More effective, less costly and better quality communication systems and methods of their use are needed which the present invention provides.
[0002] A method of creating user groups is disclosed in GB 2 391 135. Brief Description of the Invention [0003] The present invention relates to systems and methods for establishing and maintaining communication between two or more communication devices connected to a communication network. Some specific aspects relate to communication between multiple communication devices, each connected to a corresponding network. Other aspects relate to establishing such communication by means of contact lists maintained and made available by systems connected to the network.
[0004] Fig. 1 shows a network having a plurality of paths for transmitting information over a network. In fact, more than one network can be connected using methods known to those in the industry, such as routing, bridging, etc. The end result is to create a system of connected components that can exchange data to communicate information with each other.
[0005] Data typically exists in digital form in modem communication systems, but the present discussion is not limited to such data. For example, electrical signals, pulses, optical, acoustic and other electromagnetic means for modulating communication signals can be used to convey information through one or more branches of one or more networks. Signals can be transmitted over a network or networks in substantially real time, only with transmission delays associated therewith. Alternatively, signals can be interrupted by intermediary components located in the network or networks, buffered, stored, routed, bridged, etc., which introduces additional latencies and transmission delays.
[0006] One of the aims of communication systems is to allow two or more devices or their users to exchange information, usually at a geographical or logical distance. An example of this is a telephone, both wired and wireless. Another example is a pair of computers communicating on a peer-to-peer network that send messages over the Internet. Internet communication is well established and provides a protocol for the transmission of data, for example the Internet Protocol (IP).
[0007] Fig. 1 shows in detail a series of interconnected networks and devices that allow telephone (e.g. voice) communication between two or more communication devices connected to a set of networks and devices. Connected networks and devices include the Public Switched Telephone Network (PSTN) 11, the Voice over Internet Protocol 31 network and the 51 wireless network.
PSTN 11 is a set of interconnected public telephone networks, designed primarily for voice communication. Also includes a set of PBX 20 subscriber exchanges that provide the ability to switch between a set of telephones 10. PBXs are usually used in offices or university campuses. When the telephone 10 is registered in the PBX network, it is usually assigned an identifier, for example an extension number. Other PBX and PSTN users can connect to phone 10 using the appropriate extension number.
[0009] Wireless networks 51 send voice information and data to wireless telephones 60. Wireless telephones are small, lightweight devices that communicate with other devices by transmitting radio signals. Unfortunately, wireless telephone communication is still expensive, especially for long distance and international calls.
[0010] VoIP networks 31 transmit voice information and data via the Internet Protocol. They allow free or very cheap voice signal transfer from one location to another. VoIP 31 networks are also used to provide intermediate connections between other communication networks. Fig. 1, for example, shows a PSTN network 11 communicating with a wireless network 51 via a VoIP network 31. The telephone 10 sends a voice signal to the PBX 20. The PBX 20 exchange transmits the signal to the PSTN / VoIP 30 gateway. The PSTN / VoIP 30 gateway transmits the signal to the wireless VoIP 40 gateway. The wireless VoIP gateway transmits the signal to the GMSC (Gateway Mobile Switching Center) 50. The GMSC sends the signal to the target cordless telephone 60. Some intermediate connections are not shown in this signal flow diagram.
[0011] The VoIP network 31 also allows voice connections between VoIP-enabled computers 35 and 45. The VoIP-enabled computer 3 connects to the VoIP-enabled computer 45 using a network identifier, such as an IP address, username or access code. After establishing the connection, the VoIP-enabled computer 35, directly or indirectly (using a server, not shown in Fig. 1), transmits the digital voice signal over the VoIP network to the VoIP-enabled computer 45. In one variant, the VoIP-enabled computer 45 converts the digital signal back to analog and reproduces it to the user. Some intermediate connections are not shown in this signal flow diagram.
[0012] Many VoIP service providers use different communication protocols and different software to send a digital signal from one VoIP-enabled computer to another. Consequently, one VoIP application may have difficulty communicating with another VoIP application, or may not be able to it at all. For example, a user of one network may have difficulty communicating with a user of another network.
[0013] VoIP networks 31 also provide a cheap way of establishing voice connections between computers supporting VoIP 35 and telephones located in PSTN networks 11 and wireless networks 51. Numerous VoIP service providers bridge connections between VoIP, PSTN and wireless networks by converting one communication protocol one network per communication protocol of another. For example, VoIP network users pay for the optional option of calling from a VoIP-enabled computer to telephones in a PSTN or wireless network. Similarly, some users pay for the option of receiving voice calls from a PSTN or wireless network using their VoIP telephone devices.
[0014] When a connection to a VoIP enabled computer is initiated by a PSTN or wireless user, the signal must be properly delivered to the target VoIP enabled computer. Typically, PSTN or wireless telephone devices use a regular telephone number, which is ultimately converted to the address of the corresponding VoIP enabled computer. This address can be a network IP address, username, e-mail address or access code assigned to a computer that supports VoIP by the service provider.
[0015] One or more of the variants disclosed herein provides [0016] a method for establishing a connection between a first device and a second device, comprising receiving from the first device a request to update contacts, including information identifying the first user; in response to said contact update request, sending to the first device a contact list related to information identifying the first user, said contact list comprising an identifier for each contact in the contact list; receiving a connection request from the first device providing the identifier of at least one contact; mapping said identifier to the address of the second device; and using said address of the second device to establish a connection between the first device and the second device.
[0017] Other variants relate to the method, which further verifies the contact list update request from the first device.
[0018] Other variants relate to the method, which further verifies the connection request from the first device.
[0019] Other variants relate to the method, which further informs the first device about which contacts from said contact list are currently available.
[0020] Other variants relate to a method in which information about which contacts are currently available includes also referring to information on the presence of said contacts to determine if they are available.
[0021] Other variants relate to the method further comprising establishing a digital communication connection with the first device through which contact list information is transmitted.
[0022] Other variants relate to the method in which the establishment of said digital communication connection with the first device comprises establishing said digital connection through a channel compatible with the session initiation protocol (SIP).
[0023] Other variants relate to the method further establishing a voice communication connection between said first and second devices.
[0024] Other variants relate to a method in which the establishment of said voice communication connection further comprises establishing a voice communication connection through a channel compatible with the SS7 protocol.
[0025] Other variants relate to the method in which the establishment of a voice communication connection includes establishing a voice communication connection using a standard telephone communication protocol.
[0026] Other variants relate to the method in which the first device comprises a device for wireless telephone communication.
[0027] Other variants relate to the method in which the second device comprises a VoIP communication device.
[0028] Other variants relate to a method that further correlates said contact identifier with an IP address corresponding to the second device.
[0029] Other variants relate to a method that further correlates said contact identifier with a telephone number corresponding to the second device.
[0030] Other variants relate to a method that further connects at least two networks to establish said connection between said first and second devices, said at least two networks comprising at least a PSTN network.
[0031] Other variants relate to a method that further connects at least two networks to establish said connection between said first and second devices, said at least two networks comprising at least an IP network.
[0032] Other variants relate to a method that further connects at least two networks to establish said connection between said first and second devices, said at least two networks comprising at least a cellular communication network.
[0033] Other variants relate to a method that further updates said contact list on a server connected to the communication network, which in turn can be connected to the first device.
[0034] Other variants relate to a method that further updates said contact list on a server connected to a communication network, which in turn can be connected to a second device.
[0035] Other variants relate to the method in which the establishment of said connection further comprises bridging the connection between the first PSTN compatible network and the second VoIP compatible network.
[0036] Other variants relate to a method that further includes maintaining a plurality of contact lists corresponding to the first peer-to-peer user of the first device, said multiple contact lists being stored in a corresponding number of databases, and each database contains the corresponding contact list.
[0037] Other variants relate to the method in which said multiple databases are connected to multiple servers.
[0038] Other variants relate to a method further comprising redirecting a connection request to one or more servers adapted to support communication between said first and second devices.
[0039] Other variants relate to the method further comprising redirecting voice communications packets exchanged between the first and second devices through at least one server connected to both the first network to which the first device belongs and the second network to which the second device belongs.
[0040] Other variants relate to the method in which said at least one server communicates with said first network using the first communication protocol and communicates with the second network using the second communication protocol.
[0041] Other variants relate to a method that provides communication between a first portable communication device and a second portable communication device.
[0042] Still further variants relate to a system establishing communication between the first device and the second device, including a communication port adapted to receive from the first device a contact list update request including information identifying the first device; a data storage unit that stores a contact list associated with information identifying the first device, said contact list comprising an identifier for each contact in the contact list; a processor connected to said communication port and connected to said data storage unit, which receives said contact list update request via said communication port and responds to said contact list update request by sending information from said contact list to the first device via said communication port; wherein said processor is further adapted to receive a connection request from the first device using said communication port, and the connection request identifies at least one contact identifier; wherein said processor is further adapted to associate said contact identifier with the address of the second device; wherein said processor is further adapted to use said address of the second device to establish a connection between the first and second devices.
[0043] Other variants relate to a system in which said processor is located on a server adapted to communicate via a communication channel with said first and second devices.
[0044] Other variants relate to a system in which said processor is located on a server adapted to communicate with said first device via a first communication channel and with said second device via a second communication channel.
[0045] Other variants relate to a system in which said first communication channel comprises a wireless network and said second communication channel includes a VoIP network.
[0046] Other variants relate to a system which further comprises a second communication port adapted to communicate with said second device.
[0047] Other variants relate to a system in which said processor includes a server performing the first process that communicates with said first device using the first communication protocol and communicates with said second device using the second communication protocol.
[0048] Other variants relate to a system in which the processor is adapted to establish a communication connection between the first, second and third devices.
[0049] Other variants relate to a system that further includes a data structure stored on said data storage device, said data structure comprising information relating to said contacts, and further information relating to the state of said contacts.
[0050] Other variants relate to a system in which said state relates to a network presence state.
[0051] Other variants relate to a system that provides communication between the first portable communication device and the second portable communication device.
[0052] Still other embodiments relate to a system providing communication between a first device connected to a wireless network and a second device connected to a data transmission network, comprising a first server computer connected to said first device via at least said wireless network using a wireless communication protocol; a first data storage device connected to said first server computer having a contact list corresponding to the first device, said contact list, however, includes information regarding multiple contacts and corresponds to information identifying the first device; a second computer connected to said first server computer at least via a data transmission network and a second data storage device connected to said second computer storing data that can be used to establish a communication connection between said first server computer and the second computer; wherein said second computer is also configured so that it can communicate with the third computer using communication via the VoIP protocol.
[0053] Numerous features and advantages of the present invention or inventions as well as preferred systems and methods for their implementation are given below.
IN THE DRAWINGS [0054] The inventions described herein, where helpful, have been partially described by the following figures, of which:
Fig. 1 illustrates an exemplary network and associated communication device;
Fig. 2 illustrates an exemplary network and associated communication device for communicating at least between the first and second devices; Fig. 3 illustrates another example network and associated device for communication between at least the first and second devices;
Fig. 4 illustrates an example variant for peer-to-peer communication between the first telephone and a computer supporting VoIP;
Figure 5 illustrates an exemplary sequence of steps in communication using the system of Figure 4;
Fig. 6 illustrates an exemplary variant of a server system having a friend map and verification and registration modules;
Fig. 7 illustrates an exemplary system variant having a server and subserver;
Figure 8 illustrates an exemplary sequence of steps in communication using the system of Figure 7;
Fig. 9 illustrates an exemplary variant of a system having a personal computer and a personal router;
Fig. 10 illustrates an exemplary sequence of steps in communication using the system of Fig.
9;
Figure 11 illustrates exemplary components of a personal computer system according to one or more variants described herein;
Fig. 12 illustrates an exemplary sequence of steps in communication according to one or more variants described herein;
Fig. 13 illustrates an exemplary sequence of steps in communication according to yet other variants described herein;
Figure 14 illustrates an example variant of a system for communication using a local network connected to a local computer and a local PBX; and Fig. 15 illustrates an exemplary sequence of steps in communication using the system of Fig.
14.
DETAILED DESCRIPTION OF THE INVENTION [0055] The method and device described herein relate essentially to establishing a voice connection between multiple communication devices connected to communication networks and thus associating the caller (who initiates the call) with the recipient (which is the recipient of the call initiated by the caller) .
[0056] Users of many communication networks, such as VoIP, PSTN and a wireless network use many communication devices to communicate with their contacts. For example, a computer that supports VoIP must have access to contacts from a VoIP network, and a mobile or mobile phone is used to contact the contacts in a wireless or PSTN network. The contact list stored on one communication device, in some cases, is not available for another communication device. For example, a live or active or dynamic contact list showing which contacts are online and which are not (e.g. presence status) stored on a VoIP enabled computer is usually not available for a telephone device from a PSTN network or a wireless network. The many variants described here provide a convenient solution that can integrate contacts stored on various communication devices and make them accessible from one device.
[0057] Fig. 2 illustrates a system for establishing and performing communication between two users, which may be two persons, U1 and U2, in accordance with one or more of the variants disclosed herein. The first D1 device owned or operated by U1 that communicates wirelessly with a WAX wireless access point using a wireless communication frequency or channel such as that used by cellular networks. The WAX wireless access point includes an antenna and receiver / transmitter in both hardware and software to allow information to be sent to and received from the D1 wireless device. The WAX wireless access point is connected to the BS base station. The BS base station can therefore be considered a computer device or network device or communication device or server, and the names used for this or other components of the various networks described herein are not limiting and do not exclude other forms of components providing the same or equivalent functionality .
[0058] The BS base station is connected to an SVR server, which may be a dedicated communication server having a processor and memory connected. The BS base station and SVR server are directly or indirectly connected to each other and configured to exchange data via a convenient channel, such as a GPRS (General Packet Radio System) network or other digital communication channel.
[0059] The BS base station is also connected to the MGW media gateway, such as the SIP media gateway. The BS base station and the MGW media gateway are designed and configured to exchange information via CS (Circuit Switched) or SS7. The MGW media gateway can in some variants be the SIP media gateway.
[0060] In addition, the MGW media gateway and SVR server are connected to each other, either directly or through other network components that are not shown in the figure, so that they can communicate using Time Domain Multiplexing (TDM) or an IP protocol, or other suitable or equivalent protocol.
[0061] The SVR server is connected via IP or similar or other convenient protocol with the second device D2. The SVR server and the second D2 device can typically be connected by one or more branches of the Internet network connection and other intermediate routers, gateways, servers and network components that are not shown in the figure can mediate between the SVR server and the D2 device. User U2 owns and / or operates the other D2 device.
[0062] When the system is arranged and configured as shown in the exemplary variants covered by Fig. 2 or those that are functionally equivalent to them, communication between two devices D1 and D2 and their users U1 and U2 can be established and maintained. Such communication can be initiated by any user. Such communication can be essentially voice (based on speech), carried out in real time or approximately real, so that a "live" conversation between users U1 and U2 is possible. Other functions of voice communication systems, e.g. voice messages, forwarding, speech recognition, archiving, etc., can be used with this system and systems based on it, having auxiliary or secondary components, not all of which are shown in the figure, but which can be adapted by specialists who understand the current system and methods of its use.
[0063] In one or more variants, the user U1 initiates voice communication (connection) with the user U2. User U1 is therefore the "caller" and user U2 is the "recipient" in this scenario. The sequence begins with the activity of the first D1 device. This activity may be the activation of some feature of the D1 device, such as a button, knob, switch, surface of the touch panel or touch screen, or a software feature. The activity may also comprise either a voice command or other types of operation start on the D1 device, e.g., a command run in the software and / or physical component of the D1 device based on speech recognition.
[0064] User activity U1 adapts the device D1 in wireless communication with the WAX wireless access point to exchange signals and data via the wireless connection D1 and WAX. In cellular systems, the D1 can be a cell phone with GPRS support and can hop from one wireless access point to another while the device is being transported or transferred between network cells.
[0065] The D1 device and / or user U1 then logs on to the SVR server through a portion of the communication path or network between the D1 device and the SVR server. This process is generally known to those skilled in the art and includes any of many verification steps so that the SVR server can identify device D1 and / or its user U1 at an acceptable level of assurance. This may include a verification sequence at which the D1 device and / or U1 user provide the username or password to the SVR server. The identity of the D1 device can also be transmitted via a serial number or other coded scheme associated with the physical device or its software that identifies the processor, key or software, or other symbol of the D1 device. The SVR server can directly view the verification register created using information from the D1 device / U1 user, e.g. on the preview table or using a verification server or client software located on the SVR server, connected to it, or available to the SVR server.
[0066] Communication between the D1 device and the SVR server can be achieved in that the D1 device selects (by establishing a telephone connection) a predetermined telephone number that is received by the MGW media gateway by a process that is programmed to forwarding, routing or bridging this communication to the SVR server. The above may be generalized to a case other than the one described here, in which, in addition to the specific telephone number, identification codes are used.
[0067] The SVR server may also receive from the D1 device a request for the current contact list which belongs to the D1 device or the user U1. This means, as described elsewhere in this document, that the contact list for user U1 or device D1 can be stored on or available to the SVR server, and may change over time, be editable and updateable. The D1 device can request a contact list every time you log in, it can request a contact list or download it periodically, or at the explicit request of U1. Alternatively, the contact list can be sent by the SVR server to the D1 device without having to be downloaded by the D1 device or the U1 user or by sending a contact list request. After logging in and verification, the D1 device is left with a list of contacts or information from the server that identifies at least one contact and contact information related to the properties of this contact. The contact information may be, for example, name, phone number, address, network identifier, or other information, and the contact may be a person or a group of people who are commonly associated.
[0068] In one or more variants, the contact list provided to device D1 from the SVR server reflects the current or approximately current state, such as the state of network presence. For example, if the user U1 has many contacts or "friends" on his contact list on the SVR server, the state of communication with the network reflecting whether each contact is connected to the network or not, can be updated and described in the information sent to the D1 device, as part of the contact list information. For example, a special field with the ON / OFF marking or a number may indicate whether a given contact in the contact list is currently logged into the network and is therefore reachable by the user U1. If the user is not logged in to the network or his or her D2 device is not connected, then this may indicate that the user U1 will not be able to connect to this contact. In some specific variants, the U1 user is prevented from attempting to contact other contacts that are not connected to the communication network, for example by graying their identifiers in the contact list displayed on the D1 device. One way the SVR server identifies the D1 device is to provide the SVR server with caller identification indicating the connection source (D1).
[0069] To make a call to another user or contact, the caller (U1) selects from the contact list on the D1 device, or information relating to it, one or more recipients. The U1 user can use the button, knob, touch screen, touch panel, speech recognition circuit and software or other means to scroll through or navigate the contact list displayed on the D1 device. The U1 user can then select one selected user or more users from his contact list visible on the D1 device. The selected contact is generally in the form of an alphanumeric code rather than in the form of Arabic numerals, with the alphanumeric code being the contact's name, abbreviation or nickname. Caller U1 basically does not know the receiving U2 network address. Caller U1 sends rather the name of the receiving U2 (e.g. "Mr. Blacksmith") to the network and to the SVR server. The SVR server in the network then associates the U2 alphanumeric code of the user with the user's network address using a preview table, algorithm, code, or other database or conversion operation that performs the same or equivalent function.
[0070] Once the SVR server has already been associated to determine the receiving U2 network address, the SVR server can bridge the connection between device D1 and device D2. The D2 device is usually a computer that supports VoIP or a functionally similar device. In this case, communication between the SVR server and the other D2 device is carried out via the IP protocol and usually via the Internet. For connections using the Internet, the process, communication packets and data sent to and from the VoIP of the second D2 device can be served by one or more intermediary devices such as gateways, routers, bridges.
[0071] It should be noted that where a device or component is required to communicate with more than one type of device using more than one protocol, then the device or component may need to establish more than one process or port, with each port it supports communication with one of the many protocols or ports mentioned. Thus, for example, for the SVR and MGW servers and gateways shown in the figure, these devices communicate at least with the IP port and protocol, as well as with the telephone (CS / SS7, GPRS / digital communication) port and protocol. This aspect depends on the design and configuration of the components and networks used and is not intended to be a complete description of the overall nature of the system.
[0072] Since the SVR server generally has information regarding the start and destination of communication points, it is possible to use the SVR server to obtain TDM bridging to IP or IP to IP or other type of bridging communication between two or more communication ports and associated protocols . Client software running on one or more system components in the figure can be used to establish a communication connection between devices D1 and D2.
[0073] Now referring to figure 3, another exemplary embodiment is illustrated that allows communication between the caller using device D1 and the recipient using device D2.
[0074] The system of figure 3 works essentially similar to that of figure 2, in terms of the nature of the components, networks and protocols used to verify devices and users, and in that the devices are provided with - and maintain - a list of contacts (list of friends) as well as information about the status of presence or presence on the network. However, in the variant shown in Figure 3, instead of bridging the information related to the voice connection through the SVR server, the information related to the voice connection (speech data) is transmitted through the MGW media gateway.
[0075] The SVR server in Fig. 3 is still checking or recalling the contact list used to determine the network address based on the alphanumeric information (name) sent by the calling device. However, here the SVR server is exempt from processing voice communications and the constant bandwidth load associated with it. Instead, the SVR server is informed of the user's intention to call a recipient with a specific name; the SVR server then determines the corresponding recipient's network address (e.g., IP address) and provides that network address to the MGW media gateway. In turn, the MGW media gateway, using the received network address of the recipient, establishes a voice communication channel between devices D1 and D2.
[0076] Fig. 4 illustrates a system for connecting two communication devices that can be extended to more than two devices based on the same principles as described below. The devices can be considered equivalent (peer-to-peer connection) and connect two users or subscribers who want to communicate, for example using voice communication. In this variant, the first communication device is a telephone adapted to communicate via the PSTN network, and the second communication device is a computer adapted to communicate via the telephone network using the VoIP protocol.
[0077] The peer-to-peer communication device is intended to contact any or all types of devices designed to provide communication in accordance with the methods and systems described herein and it is noted that there are various communication infrastructures and protocols that may be used as the foundation for such communication. For example, one type of peer device is a telephone. Telephones generally include wired and wireless, or portable or cellular, or other types of devices that transmit and / or receive audio information, such as information related to voice conversation. Modern telephones that can be adapted for use in this application are both analog and digital telephones. The telephones can be connected to the communication network via a twisted wire connection, either through a high-speed Internet connection, or through a computer or adapter having, for example, a USB interface for the telephone. A connection can also be established through intermediary adapters, connections, servers, hubs, or switches and routers. For example, a cell phone communicates with the network by receiving and transmitting signals using wireless radio signals from and to a base station connected to the cell network of such base stations.
[0078] Referring to Fig. 4, the First P2P Phone 150 connects to Server 110 via PSTN 140 and establishes communication via a VoIP 160 enabled computer. The connection between the First P2P Phone 150 and Server 110 via PSTN 140 is carried out according to the specification various standards created by the ITU-T organization, for example, including the E.163 / E.164 protocols, which specify the procedure for connecting to a telephone number. A typical branch of a PSTN connection involves the transmission of a digitized (e.g. for 8 kHz) voice signal from and to the First P2P 150 Phone and the switching of the digitized signal using Signaling System No. 7 (SS7, sometimes referred to as Common Channel Signaling System No. 7) through the network telephone.
[0079] The arrangement illustrated in Fig. 4 allows a telephone user, e.g. a mobile phone user being the First P2P Phone 150, to log in to Server 110 and be verified. The first P2P 150 phone can be equipped with a custom digital keypad enabling the transmission of alphanumeric characters or symbols via the telephone network. For example, the user of the First P2P 150 Phone enters the username and / or password, which can be verified and authorized by the Server 110, which compares the entered information authorizing or identifying the First P2P 150 Phone with a set of information identifying known subscribers stored on Server 110 or database or preview table associated with it. The server 110 may also recognize the stored code associated with the physical device or its software, or identifying information associated with the First P2P 150 Phone, such as the caller ID, SIM card in the case of mobile phones, the serial number of the phone's hardware processor or the software license serial number Identifies First P2P 150 Phone to Server 110.
[0080] When Server 110 verifies or recognizes the identity of First Phone 150, Server 110 is prepared to provide communication and related services to First Phone P2P 150, as described in this document, which will be understood by those skilled in the art.
[0081] One feature and service offered by Server 110 may be storing, updating, maintaining and forwarding information from the contact list to the client. Contact lists are known from other contexts and communication applications as a way to store a list or array of information relating to one or more contacts. Contacts can be individual people or entities or machines that a user or subscriber sometimes wants to communicate with, and he does so by opening a contact list to discover and use information related to the one or more contacts he wants to contact. Contact lists usually consist of many entries, usually stored on a data storage device such as computer memory, tape, or optical media, in a data structure such as a database. Contacts and contact information can be accessed as needed, and can be deleted, edited, created or searched as needed.
[0082] Contact information may include an organized data structure having entries associated with each entity or person (contact) in the contact list. Entries may include contact information such as contact name, telephone number, home postal address, work postal address, and in particular, in the current context, may contain one or more network addresses identifying the location in the network where the contact can be found. Even more particularly, in the current context, a network address can uniquely identify a contact. This means that the contact can be assigned a network address that no other units or machines have. Alternatively, contact can be a shortcut to contact a group of people, units or machines in such a way that establishing communication with such contact results in the distribution of communication to all available members of the group. Alternatively, the contact may have a network address that is pseudo-unique and may relate to any communication device connected to the terminal that is associated with the network address. The methods of terminating communication connections differ, sometimes the nature of the equipment and protocols used for a given communication channel.
[0083] Another function or service offered by Server 110 may be to facilitate the establishment, maintenance or operation of a communication connection between two peer devices. For example, Server 110 may establish communication that bridges between PSTN 140 and Data Transmitting Network 120. In some variants, this is done using two communication ports at Server 110, one port for exchanging information with the PSTN 140 network using the first PSTN compatible protocol, such as SS7, and a second port for exchanging information with the Data Transmitting Network 120 using the second a communication protocol compatible with the data transmission network, such as TCP, which is sometimes VoIP communication.
[0084] The Data Transmitting Network 120 may, for example, be the Internet, and the second protocol compatible with the data transmitting network may be, for example, the IP protocol or a related one. Client software or server software running on the processor and executing the instruction stored on a computer-readable medium located on Server 110 or connected to it can implement communication through communication ports. Hardware or software can be used to connect the communication signals between the first network 140 (PSTN) and the second network 120 (transmitting data) and the information contained therein.
[0085] According to one or more variants, the First P2P Phone 150 receives from Server 110 a full or partial contact list or contact information derived therefrom. Contact information is displayed on the phone The first P2P phone in some way allows you to select one or several contacts for communication. For example, contact information may be displayed on the screen or other display device on or connected to the First P2P 150 Phone. Usually, a First P2P 150 Phone user can see or hear or otherwise receive information from the contact list as displayed on the First P2P 150 Phone. The user can then use another interface, such as a keyboard, mouse, joystick, touch screen, voice activated input device, or other input device to select one or more contacts from the displayed list to make a call. Similarly, for incoming calls received by the First P2P 150 Phone, the user can specify the identity of the caller associated with the contact list.
[0086] In general, it can be assumed that the contact information associated with the caller and the receiver is stored on Server 110 in the server contact list and on the server contact list on the First P2P Telephone 150 in the version of the portable contact list which is associated with them.
[0087] Server 110 is designed and configured to recognize a connection request signal from the First P2P Phone 150. The connection request includes contact identifier or information identifying one or more contacts from the contact list on Server 110. The connection request signal can be sent to Server 110 from the First P2P 150 Phone by any means of communication established between the Server 110 and the First P2P 150 Phone, for example DTMF tone signaling transmitted via voice channel or DTMR signaling from outside the frequency band, or via an independent communication path data, or by packet data GPRS transmission used in conjunction with the synchronization mechanism described later. The connection request signal informs the program running on server 110 that the user of the First P2P 150 Phone wants to establish a connection with the selected contact or contacts from the contact list.
[0088] Server 110 is also designed and configured to respond to the connection request signal by searching the address for the contact or contacts indicated in the connection request. In some variants, the address is the SIP address and is intended for SIP communication at least between Server 110 and a Computer supporting VoIP 160. When Server 110 and the desired VoIP enabled Computer 160 are connected via Data Transmission Network 120, bridging by the Server 110 of communication between the First P2P Telephone 150 and the Computer supporting VoIP 160 may occur. This system and method of connecting the first device (First Phone P2P 150) and the second device (Computer supporting VoIP 160) by Server 110 is generally considered a "direct" connection, although it is understood that a number of intermediate devices will usually mediate between the above-mentioned basic components , software, and network interfaces to establish a practical communication connection between the first and second devices, as discussed here and as known to those skilled in the art.
[0089] Another system and method of connecting the first and second devices, generally referred to as the "indirect" connection, can also be used according to Fig. 4. In these variants, the Server 110 connects to the First P2P telephone 150 with the First Computer P2P 100. First Computer P2P 100 connects to a computer that supports the VoIP 160 protocol. Accordingly, both Server 110 and First P2P 100 Computer are used to establish a connection between the First P2P 150 Phone and the computer supporting the VoIP 160 protocol. Here, the First P2P 100 Computer may belong to the same entity or user as the First P2P 150 Phone and may contain or have access to the codes or data required to establish successful communication between the first and second devices.
[0090] Establishing communication between the first and second devices can be achieved by following the steps described in Fig. 5. These steps need not necessarily be carried out in the same order as shown, and in some variants, in addition to the illustrated steps, additional steps may be performed, or some the illustrated steps can be combined or deleted in individual cases.
[0091] In step 601, the user of the first P2P computer 100 places the contact list (friends) of the first P2P computer 100 on the server 110. This contact list combines contact identification information (user name or nickname) with the contact's network address and its access code. In one variant, the access code for each contact is a unique identifier assigned to each contact. The computer of the first P2P 100 can be connected to the network and connected to the server 110, the placement of the contact list that is performed by the first P2P 100 can be alternatively done using the server 110.
[0092] In step 602, the user of the first P2P telephone 150 sends to the server 110 the contact name and the corresponding access code uniquely identifying the first P2P telephone 150, such as the assigned session ID or in another variant the caller ID.
[0093] In step 603, the user of the first P2P telephone 150 connects to the server 110 via the PSTN 140 network. After establishing the connection, in one variation, the server 110 provides the user with a tone or voice menu. In another variant, no sound is transmitted, but the server 110 silently waits for DTMF tone signaling. In yet another variant, neither voice nor tone menus are provided.
[0094] In step 605, the user of the first P2P telephone 150 sends the contact access code uniquely identifying the contact to Server 110. In an alternative embodiment, the contact access code is determined by analyzing the caller identifier identifying the First P2P Telephone 150 and the contact name sent in step 602.
[0095] At step 607, Server 110 determines whether it can connect to a VoIP enabled computer identified by the contact's access code. If this combination is possible, step 609 is performed. If this combination is not possible, step 611 is performed.
[0096] At step 609, Server 110 connects to a computer that supports VoIP
160.
[0097] In step 611, Server 110 forwards the connection request, including the contact access code, to the First P2P Computer 100.
[0098] In step 613, the First P2P Computer 100 connects to the First P2P Phone 150.
[0099] In step 615, the First P2P Computer 100, based on the contact access code received from the Server 110 or read, connects to a VoIP enabled Computer 160.
[0100] In step 617, the First P2P Computer 100 bridges the connection between a Computer that supports VoIP 160 and the First P2P Phone 150.
[0101] The first P2P Telephone 150 establishes a connection to Server 110 using a PSTN network. The First P2P 150 Phone User, with the help of software running on the First P2P 150 Phone, selects a contact and sends contact information to Server 110.
[0102] In one embodiment, Server 110 is capable of communicating with members of the PSTN 140 network as well as with members of the Data Exchange Network 120.
In this variant, Server 110 connects to two devices simultaneously (First Phone P2P 150 and Computer supporting VoIP 160). When both connections are established, Server 110 bridges them, creating a communication channel between the First P2P 150 Phone and a computer that supports the VoIP 160 protocol.
[0103] In one embodiment, the Server 110 receives the contact access code from the First P2P Phone 150. The server 110 identifies the user of the First P2P Phone 150 either by using the caller ID or login information provided by the First P2P Phone 150. In one embodiment, Server 110 uses the contact access code and user information to recall the contact record from the contact list database (or any other system storing records, such as a text file or spreadsheet). Server 110 uses the network address of the VoIP 160 enabled computer stored in the contact record to connect to this device.
[0104] In one embodiment, Server 110 informs the First P2P Computer 100 that the First P2P Phone 150 has requested communication with the contact identified by the contact access code. In this variant, Server 110 may also forward information giving access to the contact to the First P2P 100 Computer.
[0105] In one variation, the First P2P 100 Computer uses the contact's address information to establish a connection with a VoIP 160 enabled computer via the Data Transmitting Network 120. After establishing a connection with a VoIP 160 enabled computer, the First P2P 100 computer bridges the connection between a VoIP enabled computer 160 and the First Phone P2P 150.
[0106] One aspect of the present invention allows users to integrate multiple contact lists stored on multiple devices. Basically, contact lists associate contact information (contact name, alias, etc.) with the contact's network address. For example, the list of contacts stored on a mobile phone can associate the contact Jan Smith with the number 617-123-1234. Similarly, the contact list stored on a VoIP enabled device can associate the "Smith" contact with the IP address "66.249.64.15".
[0107] Users of VoIP, PSTN and wireless devices generally maintain separate contact lists on each communication device. The contact list stored on one device sometimes cannot be accessed by another. For example, the contact list stored on a computer that supports VoIP is not available to a cordless phone user. Similarly, the contact list stored on a VoIP 160 enabled computer is often unavailable to another VoIP enabled computer. In one variant, information from contact lists from multiple devices can be collected in a database table with the following fields: USER_ID, CONTACT_ID, CONTACT_name, CONTACT_ADDRESS, and NETWORK_ID.
[0108] As an example, the USER_ID ID field uniquely identifies the user to whom each contact data entry belongs. Thus, USER_ID 1 can be associated with CONTACT_ID 1 and CONTACT_ID 2. Similarly, USER_ID can be associated with CONTACT_ID 3 and CONTACT_ID.
[0109] CONTACT_ID will uniquely identify each contact's data entry. CONTACT NAME stores contact name and name that can be recognized by the user. In other variants, this information can be stored in many fields, such as CONTACT NAME, CONTACT NAME, etc.
[0110] CONTACT_ADDRESS stores the contact's network address. E.g
CONTACT_ID 1 can be associated with an example CONTACT_ADDRESS
204.167.72.87. Similarly, CONTACT_ID 2 may be associated with the example CONTACT_ADDRESS 204.167.72.88.
[0111] In one embodiment, the CONTACT_ADDRESS format is different for each network. For example, PSTN users are identified by a three-digit country code, a three-digit city code, and a seven-digit phone number. VoIP network users are identified by a 12-digit IP address, user e-mail address, or a special code assigned to a VoIP enabled computer by a VoIP service provider.
[0112] Information from the NETWORK_ID ID field uniquely identifies the physical or virtual network in which the contact is located. Typically, a physical network is a collection of devices that communicate with each other through a wired or radio signal. An example of a physical network can be a PSTN network or a wireless network. A virtual network is a network of connected devices that is limited by membership policies or protocols. In one variant, based on the NETWORK_ID field, Server 110 determines the correct way of communicating with the contact.
[0113] Server 110 may then be responsible for instructing the first P2P telephone which communication method is best with the target device. In another embodiment, Server 110 provides this information (e.g., from the NETWORK_ID field) to the First P2P Phone 150 in which the supervised decision is made. For example, Server 110 can provide three options: "call Jozek on your mobile", "call Jozek using VoIP" or "call Jozek on landline". The software on the First Phone P2P 150 asks the user of the First Phone P2P 150, which mechanism he wants to use to call Józek.
[0114] The following description refers to Fig. 6. During the initial stage, the user of the First P2P Computer 250 sends the contact list (friends) from the First P2P 250 Computer. The first P2P 250 Computer may be identical to Server 280, separated only logically from it, it may also be on a data transmission network next to Server 280. Alternatively, it may be physically and geographically remote from Server 280. As a result, the database containing contact addresses (map of friends) 210 on Server 280 is updated, reflecting that a specific user, identified on the basis of the unique USER_ID, has sent a contact list in which each contact is identified by CONTACT_ID, each CONTACT ID is related to the information regarding CONTACT_ADDRESS, and each CONTACT_ADDRESS is associated with a specific NETWORK_ID.
[0115] In one variation, the Friends Updater 200 software is running on the First P2P 250 Computer. The Friends Updater 200 has access to the contact list (friends). This contact list contains demographic information such as name, age, email address, etc. This list also contains the network address at which the contact may be available. Depending on the network, the address can be in the form of a phone number, IP address, email, nickname etc. The address can also be associated with the specific communication network in which the contact is located.
[0116] In another embodiment, the Friend Updater 200 imports contacts from the contact list from a certain communication application. For example, the Friend Updater 200 can use software interfaces to bring up a list of friends from various commercially available voice messengers.
[0117] The Friends Updater 200 sends a contact list to Server 280. Contact information can be transferred by "push" or "pull" communication. For example, if you use the "push" communication technique, the Friends Updater 200 connects to Server 280 and transfers the contact list to Server 280. If the pull communication technique is used, Server 280 is responsible for contacting the First P2P 250 Computer and recalling the contact list from the First P2P 250 Computer.
[0118] Updates to the Contact List, including the First P2P Phone calling them from the database via the server, are performed periodically. The period, i.e. how often the update occurs, is preferably determined by the server. Thus, in one variant, the first P2P telephone requests the contact list immediately after logging in, the Contact List is sent by the Server to the First P2P Telephone along with the REFRESHING FREQUENCY, with the REFRESHING FREQ determining when the First P2P Telephone should once again request the list of friends. In this way, the Server can specify that the next refresh should occur after a different time period than the one elapsed between previous refreshments.
[0119] The first P2P Computer 250 also has a switching functionality 240, which - in one variation - forwards the signal from an incoming connection to a computer that supports the VoIP 260 protocol. The switching functionality bridges the communication between the caller (not shown in the figure) and the computer that supports VoIP 260. In in one variant, the switching functionality is implemented using two different communication interfaces. The first interface is responsible for accepting the incoming connection that connects the caller to the First P2P 250 Computer. The second interface is responsible for establishing the outgoing connection that connects the First P2P 250 Computer to the computer supporting the VoIP 260 protocol. After both connections are established, the switching function 240 bridges the connection between them.
[0120] Fig. 6 also shows Server 280. In this variant, Server 280 includes a map of friends 210, Gateway 230 and Recorder 220. Friends Map 210 stores contact information received from the First P2P Computer 250. The Friends Map 210 is initially filled by the First P2P Computer 250. In one variant, the Friends Map 210 can be updated by many users.
[0121] In one embodiment, Gate 230 forwards the signal received from the first
P2P 250 computer to VoIP 260 computer. When Gateway 230 receives a call from the First P2P 250 Computer, it verifies the caller in one variant. Verification can be carried out automatically by detecting the identifier of the First P2P 250 Computer. It can also be performed manually, by requesting the First P2P 250 Computer to provide a login and password. In this way, Gateway 230 can maintain balance and solve the issue of call distribution by routing calls to the appropriate destination device based on available information about the caller and receiver.
[0122] In another embodiment, Gateway 230 determines whether it can establish a connection with a Computer that supports VoIP 260.
[0123] Fig. 7 shows a system comprising a Remote Cell Phone 300 connected to wireless network 320. Wireless Network 320 is connected to PSTN 325 Network. PSTN 325 network is connected to Data Transmission Network 350 using Voice Gateway 340. Wireless Network 320 connected is to the Data Transmitting Network 350 using Data Gateway 330. In one variant, the Data Transmitting Network 350 also connects Server 310 with Subserver 315 and a computer supporting VoIP 360.
[0124] In one embodiment, devices in the wireless network 320 can access devices in the Data Broadcasting Network 350 using two different gates: Data Gateway 330 and Voice Gateway 340.
[0125] Data Gateway 330 provides a fast and secure way to transfer information between a Remote Cell Phone 300 and a Server 310. For example, a Remote Phone 300 uses a Data Gateway, 330 to send a user login to Server 310. In one embodiment, Server 310 verifies the user by matching information received about the user to the list of users having authorized access to Server 310. If authorization is successful, Server 310 sends the contact list associated with the user of the Remote Mobile Phone 300. The Remote Mobile Phone 300 displays the contact list to the user, and the user selects the specific contact he wants to call.
[0126] In one embodiment, the Voice Gateway 340 is used by the Remote Cell Phone 300 to transmit, via the PSTN 325 network, a connection request and selected contact information to Server 310. The server 310 can respond to the connection request by tone dialing or through a menu as it is well known in the field of IVR interactive telecommunications systems.
[0127] In one embodiment, Server 310 maps the received information of the selected contact to the address of the corresponding VoIP 360 enabled computer and determines whether the VoIP 360 enabled computer is available to Server 310. If so, Server 310 connects to the VoIP 360 enabled computer and bridges the connection between a computer that supports VoIP 360 and a Remote Cell Phone 300.
[0128] In one embodiment, Server 310 delegates connection handling to Subserver 315. Server 310 forwards the connection request and selected contact information.
Subserver 315. In one variant, the Subserver is selected based on the destination specified in the contact information. For example, destination contacts that are in one geographical area are combined using one Subserver, while destination contacts that are in another geographical area are combined using another Subserver.
[0129] In one or more variants, the communication request from the Remote Cell Phone 300 is uniquely identified by the Session Identifier. The Session ID identifies the given user's connection request. If the same communication device connects to Server 310 multiple times, a different Session ID is generated for each connection. In some variants, the connection request can be identified by a combination of Session ID and USER_ID.
[0130] In yet other embodiments, the Remote Cell Phone 300 transmits to the Server 310 a correlated string that contains information regarding the selected contact and session. Selected contact information, in one variant, is represented by the unique identifier of the selected contact. Session information, in one variant, can be recalled from Server 310 using Data Gateway 330. In other variants, session information can be generated by a 300 Remote Phone.
[0131] Fig. 8 shows a method of using the system shown in Fig. 7 according to one or more exemplary variants.
[0132] In step 701, the user sends a login from the Remote Cell Phone 300 to Server 310 via Data Gateway 330.
[0133] In step 703, Server 310 redirects to Subserver 315. In step 704, Subserver 315 assigns a Session Identifier to the Remote Cell Phone.
[0134] In step 705, Subserver 315 sends a contact list, along with a unique contact identifier assigned to each contact, along with a session identifier and refresh rate, to the Remote Cell Phone 300.
[0135] In optional step 706, the Remote Cell Phone periodically refreshes the contact list as determined by the "refresh rate" returned by Subserver 315.
[0136] In step 707, the contact list is presented to the user of the Remote Cell Phone 300. The user of the Remote Cell Phone 300 uses the telephone buttons and selects the contact he wants to call.
[0137] In step 709, the software running on the Remote Phone
Cellular 300 creates a string that contains the Session ID received from the Server
310 and unique identifier of the contact selected by the user.
[0138] In step 711, the Remote Cell Phone 300 connects to the Data Gateway
340, which passes the correlating string to Subserver 315.
[0139] In step 713, Subserver 315 receives the correlating string and reads from it the Session Identifier and the unique Contact Identifier.
[0139] In step 715, Subserver 315 uses the unique Contact Identifier (CONTACT_ID) and Session Identifier to determine the Contact network address that the user is trying to contact.
[0141] In step 716, the Remote Cell Phone 300 forms a Voice Channel to the Subserver, and Subserver 315 connects to the contact.
[0142] Fig. 9 illustrates another exemplary embodiment of the present invention that uses a Personal Exchange Router 405 capable of switching and routing communications between two or more networks. For example, the Personal Exchange Router 406 may switch the signal received from the Remote Cell Phone 410 to a telephone connected to the local network, such as a Phone Using Bluetooth 406.
[0143] The connection between the Remote Cell Phone 410 and the Phone Using Bluetooth 406 is established based on a short code transmitted from the Remote Cell Phone 410 to the Personal Exchange Server 495. In one variant, the Personal Exchange Server sends the signal to the Personal Exchange Router 405, which uses the Interactive Voice Response (IVR) system to identify the short code corresponding to the Bluetooth 406 Phone.
[0144] Fig. 10 shows the method of using one variant of the system shown in Fig. 9 according to one or more exemplary variants.
[0145] In step 801, the user installs the Personal Exchange Router 405 software on the First Personal Computer 400.
[0146] At step 803, the user uses a remote device, such as Remote Cell Phone 410, to send an initiation signal to the Personal Exchange Server 495.
[0147] In step 805, the Personal Exchange Router 405 detects an initiation signal sent to the Personal Exchange Server 495 via Remote Cell Phone 410.
[0148] In step 807, the Personal Exchange Router 405 initiates communication with the target device (Phone Using Bluetooth 406) identified by a short code.
[0149] In step 809, the Personal Exchange Router 405 determines whether the target connection device is the First Personal Computer 400.
[0150] In step 811, the digital audio signal received from the Remote Cell Phone 410 is converted to analog and reproduced using an audio reproducing apparatus.
[0151] In step 813, the signal is forwarded to the Telephone Using
Bluetooth 406.
[0152] Fig. 11 shows one variant of the First Personal Computer 500 on which the Personal Exchange Router (505) application is running and which also processes the audio signal. In one variant, the audio signal is processed using the Audio 520 Bus, Audio 518 Filter, 514 Sound Card and USB 516 Audio Device.
[0153] In one embodiment, the Personal Exchange Router 505 can simultaneously communicate with multiple voice networks. For example, it can connect a USB telephone to one or more telephone applications.
[0154] In one embodiment, the First Personal Computer 500 uses the Audio Bus 520 to bridge voice communication between the First Telephone Application 510 and the Second Telephone Application 512. This function can be implemented by using the steps described in Fig. 12.
[0155] Fig. 12 provides an example of a method of transferring audio data in a First Personal Computer 500 according to one or more exemplary variants.
[0156] In step 850, First Telephone Application 510 establishes the first telephone connection.
[0157] In step 852, the Personal Exchange Router 505 initiates a second telephone connection via the Second Telephone Application 512.
[0158] In step 854, the Personal Exchange Router 505 configures virtual audio devices such as the Audio Bus 520.
[0159] In step 856 and 858, the Personal Exchange Router 505 uses the Audio Bus to forward the audio signal from the First Telephone Application 510 to the Second Telephone Application 512.
[0160] In step 860, the Personal Exchange Router 505 continuously monitors both telephone connections.
[0161] In step 862, when either of the two connections is completed, the Personal Exchange Router 505 resets the routing of the connection.
[0162] In one embodiment, the Personal Exchange Router 505 also supports the conference call function. A conference call can be set up, for example, by the following steps shown in Fig. 13.
[0163] Fig. 14 shows a further aspect of the present invention. Server 95 0 is connected to a Data Transmitting Network 952. The Data Transmitting Network is connected to a Router with Modem 954. The Router with Modem 954 is connected to Local Network 956. The Local Network 956 is also connected to the Local PBX 958 and Local Computer 960. Network Local 956 represents the home wireless network in one variant. The Local Computer 960 runs software that communicates with the application launched in the Local PBX via the Local Network 956.
[0164] In one embodiment, the Local PBX 958 provides a terminal for one or more voice networks, thereby providing the Local PBX 958 for communication with each network. In one aspect of the present invention, a Local PBX
958 it has a network identifier, such as a phone number. Other network members can access the 956 Local Network using this phone number.
[0165] The PBX 958 local exchange may be provided with a set of authorized telephone numbers. Each number can be assigned a set of privileges, such as access to voicemail, to individual networks or other services offered by the Local PBX 958.
[0166] The PBX 958 Local PBX forwards the connections initiated by the voice communication device with access to the PBX 958 Local PBX, such as Local Computer 960, using individual communication networks. In one variant, the selection of the network is based on the location code of the destination telephone number. For example, phone calls with a phone number starting with 617 are initiated using the first network, phone calls with a phone number starting with 718 are initiated using the second network.
[0167] Fig. 15 illustrates one example of the use of a PBX 958 Local Panel in accordance with one or more exemplary variants.
[0168] At step 980, the Local PBX 958 establishes the presence in many voice networks, for example, by informing voice communication service providers that the Local PBX 958 is ready to accept calls.
[0169] In step 982, the user connects to the Local PBX 958 using the "thin client" application (not shown). In one variant, the "thin client" application is a user interface that accepts commands and sends them to the Local Network 956, to the Local PBX 958. For example, the "thin client" application can be implemented using an HTML browser. The HTML browser accepts user commands and forwards them to the PBX 958 Local PBX.
[0170] In step 984, the Local PBX 958 receives a communication signal from a single point, such as a "thin client", running on the Local Computer 960. Based on this communication request, in one variant, it informs all communication networks that the user is available and can receive calls.
[0171] The various variants described herein provide one or more of the following options, which are discussed for illustrative purposes and are not limiting, but may be appreciated by those skilled in the art.
[0172] These and other possibilities of the invention together with the invention itself will become more fully understood upon reviewing the following figures, detailed description and claims.
[0173] This implementation is, however, exemplary and not limiting for the invention, as other implementations in accordance with the disclosure are possible.
[0174] In operation, referring to Fig. 5, the process of correlating the caller with the recipient using the system described herein includes the steps shown. However, this process is only illustrative and not restrictive. The process of Fig. 5 can be modified, for example, by adding, removing or rearranging steps.
[0175] In operation, referring to Fig. 10, the process of correlating the caller with the recipient using the system described herein includes the steps shown. However, this process is exemplary and not limiting. The process of Fig. 10 can be modified, for example, by adding, removing or rearranging the steps.
[0176] In operation, referring to Fig. 12, the process of correlating the caller with the recipient using the system described herein includes the steps shown. However, this process is only illustrative and not restrictive. The process of Fig. 12 can be modified, for example, by adding, removing or rearranging the steps.
[0177] In operation, referring to Fig. 13, the process of correlating the caller with the recipient using the system described herein includes the steps shown. However, this process is only illustrative and not restrictive. The process of Fig. 13 can be modified, for example, by adding, removing or rearranging the steps.
[0178] In operation, referring to Fig. 15, the process of correlating the caller with the recipient using the system described herein includes the steps shown. However, this process is only illustrative and not restrictive. The process of Fig. 15 can be modified, for example, by adding, removing or rearranging the steps.
[0179] In some embodiments of the above, an alphanumeric code may be used to identify one or more callers or recipients. The alphanumeric code can be any character from the ASCII set or a combination of multiple characters from the ASCII set. The alphanumeric code may be limited to characters from the alphabet "A" to "Z" or parts thereof, or many characters from the alphabet. In other variants, the alphanumeric code may contain many characters from the alphabet from "A" to "Z" as well as numbers from the range "0" (zero) to "9".
[0180] In other embodiments, a third (or fourth) server may be used to serve address or presence status information. For example, a server that contains dynamic IP or network contact information or dynamic presence status information can be used to provide such information to other servers or devices.
[0181] In addition to communication between a mobile telephone and a computer device, current systems and methods are applicable to communication between two mobile devices, such as two cell phones.
[0182] Status information includes information on network presence (availability) and may imply actual communication with the current and connected device, as well as status information that originates from the consent state set by the user of the device. The consent state may imply the user's desire to answer the call, his desire to communicate, or lack thereof, and may depend on the caller's identity.
[0183] Other variants are within the scope of the invention as defined by the appended claims. For example, due to the nature of the software, the functions described above can be implemented using software, hardware, firmware, wiring, or any combination thereof. Features implementing functions can also be physically deployed in different locations, including their placement in such a way that different parts of one function are implemented in different physical locations.
Iskoot Inc., USA Representative:
EP 1 915 844 B1 Z-7241/10
47 members in 12 offices
Priority claims29
| Document | Office | Kind | Date |
|---|---|---|---|
| 69467405 | United States of America | P | |
| 69467405 | United States of America | P | |
| 70074905 | United States of America | P | |
| 70074905 | United States of America | P | |
| 70604705 | United States of America | P | |
| 70604705 | United States of America | P | |
| 71830505 | United States of America | P | |
| 71830505 | United States of America | P | |
| 74958005 | United States of America | P | |
| 74958005 | United States of America | P | |
| 76290106 | United States of America | P | |
| 76290106 | United States of America | P | |
| 76519806 | United States of America | P | |
| 76519806 | United States of America | P | |
| 43520006 | United States of America | A | |
| 43520006 | United States of America | A | |
| 06760044 | European Patent Office (EPO) | A | |
| 2006019135 | United States of America | W | |
| 2006019135 | United States of America | W | |
| EP20060760044 | – | – | – |
| US20050694674P | – | – | – |
| US20050700749P | – | – | – |
| US20050706047P | – | – | – |
| US20050718305P | – | – | – |
| US20050749580P | – | – | – |
| US20060435200 | – | – | – |
| US20060762901P | – | – | – |
| US20060765198P | – | – | – |
| WO2006US19135 | – | – | – |
Members47
| Document | Office | Kind | |
|---|---|---|---|
| US2006258330A1 | United States of America | A1 | |
| AU2006266426A1 | Australia | A1 | |
| CA2614090A1 | Canada | A1 | |
| WO2007005124A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2007005124A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US2007112964A1 | United States of America | A1 | |
| US2007143397A1 | United States of America | A1 | |
| US2007293207A1 | United States of America | A1 | |
| EP1915844A2 | European Patent Office (EPO) | A2 | |
| WO2008073980A2 | World Intellectual Property Organization (WIPO) | A2 | |
| KR20080058322A | Republic of Korea | A | |
| CN101253746A | China | A | |
| WO2008106509A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2008073980A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2008106509A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP2100431A2 | European Patent Office (EPO) | A2 | |
| EP1915844B1 | European Patent Office (EPO) | B1 | |
| ATE473580T1 | Austria | T1 | |
| DE602006015326D1 | Germany | D1 | |
| ES2347468T3 | Spain | T3 | |
| AU2006266426B2 | Australia | B2 | |
| PL1915844T3This record | Poland | T3 | |
| BRPI0613848A2 | Brazil | A2 | |
| AU2011201143A1 | Australia | A1 | |
| CN102377779A | China | A | |
| AU2011201143B2 | Australia | B2 | |
| US8351419B2 | United States of America | B2 | |
| CN102868722A | China | A | |
| AU2013200033A1 | Australia | A1 | |
| KR20130036356A | Republic of Korea | A | |
| US2013121215A1 | United States of America | A1 | |
| KR101295497B1 | Republic of Korea | B1 | |
| US2014079054A1 | United States of America | A1 | |
| KR20140046079A | Republic of Korea | A | |
| US8756328B2 | United States of America | B2 | |
| US8856359B2 | United States of America | B2 | |
| US2014323103A1 | United States of America | A1 | |
| CN102377779B | China | B | |
| CN104917822A | China | A | |
| KR101555452B1 | Republic of Korea | B1 | |
| US9294514B2 | United States of America | B2 | |
| US2016165057A1 | United States of America | A1 | |
| CN102868722B | China | B | |
| CN101253746B | China | B | |
| US9479604B2 | United States of America | B2 | |
| US9544439B2 | United States of America | B2 | |
| CA2614090C | Canada | C |
Numbers
- Publication, DOCDB
- 1915844
- Publication, EPODOC
- PL1915844T
- Application
- 760044
- Application, DOCDB
- 06760044
- Application, EPODOC
- PL20060760044T
Titles2
- English
- CALLER-CALLEE ASSOCIATION OF A PLURALITY OF NETWORKED DEVICES
- Polish
- Połączenie typu dzwoniący-odbierający wielu urządzeń znajdujących się w sieci
Classification
- CPC, 22
- H04L61/2596
- H04L67/54
- H04L65/1026
- H04L65/103
- H04L65/1036
- H04L65/104
- H04L65/1069
- H04L61/4547
- H04L61/4557
- H04L2101/65
- H04L41/344
- H04L65/1104
- H04M7/0069
- H04L63/08
- H04W84/12
- H04L41/12
- H04L47/10
- H04L67/125
- H04L67/14
- H04L65/1101
- H04M3/02
- H04M7/0075
- IPC, 1
- H04L29 06