The SFU is a server used to relay streaming between the participants of a call to provide better scalability and performance than the current peer-to-peer connections. The required fields have been added in https://github.com/odoo/odoo/pull/138581 * `/mail/static/lib/discuss_sfu` contains the client code that is used by the odoo client to interact with the SFU. From: https://github.com/odoo/sfu/releases/tag/v1.0.0 * The Json Web Token code has been extracted from `web_push` while adding support for the HS256 algorithm, to be used as the authentication method between the SFU and Odoo. * The python code has been updated so that the odoo server requests a channel from the SFU when going above a participant threshold, and swap the participants to a SFU connection afterward. * `rtc_service.js` has been updated to support both peer-to-peer and SFU modes. * The `call_context_menu` has been updated to display information relative to the SFU connection when in SFU mode. task-2765922 closes odoo/odoo#132153 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
23 lines
786 B
Python
23 lines
786 B
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
def get_twilio_credentials(env) -> (str, str):
|
|
"""
|
|
To be overridable if we need to obtain credentials from another source.
|
|
:return: tuple(account_sid: str, auth_token: str)
|
|
"""
|
|
params = env["ir.config_parameter"].sudo()
|
|
account_sid = params.get_param("mail.twilio_account_sid")
|
|
auth_token = params.get_param("mail.twilio_account_token")
|
|
return account_sid, auth_token
|
|
|
|
|
|
def get_sfu_url(env) -> str | None:
|
|
sfu_url = env['ir.config_parameter'].sudo().get_param("mail.sfu_server_url")
|
|
if sfu_url:
|
|
return sfu_url.rstrip("/")
|
|
|
|
|
|
def get_sfu_key(env) -> str | None:
|
|
return env['ir.config_parameter'].sudo().get_param('mail.sfu_server_key')
|