Ring Daemon 16.0.0
|
#include <sipaccount_config.h>
Classes | |
struct | Credentials |
Map of credential for this account. More... | |
Public Member Functions | |
void | fromMap (const std::map< std::string, std::string > &) override |
std::vector< std::map< std::string, std::string > > | getCredentials () const |
void | serialize (YAML::Emitter &out) const override |
void | setCredentials (const std::vector< std::map< std::string, std::string > > &creds) |
SipAccountConfig (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 |
![]() | |
void | serializeDiff (YAML::Emitter &out, const SipAccountBaseConfig &def) const |
SipAccountBaseConfig (const std::string &type, const std::string &id, const std::filesystem::path &path) | |
![]() | |
AccountConfig (const std::string &type_, const std::string &id_, const std::filesystem::path &path_={}) | |
void | serializeDiff (YAML::Emitter &out, const AccountConfig &def) const |
![]() | |
virtual | ~Serializable () |
Public Attributes | |
bool | allowIPAutoRewrite {true} |
std::string | bindAddress {} |
Potential ip addresss on which this account is bound. | |
std::vector< Credentials > | credentials |
std::string | interface {dhtnet::ip_utils::DEFAULT_INTERFACE} |
interface name on which this account is bound | |
uint16_t | localPort {sip_utils::DEFAULT_SIP_PORT} |
Local port to whih this account is bound. | |
bool | presenceEnabled {false} |
uint16_t | publishedPort {sip_utils::DEFAULT_SIP_PORT} |
Published port, used only if defined by the user. | |
bool | publishSupported {false} |
unsigned | registrationExpire {3600} |
Network settings. | |
bool | registrationRefreshEnabled {true} |
std::string | serviceRoute |
Input Outbound Proxy Server Address. | |
bool | srtpFallback {false} |
Determine if the softphone should fallback on non secured media channel if SRTP negotiation fails. | |
KeyExchangeProtocol | srtpKeyExchange {KeyExchangeProtocol::SDES} |
Specifies the type of key exchange used for SRTP, if any. | |
bool | stunEnabled {false} |
Determine if STUN public address resolution is required to register this account. | |
std::string | stunServer {} |
The STUN server hostname (optional), used to provide the public IP address in case the softphone stay behind a NAT. | |
bool | subscribeSupported {false} |
std::string | tlsCiphers |
bool | tlsDisableSecureDlgCheck {true} |
bool | tlsEnable {false} |
uint16_t | tlsListenerPort {sip_utils::DEFAULT_SIP_TLS_PORT} |
The TLS listener port. | |
std::string | tlsMethod |
int | tlsNegotiationTimeout {2} |
bool | tlsRequireClientCertificate {true} |
std::string | tlsServerName |
bool | tlsVerifyClient {true} |
bool | tlsVerifyServer {true} |
![]() | |
std::pair< uint16_t, uint16_t > | audioPortRange {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_t > | videoPortRange {49152, (65536) -2} |
Port range for video RTP ports. | |
![]() | |
int | activeCallLimit {-1} |
The number of concurrent calls for the account -1: Unlimited 0: Do not disturb 1: Single call +: Multi line. | |
std::vector< unsigned > | activeCodecs {} |
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. | |
Definition at line 23 of file sipaccount_config.h.
|
inline |
Definition at line 24 of file sipaccount_config.h.
|
overridevirtual |
Reimplemented from jami::SipAccountBaseConfig.
Definition at line 242 of file sipaccount_config.cpp.
References allowIPAutoRewrite, bindAddress, jami::Conf::CONFIG_ACCOUNT_DTMF_TYPE, jami::Conf::CONFIG_ACCOUNT_IP_AUTO_REWRITE, jami::Conf::CONFIG_ACCOUNT_PASSWORD, jami::Conf::CONFIG_ACCOUNT_REALM, jami::Conf::CONFIG_ACCOUNT_REGISTRATION_EXPIRE, jami::Conf::CONFIG_ACCOUNT_ROUTESET, jami::Conf::CONFIG_ACCOUNT_USERNAME, jami::Conf::CONFIG_BIND_ADDRESS, jami::Conf::CONFIG_KEEP_ALIVE_ENABLED, jami::Conf::CONFIG_LOCAL_INTERFACE, jami::Conf::CONFIG_LOCAL_PORT, jami::Conf::CONFIG_PRESENCE_ENABLED, jami::Conf::CONFIG_PUBLISHED_ADDRESS, jami::Conf::CONFIG_PUBLISHED_PORT, jami::Conf::CONFIG_PUBLISHED_SAMEAS_LOCAL, jami::Conf::CONFIG_SRTP_KEY_EXCHANGE, jami::Conf::CONFIG_SRTP_RTP_FALLBACK, jami::Conf::CONFIG_STUN_ENABLE, jami::Conf::CONFIG_STUN_SERVER, jami::Conf::CONFIG_TLS_CA_LIST_FILE, jami::Conf::CONFIG_TLS_CERTIFICATE_FILE, jami::Conf::CONFIG_TLS_CIPHERS, jami::Conf::CONFIG_TLS_DISABLE_SECURE_DLG_CHECK, jami::Conf::CONFIG_TLS_ENABLE, jami::Conf::CONFIG_TLS_LISTENER_PORT, jami::Conf::CONFIG_TLS_METHOD, jami::Conf::CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC, jami::Conf::CONFIG_TLS_PASSWORD, jami::Conf::CONFIG_TLS_PRIVATE_KEY_FILE, jami::Conf::CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE, jami::Conf::CONFIG_TLS_SERVER_NAME, jami::Conf::CONFIG_TLS_VERIFY_CLIENT, jami::Conf::CONFIG_TLS_VERIFY_SERVER, credentials, jami::SipAccountBaseConfig::dtmfType, jami::emitSignal(), jami::SipAccountBaseConfig::fromMap(), jami::sip_utils::getKeyExchangeProtocol(), interface, JAMI_WARN, localPort, jami::parseBool(), jami::parseInt(), jami::parsePath(), jami::parseString(), jami::AccountConfig::path, presenceEnabled, jami::SipAccountBaseConfig::publishedIp, publishedPort, jami::SipAccountBaseConfig::publishedSameasLocal, registrationExpire, registrationRefreshEnabled, serviceRoute, setCredentials(), srtpFallback, srtpKeyExchange, stunEnabled, stunServer, jami::SipAccountBaseConfig::tlsCaListFile, jami::SipAccountBaseConfig::tlsCertificateFile, tlsCiphers, tlsDisableSecureDlgCheck, tlsEnable, tlsListenerPort, tlsMethod, tlsNegotiationTimeout, jami::SipAccountBaseConfig::tlsPassword, jami::SipAccountBaseConfig::tlsPrivateKeyFile, tlsRequireClientCertificate, tlsServerName, tlsVerifyClient, tlsVerifyServer, and jami::AccountConfig::username.
std::vector< std::map< std::string, std::string > > jami::SipAccountConfig::getCredentials | ( | ) | const |
Definition at line 340 of file sipaccount_config.cpp.
References credentials, and jami::emitSignal().
Referenced by jami::SIPAccount::getCredentials(), and serialize().
|
overridevirtual |
Implements jami::AccountConfig.
Definition at line 79 of file sipaccount_config.cpp.
References jami::Conf::ALLOW_IP_AUTO_REWRITE, allowIPAutoRewrite, jami::Conf::BIND_ADDRESS_KEY, bindAddress, jami::Conf::CALIST_KEY, jami::Conf::CERTIFICATE_KEY, jami::Conf::CIPHERS_KEY, jami::Conf::CONFIG_ACCOUNT_REGISTRATION_EXPIRE, jami::Conf::CRED_KEY, jami::DEFAULT_CONFIG, jami::Conf::DISABLE_SECURE_DLG_CHECK, jami::emitSignal(), getCredentials(), jami::sip_utils::getKeyExchangeName(), jami::AccountConfig::id, jami::Conf::ID_KEY, jami::Conf::KEEP_ALIVE_ENABLED, jami::Conf::KEY_EXCHANGE_KEY, localPort, jami::Conf::METHOD_KEY, jami::Conf::PORT_KEY, jami::Conf::PRIVATE_KEY_KEY, jami::Conf::PUBLISH_PORT_KEY, publishedPort, registrationExpire, registrationRefreshEnabled, jami::Conf::REQUIRE_CERTIF_KEY, jami::Conf::RTP_FALLBACK_KEY, jami::SipAccountBaseConfig::serializeDiff(), jami::Conf::SERVER_KEY, jami::Conf::SERVICE_ROUTE_KEY, serviceRoute, jami::Conf::SRTP_KEY, srtpFallback, srtpKeyExchange, jami::Conf::STUN_ENABLED_KEY, jami::Conf::STUN_SERVER_KEY, stunEnabled, stunServer, jami::Conf::TIMEOUT_KEY, jami::Conf::TLS_ENABLE_KEY, jami::Conf::TLS_KEY, jami::Conf::TLS_PASSWORD_KEY, jami::Conf::TLS_PORT_KEY, jami::SipAccountBaseConfig::tlsCaListFile, jami::SipAccountBaseConfig::tlsCertificateFile, tlsCiphers, tlsDisableSecureDlgCheck, tlsEnable, tlsListenerPort, tlsMethod, tlsNegotiationTimeout, jami::SipAccountBaseConfig::tlsPassword, jami::SipAccountBaseConfig::tlsPrivateKeyFile, tlsRequireClientCertificate, tlsServerName, tlsVerifyClient, tlsVerifyServer, jami::AccountConfig::username, jami::Conf::USERNAME_KEY, jami::Conf::VERIFY_CLIENT_KEY, and jami::Conf::VERIFY_SERVER_KEY.
void jami::SipAccountConfig::setCredentials | ( | const std::vector< std::map< std::string, std::string > > & | creds | ) |
Definition at line 351 of file sipaccount_config.cpp.
References credentials, and jami::emitSignal().
Referenced by fromMap(), libjami::setCredentials(), and unserialize().
|
overridevirtual |
Reimplemented from jami::SipAccountBaseConfig.
Definition at line 190 of file sipaccount_config.cpp.
References allowIPAutoRewrite, bindAddress, jami::Conf::CONFIG_ACCOUNT_DTMF_TYPE, jami::Conf::CONFIG_ACCOUNT_IP_AUTO_REWRITE, jami::Conf::CONFIG_ACCOUNT_PASSWORD, jami::Conf::CONFIG_ACCOUNT_REGISTRATION_EXPIRE, jami::Conf::CONFIG_ACCOUNT_ROUTESET, jami::Conf::CONFIG_ACCOUNT_USERNAME, jami::Conf::CONFIG_BIND_ADDRESS, jami::Conf::CONFIG_KEEP_ALIVE_ENABLED, jami::Conf::CONFIG_LOCAL_INTERFACE, jami::Conf::CONFIG_LOCAL_PORT, jami::Conf::CONFIG_PRESENCE_ENABLED, jami::Conf::CONFIG_PUBLISHED_ADDRESS, jami::Conf::CONFIG_PUBLISHED_PORT, jami::Conf::CONFIG_PUBLISHED_SAMEAS_LOCAL, jami::Conf::CONFIG_SRTP_KEY_EXCHANGE, jami::Conf::CONFIG_SRTP_RTP_FALLBACK, jami::Conf::CONFIG_STUN_ENABLE, jami::Conf::CONFIG_STUN_SERVER, jami::Conf::CONFIG_TLS_CA_LIST_FILE, jami::Conf::CONFIG_TLS_CERTIFICATE_FILE, jami::Conf::CONFIG_TLS_CIPHERS, jami::Conf::CONFIG_TLS_DISABLE_SECURE_DLG_CHECK, jami::Conf::CONFIG_TLS_ENABLE, jami::Conf::CONFIG_TLS_LISTENER_PORT, jami::Conf::CONFIG_TLS_METHOD, jami::Conf::CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC, jami::Conf::CONFIG_TLS_PASSWORD, jami::Conf::CONFIG_TLS_PRIVATE_KEY_FILE, jami::Conf::CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE, jami::Conf::CONFIG_TLS_SERVER_NAME, jami::Conf::CONFIG_TLS_VERIFY_CLIENT, jami::Conf::CONFIG_TLS_VERIFY_SERVER, credentials, jami::SipAccountBaseConfig::dtmfType, jami::emitSignal(), jami::FALSE_STR, jami::sip_utils::getKeyExchangeName(), interface, localPort, presenceEnabled, jami::SipAccountBaseConfig::publishedIp, publishedPort, jami::SipAccountBaseConfig::publishedSameasLocal, registrationExpire, registrationRefreshEnabled, serviceRoute, srtpFallback, srtpKeyExchange, stunEnabled, stunServer, jami::SipAccountBaseConfig::tlsCaListFile, jami::SipAccountBaseConfig::tlsCertificateFile, tlsCiphers, tlsDisableSecureDlgCheck, tlsEnable, tlsListenerPort, tlsMethod, tlsNegotiationTimeout, jami::SipAccountBaseConfig::tlsPassword, jami::SipAccountBaseConfig::tlsPrivateKeyFile, tlsRequireClientCertificate, tlsServerName, tlsVerifyClient, tlsVerifyServer, jami::SipAccountBaseConfig::toMap(), jami::TRUE_STR, and jami::AccountConfig::username.
Referenced by libjami::getAccountTemplate().
Reimplemented from jami::SipAccountBaseConfig.
Definition at line 135 of file sipaccount_config.cpp.
References jami::Conf::ALLOW_IP_AUTO_REWRITE, allowIPAutoRewrite, jami::Conf::BIND_ADDRESS_KEY, bindAddress, jami::Conf::CALIST_KEY, jami::Conf::CERTIFICATE_KEY, jami::Conf::CIPHERS_KEY, jami::Conf::CONFIG_ACCOUNT_PASSWORD, jami::Conf::CONFIG_ACCOUNT_REALM, jami::Conf::CONFIG_ACCOUNT_REGISTRATION_EXPIRE, jami::Conf::CONFIG_ACCOUNT_USERNAME, jami::Conf::CRED_KEY, jami::Conf::DISABLE_SECURE_DLG_CHECK, jami::emitSignal(), jami::sip_utils::getKeyExchangeProtocol(), jami::Conf::KEEP_ALIVE_ENABLED, jami::Conf::KEY_EXCHANGE_KEY, localPort, jami::Conf::METHOD_KEY, jami::MIN_REGISTRATION_TIME, jami::Conf::PORT_KEY, jami::Conf::PRESENCE_MODULE_ENABLED_KEY, jami::Conf::PRESENCE_PUBLISH_SUPPORTED_KEY, jami::Conf::PRESENCE_SUBSCRIBE_SUPPORTED_KEY, presenceEnabled, jami::Conf::PRIVATE_KEY_KEY, jami::Conf::PUBLISH_PORT_KEY, publishedPort, publishSupported, registrationExpire, registrationRefreshEnabled, jami::Conf::REQUIRE_CERTIF_KEY, jami::Conf::RTP_FALLBACK_KEY, jami::Conf::SERVER_KEY, jami::Conf::SERVICE_ROUTE_KEY, serviceRoute, setCredentials(), jami::Conf::SRTP_KEY, srtpFallback, srtpKeyExchange, jami::Conf::STUN_ENABLED_KEY, jami::Conf::STUN_SERVER_KEY, stunEnabled, stunServer, subscribeSupported, jami::Conf::TIMEOUT_KEY, jami::Conf::TLS_ENABLE_KEY, jami::Conf::TLS_KEY, jami::Conf::TLS_PASSWORD_KEY, jami::Conf::TLS_PORT_KEY, jami::SipAccountBaseConfig::tlsCaListFile, jami::SipAccountBaseConfig::tlsCertificateFile, tlsCiphers, tlsDisableSecureDlgCheck, tlsEnable, tlsListenerPort, tlsMethod, tlsNegotiationTimeout, jami::SipAccountBaseConfig::tlsPassword, jami::SipAccountBaseConfig::tlsPrivateKeyFile, tlsRequireClientCertificate, tlsServerName, tlsVerifyClient, tlsVerifyServer, jami::SipAccountBaseConfig::unserialize(), jami::AccountConfig::username, jami::Conf::USERNAME_KEY, jami::Conf::VERIFY_CLIENT_KEY, and jami::Conf::VERIFY_SERVER_KEY.
Definition at line 70 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().
std::string jami::SipAccountConfig::bindAddress {} |
Potential ip addresss on which this account is bound.
Definition at line 38 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().
std::vector<Credentials> jami::SipAccountConfig::credentials |
Definition at line 125 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::getCredentialCount(), getCredentials(), jami::SIPAccount::hasCredentials(), setCredentials(), and toMap().
std::string jami::SipAccountConfig::interface {dhtnet::ip_utils::DEFAULT_INTERFACE} |
interface name on which this account is bound
Definition at line 48 of file sipaccount_config.h.
uint16_t jami::SipAccountConfig::localPort {sip_utils::DEFAULT_SIP_PORT} |
Local port to whih this account is bound.
Definition at line 33 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::getLocalPort(), jami::SIPAccount::getRPort(), serialize(), jami::SIPAccount::setLocalPort(), toMap(), and unserialize().
Definition at line 103 of file sipaccount_config.h.
Referenced by fromMap(), toMap(), and unserialize().
uint16_t jami::SipAccountConfig::publishedPort {sip_utils::DEFAULT_SIP_PORT} |
Published port, used only if defined by the user.
Definition at line 43 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().
Definition at line 104 of file sipaccount_config.h.
Referenced by unserialize().
unsigned jami::SipAccountConfig::registrationExpire {3600} |
Network settings.
Definition at line 65 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::getRegistrationExpire(), serialize(), toMap(), and unserialize().
Definition at line 66 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::isRegistrationRefreshEnabled(), serialize(), toMap(), and unserialize().
std::string jami::SipAccountConfig::serviceRoute |
Input Outbound Proxy Server Address.
Definition at line 75 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::getServiceRoute(), jami::SIPAccount::hasServiceRoute(), serialize(), toMap(), and unserialize().
Determine if the softphone should fallback on non secured media channel if SRTP negotiation fails.
Make sure other SIP endpoints share the same behavior since it could result in encrypted data to be played through the audio device.
Definition at line 96 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::getSrtpFallback(), serialize(), toMap(), and unserialize().
KeyExchangeProtocol jami::SipAccountConfig::srtpKeyExchange {KeyExchangeProtocol::SDES} |
Specifies the type of key exchange used for SRTP, if any.
This only determine if the media channel is secured.
Definition at line 101 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::isSrtpEnabled(), serialize(), toMap(), and unserialize().
Determine if STUN public address resolution is required to register this account.
In this case a STUN server hostname must be specified.
Definition at line 54 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::isStunEnabled(), serialize(), toMap(), and unserialize().
std::string jami::SipAccountConfig::stunServer {} |
The STUN server hostname (optional), used to provide the public IP address in case the softphone stay behind a NAT.
Definition at line 60 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::getStunServer(), serialize(), toMap(), and unserialize().
Definition at line 105 of file sipaccount_config.h.
Referenced by unserialize().
std::string jami::SipAccountConfig::tlsCiphers |
Definition at line 83 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().
Definition at line 88 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().
Definition at line 81 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::isTlsEnabled(), serialize(), toMap(), and unserialize().
uint16_t jami::SipAccountConfig::tlsListenerPort {sip_utils::DEFAULT_SIP_TLS_PORT} |
The TLS listener port.
Definition at line 80 of file sipaccount_config.h.
Referenced by fromMap(), jami::SIPAccount::getTlsListenerPort(), serialize(), toMap(), and unserialize().
std::string jami::SipAccountConfig::tlsMethod |
Definition at line 82 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().
int jami::SipAccountConfig::tlsNegotiationTimeout {2} |
Definition at line 89 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().
Definition at line 87 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().
std::string jami::SipAccountConfig::tlsServerName |
Definition at line 84 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().
Definition at line 86 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().
Definition at line 85 of file sipaccount_config.h.
Referenced by fromMap(), serialize(), toMap(), and unserialize().