diff options
author | Joas Schilling <coding@schilljs.com> | 2020-11-30 15:23:13 +0300 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2020-11-30 18:13:27 +0300 |
commit | ae9226c636f876f95408d5f13481a73ab4155061 (patch) | |
tree | 15a42dee76bcec80e6a40121b96c0b3ac7c6ba36 /lib | |
parent | 8078dd8d2741974a23cca9ad3ff66afa492a5f06 (diff) |
Expose the dial-in information to clients
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Controller/SignalingController.php | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/Controller/SignalingController.php b/lib/Controller/SignalingController.php index c6b26c7cf..fc315158f 100644 --- a/lib/Controller/SignalingController.php +++ b/lib/Controller/SignalingController.php @@ -118,10 +118,13 @@ class SignalingController extends OCSController { /** * @PublicPage * + * @param string $apiVersion * @param string $token * @return DataResponse */ - public function getSettings(string $token = ''): DataResponse { + public function getSettings(string $apiVersion, string $token = ''): DataResponse { + $apiV = (int) substr($apiVersion, 1); + try { if ($token !== '') { $room = $this->manager->getRoomForUserByToken($token, $this->userId); @@ -158,7 +161,7 @@ class SignalingController extends OCSController { $signalingMode = $this->talkConfig->getSignalingMode(); $signaling = $this->signalingManager->getSignalingServerLinkForConversation($room); - return new DataResponse([ + $data = [ 'signalingMode' => $signalingMode, 'userId' => $this->userId, 'hideWarning' => $signaling !== '' || $this->talkConfig->getHideSignalingWarning(), @@ -166,7 +169,13 @@ class SignalingController extends OCSController { 'ticket' => $this->talkConfig->getSignalingTicket($this->userId), 'stunservers' => $stun, 'turnservers' => $turn, - ]); + ]; + + if ($apiV >= 2) { + $data['sipDialinInfo'] = $this->talkConfig->isSIPConfigured() ? $this->talkConfig->getDialInInfo() : ''; + } + + return new DataResponse($data); } /** |