Ring Daemon 16.0.0
Loading...
Searching...
No Matches
jami::JamiAccountConfig Struct Reference

#include <jamiaccount_config.h>

Inheritance diagram for jami::JamiAccountConfig:
Inheritance graph
Collaboration diagram for jami::JamiAccountConfig:
Collaboration graph

Classes

struct  Credentials
 

Public Member Functions

void fromMap (const std::map< std::string, std::string > &) override
 
 JamiAccountConfig (const std::string &id={}, const std::filesystem::path &path={})
 
void serialize (YAML::Emitter &out) const override
 
std::map< std::string, std::string > toMap () const override
 
void unserialize (const YAML::Node &node) override
 
- Public Member Functions inherited from jami::SipAccountBaseConfig
void fromMap (const std::map< std::string, std::string > &) override
 
void serializeDiff (YAML::Emitter &out, const SipAccountBaseConfig &def) const
 
 SipAccountBaseConfig (const std::string &type, const std::string &id, const std::filesystem::path &path)
 
std::map< std::string, std::string > toMap () const override
 
void unserialize (const YAML::Node &node) override
 
- Public Member Functions inherited from jami::AccountConfig
 AccountConfig (const std::string &type_, const std::string &id_, const std::filesystem::path &path_={})
 
void serializeDiff (YAML::Emitter &out, const AccountConfig &def) const
 
- Public Member Functions inherited from jami::Serializable
virtual ~Serializable ()
 

Public Attributes

bool accountPeerDiscovery {false}
 
bool accountPublish {false}
 
bool allowPeersFromContact {true}
 
bool allowPeersFromHistory {true}
 
bool allowPeersFromTrusted {true}
 
bool allowPublicIncoming {true}
 
std::string archive_url
 
bool archiveHasPassword {true}
 
std::string archivePath {"archive.gz"}
 
std::string bootstrapListUrl {"https://config.jami.net/bootstrapList"}
 
struct jami::JamiAccountConfig::Credentials credentials
 
std::string deviceName {}
 
bool dhtPeerDiscovery {false}
 
uint16_t dhtPort {0}
 
bool dhtPublicInCalls {true}
 
std::string managerUri {}
 
std::string managerUsername {}
 
std::string nameServer {}
 
bool proxyEnabled {false}
 
bool proxyListEnabled {true}
 
std::string proxyListUrl {"https://config.jami.net/proxyList"}
 
std::string proxyServer {"dhtproxy.jami.net:[80-95]"}
 
std::string receipt {}
 
std::vector< uint8_treceiptSignature {}
 
std::string registeredName {}
 
- Public Attributes inherited from jami::SipAccountBaseConfig
std::pair< uint16_t, uint16_taudioPortRange {16384, 32766}
 
std::string dtmfType {OVERRTP_STR}
 
std::string interface {"default"}
 interface name on which this account is bound
 
std::string publishedIp
 
bool publishedSameasLocal {true}
 Flag which determine if localIpAddress_ or publishedIpAddress_ is used in sip headers.
 
std::string tlsCaListFile
 
std::string tlsCertificateFile
 
std::string tlsPassword
 
std::string tlsPrivateKeyFile
 
bool turnEnabled {false}
 Determine if TURN public address resolution is required to register this account.
 
std::string turnServer
 The TURN server hostname (optional), used to provide the public IP address in case the softphone stay behind a NAT.
 
std::string turnServerPwd
 
std::string turnServerRealm
 
std::string turnServerUserName
 
std::pair< uint16_t, uint16_tvideoPortRange {49152, (65536) -2}
 Port range for video RTP ports.
 
- Public Attributes inherited from jami::AccountConfig
int activeCallLimit {-1}
 The number of concurrent calls for the account -1: Unlimited 0: Do not disturb 1: Single call +: Multi line.
 
std::vector< unsignedactiveCodecs {}
 
std::string alias {}
 A user-defined name for this account.
 
bool allModeratorsEnabled {true}
 
bool autoAnswerEnabled {false}
 If true, automatically answer calls to this account.
 
std::string customUserAgent {}
 User-agent used for registration.
 
std::set< std::string > defaultModerators {}
 
bool denySecondCallEnabled {false}
 If true, automatically deny new calls when already in one call to this account.
 
std::string deviceKey {}
 Device push notification token.
 
std::string displayName {}
 Display name when calling.
 
bool enabled {true}
 True if the account is enabled.
 
std::string hostname {}
 SIP hostname (SIP account) or DHT bootstrap nodes (Jami account)
 
const std::string id
 Account id.
 
bool isRendezVous {false}
 If true mix calls into a conference.
 
bool localModeratorsEnabled {true}
 
std::string mailbox {}
 Account mail box.
 
std::string notificationTopic {}
 Push notification topic.
 
const std::filesystem::path path
 Path where the configuration file is stored.
 
std::string platform {}
 Device push notification platform.
 
bool ringtoneEnabled {true}
 Play ringtone when receiving a call.
 
std::string ringtonePath {DEFAULT_RINGTONE_PATH}
 Ringtone file used for this account.
 
bool sendComposing {true}
 If true, send composing status (and emit to the client)
 
bool sendReadReceipt {true}
 If true, send displayed status (and emit to the client)
 
const std::string type
 Account type.
 
std::string uiCustomization {}
 information about the customization of ui
 
bool upnpEnabled {true}
 UPnP IGD controller and the mutex to access it.
 
std::string username {}
 
bool videoEnabled {true}
 Allows user to temporarily disable video calling.
 

Detailed Description

Definition at line 28 of file jamiaccount_config.h.

Constructor & Destructor Documentation

◆ JamiAccountConfig()

jami::JamiAccountConfig::JamiAccountConfig ( const std::string &  id = {},
const std::filesystem::path &  path = {} 
)
inline

Definition at line 30 of file jamiaccount_config.h.

Member Function Documentation

◆ fromMap()

void jami::JamiAccountConfig::fromMap ( const std::map< std::string, std::string > &  details)
overridevirtual

Reimplemented from jami::AccountConfig.

Definition at line 180 of file jamiaccount_config.cpp.

References libjami::Account::ConfProperties::ACCOUNT_PEER_DISCOVERY, libjami::Account::ConfProperties::ACCOUNT_PUBLISH, accountPeerDiscovery, accountPublish, libjami::Account::ConfProperties::ALLOW_CERT_FROM_CONTACT, libjami::Account::ConfProperties::ALLOW_CERT_FROM_HISTORY, libjami::Account::ConfProperties::ALLOW_CERT_FROM_TRUSTED, allowPeersFromContact, allowPeersFromHistory, allowPeersFromTrusted, allowPublicIncoming, libjami::Account::ConfProperties::ARCHIVE_PASSWORD, jami::JamiAccountConfig::Credentials::archive_password, libjami::Account::ConfProperties::ARCHIVE_PASSWORD_SCHEME, jami::JamiAccountConfig::Credentials::archive_password_scheme, libjami::Account::ConfProperties::ARCHIVE_PATH, jami::JamiAccountConfig::Credentials::archive_path, libjami::Account::ConfProperties::ARCHIVE_PIN, jami::JamiAccountConfig::Credentials::archive_pin, libjami::Account::ConfProperties::ARCHIVE_URL, archive_url, libjami::Account::ConfProperties::BOOTSTRAP_LIST_URL, bootstrapListUrl, jami::Conf::CONFIG_DHT_PORT, jami::Conf::CONFIG_DHT_PUBLIC_IN_CALLS, jami::Conf::CONFIG_TLS_CA_LIST_FILE, jami::Conf::CONFIG_TLS_CERTIFICATE_FILE, jami::Conf::CONFIG_TLS_PASSWORD, jami::Conf::CONFIG_TLS_PRIVATE_KEY_FILE, credentials, libjami::Account::ConfProperties::DEVICE_NAME, deviceName, jami::DHT_DEFAULT_BOOTSTRAP, libjami::Account::ConfProperties::DHT_PEER_DISCOVERY, libjami::Account::ConfProperties::DHT_PROXY_LIST_URL, dhtPeerDiscovery, dhtPort, dhtPublicInCalls, jami::emitSignal(), jami::SipAccountBaseConfig::fromMap(), jami::AccountConfig::hostname, libjami::Account::ConfProperties::MANAGER_URI, libjami::Account::ConfProperties::MANAGER_USERNAME, managerUri, managerUsername, nameServer, jami::parseBool(), jami::parseInt(), jami::parsePath(), jami::parseString(), jami::AccountConfig::path, libjami::Account::ConfProperties::PROXY_ENABLED, libjami::Account::ConfProperties::PROXY_LIST_ENABLED, libjami::Account::ConfProperties::PROXY_SERVER, proxyEnabled, proxyListEnabled, proxyListUrl, proxyServer, libjami::Account::ConfProperties::DHT::PUBLIC_IN_CALLS, jami::SipAccountBaseConfig::tlsCaListFile, jami::SipAccountBaseConfig::tlsCertificateFile, jami::SipAccountBaseConfig::tlsPassword, jami::SipAccountBaseConfig::tlsPrivateKeyFile, libjami::Account::ConfProperties::UI_CUSTOMIZATION, jami::AccountConfig::uiCustomization, and libjami::Account::ConfProperties::RingNS::URI.

Here is the call graph for this function:

◆ serialize()

void jami::JamiAccountConfig::serialize ( YAML::Emitter &  out) const
overridevirtual

Implements jami::AccountConfig.

Definition at line 37 of file jamiaccount_config.cpp.

References libjami::Account::ConfProperties::ACCOUNT_PEER_DISCOVERY, libjami::Account::ConfProperties::ACCOUNT_PUBLISH, accountPeerDiscovery, accountPublish, allowPeersFromContact, allowPeersFromHistory, allowPeersFromTrusted, allowPublicIncoming, libjami::Account::ConfProperties::ARCHIVE_HAS_PASSWORD, libjami::Account::ConfProperties::ARCHIVE_PATH, archiveHasPassword, archivePath, jami::Conf::CALIST_KEY, jami::Conf::CERTIFICATE_KEY, jami::DEFAULT_CONFIG, libjami::Account::ConfProperties::DEVICE_NAME, deviceName, jami::Conf::DHT_ALLOW_PEERS_FROM_CONTACT, jami::Conf::DHT_ALLOW_PEERS_FROM_HISTORY, jami::Conf::DHT_ALLOW_PEERS_FROM_TRUSTED, libjami::Account::ConfProperties::DHT_PEER_DISCOVERY, jami::Conf::DHT_PORT_KEY, libjami::Account::ConfProperties::DHT_PROXY_LIST_URL, jami::Conf::DHT_PUBLIC_IN_CALLS, dhtPeerDiscovery, dhtPort, dhtPublicInCalls, jami::emitSignal(), libjami::Account::ConfProperties::MANAGER_URI, libjami::Account::ConfProperties::MANAGER_USERNAME, managerUri, managerUsername, nameServer, jami::Conf::PRIVATE_KEY_KEY, jami::Conf::PROXY_ENABLED_KEY, libjami::Account::ConfProperties::PROXY_LIST_ENABLED, jami::Conf::PROXY_SERVER_KEY, proxyEnabled, proxyListEnabled, proxyListUrl, proxyServer, libjami::Account::ConfProperties::DHT::PUBLIC_IN_CALLS, receipt, receiptSignature, libjami::Account::VolatileProperties::REGISTERED_NAME, registeredName, jami::Conf::RING_ACCOUNT_RECEIPT, jami::Conf::RING_ACCOUNT_RECEIPT_SIG, SERIALIZE_CONFIG, SERIALIZE_PATH, jami::SipAccountBaseConfig::serializeDiff(), jami::Conf::TLS_KEY, jami::Conf::TLS_PASSWORD_KEY, jami::SipAccountBaseConfig::tlsCaListFile, jami::SipAccountBaseConfig::tlsCertificateFile, jami::SipAccountBaseConfig::tlsPassword, jami::SipAccountBaseConfig::tlsPrivateKeyFile, and libjami::Account::ConfProperties::RingNS::URI.

Here is the call graph for this function:

◆ toMap()

std::map< std::string, std::string > jami::JamiAccountConfig::toMap ( ) const
overridevirtual

Reimplemented from jami::AccountConfig.

Definition at line 135 of file jamiaccount_config.cpp.

References libjami::Account::ConfProperties::ACCOUNT_PEER_DISCOVERY, libjami::Account::ConfProperties::ACCOUNT_PUBLISH, accountPeerDiscovery, accountPublish, libjami::Account::ConfProperties::ALLOW_CERT_FROM_CONTACT, libjami::Account::ConfProperties::ALLOW_CERT_FROM_HISTORY, libjami::Account::ConfProperties::ALLOW_CERT_FROM_TRUSTED, allowPeersFromContact, allowPeersFromHistory, allowPeersFromTrusted, allowPublicIncoming, libjami::Account::ConfProperties::ARCHIVE_HAS_PASSWORD, archiveHasPassword, archivePath, jami::Conf::CONFIG_DHT_PORT, jami::Conf::CONFIG_DHT_PUBLIC_IN_CALLS, jami::Conf::CONFIG_TLS_CA_LIST_FILE, jami::Conf::CONFIG_TLS_CERTIFICATE_FILE, jami::Conf::CONFIG_TLS_PASSWORD, jami::Conf::CONFIG_TLS_PRIVATE_KEY_FILE, libjami::Account::ConfProperties::DEVICE_NAME, deviceName, libjami::Account::ConfProperties::DHT_PEER_DISCOVERY, libjami::Account::ConfProperties::DHT_PROXY_LIST_URL, dhtPeerDiscovery, dhtPort, dhtPublicInCalls, jami::emitSignal(), jami::FALSE_STR, jami::fileutils::getFullPath(), libjami::Account::ConfProperties::MANAGER_URI, libjami::Account::ConfProperties::MANAGER_USERNAME, managerUri, managerUsername, nameServer, jami::AccountConfig::path, libjami::Account::ConfProperties::PROXY_ENABLED, libjami::Account::ConfProperties::PROXY_LIST_ENABLED, libjami::Account::ConfProperties::PROXY_SERVER, proxyEnabled, proxyListEnabled, proxyListUrl, proxyServer, libjami::Account::ConfProperties::DHT::PUBLIC_IN_CALLS, libjami::Account::ConfProperties::Presence::SUPPORT_SUBSCRIBE, jami::SipAccountBaseConfig::tlsCaListFile, jami::SipAccountBaseConfig::tlsCertificateFile, jami::SipAccountBaseConfig::tlsPassword, jami::SipAccountBaseConfig::tlsPrivateKeyFile, jami::SipAccountBaseConfig::toMap(), jami::TRUE_STR, and libjami::Account::ConfProperties::RingNS::URI.

Referenced by libjami::getAccountTemplate().

Here is the call graph for this function:

◆ unserialize()

void jami::JamiAccountConfig::unserialize ( const YAML::Node &  node)
overridevirtual

Reimplemented from jami::AccountConfig.

Definition at line 79 of file jamiaccount_config.cpp.

References libjami::Account::ConfProperties::ACCOUNT_PEER_DISCOVERY, libjami::Account::ConfProperties::ACCOUNT_PUBLISH, accountPeerDiscovery, accountPublish, allowPeersFromContact, allowPeersFromHistory, allowPeersFromTrusted, allowPublicIncoming, libjami::Account::ConfProperties::ARCHIVE_HAS_PASSWORD, libjami::Account::ConfProperties::ARCHIVE_PATH, archiveHasPassword, archivePath, jami::Conf::CALIST_KEY, jami::Conf::CERTIFICATE_KEY, libjami::Account::ConfProperties::DEVICE_NAME, deviceName, jami::Conf::DHT_ALLOW_PEERS_FROM_CONTACT, jami::Conf::DHT_ALLOW_PEERS_FROM_HISTORY, jami::Conf::DHT_ALLOW_PEERS_FROM_TRUSTED, libjami::Account::ConfProperties::DHT_PEER_DISCOVERY, jami::Conf::DHT_PORT_KEY, libjami::Account::ConfProperties::DHT_PROXY_LIST_URL, jami::Conf::DHT_PUBLIC_IN_CALLS, dhtPeerDiscovery, dhtPort, dhtPublicInCalls, jami::emitSignal(), JAMI_WARN, libjami::Account::ConfProperties::MANAGER_URI, libjami::Account::ConfProperties::MANAGER_USERNAME, managerUri, managerUsername, nameServer, jami::yaml_utils::parsePathOptional(), jami::yaml_utils::parseValueOptional(), jami::AccountConfig::path, jami::Conf::PRIVATE_KEY_KEY, jami::Conf::PROXY_ENABLED_KEY, libjami::Account::ConfProperties::PROXY_LIST_ENABLED, jami::Conf::PROXY_SERVER_KEY, proxyEnabled, proxyListEnabled, proxyListUrl, proxyServer, libjami::Account::ConfProperties::DHT::PUBLIC_IN_CALLS, receipt, receiptSignature, libjami::Account::VolatileProperties::REGISTERED_NAME, registeredName, jami::Conf::RING_ACCOUNT_RECEIPT, jami::Conf::RING_ACCOUNT_RECEIPT_SIG, jami::Conf::TLS_KEY, jami::Conf::TLS_PASSWORD_KEY, jami::SipAccountBaseConfig::tlsCaListFile, jami::SipAccountBaseConfig::tlsCertificateFile, jami::SipAccountBaseConfig::tlsPassword, jami::SipAccountBaseConfig::tlsPrivateKeyFile, jami::SipAccountBaseConfig::unserialize(), and libjami::Account::ConfProperties::RingNS::URI.

Here is the call graph for this function:

Member Data Documentation

◆ accountPeerDiscovery

bool jami::JamiAccountConfig::accountPeerDiscovery {false}

Definition at line 50 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ accountPublish

bool jami::JamiAccountConfig::accountPublish {false}

Definition at line 51 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ allowPeersFromContact

bool jami::JamiAccountConfig::allowPeersFromContact {true}

Definition at line 63 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ allowPeersFromHistory

bool jami::JamiAccountConfig::allowPeersFromHistory {true}

Definition at line 62 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ allowPeersFromTrusted

bool jami::JamiAccountConfig::allowPeersFromTrusted {true}

Definition at line 64 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ allowPublicIncoming

bool jami::JamiAccountConfig::allowPublicIncoming {true}

Definition at line 65 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ archive_url

std::string jami::JamiAccountConfig::archive_url

Definition at line 81 of file jamiaccount_config.h.

Referenced by fromMap().

◆ archiveHasPassword

bool jami::JamiAccountConfig::archiveHasPassword {true}

◆ archivePath

std::string jami::JamiAccountConfig::archivePath {"archive.gz"}

Definition at line 70 of file jamiaccount_config.h.

Referenced by serialize(), toMap(), and unserialize().

◆ bootstrapListUrl

std::string jami::JamiAccountConfig::bootstrapListUrl {"https://config.jami.net/bootstrapList"}

Definition at line 52 of file jamiaccount_config.h.

Referenced by fromMap().

◆ credentials

struct jami::JamiAccountConfig::Credentials jami::JamiAccountConfig::credentials

Referenced by fromMap().

◆ deviceName

std::string jami::JamiAccountConfig::deviceName {}

Definition at line 47 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ dhtPeerDiscovery

bool jami::JamiAccountConfig::dhtPeerDiscovery {false}

Definition at line 49 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ dhtPort

uint16_t jami::JamiAccountConfig::dhtPort {0}

Definition at line 48 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ dhtPublicInCalls

bool jami::JamiAccountConfig::dhtPublicInCalls {true}

Definition at line 86 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ managerUri

std::string jami::JamiAccountConfig::managerUri {}

Definition at line 67 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ managerUsername

std::string jami::JamiAccountConfig::managerUsername {}

Definition at line 68 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ nameServer

std::string jami::JamiAccountConfig::nameServer {}

Definition at line 59 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ proxyEnabled

bool jami::JamiAccountConfig::proxyEnabled {false}

◆ proxyListEnabled

bool jami::JamiAccountConfig::proxyListEnabled {true}

Definition at line 55 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ proxyListUrl

std::string jami::JamiAccountConfig::proxyListUrl {"https://config.jami.net/proxyList"}

Definition at line 57 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ proxyServer

std::string jami::JamiAccountConfig::proxyServer {"dhtproxy.jami.net:[80-95]"}

Definition at line 56 of file jamiaccount_config.h.

Referenced by fromMap(), serialize(), toMap(), and unserialize().

◆ receipt

std::string jami::JamiAccountConfig::receipt {}

◆ receiptSignature

std::vector<uint8_t> jami::JamiAccountConfig::receiptSignature {}

◆ registeredName

std::string jami::JamiAccountConfig::registeredName {}

Definition at line 60 of file jamiaccount_config.h.

Referenced by serialize(), and unserialize().


The documentation for this struct was generated from the following files: