Skip to content
Snippets Groups Projects
voip.rs 787 B
Newer Older
use crate::{database::DatabaseGuard, ConduitResult};
use ruma::api::client::r0::voip::get_turn_server_info;
use std::time::Duration;

#[cfg(feature = "conduit_bin")]
use rocket::get;

/// # `GET /_matrix/client/r0/voip/turnServer`
///
/// TODO: Returns information about the recommended turn server.
#[cfg_attr(feature = "conduit_bin", get("/_matrix/client/r0/voip/turnServer"))]
#[tracing::instrument(skip(db))]
pub async fn turn_server_route(db: DatabaseGuard) -> ConduitResult<get_turn_server_info::Response> {
    Ok(get_turn_server_info::Response {
        username: db.globals.turn_username().clone(),
        password: db.globals.turn_password().clone(),
        uris: db.globals.turn_uris().to_vec(),
        ttl: Duration::from_secs(db.globals.turn_ttl()),