mirror of
https://github.com/strukturag/nextcloud-spreed-signaling
synced 2024-06-08 00:42:25 +02:00
Add docs on internal clients.
This commit is contained in:
parent
d56e67387b
commit
1997a8eecb
|
@ -141,6 +141,7 @@ Message format (Client -> Server):
|
|||
"type": "hello",
|
||||
"hello": {
|
||||
"version": "the-protocol-version",
|
||||
"features": ["optional", "list, "of", "client", "feature", "ids"],
|
||||
"auth": {
|
||||
"url": "the-url-to-the-auth-backend",
|
||||
"params": {
|
||||
|
@ -307,6 +308,7 @@ Message format (Client -> Server):
|
|||
"type": "hello",
|
||||
"hello": {
|
||||
"version": "the-protocol-version",
|
||||
"features": ["optional", "list, "of", "client", "feature", "ids"],
|
||||
"auth": {
|
||||
"type": "the-client-type",
|
||||
...other attributes depending on the client type...
|
||||
|
@ -869,6 +871,98 @@ Message format (Server -> Client):
|
|||
}
|
||||
|
||||
|
||||
## Internal clients
|
||||
|
||||
Internal clients can be used by third-party applications to perform tasks that
|
||||
a regular client can not be used. Examples are adding virtual sessions or
|
||||
sending media without a regular client connected. This is used for example by
|
||||
the SIP bridge to publish mixed phone audio and show "virtual" sessions for the
|
||||
individial phone calls.
|
||||
|
||||
See above for details on how to connect as internal client. By default, internal
|
||||
clients have their "inCall" and the "publishing audio" flags set. Virtual
|
||||
sessions have their "inCall" and the "publishing phone" flags set.
|
||||
|
||||
This can be changed by including the client feature flag `internal-incall`
|
||||
which will require the client to set the flags as necessary.
|
||||
|
||||
|
||||
### Add virtual session
|
||||
|
||||
Message format (Client -> Server):
|
||||
|
||||
{
|
||||
"type": "internal",
|
||||
"internal": {
|
||||
"type": "addsession",
|
||||
"addsession": {
|
||||
"sessionid": "the-virtual-sessionid",
|
||||
"roomid": "the-room-id-to-add-the-session",
|
||||
"userid": "optional-user-id",
|
||||
"user": {
|
||||
...additional data of the user...
|
||||
},
|
||||
"flags": "optional-initial-flags",
|
||||
"incall": "optional-initial-incall",
|
||||
"options": {
|
||||
"actorId": "optional-actor-id",
|
||||
"actorType": "optional-actor-type",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
### Update virtual session
|
||||
|
||||
Message format (Client -> Server):
|
||||
|
||||
{
|
||||
"type": "internal",
|
||||
"internal": {
|
||||
"type": "updatesession",
|
||||
"updatesession": {
|
||||
"sessionid": "the-virtual-sessionid",
|
||||
"roomid": "the-room-id-to-update-the-session",
|
||||
"flags": "optional-updated-flags",
|
||||
"incall": "optional-updated-incall"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
### Remove virtual session
|
||||
|
||||
Message format (Client -> Server):
|
||||
|
||||
{
|
||||
"type": "internal",
|
||||
"internal": {
|
||||
"type": "removesession",
|
||||
"removesession": {
|
||||
"sessionid": "the-virtual-sessionid",
|
||||
"roomid": "the-room-id-to-add-the-session",
|
||||
"userid": "optional-user-id"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
### Change inCall flags of internal client
|
||||
|
||||
Message format (Client -> Server):
|
||||
|
||||
{
|
||||
"type": "internal",
|
||||
"internal": {
|
||||
"type": "incall",
|
||||
"incall": {
|
||||
"incall": "the-incall-flags"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Internal signaling server API
|
||||
|
||||
The signaling server provides an internal API that can be called from Nextcloud
|
||||
|
|
Loading…
Reference in a new issue