System and method for a reverse invitation in a hybrid peer-to-peer environment
First Claim
Patent Images
1. A method for a reverse invitation comprising:
- performing, by a first endpoint, an authentication process with an access server in an Internet Protocol (IP) hybrid peer-to-peer network;
receiving, by the first endpoint, a profile from the access server in response to the authentication process, wherein the profile lists a plurality of buddy relationships with buddy endpoints of the first endpoint and a status of each buddy endpoint indicating whether the buddy endpoint is online or offline at the time the profile is received by the first endpoint, wherein the profile further contains an address of each buddy endpoint that has a status of online;
receiving, by the first endpoint, an inbound call from a second endpoint, wherein the inbound call is received via one of a cellular network and a public switched telephone network;
determining, by the first endpoint, whether the second endpoint is an endpoint configured to operate within the peer-to-peer network;
determining, by the first endpoint, whether the first endpoint has a buddy relationship with the second endpoint based on the profile if the second endpoint is an endpoint configured to operate within the peer-to-peer network, wherein the first endpoint cannot establish a peer-to-peer communication session via the peer-to-peer network with the second endpoint unless the first and second endpoints have a buddy relationship because the buddy relationship is needed to provide permission by the second endpoint for the first endpoint to establish the peer-to-peer communication session;
attempting to establish, by the first endpoint, a temporary buddy relationship with the second endpoint that will last only for the duration of the call if the second endpoint is an endpoint configured to operate within the peer-to-peer network and no buddy relationship exists between the first and second endpoints, wherein establishing the temporary buddy relationship includes sending an information request message to the access server of the peer-to-peer network and receiving the address of the second endpoint from the access server, wherein the address of the second endpoint is obtained from the access server by the first endpoint in order to establish the temporary buddy relationship;
continuing, by the first endpoint, the inbound call on the one of the cellular network and the public switched telephone network on which the inbound call was received if the second endpoint is not an endpoint configured to operate within the peer-to-peer network or if the temporary buddy request is denied;
sending, by the first endpoint, an invitation message to the second endpoint via the peer-to-peer network in response to the inbound call if the buddy relationship exists between the first endpoint and the second endpoint or if the temporary buddy relationship is established, wherein the invitation message requests that the second endpoint establish a peer-to-peer communication session with the first endpoint via the peer-to-peer network;
determining, by the first endpoint, whether an acknowledgement message has been received from the second endpoint in response to the invitation message;
continuing, by the first endpoint, the inbound call with the second endpoint on the one of the cellular network and the public switched telephone network on which the inbound call was received if the acknowledgement message has not been received by the first endpoint;
establishing, by the first endpoint, the peer-to-peer communication session with the second endpoint if the acknowledgement message has been received by the first endpoint; and
releasing, by the first endpoint, resources of the first endpoint reserved for the inbound call on the one of the cellular network and the public switched telephone network if the peer-to-peer communication session is established.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved system and method are disclosed for peer-to-peer communications. In one example, the method enables an endpoint to send a reverse invitation in response to an incoming call. The reverse invitation may be used to set up an alternate communication session rather than maintaining the incoming call.
279 Citations
17 Claims
-
1. A method for a reverse invitation comprising:
-
performing, by a first endpoint, an authentication process with an access server in an Internet Protocol (IP) hybrid peer-to-peer network; receiving, by the first endpoint, a profile from the access server in response to the authentication process, wherein the profile lists a plurality of buddy relationships with buddy endpoints of the first endpoint and a status of each buddy endpoint indicating whether the buddy endpoint is online or offline at the time the profile is received by the first endpoint, wherein the profile further contains an address of each buddy endpoint that has a status of online; receiving, by the first endpoint, an inbound call from a second endpoint, wherein the inbound call is received via one of a cellular network and a public switched telephone network; determining, by the first endpoint, whether the second endpoint is an endpoint configured to operate within the peer-to-peer network; determining, by the first endpoint, whether the first endpoint has a buddy relationship with the second endpoint based on the profile if the second endpoint is an endpoint configured to operate within the peer-to-peer network, wherein the first endpoint cannot establish a peer-to-peer communication session via the peer-to-peer network with the second endpoint unless the first and second endpoints have a buddy relationship because the buddy relationship is needed to provide permission by the second endpoint for the first endpoint to establish the peer-to-peer communication session; attempting to establish, by the first endpoint, a temporary buddy relationship with the second endpoint that will last only for the duration of the call if the second endpoint is an endpoint configured to operate within the peer-to-peer network and no buddy relationship exists between the first and second endpoints, wherein establishing the temporary buddy relationship includes sending an information request message to the access server of the peer-to-peer network and receiving the address of the second endpoint from the access server, wherein the address of the second endpoint is obtained from the access server by the first endpoint in order to establish the temporary buddy relationship; continuing, by the first endpoint, the inbound call on the one of the cellular network and the public switched telephone network on which the inbound call was received if the second endpoint is not an endpoint configured to operate within the peer-to-peer network or if the temporary buddy request is denied; sending, by the first endpoint, an invitation message to the second endpoint via the peer-to-peer network in response to the inbound call if the buddy relationship exists between the first endpoint and the second endpoint or if the temporary buddy relationship is established, wherein the invitation message requests that the second endpoint establish a peer-to-peer communication session with the first endpoint via the peer-to-peer network; determining, by the first endpoint, whether an acknowledgement message has been received from the second endpoint in response to the invitation message; continuing, by the first endpoint, the inbound call with the second endpoint on the one of the cellular network and the public switched telephone network on which the inbound call was received if the acknowledgement message has not been received by the first endpoint; establishing, by the first endpoint, the peer-to-peer communication session with the second endpoint if the acknowledgement message has been received by the first endpoint; and releasing, by the first endpoint, resources of the first endpoint reserved for the inbound call on the one of the cellular network and the public switched telephone network if the peer-to-peer communication session is established. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An endpoint comprising:
-
a network interface configured to send and receive communications via at least first and second networks, wherein the first network is one of a cellular network and a public switched telephone network and the second network is an internet protocol (IP) based peer-to-peer network; a processor coupled to the network interface; and a memory coupled to the processor, the memory having a plurality of instructions stored thereon for execution by the processor, the instructions including instructions for; receiving an inbound call from a calling endpoint via the first network; determining whether the calling endpoint is accessible via the second network; if the calling endpoint is accessible via the second network, determining whether a buddy relationship exists with the calling endpoint based on a profile obtained from an access server when authenticating with the second network, wherein a peer-to-peer communication session cannot be established via the second network with the calling endpoint unless a buddy relationship exists because the buddy relationship is needed to provide permission by the calling endpoint for the establishment of the peer-to-peer communication session; attempting to establish a temporary buddy relationship for only the duration of the peer-to-peer communication session with the calling endpoint if no buddy relationship exists and if the calling endpoint is accessible via the second network, wherein attempting to establish the temporary buddy relationship includes sending an information request message to the access server; receiving address information of the calling endpoint from the access server; sending a request message for the buddy relationship to the calling endpoint via the second network based on the address information obtained from the access server; and determining whether an affirmative response to the request message has been received; continuing the inbound call on the first network on which the inbound call was received if the calling endpoint is not is accessible via the second network, if no buddy relationship exists, or if the temporary buddy request is denied; sending an invitation message to the calling endpoint via the second network in response to the inbound call if the buddy relationship exists or if an affirmative response to the request message is received, wherein the invitation message requests that the calling endpoint establish a peer-to-peer communication session via the second network; establishing the peer-to-peer communication session with the calling endpoint if the invitation message is accepted; releasing resources reserved for the inbound call on the first network if the peer-to-peer communication session is established; and continuing the inbound call on the first network if the invitation message is rejected. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification