Establishing a multiparty session by sending invitations in parallel
First Claim
1. A computer-readable storage device containing instructions that when executed by a computing system having a memory and a processor cause the computing system to perform a method for controlling a first endpoint to join a first session by a method comprising:
- receiving from a second endpoint an invitation sent via a parallel invitation protocol to establish a dialog that has not yet been established, wherein the second endpoint is configured to,send invitations via the parallel invitation protocol to a plurality of endpoints, wherein each invitation sent via the parallel invitation protocol includes a first field indicating that the invited endpoint must support the parallel invitation protocol in order to accept the invitation,after receiving the invitation sent via the parallel invitation protocol,sending to the second endpoint an acceptance of the invitation, wherein the second endpoint is further configured to,in response to receiving from one of the plurality of endpoints an acceptance of the invitation sent via the parallel invitation protocol,indicate that the endpoint from which the acceptance was received is now a participating endpoint with which a dialog of the multiparty session has been established, andsend to the endpoint from which the acceptance was received an acknowledgement including an indication of participating endpoints with which the second endpoint has already established a dialog of the multiparty session,receiving from the second endpoint acknowledgement indicating other endpoints in the first session, wherein the received acknowledgement includes endpoints in the first session that were not indicated in the received invitation sent via the parallel invitation protocol, andsending to each of the other endpoints in the first session a triggered invitation to establish a dialog of the first session between the first endpoint and the other endpoint, wherein the other endpoints are configured to, in response to receiving the triggered invitation, send to the first endpoint an acceptance of the triggered invitation to establish the dialog of the first session between the first endpoint and the other endpoint.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for establishing a multiparty session with a mesh configuration by sending out invitations to endpoints in parallel is provided. To initiate a session, an initiating endpoint sends invitations in parallel to the endpoints that are to be in the session. When the initiating endpoint receives an acceptance, it then sends to the accepting endpoint an indication of the other endpoints that are currently in the session. When an accepting endpoint receives the indication of the endpoints in the session, the accepting endpoint sends an invitation to establish a dialog to each of the indicated endpoints. When an endpoint that is in the session receives such an invitation, it can automatically accept the invitation because it is already participating in the session.
72 Citations
13 Claims
-
1. A computer-readable storage device containing instructions that when executed by a computing system having a memory and a processor cause the computing system to perform a method for controlling a first endpoint to join a first session by a method comprising:
-
receiving from a second endpoint an invitation sent via a parallel invitation protocol to establish a dialog that has not yet been established, wherein the second endpoint is configured to, send invitations via the parallel invitation protocol to a plurality of endpoints, wherein each invitation sent via the parallel invitation protocol includes a first field indicating that the invited endpoint must support the parallel invitation protocol in order to accept the invitation, after receiving the invitation sent via the parallel invitation protocol, sending to the second endpoint an acceptance of the invitation, wherein the second endpoint is further configured to, in response to receiving from one of the plurality of endpoints an acceptance of the invitation sent via the parallel invitation protocol, indicate that the endpoint from which the acceptance was received is now a participating endpoint with which a dialog of the multiparty session has been established, and send to the endpoint from which the acceptance was received an acknowledgement including an indication of participating endpoints with which the second endpoint has already established a dialog of the multiparty session, receiving from the second endpoint acknowledgement indicating other endpoints in the first session, wherein the received acknowledgement includes endpoints in the first session that were not indicated in the received invitation sent via the parallel invitation protocol, and sending to each of the other endpoints in the first session a triggered invitation to establish a dialog of the first session between the first endpoint and the other endpoint, wherein the other endpoints are configured to, in response to receiving the triggered invitation, send to the first endpoint an acceptance of the triggered invitation to establish the dialog of the first session between the first endpoint and the other endpoint. - View Dependent Claims (2, 3, 4, 8)
-
-
5. A computer system having a processor and a memory at a first endpoint for establishing a multiparty session that has not yet been established, the computer system comprising:
-
an invitation component that when the first endpoint is an initiating endpoint for the multiparty session that has not yet been established, sends in parallel to each of a plurality of second endpoints an invitation to establish a dialog of the multiparty session, wherein each invitation sent in parallel includes a first field indicating that a second endpoint must support a parallel invitation protocol in order to accept the invitation and a second field indicating that the first endpoint is a roster-manager of the multiparty session, and in response to receiving from a second endpoint an acceptance of the invitation to establish the dialog of the multiparty session, indicates that the second endpoint is now a participating endpoint with which a dialog of the multiparty session has been established, and sends to the second endpoint an acknowledgement including an indication of participating endpoints with which a dialog of the multiparty session has already been established between the initiating endpoint and the participating endpoint; and an acceptance component that when the first endpoint is not an initiating endpoint, receives from the initiating endpoint of the multiparty session an invitation to establish a dialog of the multiparty session with the initiating endpoint of the multiparty session, sends to the initiating endpoint an acceptance, receives from the initiating endpoint an acknowledgement indicating participating endpoints in the multiparty session so that the first endpoint can establish dialogs with the participating endpoints in the multiparty session, wherein the acknowledgement indicates endpoints in the first session that were not indicated in the received invitation, and sends a triggered invite to each of the participating endpoints in the multiparty session for which a dialog of the multiparty session has not already been established between the first endpoint and the participating endpoint, the triggered invite being an invitation to establish a dialog of the multiparty session between the first endpoint and a participating endpoint, and when the first endpoint receives from a participating endpoint a triggered invite to establish a dialog of the multiparty session between the first endpoint and the participating endpoint, sends to the participating endpoint an acceptance to establish the dialog of the multiparty session between the first endpoint and the participating endpoint; and a component that, in response to determining that a roster-manager has left the multiparty session, sends to other endpoints in the multiparty session a request that the first endpoint be the roster-manager of the multiparty session wherein the components are stored as instructions in the memory for execution by the processor. - View Dependent Claims (6, 7)
-
-
9. A method, performed by a first endpoint having a memory and a processor, comprising:
-
in response to receiving a request to initiate a first session, sending invitations via a parallel invitation protocol to a plurality of endpoints, wherein each invitation sent via the parallel invitation protocol includes a first field indicating that the invited endpoint must support the parallel invitation protocol in order to accept the invitation, and in response to receiving, from one of the plurality of endpoints, an acceptance of the invitation sent via the parallel invitation protocol, indicating that the endpoint from which the acceptance was received is now a participating endpoint with which a dialog of the first session has been established, and sending to the endpoint from which the acceptance was received an acknowledgement including an indication of participating endpoints with which the first endpoint has already established a dialog of the first session; and in response to receiving from a second endpoint an invitation sent via a-the parallel invitation protocol to establish a dialog of a second session, with a processor, sending to the second endpoint an acceptance of the received invitations, receiving from the second endpoint an indication of the other endpoints in the second session, wherein the received indication includes endpoints in the second session that were not indicated in the received invitation sent via the parallel invitation protocol, and sending to each of the other endpoints in the second session a triggered invitation to establish a dialog of the second session between the first endpoint and the other endpoint, wherein the other endpoints are configured to, in response to receiving the triggered invitation, send to the first endpoint an acceptance of the triggered invitation to establish the dialog of the second session between the first endpoint and the other endpoint. - View Dependent Claims (10, 11, 12, 13)
-
Specification