Scalable moderated audio conferencing for multicast and unicast endpoints and gateways
First Claim
1. A method for providing a conference call, comprising:
- establishing, by a conference server comprising hardware, a set of bidirectional first class streams for a set of first class endpoints, a bidirectional first class stream established for a first class endpoint;
establishing a set of second class streams for a set of second class endpoints, a second class stream established for a second class endpoint;
mixing the set of bidirectional first class streams to generate a plurality of mixed streams;
broadcasting one or more of the mixed streams to the set of second class endpoints;
determining that a particular second class endpoint has a right to have its stream included in the mixed streams;
mapping the second class stream for the particular second class endpoint to a bidirectional second class stream for the particular second class endpoint; and
mixing the bidirectional second class stream and the set of bidirectional first class streams to generate a plurality of next mixed streams.
1 Assignment
0 Petitions
Accused Products
Abstract
Providing a conference call includes establishing a bidirectional first class stream for each of a set of first class endpoints. A second class stream is established for each of a set of second class endpoints. Mixed streams are generated using the bidirectional first class streams, and one or more mixed streams are broadcasted to the set of second class endpoints. A particular second class endpoint is determined to have a right to have its stream included in the mixed streams. The second class stream for the particular second class endpoint is mapped to a bidirectional second class stream for the particular second class endpoint. Next mixed streams are generated using the bidirectional second class stream.
70 Citations
32 Claims
-
1. A method for providing a conference call, comprising:
-
establishing, by a conference server comprising hardware, a set of bidirectional first class streams for a set of first class endpoints, a bidirectional first class stream established for a first class endpoint; establishing a set of second class streams for a set of second class endpoints, a second class stream established for a second class endpoint; mixing the set of bidirectional first class streams to generate a plurality of mixed streams; broadcasting one or more of the mixed streams to the set of second class endpoints; determining that a particular second class endpoint has a right to have its stream included in the mixed streams; mapping the second class stream for the particular second class endpoint to a bidirectional second class stream for the particular second class endpoint; and mixing the bidirectional second class stream and the set of bidirectional first class streams to generate a plurality of next mixed streams. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for providing a conference call, comprising:
-
a conference server operable to; establish a set of bidirectional first class streams for a set of first class endpoints, a bidirectional first class stream established for a first class endpoint; establish a set of second class streams for a set of second class endpoints, a second class stream established for a second class endpoint; mix the set of bidirectional first class streams to generate a plurality of mixed streams; broadcast one or more of the mixed streams to the set of second class endpoints; and determine that a particular second class endpoint has a right to have its stream included in the mixed streams; and a media switch coupled to the conference server and operable to map the second class stream for the particular second class endpoint to a bidirectional second class stream for the particular second class endpoint, the conference server further operable to mix the bidirectional second class stream and the set of bidirectional first class streams to generate a plurality of next mixed streams. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A memory storing instructions for providing a conference call, the instructions when executed by a processor operable to:
-
establish a set of bidirectional first class streams for a set of first class endpoints, a bidirectional first class stream established for a first class endpoint; establish a set of second class streams for a set of second class endpoints, a second class stream established for a second class endpoint; mix the set of bidirectional first class streams to generate a plurality of mixed streams; broadcast one or more of the mixed streams to the set of second class endpoints; determine that a particular second class endpoint has a right to have its stream included in the mixed streams; map the second class stream for the particular second class endpoint to a bidirectional second class stream for the particular second class endpoint; and mix the bidirectional second class stream and the set of bidirectional first class streams to generate a plurality of next mixed streams. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A system for providing a conference call, comprising:
-
means for establishing a set of bidirectional first class streams for a set of first class endpoints, a bidirectional first class stream established for a first class endpoint; means for establishing a set of second class streams for a set of second class endpoints, a second class stream established for a second class endpoint; means for mixing the set of bidirectional first class streams to generate a plurality of mixed streams; means for broadcasting one or more of the mixed streams to the set of second class endpoints; means for determining that a particular second class endpoint has a right to have its stream included in the mixed streams; means for mapping the second class stream for the particular second class endpoint to a bidirectional second class stream for the particular second class endpoint; and means for mixing the bidirectional second class stream and the set of bidirectional first class streams to generate a plurality of next mixed streams.
-
-
23. A method for providing a conference call, comprising:
-
establishing, by a conference server comprising hardware, a set of bidirectional first class streams for a set of first class endpoints, a bidirectional first class stream established for a first class endpoint, a bidirectional first class stream for a first class endpoint further comprising a bidirectional unicast stream between the first class endpoint and a conference server; establishing a set of second class streams for a set of second class endpoints, a second class stream established for a second class endpoint, a second class stream for a second class endpoint further comprises a unicast stream and a multicast stream, the unicast stream being between the second class endpoint and a media switch, the multicast stream being between the media switch and a conference server; mixing the set of bidirectional first class streams to generate a plurality of mixed streams; broadcasting one or more of the mixed streams to the set of second class endpoints; determining that a particular second class endpoint has a right to have its stream included in the mixed streams, wherein determining that the particular second class endpoint has the right further comprises; receiving a plurality of requests for the right from a plurality of second class endpoints; selecting the particular second class endpoint from the plurality of second class endpoints according to a conference policy; and granting the request from the particular second class endpoint; mapping the second class stream for the particular second class endpoint to a bidirectional second class stream for the particular second class endpoint, a bidirectional second class stream for the second class endpoint further comprises the unicast stream and another bidirectional unicast stream, the bidirectional unicast stream being between the media switch and the conference server, wherein mapping the second class stream for the particular second class endpoint to the bidirectional second class stream for the particular second class endpoint further comprises; determining a time stamp of a packet of the second class stream; determining a time stamp of a packet of the bidirectional second class stream; and mapping the streams in accordance with the time stamps; mixing the bidirectional second class stream and the set of bidirectional first class streams to generate a plurality of next mixed streams; detecting that the right has been terminated; and mapping the bidirectional second class stream for the particular second class endpoint to the second class stream for the particular second class endpoint.
-
-
24. A conference server for providing a conference call, comprising:
-
a memory operable to store data; and a processor coupled to the memory and operable to; establish a set of bidirectional first class streams for a set of first class endpoints, a bidirectional first class stream established for a first class endpoint; establish a set of second class streams for a set of second class endpoints, a second class stream established for a second class endpoint; mix the set of bidirectional first class streams to generate a plurality of mixed streams; broadcast one or more of the mixed streams to the set of second class endpoints; and determine that a particular second class endpoint has a right to have its stream included in the mixed streams; initiate mapping of the second class stream for the particular second class endpoint to a bidirectional second class stream for the particular second class endpoint; and mix the bidirectional second class stream and the set of bidirectional first class streams to generate a plurality of next mixed streams. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A media switch for providing a conference call, comprising:
-
a memory operable to store data; and a processor coupled to the memory and operable to; enable communication with a set of second class endpoints using a set of second class streams, a second class stream associated with a second class endpoint, the set of second class endpoints have a lower priority than a set of first class endpoints, the set of first class endpoints associated with a set of first class streams; establish that a particular second class endpoint has a right to have its stream included in the mixed streams; and map the second class stream for the particular second class endpoint to a bidirectional second class stream for the particular second class endpoint. - View Dependent Claims (30, 31, 32)
-
Specification