WebRTC Clients
This describes the web services that relate to Aculab Cloud WebRTC Clients.
WebRTC clients can use the WebRTC Interface
to register to receive calls from Aculab Cloud applications or other clients, and to place calls to other WebRTC clients.
Enabling incoming calls and placing calls to other clients requires time-limited tokens.
The web services here provide the ability to generate these tokens and to list those clients that are currently registered for calls.
Note
This is a low level API. For information on higher level APIs see the Web Services Language Wrappers
Authorisation
This API uses basic authentication, using your cloud account username and API Access Key.
| Username | : cloudID/username (e.g. 1-2-0/bob@example.com) |
| Password | : API Access Key |
WebRTC Generate Token
This generates a token to allow a WebRTC client to register for incoming calls or place calls to other WebRTC clients.
Note
Note that developer accounts can only generated a limited number of tokens per month. See Account Types for full details.
Request
| URL | : https://ws-[cloudID].aculabcloud.net/ |
| Methods | : GET, POST |
| Parameter | Value | Description |
|---|---|---|
| client_id | required | The client id of the WebRTC client that will use the token. This is the same as the clientId used when creating the WebRTC client. |
| ttl | optional | 3600 |
| enable_incoming | optional | true |
| call_client | optional | The client id of a WebRTC client that can be called. The last character can be a '' wildcard in which case it matches any client whose id starts with the string. Just a '' which matches all clients. Multiple identifiers can be specified by either a comma separated list or by repeating this parameter. If no value is given the token cannot be used for calling other clients. |
Response
A JSON object with the following parameter:
| Parameter | Value | Description |
|---|---|---|
| token | string | the generated token. |
Example
https://ws-[cloudID].aculabcloud.net/webrtc_generate_token?client_id=myClientId&ttl=1200
{
"token": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ik45dHZUcGhxX2ZKRjdrcEFZZ1c4aWRQVU1GZnE5MHFNTGRjWlpjSk81ckEiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiIwLTAtMCIsImV4cCI6MTU4Mzg0MzYwNywiaWF0IjoxNTgzODQwMDA3LCJpc3MiOiJmZzhjZTl0c3pzeDNrazB4aXFsaHEyd3BzIiwibmJmIjoxNTgzODQwMDA3LCJzY29wZSI6WyJ3ZWJydGNjbGllbnQiXSwic3ViIjoibXlDbGllbnRJZCJ9.LdzXDXy0eeNYKCyAoGcYqMSS11aSeBiGQFCU-qlBGpDxM1KqMwG3mZBUZ68At27q4zEU-vwRuy1_3imcKfX2LXwkFRL5gO-fPxI2RBuOU9PWMHnwRgpQHGT8Fr8ETBiEqhP-KpBkXj3wUzTK3zeyq9_dWqXvsfB0VVObgs5QZUk"
}
WebRTC Registered Clients
This returns a list of clients that are currently registered for calls.
Request
| URL | : https://ws-[cloudID].aculabcloud.net/ |
| Methods | : GET, POST |
Response
A JSON array of objects describing registered clients. The objects have the following parameters:
| Parameter | Value | Description |
|---|---|---|
| client_id | string | the client id used to register the client. |
| last_modified | string | the time, in the format YYYY-MM-DD_hh:mm:ss, when the registration was last modified. |
| expires | string | the time, in the format YYYY-MM-DD_hh:mm:ss, when the registration will expire. |
Example
https://ws-[cloudID].aculabcloud.net/webrtc_registered_clients
[
{
"client_id": "myClientId",
"last_modified": "2020-03-10_11:35:33",
"expires": "2020-03-10_11:55:33"
}
]