Claims
- 1. A method for processing audio in a conference call among participants, comprising:
(a) generating a fully mixed audio stream of packets, each packet having a packet header and payload; (b) generating a set of partially mixed audio streams of packets, each packet having a packet header and payload; (c) multicasting each packet in the fully mixed audio stream and the set of partially mixed audio streams; and (d) determining which multicasted packets to forward based on packet header information in the respective packets.
- 2. The method of claim 1, further comprising, prior to said steps (a) and (b):
initiating the conference call among the participants; and storing conference identifier information (CID) and network address information associated with each participant in the initiated conference call.
- 3. The method of claim 2, further comprising:
assigning switched virtual circuits (SVCs) to respective participants in the conference call; wherein said storing step further includes storing said CID and network address information such that said CID and network address information for each participant can be retrieved based on a respective assigned SVC.
- 4. The method of claim 1, further comprising:
monitoring energy in inbound audio streams of the participants; and determining a number of active speakers based on the monitored energy.
- 5. The method of claim 4, wherein said generating steps (a) and (b) generate packet headers having active speaker information based on the determined number of active speakers, and said determining step (d) determines which multicasted packets to forward to participants based on the active speaker information in the respective packet headers.
- 6. The method of claim 5, wherein the active speaker information comprises TAS and IAS fields, and wherein said generating step (a) generates a fully mixed audio stream of packets having packet headers which include TAS and IAS fields, and said generating step (b) generates a set of partially mixed audio streams of packets having packet headers which include TAS and IAS fields.
- 7. The method of claim 6, wherein said determining step (d) determines which multicasted packets to forward to participants based on the information in the TAS and IAS fields in the respective packet headers.
- 8. The method of claim 6, wherein said determining step (d) further comprises for each packet being processed at a SVC the steps of:
obtaining a CID value for the SVC; determining whether the obtained CID value matches any CID value in the TAS field of the packet, and if a match exits, determining whether the obtained CID value matches any CID value in the IAS field of the packet, whereby, the packet is discarded when a match exists between the obtained CID value and any CID value in the TAS field and a match exists between the obtained CID value and any CID value in the IAS field.
- 9. The method of claim 8, further comprising, when a match does not exist between the obtained CID value and any CID value in the TAS field of a packet, comparing the TAS and IAS fields, whereby, when the compared fields are identical the packet can be converted to a network packet, otherwise when the compared fields are not identical the packet can be discarded.
- 10. The method of claim 6, wherein the packet header further includes sequence information, and wherein said generating step (a) generates a fully mixed audio stream of packets having packet headers which include the sequence information, and said generating step (b) generates a set of partially mixed audio streams of packets having packet headers which include the sequence information.
- 11. The method of claim 1, wherein:
said generating step (a) generates a fully mixed audio stream of packets, each packet having a packet header and payload, wherein the payload includes mixed audio from at least three active speakers; and said generating step (b) generates a set of partially mixed audio streams of packets, each packet having a packet header and payload, wherein for each partially mixed audio stream of packets the payload includes mixed audio from the at least three active speakers minus the audio of a respective recipient active speaker.
- 12. The method of claim 1, further comprising:
processing packets determined to be forwarded in said determining step (d) into network packets having network addresses of participants in the conference call; and sending the network packets to the participants.
- 13. The method of claim 1, further comprising mixing audio received over a network from participants in the conference call who are active speakers.
- 14. The method of claim 1, further comprising mixing audio received from an internal audio source and audio received over a network from participants in the conference call who are active speakers.
- 15. A conference bridge that processes audio in a conference call among participants, comprising:
an audio source that generates a fully mixed audio stream of packets and a set of partially mixed audio streams of packets, each packet having a packet header and payload; a switch; and a network interface controller, wherein said switch is coupled between said network interface controller and said audio source and said switch further comprises a multicaster; and wherein said multicaster multicasts each packet in the fully mixed audio stream and the set of partially mixed audio streams to the network interface controller, and said network interface controller determines which multicasted packets to forward based on packet header information in the respective packets.
- 16. The conference bridge of claim 15, further comprising a conference call agent that initiates a conference call among the participants.
- 17. The conference bridge of claim 16, further comprising a storage device that stores conference identifier information (CID) and network address information associated with each participant in the established conference call.
- 18. The conference bridge of claim 17, wherein said storage device comprises a look-up table.
- 19. The conference bridge of claim 17, wherein said network interface controller assigns switched virtual circuits (SVCs) to respective participants in the initiated conference call, and said storage device stores said CID and network address information such that said CID and network address information for each participant can be retrieved based on a respective assigned SVC.
- 20. The conference bridge of claim 15, wherein said audio source monitors energy in inbound audio streams of the participants, and determines a number of active speakers based on the monitored energy.
- 21. The conference bridge of claim 20, wherein said packet headers generated by said audio source have active speaker information based on the determined number of active speakers, and said network interface controller determines which multicasted packets to forward to participants based on the active speaker information in the respective packet headers.
- 22. The conference bridge of claim 21, wherein the active speaker information comprises TAS and IAS fields, and said network interface controller determines which multicasted packets to forward to participants based on the information in said TAS and IAS fields in the respective packet headers.
- 23. The conference bridge of claim 22, wherein said packet headers generated by said audio source further include sequence information.
- 24. The conference bridge of claim 15, wherein said fully mixed audio stream of packets have payloads which include mixed audio from at least three active speakers, and each partially mixed audio stream of packets in said set have payloads which include mixed audio from the at least three active speakers minus the audio of a respective recipient active speaker.
- 25. The conference bridge of claim 15, further comprising:
a packet processor that processes packets determined to be forwarded into network packets having network addresses of participants in the conference call.
- 26. The conference bridge of claim 15, wherein said audio source mixes audio received over a network from participants in the conference call who are active speakers.
- 27. The conference bridge of claim 15, wherein said audio source mixes audio received from an internal audio source and audio received over a network from participants in the conference call who are active speakers.
- 28. A system for processing audio in a conference call among participants, comprising:
(a) means for generating a fully mixed audio stream of packets, each packet having a packet header and payload; (b) means for generating a set of partially mixed audio streams of packets, each packet having a packet header and payload; (c) means for multicasting each packet in the fully mixed audio stream and the set of partially mixed audio streams; and (d) means for determining which multicasted packets to forward based on packet header information in the respective packets.
- 29. The system of claim 28, further comprising:
means for initiating a conference call among the participants; and means for storing conference identifier information (CID) and network address information associated with each participant in the established conference call.
- 30. The system of claim 29, further comprising:
means for assigning switched virtual circuits (SVCs) to respective participants in the established conference call; wherein said storing means comprises means for storing said CID and network address information such that said CID and network address information for each participant can be retrieved based on a respective assigned SVC.
- 31. The system of claim 28, further comprising:
means for monitoring energy in inbound audio streams of the participants; and means for determining a number of active speakers based on the monitored energy.
- 32. The system of claim 31, wherein said generating means (a) and (b) generate packet headers having active speaker information based on the determined number of active speakers, and said determining means (d) determines which multicasted packets to forward to participants based on the active speaker information in the respective packet headers.
- 33. The system of claim 32, wherein the active speaker information comprises TAS and IAS fields, and wherein said generating means (a) generates a fully mixed audio stream of packets having packet headers which include TAS and IAS fields, and said generating means (b) generates a set of partially mixed audio streams of packets having packet headers which include TAS and IAS fields; and said determining means (d) determines which multicasted packets to forward to participants based on the information in the TAS and IAS fields in the respective packet headers.
- 34. The system of claim 33, wherein said determining means (d) further comprises:
means for obtaining a CID value for a SVC; means for determining whether the obtained CID value matches any CID value in the TAS field of a packet being processed at the SVC, and if a match exits, determining whether the obtained CID value matches any CID value in the IAS field of the packet, whereby, the packet is discarded when a match exists between the obtained CID value and any CID value in the TAS field and a match exists between the obtained CID value and any CID value in the IAS field.
- 35. The system of claim 34, further comprising:
means for comparing the TAS and IAS fields when a match does not exist between the obtained CID value and any CID value in the TAS field of a packet, whereby, when the compared fields are identical the packet can be converted to a network packet, otherwise when the compared fields are not identical the packet can be discarded.
- 36. The system of claim 33, wherein said packet headers further include sequence information.
- 37. The system of claim 28, wherein said each payload in said fully mixed audio stream of packets includes mixed audio from at least three active speakers; and each payload in said set of partially mixed audio streams of packets, includes mixed audio from the at least three active speakers minus the audio of a respective recipient active speaker.
- 38. The system of claim 28, further comprising:
means for processing packets determined to be forwarded by said determining means (d) into network packets having network addresses of participants in the conference call.
- 39. The system of claim 28, further comprising means for mixing audio received from an internal audio source and audio received over a network from participants in the conference call who are active speakers.
- 40. A media server for use in a VOIP network, comprising:
a distributed conference bridge that processes audio in a conference call among participants, said distributed conference bridge comprising:
an audio source that generates a fully mixed audio stream of packets and a set of partially mixed audio streams of packets, each packet having a packet header and payload; a switch; and a network interface controller, wherein said switch is coupled between said network interface controller and said audio source and said switch further comprises a multicaster; and wherein said multicaster multicasts each packet in the fully mixed audio stream and the set of partially mixed audio streams to the network interface controller, and said network interface controller determines which multicasted packets to forward based on packet header information in the respective packets.
Parent Case Info
[0001] This application claims the benefit of priority to U.S. non-provisional application Ser. No. 09/893,743 by D. Israel et al., filed on Jun. 29, 2001 (Atty Dkt. No. 2013.0040000), which is incorporated in its entirety herein by reference.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09893743 |
Jun 2001 |
US |
Child |
09930500 |
Aug 2001 |
US |