|
Ring Daemon
|
Manager (controller) of daemon. More...
#include <manager.h>

Classes | |
| struct | ManagerPimpl |
Public Member Functions | |
| bool | acceptCall (Call &call, const std::vector< libjami::MediaMap > &mediaList={}) |
| bool | acceptCall (const std::string &accountId, const std::string &callId, const std::vector< libjami::MediaMap > &mediaList={}) |
| Functions which occur with a user's action Answer the call. | |
| template<class T = Account> | |
| std::size_t | accountCount () const |
| std::string | addAccount (const std::map< std::string, std::string > &details, const std::string &accountId={}) |
| Add a new account, and give it a new account ID automatically. | |
| void | addAudio (Call &call) |
| bool | addMainParticipant (const std::string &accountId, const std::string &confId) |
| Bind the main participant to a conference (mainly called on a double click action) | |
| bool | addSubCall (Call &call, Conference &conference) |
| bool | addSubCall (const std::string &accountId, const std::string &callId, const std::string &account2Id, const std::string &confId) |
| Add a subcall to a conference. | |
| AudioFormat | audioFormatUsed (AudioFormat format) |
| Should be called by any component dealing with an external audio source, indicating the format used so the mixer format can be eventually adapted. | |
| void | bindCallToConference (Call &call, Conference &conf) |
| void | callBusy (Call &call) |
| Handle played sound when a call is unable to be completed because of a busy recipient. | |
| void | callFailure (Call &call) |
| Handle played sound when a failure occurs. | |
| dhtnet::tls::CertificateStore & | certStore (const std::string &accountId) const |
| void | congestion () |
| Handle played music when a congestion occurs. | |
| void | createConfFromParticipantList (const std::string &accountId, const std::vector< std::string > &) |
| Create a conference from a list of participant. | |
| bool | detachHost (const std::shared_ptr< Conference > &conf={}) |
| Detach the local participant from curent conference. | |
| bool | detachParticipant (const std::string &callId) |
| Detach a participant from a conference, put the call on hold, do not hangup it. | |
| void | enableLocalModerators (const std::string &accountID, bool state) |
| void | eraseGitTransport (git_smart_subtransport *tr) |
| template<class T > | |
| std::shared_ptr< T > | findAccount (const std::function< bool(const std::shared_ptr< T > &)> &pred) |
| void | finish () noexcept |
| template<class T = Account> | |
| std::shared_ptr< T > | getAccount (std::string_view accountId) const |
| Get an account pointer, looks for account of type T. | |
| std::map< std::string, std::string > | getAccountDetails (const std::string &accountID) const |
| Retrieve details about a given account. | |
| std::vector< std::string > | getAccountList () const |
| Get account list. | |
| template<class T = Account> | |
| std::vector< std::shared_ptr< T > > | getAllAccounts () const |
| Get a list of account pointers of type T (baseclass Account) | |
| std::shared_ptr< AudioLayer > | getAudioDriver () |
| Accessor to audiodriver. | |
| int | getAudioInputDeviceIndex (const std::string &name) |
| Get index of an audio device. | |
| std::vector< std::string > | getAudioInputDeviceList () |
| Get list of supported audio input device. | |
| std::string | getAudioManager () const |
| Get the audio manager. | |
| int | getAudioOutputDeviceIndex (const std::string &name) |
| std::vector< std::string > | getAudioOutputDeviceList () |
| Get list of supported audio output device. | |
| std::shared_ptr< Call > | getCallFromCallID (const std::string &callID) const |
| Get the Call referred by callID. | |
| std::vector< std::string > | getCallList () const |
| Get list of calls (internal subcalls are filter-out) | |
| std::vector< std::map< std::string, std::string > > | getChannelList (const std::string &accountId, const std::string &connectionId) |
| std::vector< std::map< std::string, std::string > > | getConnectionList (const std::string &accountId, const std::string &conversationId) |
| std::vector< std::string > | getCurrentAudioDevicesIndex () |
| Get string array representing integer indexes of output, input, and ringtone device. | |
| std::string | getCurrentAudioOutputPlugin () const |
| Get current alsa plugin. | |
| std::shared_ptr< Call > | getCurrentCall () const |
| Get the current call. | |
| const std::string & | getCurrentCallId () const |
| Get the current call id. | |
| std::vector< std::string > | getDefaultModerators (const std::string &accountID) |
| std::string | getEchoCancellationState () const |
| Get the echo cancellation engine state in the current audio layer. | |
| int | getHistoryLimit () const |
| Get the maximum number of days to keep in the history. | |
| const std::shared_ptr< dhtnet::IceTransportFactory > & | getIceTransportFactory () |
| bool | getIsAlwaysRecording () const |
| Get is always recording functionality. | |
| std::vector< libjami::Message > | getLastMessages (const std::string &accountID, const uint64_t &base_timestamp) |
| int | getMessageStatus (const std::string &accountID, uint64_t id) const |
| int | getMessageStatus (uint64_t id) const |
| std::map< std::string, std::string > | getNearbyPeers (const std::string &accountID) |
| std::string | getNewAccountId () |
| Return a new random accountid that is not present in the list. | |
| std::string | getNoiseSuppressState () const |
| Get the noise reduction engine state from the current audio layer. | |
| RingBufferPool & | getRingBufferPool () |
| Return a pointer to the instance of the RingBufferPool. | |
| std::chrono::seconds | getRingingTimeout () const |
| Get ringing timeout (number of seconds after which a call will enter BUSY state if not answered). | |
| std::mt19937_64 | getSeededRandomEngine () |
| std::shared_ptr< AudioLoop > | getTelephoneFile () |
| Retrieve the current telephone file. | |
| std::shared_ptr< AudioLoop > | getTelephoneTone () |
| Retrieve the current telephone tone. | |
| VideoManager * | getVideoManager () const |
| bool | getVoiceActivityDetectionState () const |
| Get the voice activity detection engine state from the current audio layer. | |
| std::map< std::string, std::string > | getVolatileAccountDetails (const std::string &accountID) const |
| Retrieve volatile details such as recent registration errors. | |
| std::shared_ptr< dhtnet::ChannelSocket > | gitSocket (std::string_view accountId, std::string_view deviceId, std::string_view conversationId) |
| Return current git socket used for a conversation. | |
| bool | hangupCall (const std::string &accountId, const std::string &callId) |
| Functions which occur with a user's action Hangup the call. | |
| bool | hangupConference (const std::string &accountId, const std::string &confId) |
| Functions which occur with a user's action Hangup the conference (hangup every participants) | |
| AudioFormat | hardwareAudioFormatChanged (AudioFormat format) |
| Callback called when the audio layer initialised with its preferred format. | |
| bool | hasAccount (const std::string &accountID) |
| bool | hasCurrentCall () const |
| Tell if there is a current call processed. | |
| bool | holdCall (const std::string &accountId, const std::string &callId) |
| Functions which occur with a user's action Hold call. | |
| bool | holdConference (const std::string &accountId, const std::string &confId) |
| Hold all conference participants. | |
| void | incomingCall (const std::string &accountId, Call &call) |
| Handle incoming call and notify user. | |
| bool | incomingCallsWaiting () |
| void | incomingMessage (const std::string &accountId, const std::string &callId, const std::string &from, const std::map< std::string, std::string > &messages) |
| Notify the client with an incoming message. | |
| void | init (const std::filesystem::path &config_file, libjami::InitFlag flags) |
| Initialisation of thread (sound) and map. | |
| void | insertGitTransport (git_smart_subtransport *tr, std::unique_ptr< P2PSubTransport > &&sub) |
| std::shared_ptr< asio::io_context > | ioContext () const |
| bool | isAGCEnabled () const |
| bool | isAllModerators (const std::string &accountID) |
| bool | isCurrentCall (const Call &call) const |
| Check if a call is the current one. | |
| bool | isLocalModeratorsEnabled (const std::string &accountID) |
| bool | joinConference (const std::string &accountId, const std::string &confId1, const std::string &account2Id, const std::string &confId2) |
| Join two conference together into one unique conference. | |
| bool | joinParticipant (const std::string &accountId, const std::string &callId1, const std::string &account2Id, const std::string &callId2, bool attached=true) |
| Join two participants to create a conference. | |
| void | loadAccountAndConversation (const std::string &accountId, bool loadAll, const std::string &convId) |
| int | loadAccountMap (const YAML::Node &node) |
| Load the account map from configuration. | |
| std::vector< std::string_view > | loadAccountOrder () const |
| Load the accounts order set by the user from the jamirc config file. | |
| void | markAccountPending (const std::string &accountId) |
| void | markAccountReady (const std::string &accountId) |
| void | monitor (bool continuous) |
| std::shared_ptr< Call > | newOutgoingCall (std::string_view toUrl, const std::string &accountId, const std::vector< libjami::MediaMap > &mediaList) |
| Create a new outgoing call. | |
| std::string | outgoingCall (const std::string &accountId, const std::string &callee, const std::vector< libjami::MediaMap > &mediaList={}) |
| Place a new call. | |
| void | peerAnsweredCall (Call &call) |
| Notify the user that the recipient of the call has answered and the put the call in Current state. | |
| void | peerHungupCall (Call &call) |
| Put the call in Hungup state, remove the call from the list. | |
| void | peerRingingCall (Call &call) |
| Rings back because the outgoing call is ringing and the put the call in Ringing state. | |
| void | playDtmf (char code) |
| Play the dtmf-associated sound. | |
| void | playRingtone (const std::string &accountID) |
| Handle played music when an incoming call occurs. | |
| void | playTone () |
| Play a ringtone. | |
| void | playToneWithMessage () |
| Play a special ringtone ( BUSY ) if there's at least one message on the voice mail. | |
| void | recordingPlaybackSeek (const double value) |
| bool | refuseCall (const std::string &accountId, const std::string &id) |
| Functions which occur with a user's action Refuse the call. | |
| void | registerAccount (const std::string &accountID, const std::string &convId={}) |
| Send registration for one account. | |
| void | registerAccounts () |
| Send registration for all enabled accounts. | |
| void | removeAccount (const std::string &accountID, bool flush=false) |
| Delete an existing account, unregister VoIPLink associated, and purge from configuration. | |
| void | removeAccounts () |
| void | removeAudio (Call &call) |
| void | removeParticipant (Call &call) |
| Remove the conference participant from a conference. | |
| bool | resumeCall (const std::string &accountId, const std::string &callId) |
| Functions which occur with a user's action Resume call. | |
| bool | resumeConference (const std::string &accountId, const std::string &confId) |
| Resume all conference participants. | |
| void | ringback () |
| Handle audio sounds heard by a caller while they wait for their connection to a called party to be completed. | |
| void | saveConfig () |
| Save config to file. | |
| void | saveConfig (const std::shared_ptr< Account > &acc) |
| void | sendCallTextMessage (const std::string &accountId, const std::string &callID, const std::map< std::string, std::string > &messages, const std::string &from, bool isMixed) |
| Send a new text message to the call, if participate to a conference, send to all participant. | |
| void | sendRegister (const std::string &accountId, bool enable) |
| ConfigurationManager - Send registration request. | |
| uint64_t | sendTextMessage (const std::string &accountID, const std::string &to, const std::map< std::string, std::string > &payloads, bool fromPlugin=false, bool onlyConnected=false) |
| void | setAccountActive (const std::string &accountID, bool active, bool shutdownConnections) |
| void | setAccountDetails (const std::string &accountID, const std::map< std::string, std::string > &details) |
| Save the details of an existing account, given the account ID This will load the configuration map with the given data. | |
| void | setAccountsOrder (const std::string &order) |
| Set the account order in the config file. | |
| void | setAGCState (bool enabled) |
| void | setAllModerators (const std::string &accountID, bool allModerators) |
| void | setAudioDevice (int index, AudioDeviceType streamType) |
| Set audio device. | |
| bool | setAudioManager (const std::string &api) |
| Set the audio manager. | |
| void | setAudioPlugin (const std::string &audioPlugin) |
| Set input audio plugin. | |
| void | setAutoAnswer (bool enable) |
| void | setDefaultModerator (const std::string &accountID, const std::string &peerURI, bool state) |
| void | setEchoCancellationState (const std::string &state) |
| Get the echo cancellation engine state from the current audio layer. | |
| void | setHistoryLimit (int days) |
| Set the maximum number of days to keep in the history. | |
| void | setIsAlwaysRecording (bool isAlwaysRec) |
| Set is always recording functionality, every calls will then be set in RECORDING mode once answered. | |
| void | setNoiseSuppressState (const std::string &state) |
| Set the noise reduction engine state in the current audio layer. | |
| void | setRingingTimeout (std::chrono::seconds timeout) |
| Set ringing timeout (number of seconds after which a call will enter BUSY state if not answered). | |
| void | setVoiceActivityDetectionState (bool state) |
| Set the voice activity detection engine state in the current audio layer. | |
| SIPVoIPLink & | sipVoIPLink () const |
| std::unique_ptr< AudioDeviceGuard > | startAudioStream (AudioDeviceType stream) |
| std::unique_ptr< AudioDeviceGuard > | startCaptureStream (const std::string &captureDevice) |
| Start a capture stream on the given device (eg. | |
| bool | startRecordedFilePlayback (const std::string &) |
| Start playback fo a recorded file if and only if audio layer is not already started. | |
| void | stopRecordedFilePlayback () |
| Stop playback of recorded file. | |
| void | stopTone () |
| Acts on the audio streams and audio files. | |
| bool | toggleRecordingCall (const std::string &accountId, const std::string &id) |
| Set recording on / off Start recording. | |
| bool | transferCall (const std::string &accountId, const std::string &id, const std::string &to) |
| Functions which occur with a user's action Transfer the call. | |
| void | transferFailed () |
| Notify the client that the transfer failed. | |
| void | transferSucceeded () |
| Notify the client the transfer is successful. | |
| void | unregisterAccounts () |
| Send unregister for all enabled accounts. | |
| std::shared_ptr< dhtnet::upnp::UPnPContext > | upnpContext () const |
Static Public Member Functions | |
| static LIBJAMI_TEST_EXPORT Manager & | instance () |
Public Attributes | |
| AccountFactory | accountFactory |
| AudioPreference | audioPreference |
| Audio preferences. | |
| CallFactory | callFactory |
| unsigned | dhtLogLevel {0} |
| unsigned | dhtnetLogLevel {0} |
| Preferences | preferences |
| General preferences configuration. | |
| VoipPreference | voipPreferences |
| Voip related preferences. | |
Static Public Attributes | |
| static bool | autoLoad = {true} |
| static std::atomic_bool | initialized = {false} |
| static bool | syncOnRegister = {true} |
Friends | |
| class | AudioDeviceGuard |
| bool jami::Manager::acceptCall | ( | Call & | call, |
| const std::vector< libjami::MediaMap > & | mediaList = {} |
||
| ) |
Definition at line 1119 of file manager.cpp.
References jami::Call::answer(), jami::Call::getCallId(), jami::Call::getConference(), jami::Conference::getConfId(), jami::Call::getConnectionState(), jami::Recordable::getPath(), JAMI_ERROR, JAMI_LOG, and jami::Call::toggleRecording().

| bool jami::Manager::acceptCall | ( | const std::string & | accountId, |
| const std::string & | callId, | ||
| const std::vector< libjami::MediaMap > & | mediaList = {} |
||
| ) |
Functions which occur with a user's action Answer the call.
| callId |
Definition at line 1106 of file manager.cpp.
Referenced by libjami::accept(), and libjami::acceptWithMedia().
Definition at line 781 of file manager.h.
Referenced by getAccountList().
| std::string jami::Manager::addAccount | ( | const std::map< std::string, std::string > & | details, |
| const std::string & | accountId = {} |
||
| ) |
Add a new account, and give it a new account ID automatically.
| details | The new account parameters |
| accountId | optionnal predetermined accountid to use |
Definition at line 2773 of file manager.cpp.
References jami::ACCOUNT_TYPE_SIP, accountFactory, jami::Preferences::addAccount(), jami::Conf::CONFIG_ACCOUNT_TYPE, jami::AccountFactory::createAccount(), jami::AccountFactory::DEFAULT_ACCOUNT_TYPE, jami::emitSignal(), getNewAccountId(), JAMI_DEBUG, JAMI_ERROR, markAccountPending(), preferences, and saveConfig().
Referenced by libjami::addAccount().

Definition at line 1697 of file manager.cpp.
References jami::Call::audioGuard, jami::Call::getAudioStreams(), jami::Call::getCallId(), jami::Call::isConferenceParticipant(), JAMI_DEBUG, JAMI_ERROR, and JAMI_LOG.

| bool jami::Manager::addMainParticipant | ( | const std::string & | accountId, |
| const std::string & | confId | ||
| ) |
Bind the main participant to a conference (mainly called on a double click action)
| the | conference id |
Definition at line 1440 of file manager.cpp.
References JAMI_LOG, and JAMI_WARNING.
Referenced by libjami::addMainParticipant().
| bool jami::Manager::addSubCall | ( | Call & | call, |
| Conference & | conference | ||
| ) |
Definition at line 1389 of file manager.cpp.
References jami::Call::getCallId(), jami::Conference::getConfId(), jami::Conference::getState(), and JAMI_DEBUG.

| bool jami::Manager::addSubCall | ( | const std::string & | accountId, |
| const std::string & | callId, | ||
| const std::string & | account2Id, | ||
| const std::string & | confId | ||
| ) |
Add a subcall to a conference.
| the | call id |
| the | conference id |
Definition at line 1369 of file manager.cpp.
References jami::Call::getConference().
Referenced by libjami::addParticipant().

| AudioFormat jami::Manager::audioFormatUsed | ( | AudioFormat | format | ) |
Should be called by any component dealing with an external audio source, indicating the format used so the mixer format can be eventually adapted.
Definition at line 2662 of file manager.cpp.
References jami::emitSignal(), JAMI_DEBUG, jami::AudioFormat::sample_rate, jami::AudioFormat::sampleFormat, and jami::AudioFormat::toString().
Referenced by hardwareAudioFormatChanged().

| void jami::Manager::bindCallToConference | ( | Call & | call, |
| Conference & | conf | ||
| ) |
Definition at line 654 of file manager.cpp.
References jami::emitSignal().
Referenced by jami::Manager::ManagerPimpl::processIncomingCall().

Handle played sound when a call is unable to be completed because of a busy recipient.
Definition at line 2026 of file manager.cpp.
References jami::Call::getCallId(), and JAMI_LOG.

Handle played sound when a failure occurs.
Definition at line 2041 of file manager.cpp.
References jami::Call::getCallId(), jami::Call::isConferenceParticipant(), jami::Call::isSubcall(), and JAMI_LOG.
Referenced by jami::Call::Call().

| dhtnet::tls::CertificateStore & jami::Manager::certStore | ( | const std::string & | accountId | ) | const |
Definition at line 3339 of file manager.cpp.
References jami::emitSignal().
Referenced by jami::ContactList::foundAccountDevice().

| void jami::Manager::congestion | ( | ) |
Handle played music when a congestion occurs.
Multi Thread.
Definition at line 2096 of file manager.cpp.
| void jami::Manager::createConfFromParticipantList | ( | const std::string & | accountId, |
| const std::vector< std::string > & | participantList | ||
| ) |
Create a conference from a list of participant.
| A | vector containing the list of participant |
Definition at line 1546 of file manager.cpp.
References jami::Conference::addSubCall(), jami::Conference::attachHost(), jami::Conference::getConfId(), JAMI_ERROR, and JAMI_WARNING.
Referenced by libjami::createConfFromParticipantList().

| bool jami::Manager::detachHost | ( | const std::shared_ptr< Conference > & | conf = {} | ) |
Detach the local participant from curent conference.
Remote participants are placed on hold.
Definition at line 1590 of file manager.cpp.
References JAMI_LOG.
Referenced by libjami::detachLocalParticipant(), and jami::Conference::hangupParticipant().
Detach a participant from a conference, put the call on hold, do not hangup it.
| call | id |
| the | current call id |
Definition at line 1603 of file manager.cpp.
References jami::Call::getAccountId(), jami::Call::getStateStr(), JAMI_DEBUG, and JAMI_ERROR.
Referenced by libjami::detachParticipant().

Definition at line 3289 of file manager.cpp.
References jami::emitSignal(), getAccount(), and jami::AccountConfig::localModeratorsEnabled.
Referenced by libjami::enableLocalModerators().

| void jami::Manager::eraseGitTransport | ( | git_smart_subtransport * | tr | ) |
Definition at line 3332 of file manager.cpp.
References jami::emitSignal().
Referenced by P2PSubTransportFree().

|
noexcept |
Definition at line 875 of file manager.cpp.
References jami::Call::getAccountId(), jami::Call::getCallId(), JAMI_DBG, JAMI_DEBUG, and JAMI_ERROR.
Referenced by libjami::fini().

|
inline |
Get an account pointer, looks for account of type T.
| accountID | account ID to get |
Definition at line 753 of file manager.h.
Referenced by enableLocalModerators(), getAccountDetails(), libjami::getCodecDetails(), getDefaultModerators(), getLastMessages(), getNewAccountId(), getVolatileAccountDetails(), isAllModerators(), isLocalModeratorsEnabled(), loadAccountAndConversation(), libjami::lookupAddress(), newOutgoingCall(), libjami::publish(), removeAccount(), libjami::searchConversation(), sendRegister(), sendTextMessage(), setAccountActive(), setAccountDetails(), setAllModerators(), libjami::setCodecDetails(), setDefaultModerator(), libjami::subscribeBuddy(), and toggleRecordingCall().
| std::map< std::string, std::string > jami::Manager::getAccountDetails | ( | const std::string & | accountID | ) | const |
Retrieve details about a given account.
| accountID | The account identifier |
Definition at line 2700 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERROR.
Referenced by libjami::getAccountDetails().

| std::vector< std::string > jami::Manager::getAccountList | ( | ) | const |
Get account list.
Definition at line 2687 of file manager.cpp.
References accountCount(), jami::emitSignal(), and getAllAccounts().
Referenced by libjami::getAccountList(), removeAccounts(), libjami::searchConversation(), and jami::JamiPluginManager::uninstallPlugin().

|
inline |
Get a list of account pointers of type T (baseclass Account)
Definition at line 763 of file manager.h.
Referenced by jami::Conference::addSubCall(), libjami::connectivityChanged(), getAccountList(), jami::SIPVoIPLink::guessAccount(), libjami::pushNotificationReceived(), registerAccounts(), libjami::setEncodingAccelerated(), libjami::setPushNotificationConfig(), libjami::setPushNotificationToken(), and libjami::setPushNotificationTopic().
| std::shared_ptr< AudioLayer > jami::Manager::getAudioDriver | ( | ) |
Accessor to audiodriver.
it's multi-thread and use mutex internally
Definition at line 3081 of file manager.cpp.
Referenced by jami::AudioDeviceGuard::AudioDeviceGuard(), jami::AudioDeviceGuard::AudioDeviceGuard(), and jami::AudioDeviceGuard::~AudioDeviceGuard().
Get index of an audio device.
| name | The string description of an audio device |
Definition at line 2431 of file manager.cpp.
References jami::CAPTURE, jami::emitSignal(), and JAMI_ERROR.
Referenced by libjami::getAudioInputDeviceIndex().

| std::vector< std::string > jami::Manager::getAudioInputDeviceList | ( | ) |
Get list of supported audio input device.
Definition at line 2218 of file manager.cpp.
References JAMI_ERROR.
Referenced by libjami::getAudioInputDeviceList().
| std::string jami::Manager::getAudioManager | ( | ) | const |
Get the audio manager.
Definition at line 2425 of file manager.cpp.
References audioPreference, and jami::AudioPreference::getAudioApi().
Referenced by libjami::getAudioManager(), and jami::PortAudioLayer::PortAudioLayerImpl::PortAudioLayerImpl().

Definition at line 2444 of file manager.cpp.
References jami::emitSignal(), JAMI_ERROR, and jami::PLAYBACK.
Referenced by libjami::getAudioOutputDeviceIndex().

| std::vector< std::string > jami::Manager::getAudioOutputDeviceList | ( | ) |
Get list of supported audio output device.
Definition at line 2202 of file manager.cpp.
References JAMI_ERROR.
Referenced by libjami::getAudioOutputDeviceList().
Get the Call referred by callID.
If the Call does not exist, return empty std::shared_ptr<Call> instance
Definition at line 1455 of file manager.cpp.
| std::vector< std::string > jami::Manager::getCallList | ( | ) | const |
Get list of calls (internal subcalls are filter-out)
Definition at line 2940 of file manager.cpp.
References callFactory, jami::emitSignal(), jami::CallFactory::getAllCalls(), jami::Call::getCallId(), and jami::Call::isSubcall().
Referenced by libjami::getCallList(), and libjami::getCallList().

| std::vector< std::map< std::string, std::string > > jami::Manager::getChannelList | ( | const std::string & | accountId, |
| const std::string & | connectionId | ||
| ) |
Definition at line 1002 of file manager.cpp.
Referenced by libjami::getChannelList().
| std::vector< std::map< std::string, std::string > > jami::Manager::getConnectionList | ( | const std::string & | accountId, |
| const std::string & | conversationId | ||
| ) |
Definition at line 975 of file manager.cpp.
Referenced by libjami::getConnectionList().
| std::vector< std::string > jami::Manager::getCurrentAudioDevicesIndex | ( | ) |
Get string array representing integer indexes of output, input, and ringtone device.
Get string array representing integer indexes of output and input device.
Definition at line 2234 of file manager.cpp.
References JAMI_ERROR.
Referenced by libjami::getCurrentAudioDevicesIndex().
| std::string jami::Manager::getCurrentAudioOutputPlugin | ( | ) | const |
Get current alsa plugin.
Definition at line 2457 of file manager.cpp.
References audioPreference, and jami::AudioPreference::getAlsaPlugin().
Referenced by libjami::getCurrentAudioOutputPlugin().

| std::shared_ptr< Call > jami::Manager::getCurrentCall | ( | ) | const |
Get the current call.
Definition at line 1052 of file manager.cpp.
| const std::string & jami::Manager::getCurrentCallId | ( | ) | const |
Get the current call id.
Definition at line 1058 of file manager.cpp.
| std::vector< std::string > jami::Manager::getDefaultModerators | ( | const std::string & | accountID | ) |
Definition at line 3276 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERROR.
Referenced by libjami::getDefaultModerators().

| std::string jami::Manager::getEchoCancellationState | ( | ) | const |
Get the echo cancellation engine state in the current audio layer.
Definition at line 2475 of file manager.cpp.
References audioPreference, and jami::AudioPreference::getEchoCanceller().
Referenced by libjami::getEchoCancellationState().

| int jami::Manager::getHistoryLimit | ( | ) | const |
Get the maximum number of days to keep in the history.
Definition at line 2377 of file manager.cpp.
References jami::Preferences::getHistoryLimit(), and preferences.
Referenced by libjami::getHistoryLimit().

| const std::shared_ptr< dhtnet::IceTransportFactory > & jami::Manager::getIceTransportFactory | ( | ) |
Definition at line 3209 of file manager.cpp.
Referenced by jami::SIPAccountBase::getIceOptions().
| bool jami::Manager::getIsAlwaysRecording | ( | ) | const |
Get is always recording functionality.
Definition at line 2296 of file manager.cpp.
References audioPreference, and jami::AudioPreference::getIsAlwaysRecording().
Referenced by libjami::getIsAlwaysRecording().

| std::vector< libjami::Message > jami::Manager::getLastMessages | ( | const std::string & | accountID, |
| const uint64_t & | base_timestamp | ||
| ) |
Definition at line 3221 of file manager.cpp.
References jami::emitSignal(), and getAccount().

Definition at line 3008 of file manager.cpp.
References JAMI_ERROR.
Definition at line 3001 of file manager.cpp.
References JAMI_ERROR.
Referenced by libjami::getMessageStatus(), and libjami::getMessageStatus().
| std::map< std::string, std::string > jami::Manager::getNearbyPeers | ( | const std::string & | accountID | ) |
Definition at line 3252 of file manager.cpp.
References jami::emitSignal().
Referenced by libjami::getNearbyPeers().

| std::string jami::Manager::getNewAccountId | ( | ) |
Return a new random accountid that is not present in the list.
Definition at line 2763 of file manager.cpp.
References jami::emitSignal(), getAccount(), and jami::to_hex_string().
Referenced by addAccount().

| std::string jami::Manager::getNoiseSuppressState | ( | ) | const |
Get the noise reduction engine state from the current audio layer.
Definition at line 2463 of file manager.cpp.
References audioPreference, and jami::AudioPreference::getNoiseReduce().
Referenced by libjami::getNoiseSuppressState().

| RingBufferPool & jami::Manager::getRingBufferPool | ( | ) |
Return a pointer to the instance of the RingBufferPool.
Definition at line 3197 of file manager.cpp.
Referenced by jami::AudioInput::configureFilePlayback(), jami::AudioLayer::flush(), jami::AudioLayer::flushMain(), jami::AudioLayer::getToPlay(), init(), libjami::isAudioMeterActive(), libjami::setAudioMeterState(), jami::AudioInput::setPaused(), jami::LocalRecorder::start(), jami::PulseLayer::startCaptureStream(), jami::AudioRtpSession::stop(), jami::PulseLayer::stopCaptureStream(), jami::LocalRecorder::stopRecording(), jami::AudioInput::switchInput(), and jami::AudioInput::~AudioInput().
| std::chrono::seconds jami::Manager::getRingingTimeout | ( | ) | const |
Get ringing timeout (number of seconds after which a call will enter BUSY state if not answered).
Definition at line 2391 of file manager.cpp.
References jami::Preferences::getRingingTimeout(), and preferences.
Referenced by jami::Call::Call(), and libjami::getRingingTimeout().

| std::mt19937_64 jami::Manager::getSeededRandomEngine | ( | ) |
Definition at line 2756 of file manager.cpp.
References jami::emitSignal().
Referenced by jami::Conversation::Impl::rotateTrackedMembers().

| std::shared_ptr< AudioLoop > jami::Manager::getTelephoneFile | ( | ) |
Retrieve the current telephone file.
Definition at line 2152 of file manager.cpp.
| std::shared_ptr< AudioLoop > jami::Manager::getTelephoneTone | ( | ) |
Retrieve the current telephone tone.
Definition at line 2146 of file manager.cpp.
| VideoManager * jami::Manager::getVideoManager | ( | ) | const |
Definition at line 3215 of file manager.cpp.
Referenced by jami::getAudioInput(), and jami::Conference::~Conference().
| bool jami::Manager::getVoiceActivityDetectionState | ( | ) | const |
Get the voice activity detection engine state from the current audio layer.
Definition at line 2487 of file manager.cpp.
References audioPreference, and jami::AudioPreference::getVadEnabled().
Referenced by libjami::getVoiceActivityDetectionState().

| std::map< std::string, std::string > jami::Manager::getVolatileAccountDetails | ( | const std::string & | accountID | ) | const |
Retrieve volatile details such as recent registration errors.
| accountID | The account identifier |
Definition at line 2714 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERROR.
Referenced by libjami::getVolatileAccountDetails().

| std::shared_ptr< dhtnet::ChannelSocket > jami::Manager::gitSocket | ( | std::string_view | accountId, |
| std::string_view | deviceId, | ||
| std::string_view | conversationId | ||
| ) |
Return current git socket used for a conversation.
| accountId | Related account |
| deviceId | Related device |
| conversationId | Related conversation |
Definition at line 3243 of file manager.cpp.
References jami::emitSignal().
Referenced by P2PSubTransportAction().

Functions which occur with a user's action Hangup the call.
| accountId | |
| callId | The call identifier |
Definition at line 1158 of file manager.cpp.
References JAMI_ERROR, and JAMI_WARN.
Referenced by libjami::hangUp(), jami::Account::hangupCalls(), jami::Conference::hangupParticipant(), and jami::transferCall().
Functions which occur with a user's action Hangup the conference (hangup every participants)
| id | The call identifier |
Definition at line 1196 of file manager.cpp.
References JAMI_ERROR.
Referenced by libjami::hangUpConference().
| AudioFormat jami::Manager::hardwareAudioFormatChanged | ( | AudioFormat | format | ) |
Callback called when the audio layer initialised with its preferred format.
Definition at line 2656 of file manager.cpp.
References audioFormatUsed().
Referenced by jami::AudioLayer::hardwareFormatAvailable().

Definition at line 3203 of file manager.cpp.
References accountFactory, jami::emitSignal(), and jami::AccountFactory::hasAccount().

| bool jami::Manager::hasCurrentCall | ( | ) | const |
Tell if there is a current call processed.
Definition at line 1042 of file manager.cpp.
References libjami::Call::StateEvent::CURRENT, jami::Call::getStateStr(), and jami::Call::isSubcall().

Functions which occur with a user's action Hold call.
| accountId | |
| callId | The call identifier |
Definition at line 1210 of file manager.cpp.
References jami::Call::hold(), JAMI_ERROR, and JAMI_LOG.
Referenced by libjami::hold().

Hold all conference participants.
| the | conference id |
Definition at line 1329 of file manager.cpp.
References jami::Conference::detachHost(), jami::Conference::getConfId(), jami::Conference::getStateStr(), and JAMI_LOG.
Referenced by libjami::holdConference().

Handle incoming call and notify user.
| accountId | an account id |
| call | A call pointer |
Definition at line 1881 of file manager.cpp.
References jami::Call::getCallId(), and JAMI_ERROR.
Referenced by jami::transaction_request_cb().

| bool jami::Manager::incomingCallsWaiting | ( | ) |
Definition at line 1874 of file manager.cpp.
| void jami::Manager::incomingMessage | ( | const std::string & | accountId, |
| const std::string & | callId, | ||
| const std::string & | from, | ||
| const std::map< std::string, std::string > & | messages | ||
| ) |
Notify the client with an incoming message.
| accountId | The account identifier |
| callId | The call to send the message |
| messages | A map if mime type as key and mime payload as value |
Definition at line 1898 of file manager.cpp.
References jami::Call::getConference(), jami::Conference::getConfId(), jami::Call::isConferenceParticipant(), and JAMI_ERROR.
Referenced by jami::Call::onTextMessage().

| void jami::Manager::init | ( | const std::filesystem::path & | config_file, |
| libjami::InitFlag | flags | ||
| ) |
Initialisation of thread (sound) and map.
Init a new VoIPLink, audio codec and audio driver.
Definition at line 736 of file manager.cpp.
References autoLoad, jami::check_rename(), dhtLogLevel, dhtnetLogLevel, jami::emitSignal(), jami::fileutils::get_cache_dir(), jami::fileutils::get_config_dir(), jami::fileutils::get_data_dir(), jami::getDhtLogLevel(), jami::getDhtnetLogLevel(), jami::fileutils::getOrCreateLocalDeviceId(), getRingBufferPool(), initialized, JAMI_DEBUG, JAMI_ERROR, JAMI_LOG, JAMI_WARNING, libjami::LIBJAMI_FLAG_NO_AUTOLOAD, libjami::LIBJAMI_FLAG_NO_LOCAL_AUDIO, libjami::LIBJAMI_FLAG_NO_LOCAL_VIDEO, jami::make_backup(), p2p_transport_cb(), jami::PACKAGE_OLD, PJSIP_TRY, removeAccounts(), jami::restore_backup(), jami::setGnuTlsLogLevel(), and jami::setSipLogLevel().
Referenced by libjami::start().

| void jami::Manager::insertGitTransport | ( | git_smart_subtransport * | tr, |
| std::unique_ptr< P2PSubTransport > && | sub | ||
| ) |
Definition at line 3325 of file manager.cpp.
References jami::emitSignal().
Referenced by P2PSubTransportNew().

|
static |
Definition at line 694 of file manager.cpp.
References jami::emitSignal(), initialized, instance(), and JAMI_WARNING.
Referenced by libjami::accept(), libjami::acceptConversationRequest(), libjami::acceptTrustRequest(), libjami::acceptWithMedia(), libjami::addAccount(), libjami::addContact(), libjami::addConversationMember(), libjami::addDevice(), libjami::addMainParticipant(), libjami::addParticipant(), jami::Conference::addSubCall(), jami::Conversation::Impl::announce(), libjami::answerMediaChangeRequest(), libjami::answerServerRequest(), libjami::attendedTransfer(), jami::Call::Call(), jami::ConversationModule::call(), libjami::cancelAddDevice(), libjami::cancelDataTransfer(), libjami::changeAccountPassword(), libjami::clearCache(), jami::closeMediaPlayer(), jami::AudioInput::configureFilePlayback(), libjami::confirmAddDevice(), libjami::connectivityChanged(), jami::ContactList::ContactList(), libjami::conversationInfos(), libjami::countInteractions(), libjami::createConfFromParticipantList(), jami::createMediaPlayer(), libjami::currentMediaList(), libjami::declineConversationRequest(), libjami::detachLocalParticipant(), libjami::detachParticipant(), libjami::discardTrustRequest(), jami::JamiAccount::doUnregister(), libjami::downloadFile(), libjami::enableLocalModerators(), libjami::exportToFile(), libjami::fileTransferInfo(), jami::MediaDemuxer::findStreamInfo(), libjami::fini(), jami::AudioLayer::flush(), jami::AudioLayer::flushMain(), jami::ContactList::foundAccountDevice(), libjami::getAccountDetails(), libjami::getAccountList(), libjami::getActiveCalls(), libjami::getActiveCodecList(), jami::getAudioInput(), libjami::getAudioInputDeviceIndex(), libjami::getAudioInputDeviceList(), libjami::getAudioManager(), libjami::getAudioOutputDeviceIndex(), libjami::getAudioOutputDeviceList(), libjami::getCallDetails(), libjami::getCallList(), libjami::getCallList(), libjami::getCallMediaHandlerDetails(), libjami::getCallMediaHandlers(), libjami::getCallMediaHandlerStatus(), libjami::getCertificateDetails(), libjami::getCertificateDetailsPath(), libjami::getCertificatesByStatus(), libjami::getChannelList(), libjami::getChatHandlerDetails(), libjami::getChatHandlers(), libjami::getChatHandlerStatus(), libjami::getCodecDetails(), libjami::getConferenceDetails(), libjami::getConferenceId(), libjami::getConferenceInfos(), libjami::getConferenceList(), libjami::getConnectionList(), libjami::getContactDetails(), libjami::getContacts(), libjami::getConversationConnectivity(), libjami::getConversationMembers(), libjami::getConversationPreferences(), libjami::getConversationRequests(), libjami::getConversations(), libjami::getConversationTrackedMembers(), libjami::getCredentials(), libjami::getCurrentAudioDevicesIndex(), libjami::getCurrentAudioOutputPlugin(), libjami::getDecodingAccelerated(), libjami::getDefaultModerators(), libjami::getEchoCancellationState(), libjami::getEncodingAccelerated(), libjami::getHistoryLimit(), jami::SIPAccountBase::getIceOptions(), libjami::getInstalledPlugins(), jami::JamiPluginManager::getInstalledPlugins(), libjami::getIsAlwaysRecording(), libjami::getIsRecording(), libjami::getKnownRingDevices(), libjami::getLastMessages(), libjami::getLoadedPlugins(), jami::getMediaPlayer(), libjami::getMessageStatus(), libjami::getMessageStatus(), jami::SIPPresence::getModId(), libjami::getNearbyPeers(), libjami::getNoiseSuppressState(), libjami::getParticipantList(), libjami::getPasswordKey(), libjami::getPinnedCertificates(), libjami::getPlatformInfo(), libjami::getPluginDetails(), libjami::getPluginPreferences(), libjami::getPluginPreferencesValues(), libjami::getPluginsEnabled(), libjami::getRecordPath(), libjami::getRecordPreview(), libjami::getRecordQuality(), libjami::getRenderer(), libjami::getRingingTimeout(), libjami::getSubscriptions(), libjami::getSupportedCiphers(), jami::AudioLayer::getToPlay(), jami::AudioLayer::getToRing(), libjami::getTrustRequests(), libjami::getVoiceActivityDetectionState(), libjami::getVolatileAccountDetails(), libjami::getVolume(), jami::SIPVoIPLink::guessAccount(), libjami::hangUp(), jami::Account::hangupCalls(), libjami::hangUpConference(), libjami::hangupParticipant(), jami::Conference::hangupParticipant(), jami::AudioLayer::hardwareFormatAvailable(), jami::VideoManager::hasRunningPlayers(), libjami::hold(), libjami::holdConference(), libjami::init(), jami::ServerAccountManager::initAuthentication(), jami::video::VideoRtpSession::initRecorder(), libjami::installPlugin(), jami::JamiPluginManager::installPlugin(), instance(), libjami::isAgcEnabled(), libjami::isAllModerators(), libjami::isAudioMeterActive(), libjami::isCaptureMuted(), libjami::isConferenceParticipant(), libjami::isDtmfMuted(), libjami::isLocalModeratorsEnabled(), libjami::isPasswordValid(), libjami::isPlaybackMuted(), libjami::isRingtoneMuted(), libjami::joinConference(), libjami::joinParticipant(), libjami::loadAccountAndConversation(), loadAccountMap(), jami::SIPAccountBase::loadConfig(), libjami::loadConversation(), libjami::loadPlugin(), jami::JamiPluginManager::loadPlugins(), libjami::loadSwarmUntil(), libjami::lookupAddress(), libjami::lookupName(), libjami::monitor(), libjami::muteCapture(), libjami::muteDtmf(), libjami::muteLocalMedia(), libjami::muteParticipant(), libjami::mutePlayback(), libjami::muteRingtone(), libjami::muteStream(), jami::SIPAccount::newIncomingCall(), jami::SIPAccount::newOutgoingCall(), jami::SIPAccountBase::onTextMessage(), jami::Call::onTextMessage(), P2PSubTransportAction(), P2PSubTransportFree(), P2PSubTransportNew(), libjami::pinCertificate(), libjami::pinCertificatePath(), libjami::pinRemoteCertificate(), libjami::placeCallWithMedia(), libjami::playDTMF(), jami::PortAudioLayer::PortAudioLayerImpl::PortAudioLayerImpl(), libjami::CallbackWrapperBase::post(), jami::Sdp::printSession(), libjami::provideAccountAuthentication(), libjami::publish(), libjami::pushNotificationReceived(), libjami::raiseHand(), libjami::raiseParticipantHand(), libjami::recordPlaybackSeek(), libjami::refuse(), libjami::registerAllAccounts(), libjami::registerName(), libjami::registerSinkTarget(), libjami::reloadConversationsAndRequests(), libjami::removeAccount(), jami::Call::removeCall(), jami::SIPCall::removeCall(), jami::ContactList::removeContact(), libjami::removeContact(), libjami::removeConversation(), libjami::removeConversationMember(), libjami::requestMediaChange(), jami::Conference::requestMediaChange(), libjami::resetPluginPreferencesValues(), libjami::resume(), libjami::resumeConference(), libjami::revokeDevice(), jami::Conversation::Impl::rotateTrackedMembers(), jami::runOnMainThread(), jami::Account::saveConfig(), libjami::searchConversation(), libjami::searchUser(), libjami::sendAccountTextMessage(), libjami::sendFile(), libjami::sendMessage(), libjami::sendRegister(), libjami::sendTextMessage(), libjami::sendTrustRequest(), libjami::sendWebViewAttach(), libjami::sendWebViewDetach(), libjami::sendWebViewMessage(), libjami::setAccountActive(), libjami::setAccountDetails(), libjami::setAccountsOrder(), libjami::setActiveCodecList(), libjami::setActiveParticipant(), libjami::setActiveStream(), libjami::setAgcState(), libjami::setAllModerators(), libjami::setAudioInputDevice(), libjami::setAudioManager(), libjami::setAudioMeterState(), libjami::setAudioOutputDevice(), libjami::setAudioPlugin(), libjami::setAudioRingtoneDevice(), libjami::setCertificateStatus(), libjami::setCodecDetails(), libjami::setConferenceLayout(), libjami::setConversationPreferences(), libjami::setCredentials(), libjami::setDecodingAccelerated(), libjami::setDefaultModerator(), libjami::setEchoCancellationState(), libjami::setEncodingAccelerated(), libjami::setHistoryLimit(), libjami::setIsAlwaysRecording(), libjami::setIsComposing(), jami::Sdp::setLocalMediaCapabilities(), libjami::setMessageDisplayed(), libjami::setModerator(), jami::AudioRtpSession::setMuted(), libjami::setNoiseSuppressState(), jami::AudioInput::setPaused(), libjami::setPluginPreference(), libjami::setPluginsEnabled(), libjami::setPushNotificationConfig(), libjami::setPushNotificationToken(), libjami::setPushNotificationTopic(), libjami::setRecordPath(), libjami::setRecordPreview(), libjami::setRecordQuality(), libjami::setRingingTimeout(), jami::video::VideoInput::setSink(), libjami::setSubscriptions(), libjami::setVoiceActivityDetectionState(), libjami::setVolume(), jami::SIPVoIPLink::shutdown(), jami::SIPCall::SIPCall(), jami::LocalRecorder::start(), libjami::start(), libjami::startAudioDevice(), jami::PulseLayer::startCaptureStream(), libjami::startConversation(), libjami::startRecordedFilePlayback(), libjami::startTone(), jami::AudioRtpSession::stop(), libjami::stopAudioDevice(), jami::PulseLayer::stopCaptureStream(), libjami::stopRecordedFilePlayback(), jami::LocalRecorder::stopRecording(), libjami::subscribeBuddy(), libjami::switchInput(), jami::AudioInput::switchInput(), jami::SyncedConversation::SyncedConversation(), jami::SyncedConversation::SyncedConversation(), jami::MediaEncoder::testH265Accel(), libjami::toggleCallMediaHandler(), libjami::toggleChatHandler(), jami::Recordable::toggleRecording(), libjami::toggleRecording(), jami::tp_state_callback(), jami::transaction_request_cb(), libjami::transfer(), jami::transferCall(), libjami::uninstallPlugin(), jami::JamiPluginManager::uninstallPlugin(), libjami::unloadPlugin(), libjami::unpinCertificate(), libjami::unpinCertificatePath(), libjami::updateConversationInfos(), libjami::updateProfile(), jami::Account::updateUpnpController(), libjami::validateCertificate(), libjami::validateCertificatePath(), jami::video::VideoInput::VideoInput(), jami::video::VideoSender::VideoSender(), jami::AudioInput::~AudioInput(), and jami::Conference::~Conference().

| std::shared_ptr< asio::io_context > jami::Manager::ioContext | ( | ) | const |
Definition at line 1734 of file manager.cpp.
Referenced by jami::SIPAccountBase::loadConfig().
| bool jami::Manager::isAGCEnabled | ( | ) | const |
Definition at line 2499 of file manager.cpp.
References audioPreference, and jami::AudioPreference::isAGCEnabled().
Referenced by libjami::isAgcEnabled().

Definition at line 3314 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERROR.
Referenced by libjami::isAllModerators().

Check if a call is the current one.
| call | the new call |
Definition at line 1036 of file manager.cpp.
References jami::Call::getCallId().

Definition at line 3296 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERROR.
Referenced by libjami::isLocalModeratorsEnabled().

| bool jami::Manager::joinConference | ( | const std::string & | accountId, |
| const std::string & | confId1, | ||
| const std::string & | account2Id, | ||
| const std::string & | confId2 | ||
| ) |
Join two conference together into one unique conference.
Definition at line 1642 of file manager.cpp.
References JAMI_DEBUG, and JAMI_ERROR.
Referenced by libjami::joinConference().
| bool jami::Manager::joinParticipant | ( | const std::string & | accountId, |
| const std::string & | callId1, | ||
| const std::string & | account2Id, | ||
| const std::string & | callId2, | ||
| bool | attached = true |
||
| ) |
Join two participants to create a conference.
| the | fist call id |
| the | second call id |
Definition at line 1461 of file manager.cpp.
References JAMI_DEBUG, JAMI_ERROR, JAMI_LOG, and JAMI_WARNING.
Referenced by libjami::joinParticipant().
| void jami::Manager::loadAccountAndConversation | ( | const std::string & | accountId, |
| bool | loadAll, | ||
| const std::string & | convId | ||
| ) |
Definition at line 3032 of file manager.cpp.
References jami::JamiAccount::ACCOUNT_TYPE, accountFactory, autoLoad, jami::AccountFactory::createAccount(), jami::emitSignal(), jami::fileutils::get_data_dir(), getAccount(), and JAMI_WARNING.
Referenced by libjami::loadAccountAndConversation().

Load the account map from configuration.
Definition at line 2857 of file manager.cpp.
References jami::JamiAccount::ACCOUNT_TYPE, accountFactory, audioPreference, jami::AccountFactory::createAccount(), jami::emitSignal(), jami::fileutils::get_data_dir(), jami::AccountFactory::hasAccount(), instance(), jami::Preferences::isAccountPending(), JAMI_ERROR, JAMI_INFO, preferences, removeAccount(), jami::Preferences::unserialize(), jami::VoipPreference::unserialize(), jami::AudioPreference::unserialize(), and voipPreferences.

| std::vector< std::string_view > jami::Manager::loadAccountOrder | ( | ) | const |
Load the accounts order set by the user from the jamirc config file.
Definition at line 2851 of file manager.cpp.
References jami::Preferences::getAccountOrder(), preferences, and jami::split_string().

Definition at line 2808 of file manager.cpp.
References jami::Preferences::addPendingAccountId(), preferences, and saveConfig().
Referenced by addAccount().

Definition at line 2815 of file manager.cpp.
References preferences, jami::Preferences::removePendingAccountId(), and saveConfig().

Definition at line 949 of file manager.cpp.
References JAMI_DEBUG, and jami::Call::monitor().
Referenced by libjami::monitor().

| std::shared_ptr< Call > jami::Manager::newOutgoingCall | ( | std::string_view | toUrl, |
| const std::string & | accountId, | ||
| const std::vector< libjami::MediaMap > & | mediaList | ||
| ) |
Create a new outgoing call.
| toUrl | Destination address |
| accountId | local account |
| mediaList | the list of medias |
Definition at line 3087 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_WARNING.
Referenced by jami::transferCall().

| std::string jami::Manager::outgoingCall | ( | const std::string & | accountId, |
| const std::string & | callee, | ||
| const std::vector< libjami::MediaMap > & | mediaList = {} |
||
| ) |
Place a new call.
| accountId | the user's account ID |
| callee | the callee's ID/URI. Depends on the account type. Refer to placeCall/placeCallWithMedia documentations. |
| mediaList | a list of media to include |
Definition at line 1079 of file manager.cpp.
References JAMI_DBG, JAMI_ERROR, and jami::trim().
Referenced by libjami::placeCallWithMedia().

Notify the user that the recipient of the call has answered and the put the call in Current state.
| id | The call identifier |
Definition at line 1968 of file manager.cpp.
References jami::Call::getCallId(), jami::Recordable::getPath(), JAMI_DBG, and jami::Call::toggleRecording().

Put the call in Hungup state, remove the call from the list.
| id | The call identifier |
Definition at line 2003 of file manager.cpp.
References jami::Call::getCallId(), jami::Call::isConferenceParticipant(), JAMI_LOG, and jami::Call::peerHungup().

Rings back because the outgoing call is ringing and the put the call in Ringing state.
| id | The call identifier |
Definition at line 1994 of file manager.cpp.
References jami::Call::getCallId(), and JAMI_LOG.

Play the dtmf-associated sound.
| code | The pressed key |
Definition at line 1809 of file manager.cpp.
References JAMI_ERROR.
Referenced by libjami::playDTMF().
Handle played music when an incoming call occurs.
Multi Thread.
Definition at line 2114 of file manager.cpp.
References JAMI_ERROR, and JAMI_WARNING.
| void jami::Manager::playTone | ( | ) |
Play a ringtone.
Multi Thread.
Definition at line 2078 of file manager.cpp.
Referenced by libjami::startTone().
| void jami::Manager::playToneWithMessage | ( | ) |
Play a special ringtone ( BUSY ) if there's at least one message on the voice mail.
Multi Thread.
Definition at line 2087 of file manager.cpp.
Referenced by libjami::startTone().
Definition at line 2354 of file manager.cpp.
Referenced by libjami::recordPlaybackSeek().
Functions which occur with a user's action Refuse the call.
| id | The call identifier |
Definition at line 1314 of file manager.cpp.
References jami::Call::refuse().
Referenced by libjami::refuse().

| void jami::Manager::registerAccount | ( | const std::string & | accountID, |
| const std::string & | convId = {} |
||
| ) |
Send registration for one account.
| void jami::Manager::registerAccounts | ( | ) |
Send registration for all enabled accounts.
Definition at line 2951 of file manager.cpp.
References jami::emitSignal(), and getAllAccounts().
Referenced by libjami::registerAllAccounts().

Delete an existing account, unregister VoIPLink associated, and purge from configuration.
If 'flush' argument is true, filesystem entries are also removed.
| accountID | The account unique ID |
Definition at line 2822 of file manager.cpp.
References accountFactory, jami::emitSignal(), getAccount(), preferences, jami::AccountFactory::removeAccount(), jami::Preferences::removeAccount(), jami::Preferences::removePendingAccountId(), and saveConfig().
Referenced by loadAccountMap(), libjami::removeAccount(), and removeAccounts().

| void jami::Manager::removeAccounts | ( | ) |
Definition at line 2844 of file manager.cpp.
References getAccountList(), and removeAccount().
Referenced by init().

Definition at line 1723 of file manager.cpp.
References jami::Call::getAudioStreams(), jami::Call::getCallId(), and JAMI_DEBUG.

Remove the conference participant from a conference.
| call | id |
Definition at line 1622 of file manager.cpp.
References jami::Call::getCallId(), jami::Call::getConference(), JAMI_DEBUG, and JAMI_ERROR.

Functions which occur with a user's action Resume call.
| accountId | |
| id | The call identifier |
Definition at line 1248 of file manager.cpp.
References jami::Conference::getConfId(), and JAMI_ERROR.
Referenced by libjami::resume().

Resume all conference participants.
| the | conference id |
Definition at line 1344 of file manager.cpp.
References jami::Conference::getConfId(), jami::Conference::getState(), jami::Conference::getStateStr(), jami::Conference::getSubCalls(), JAMI_DEBUG, and jami::Conference::setState().
Referenced by libjami::resumeConference().

| void jami::Manager::ringback | ( | ) |
Handle audio sounds heard by a caller while they wait for their connection to a called party to be completed.
Multi Thread.
Definition at line 2105 of file manager.cpp.
| void jami::Manager::saveConfig | ( | ) |
Save config to file.
Definition at line 1755 of file manager.cpp.
References JAMI_ERROR, and JAMI_LOG.
Referenced by addAccount(), jami::JamiPluginManager::installPlugin(), libjami::loadPlugin(), markAccountPending(), markAccountReady(), removeAccount(), jami::Account::saveConfig(), sendRegister(), setAccountsOrder(), libjami::setActiveCodecList(), setAudioManager(), libjami::setCredentials(), libjami::setDecodingAccelerated(), setDefaultModerator(), libjami::setEncodingAccelerated(), setHistoryLimit(), setIsAlwaysRecording(), libjami::setPluginsEnabled(), libjami::setRecordPreview(), libjami::setRecordQuality(), setRingingTimeout(), libjami::uninstallPlugin(), and libjami::unloadPlugin().
Definition at line 1746 of file manager.cpp.
| void jami::Manager::sendCallTextMessage | ( | const std::string & | accountId, |
| const std::string & | callID, | ||
| const std::map< std::string, std::string > & | messages, | ||
| const std::string & | from, | ||
| bool | isMixed | ||
| ) |
Send a new text message to the call, if participate to a conference, send to all participant.
| accountId | |
| callId | The call to send the message |
| message | A list of pair of mime types and payloads |
| from | The sender of this message (could be another participant of a conference) |
Definition at line 1934 of file manager.cpp.
References jami::Call::getCallId(), jami::Call::getConference(), jami::Call::isConferenceParticipant(), JAMI_ERR, JAMI_ERROR, and jami::Call::sendTextMessage().
Referenced by libjami::sendTextMessage().

ConfigurationManager - Send registration request.
| accountId | The account to register/unregister |
| enable | The flag for the type of registration false for unregistration request true for registration request |
Definition at line 2960 of file manager.cpp.
References jami::emitSignal(), getAccount(), and saveConfig().
Referenced by libjami::sendRegister().

| uint64_t jami::Manager::sendTextMessage | ( | const std::string & | accountID, |
| const std::string & | to, | ||
| const std::map< std::string, std::string > & | payloads, | ||
| bool | fromPlugin = false, |
||
| bool | onlyConnected = false |
||
| ) |
Definition at line 2976 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERROR.
Referenced by libjami::sendAccountTextMessage().

| void jami::Manager::setAccountActive | ( | const std::string & | accountID, |
| bool | active, | ||
| bool | shutdownConnections | ||
| ) |
Definition at line 3015 of file manager.cpp.
References jami::emitSignal(), and getAccount().
Referenced by libjami::setAccountActive().

| void jami::Manager::setAccountDetails | ( | const std::string & | accountID, |
| const std::map< std::string, std::string > & | details | ||
| ) |
Save the details of an existing account, given the account ID This will load the configuration map with the given data.
It will also register/unregister links where the 'Enabled' switched.
| accountID | The account identifier |
| details | The account parameters |
Definition at line 2727 of file manager.cpp.
References jami::emitSignal(), getAccount(), JAMI_DEBUG, and JAMI_ERROR.
Referenced by libjami::setAccountDetails().

Set the account order in the config file.
Definition at line 2678 of file manager.cpp.
References jami::emitSignal(), JAMI_LOG, preferences, saveConfig(), and jami::Preferences::setAccountOrder().
Referenced by libjami::setAccountsOrder().

Definition at line 2505 of file manager.cpp.
References audioPreference, and jami::AudioPreference::setAGCState().
Referenced by libjami::setAgcState().

Definition at line 3307 of file manager.cpp.
References jami::AccountConfig::allModeratorsEnabled, jami::emitSignal(), and getAccount().
Referenced by libjami::setAllModerators().

| void jami::Manager::setAudioDevice | ( | int | index, |
| AudioDeviceType | streamType | ||
| ) |
Set audio device.
Set audio output device.
| index | The index of the soundcard |
| the | type of stream, either PLAYBACK, CAPTURE, RINGTONE |
Definition at line 2177 of file manager.cpp.
References JAMI_DEBUG, and JAMI_ERROR.
Referenced by libjami::setAudioInputDevice(), libjami::setAudioOutputDevice(), and libjami::setAudioRingtoneDevice().
Set the audio manager.
Definition at line 2397 of file manager.cpp.
References audioPreference, jami::emitSignal(), jami::AudioPreference::getAudioApi(), JAMI_DEBUG, saveConfig(), and jami::AudioPreference::setAudioApi().
Referenced by libjami::setAudioManager().

Set input audio plugin.
| audioPlugin | The audio plugin |
Definition at line 2161 of file manager.cpp.
Referenced by jami::PortAudioLayer::PortAudioLayerImpl::PortAudioLayerImpl(), and libjami::setAudioPlugin().
Definition at line 730 of file manager.cpp.
| void jami::Manager::setDefaultModerator | ( | const std::string & | accountID, |
| const std::string & | peerURI, | ||
| bool | state | ||
| ) |
Definition at line 3260 of file manager.cpp.
References jami::emitSignal(), getAccount(), JAMI_ERROR, and saveConfig().
Referenced by libjami::setDefaultModerator().

Get the echo cancellation engine state from the current audio layer.
Definition at line 2481 of file manager.cpp.
References audioPreference, and jami::AudioPreference::setEchoCancel().
Referenced by libjami::setEchoCancellationState().

Set the maximum number of days to keep in the history.
| calls | The number of days |
Definition at line 2369 of file manager.cpp.
References jami::emitSignal(), JAMI_DEBUG, preferences, saveConfig(), and jami::Preferences::setHistoryLimit().
Referenced by libjami::setHistoryLimit().

Set is always recording functionality, every calls will then be set in RECORDING mode once answered.
Definition at line 2302 of file manager.cpp.
References audioPreference, jami::emitSignal(), saveConfig(), and jami::AudioPreference::setIsAlwaysRecording().
Referenced by libjami::setIsAlwaysRecording().

Set the noise reduction engine state in the current audio layer.
Definition at line 2469 of file manager.cpp.
References audioPreference, and jami::AudioPreference::setNoiseReduce().
Referenced by libjami::setNoiseSuppressState().

| void jami::Manager::setRingingTimeout | ( | std::chrono::seconds | timeout | ) |
Set ringing timeout (number of seconds after which a call will enter BUSY state if not answered).
| timeout | in seconds |
Definition at line 2383 of file manager.cpp.
References JAMI_DEBUG, preferences, saveConfig(), and jami::Preferences::setRingingTimeout().
Referenced by libjami::setRingingTimeout().

Set the voice activity detection engine state in the current audio layer.
Definition at line 2493 of file manager.cpp.
References audioPreference, and jami::AudioPreference::setVad().
Referenced by libjami::setVoiceActivityDetectionState().

| SIPVoIPLink & jami::Manager::sipVoIPLink | ( | ) | const |
Definition at line 3229 of file manager.cpp.
Referenced by jami::SIPPresence::getModId(), and jami::transaction_request_cb().
|
inline |
Definition at line 143 of file manager.h.
Referenced by jami::AudioInput::configureFilePlayback(), jami::AudioInput::setPaused(), and startRecordedFilePlayback().
|
inline |
Start a capture stream on the given device (eg.
a window handle). If another stream is already using this device, increase its user count and return a guard. Otherwise, start a new capture stream on the device and return a guard.
| captureDevice | The name of the capture device to use |
Start playback fo a recorded file if and only if audio layer is not already started.
| File | path of the file to play |
Definition at line 2332 of file manager.cpp.
References jami::emitSignal(), JAMI_DEBUG, JAMI_ERROR, jami::RINGTONE, and startAudioStream().
Referenced by libjami::startRecordedFilePlayback().

| void jami::Manager::stopRecordedFilePlayback | ( | ) |
Stop playback of recorded file.
Definition at line 2360 of file manager.cpp.
References JAMI_DEBUG.
Referenced by libjami::stopRecordedFilePlayback().
| void jami::Manager::stopTone | ( | ) |
Acts on the audio streams and audio files.
Multi Thread.
Definition at line 2065 of file manager.cpp.
Referenced by libjami::startTone().
Set recording on / off Start recording.
| id | The call identifier Returns true if the call was set to record |
Definition at line 2309 of file manager.cpp.
References jami::emitSignal(), getAccount(), JAMI_DEBUG, and JAMI_ERROR.
Referenced by libjami::toggleRecording().

| bool jami::Manager::transferCall | ( | const std::string & | accountId, |
| const std::string & | id, | ||
| const std::string & | to | ||
| ) |
Functions which occur with a user's action Transfer the call.
| id | The call identifier |
| to | The recipient of the transfer |
Definition at line 1282 of file manager.cpp.
References jami::Call::isConferenceParticipant(), and jami::Call::transfer().
Referenced by libjami::transfer().

| void jami::Manager::transferFailed | ( | ) |
Notify the client that the transfer failed.
Definition at line 1301 of file manager.cpp.
| void jami::Manager::transferSucceeded | ( | ) |
Notify the client the transfer is successful.
Definition at line 1307 of file manager.cpp.
| void jami::Manager::unregisterAccounts | ( | ) |
Send unregister for all enabled accounts.
Definition at line 1064 of file manager.cpp.
| std::shared_ptr< dhtnet::upnp::UPnPContext > jami::Manager::upnpContext | ( | ) | const |
Definition at line 1740 of file manager.cpp.
Referenced by libjami::connectivityChanged().
|
friend |
| AccountFactory jami::Manager::accountFactory |
Definition at line 873 of file manager.h.
Referenced by addAccount(), hasAccount(), loadAccountAndConversation(), loadAccountMap(), and removeAccount().
| AudioPreference jami::Manager::audioPreference |
Audio preferences.
Definition at line 90 of file manager.h.
Referenced by getAudioManager(), getCurrentAudioOutputPlugin(), getEchoCancellationState(), getIsAlwaysRecording(), getNoiseSuppressState(), libjami::getRecordPath(), getVoiceActivityDetectionState(), jami::Manager::ManagerPimpl::initAudioDriver(), isAGCEnabled(), loadAccountMap(), setAGCState(), setAudioManager(), setEchoCancellationState(), setIsAlwaysRecording(), setNoiseSuppressState(), libjami::setRecordPath(), setVoiceActivityDetectionState(), and jami::Recordable::toggleRecording().
Definition at line 116 of file manager.h.
Referenced by init(), and loadAccountAndConversation().
| CallFactory jami::Manager::callFactory |
Definition at line 826 of file manager.h.
Referenced by jami::ConversationModule::call(), getCallList(), jami::SIPAccount::newIncomingCall(), and jami::Call::removeCall().
| unsigned jami::Manager::dhtLogLevel {0} |
| unsigned jami::Manager::dhtnetLogLevel {0} |
|
static |
Definition at line 108 of file manager.h.
Referenced by init(), libjami::initialized(), instance(), and jami::video::notify().
| Preferences jami::Manager::preferences |
General preferences configuration.
Definition at line 80 of file manager.h.
Referenced by addAccount(), getHistoryLimit(), getRingingTimeout(), loadAccountMap(), loadAccountOrder(), markAccountPending(), markAccountReady(), removeAccount(), setAccountsOrder(), setHistoryLimit(), and setRingingTimeout().
| VoipPreference jami::Manager::voipPreferences |
Voip related preferences.
Definition at line 85 of file manager.h.
Referenced by libjami::isDtmfMuted(), loadAccountMap(), and libjami::muteDtmf().