Patent ID: 9282130
Filing Date: 2016-03-08
CPC Classification: H04L

Claim Text:
1. A method of negotiating media capabilities between a plurality of end point devices in a media-based conference session, the method comprising: receiving, by a server computing device, a first request to join a conference session between a plurality of end point devices, the first request received from a first end point device and comprising a first inbound media flow from the first end point device; receiving, by a server computing device, a second request to join the conference session received from a second end point device and comprising a second inbound media flow from the second end point device; identifying, by the server computing device, each end point device and a network from which each end point device sent the corresponding request using technical attributes of each end point device and of the network that are extracted from signaling data carried on the corresponding inbound media flow; determining, by the server computing device, whether a media negotiation profile associated with each identified end point device exists, the media negotiation profile defining technical capabilities of the corresponding end point device and user media quality preferences of the corresponding end point device; determining, by the server computing device, whether a media negotiation profile associated with each identified network exists, the media negotiation profile defining technical capabilities of the corresponding identified network including bandwidth capacity and media flow quality limitations; determining, by the server computing device, a hosting site of the conference session by querying a media location service using attributes of each inbound media flow, attributes of each end point device, and attributes of the conference session, wherein the server computing device dynamically determines the hosting site when the requests to join are received; dynamically allocating, by the server computing device, one or more resources to support the conference session when the hosting site is determined; connecting, by the server computing device, the inbound media flows from the end point devices to the hosting site; adjusting, by the server computing device, a bitrate of an outbound media flow and a session description of the outbound media flow based upon the technical capabilities and the user media quality preferences in the media negotiation profile associated with the end point device and the technical capabilities of the corresponding identified network; and transmitting, by the server computing device, the outbound media flows to the corresponding end point devices to establish the conference session.