Media Session
Abstract
A first device is disclosed, which includes a processor and a memory in communication with the processor. The memory includes executable instructions that, when executed by the processor, cause the processor to control the first device to perform functions of sending a first message to a second device, the first message including first candidate addresses available for the first device to establish a media session with the second device, the first candidate addresses including a first media server network address allocated from a media relay server group comprising at least one media relay server; receiving a second message from the second device, the second message including second candidate addresses available for the second device to establish the media session with the first device, the second candidate addresses including a second media server network address allocated from the media relay server group; and establishing the media session between the first and second devices using an address pair comprising the first and second media server network addresses. The first device thus reduces a call set up time by establishing a media session using the first and second media server network addresses.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A first device comprising:
a processor; and a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the processor to control the first device to perform functions of:
sending a first message to a second device via a communication network, the first message including a plurality of first candidate addresses available for the first device to establish a media session with the second device, the first candidate addresses including a first media server network address allocated from a media relay server group comprising at least one media relay server;
receiving a second message from the second device via the communication network, the second message including a plurality of second candidate addresses available for the second device to establish the media session with the first device, the second candidate addresses including a second media server network address allocated from the media relay server group; and
establishing the media session between the first and second devices using an address pair comprising the first and second media server network addresses.
2 . The first device of claim 1 , wherein the instructions further include instructions that, when executed by the processor, cause the processor to control the first device to perform functions of:
determining an alternative candidate address pair for the media session based on one of the first candidate addresses and one of the second candidate addresses; evaluating a connectivity of the alternative candidate address pair; and when the connectivity of the alternative candidate address pair is valid, switching the established media session from the address pair to the alternative candidate address pair.
3 . The first device of claim 2 , wherein the instructions further include instructions that, when executed by the processor, cause the processor to control the first device to perform functions of:
receiving a media session instigation signal; and determining the address pair and the alternative candidate address pair in response to the received media session instigation signal.
4 . The first device of claim 2 , wherein the instructions further include instructions that, when executed by the processor, cause the processor to control the first device to perform a function of determining the first media server network address prior to receiving the media session instigation signal.
5 . The first device of claim 2 , wherein, to evaluate a connectivity of the alternative candidate address pair, the instructions further include instructions that, when executed by the processor, cause the processor to control the first device to perform functions of:
determining whether the media session has been established using the address pair; and evaluating a connectivity of the alternative candidate address pair after it is determined that the media session has been established using the address pair.
6 . The first device of claim 1 , wherein, to establish the media session, the instructions further include instructions that, when executed by the processor, cause the processor to control the first device to perform functions of:
transmitting initial media data to the second device via a shared connection between the first and second devices; and detecting whether a bandwidth condition of the shared connection is constrained, wherein the media session is established using the address pair when it is determined that the bandwidth condition of the shared connection is constrained.
7 . The first device of claim 6 , wherein the shared connection includes a first local connection between the first device and a first local network, and to detect whether a bandwidth condition of the shared connection is constrained, the instructions further include instructions that, when executed by the processor, cause the processor to control the first device to perform functions of:
determining a first available bandwidth of the first local network connection; and comparing the first available bandwidth with a first bandwidth threshold.
8 . The first device of claim 7 , wherein the shared connection further includes a second local connection between the second device and a second local network, and to detect whether a bandwidth condition of the shared connection is constrained, the instructions further include instructions that, when executed by the processor, cause the processor to control the first device to perform a function of receiving, from the second device, a bandwidth condition message indicating whether a bandwidth condition of the second local connection is constrained.
9 . The first device of claim 1 , wherein the first candidate addresses further includes at least one of a first host address and second reflective address available for the first device, and the second candidate addresses further includes at least one of a second host address and second reflective address available for the second device.
10 . A method of operating a first device, comprising:
sending a first message to a second device via a communication network, the first message including a plurality of first candidate addresses available for the first device to establish a media session with the second device, the first candidate addresses including a first media server network address allocated from a media relay server group comprising at least one media relay server; receiving a second message from the second device via the communication network, the second message including a plurality of second candidate addresses available for the second device to establish the media session with the first device, the second candidate addresses including a second media server network address allocated from the media relay server group; and establishing the media session between the first and second devices using an address pair comprising the first and second media server network addresses.
11 . The method of claim 10 , further comprising:
determining an alternative candidate address pair for the media session based on one of the first candidate addresses and one of the second candidate addresses; evaluating a connectivity of the alternative candidate address pair; and when the connectivity of the alternative candidate address pair is valid, switching the established media session from the address pair to the alternative candidate address pair.
12 . The method of claim 11 , further comprising:
receiving a media session instigation signal; and determining the address pair and the alternative candidate address pair in response to the received media session instigation signal.
13 . The method of claim 11 , further comprising determining the first media server network address prior to receiving the media session instigation signal.
14 . The method of claim 11 , wherein evaluate a connectivity of the alternative candidate address pair comprises:
determining whether the media session has been established using the address pair; and evaluating a connectivity of the alternative candidate address pair after it is determined that the media session has been established using the address pair.
15 . The method of claim 10 , wherein establishing the media session comprises:
transmitting initial media data to the second device via a shared connection between the first and second devices; and detecting whether a bandwidth condition of the shared connection is constrained, wherein the media session is established using the address pair when it is determined that the bandwidth condition of the shared connection is constrained.
16 . The method of claim 15 , wherein the shared connection includes a first local connection between the first device and a first local network, and detecting whether a bandwidth condition of the shared connection is constrained, the method further comprising:
determining a first available bandwidth of the first local network connection; and comparing the first available bandwidth with a first bandwidth threshold.
17 . The method of claim 16 , wherein the shared connection further includes a second local connection between the second device and a second local network, and detecting whether a bandwidth condition of the shared connection is constrained comprises receiving, from the second device, a bandwidth condition message indicating whether a bandwidth condition of the second local connection is constrained.
18 . The method of claim 10 , wherein the first candidate addresses further includes at least one of a first host address and second reflective address available for the first device, and the second candidate addresses further includes at least one of a second host address and second reflective address available for the second device.
19 . A first device comprising:
means for sending a first message to a second device via a communication network, the first message including a plurality of first candidate addresses available for the first device to establish a media session with the second device, the first candidate addresses including a first media server network address allocated from a media relay server group comprising at least one media relay server; means for receiving a second message from the second device via the communication network, the second message including a plurality of second candidate addresses available for the second device to establish the media session with the first device, the second candidate addresses including a second media server network address allocated from the media relay server group; and means for establishing the media session between the first and second devices using an address pair comprising the first and second media server network addresses.
20 . The first device of claim 19 , further comprising:
means for determining an alternative candidate address pair for the media session based on one of the first candidate addresses and one of the second candidate addresses; mean for evaluating a connectivity of the alternative candidate address pair; and means for switching, when the connectivity of the alternative candidate address pair is valid, the established media session from the address pair to the alternative candidate address pair.Join the waitlist — get patent alerts
Track US2019158545A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.