Communication system and method
Abstract
There is provided a packet-based communication system for conducting voice or video calls over a packet-based network. A client application on a first terminal is configured to determine an availability of one or more other, second user terminals installed with other instances of the client application, and to present a near-end user with an option to select one of said second user terminals for use by the near-end user in conjunction with the first user terminal when conducting a voice or video call with a far-end user via the client instances and packet-based communication system; thereby enabling the voice or video call to be conducted using the second terminal to consume or generate at least one stream of the call whilst the first user terminal concurrently generates or consumes at least another stream of the call or controls the call.
Claims
exact text as granted — not AI-modified1 .- 18 . (canceled)
19 . A method for participating in a communication session having multiple streams between a first near-end terminal and a far-end terminal, the method comprising:
receiving, by a first instance of a client application executing on the first near-end terminal, information identifying a second near-end terminal executing a second instance of the client application, the information including one or more capabilities of the second near-end terminal; selecting the second near-end terminal to generate or consume a first stream of the multiple streams of the communication session based on the one or more capabilities of the second near-end terminal; and generating control signals for the second instance of the client application executing on the second near-end terminal to cause the second near-end terminal to generate or consume the first stream of the communication session.
20 . The method of claim 19 , further comprising generating or consuming a second stream of the multiple streams of the communication session using the first instance of the client application executing on the first near-end terminal.
21 . The method of claim 19 , further comprising:
receiving, by the first instance of the client application, information identifying a third near-end terminal executing a third instance of the client application, the information including one or more capabilities of the third near-end terminal; selecting the third near-end terminal to generate or consume a second stream of the multiple streams of the communication session based on the one or more capabilities of the third near-end terminal; and generating, by the first instance of the client application, control signals for the third instance of the client application executing on the third near-end terminal to cause the third near-end terminal to generate or consume the second stream of the multiple streams of the communication session.
22 . The method of claim 19 , wherein receiving the information identifying the second near-end terminal includes:
generating, by the first instance of the client application, a request for information identifying other near-end terminals executing respective instances of the client application; and receiving the information identifying the second near-end terminal in response to the request.
23 . The method of claim 22 , wherein generating the request for the other near-end terminals executing respective instances of the client application includes generating the request to be transmitted to a server coupled to the first and second near-end terminals.
24 . The method of claim 22 , wherein generating the request for other near-end terminals executing respective instances of the client application includes generating the request for transmission through a local-area network coupled to the first and second near-end terminals.
25 . The method of claim 22 , wherein generating the request for other near-end terminals executing respective instances of the client application includes generating the request for transmission through a personal area network coupled to the first and second near-end terminals.
26 . The method of claim 22 , wherein generating the request for other near-end terminals executing respective instances of the client application includes generating a request for the other near-end terminals that are in locations proximate to a location of the first near-end terminal.
27 . The method of claim 19 , wherein the first and second streams include respective first and second media streams and the one or more capabilities of the second near-end terminal include information identifying a type of media stream compatible with the first media stream.
28 . The method of claim 27 , wherein the one or more capabilities of the second near-end terminal include a measure of quality of the second near-end terminal for generating or consuming the type of media stream compatible with the first media stream.
29 . Apparatus for use in a first near-end terminal, the apparatus comprising:
an interface to a communication channel; a processing apparatus coupled to the interface; a memory coupled to the processing apparatus, the memory including a first instance of a client application which, when executed by the processing apparatus configures the processing apparatus to: receive, via the interface, information identifying a second near-end terminal executing a second instance of the client application, the information including one or more capabilities of the second near-end terminal; select the second near-end terminal to generate or consume a first stream of multiple streams of a communication session based on the one or more capabilities of the second near-end terminal; and generate control signals for the second instance of the client application executing on the second near-end terminal to cause the second near-end terminal to generate or consume the first stream of the communication session.
30 . The apparatus of claim 29 , wherein the first instance of the client application further configures the processing apparatus to generate or consume a second stream of the multiple streams of the communication session.
31 . The apparatus of claim 29 , wherein the first instance of the client application further configures the processing apparatus to:
receive information identifying a third near-end terminal executing a third instance of the client application, the information including one or more capabilities of the third near-end terminal; select the third near-end terminal to generate or consume a second stream of the multiple streams of the communication session based on the one or more capabilities of the third near-end terminal; and generate control signals for the third instance of the client application executing on the third near-end terminal to cause the third near-end terminal to generate or consume the second stream of the multiple streams of the communication session.
32 . The apparatus of claim 29 , wherein the first instance of the client application further configures the processing apparatus to:
send, via the interface, a request for information identifying other near-end terminals executing respective instances of the client application; and receive, via the interface, the information identifying the second near-end terminal in response to the request.
33 . The apparatus of claim 32 , wherein the first instance of the client application further configures the processing apparatus to send the request for other near-end terminals executing respective instances of the client application includes generating the request for the other near-end terminals that are in locations proximate to a location of the first near-end terminal.
34 . The apparatus of claim 29 , wherein the first and second streams include respective first and second media streams and the one or more capabilities of the second near-end terminal include information identifying a type of media stream compatible with the first media stream.
35 . A computer program product comprising code embodied on a computer-readable storage device and configured so as when executed on a first near-end terminal to perform operations comprising:
receiving information identifying a second near-end terminal executing a second instance of the client application, the information including one or more capabilities of the second near-end terminal; selecting the second near-end terminal to generate or consume a first stream of multiple streams of a communication session based on the one or more capabilities of the second near-end terminal; and generating control signals for the second instance of the client application executing on the second near-end terminal to cause the second near-end terminal to generate or consume the first stream of the communication session.
36 . The computer program product of claim 35 , wherein the operations further comprise generating or consuming a second stream of the multiple streams of the communication session.
37 . The computer program product of claim 35 , wherein the operations further comprise:
receiving information identifying a third near-end terminal executing a third instance of the client application, the information including one or more capabilities of the third near-end terminal; selecting the third near-end terminal to generate or consume a second stream of the multiple streams of the communication session based on the one or more capabilities of the third near-end terminal; and generating control signals for the third instance of the client application executing on the third near-end terminal to cause the third near-end terminal to generate or consume the second stream of the multiple streams of the communication session.
38 . The computer program product of claim 35 , wherein the operations further comprise:
sending a request for information identifying other near-end terminals executing respective instances of the client application; and receiving the information identifying the second near-end terminal in response to the request.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.