|
Ring Daemon
|
#include <sipcall.h>


Classes | |
| struct | InvSessionDeleter |
| The invite session to be reused in case of transfer. More... | |
| struct | RtpStream |
Public Member Functions | |
| void | addLocalIceAttributes () |
| void | answer (const std::vector< libjami::MediaMap > &mediaList) override |
| Answer a call with a list of media attributes. | |
| void | answerMediaChangeRequest (const std::vector< libjami::MediaMap > &mediaList, bool isRemote=false) override |
| Answer to a media update request. | |
| bool | attendedTransfer (const std::string &to) override |
| Attended transfer. | |
| void | carryingDTMFdigits (char code) override |
| Send DTMF. | |
| bool | checkMediaChangeRequest (const std::vector< libjami::MediaMap > &remoteMediaList) override |
| Check the media of an incoming media change request. | |
| bool | createIceMediaTransport (bool isReinvite) |
| std::vector< libjami::MediaMap > | currentMediaList () const override |
| Retrieve current medias list. | |
| void | enterConference (std::shared_ptr< Conference > conference) override |
| void | exitConference () override |
| std::shared_ptr< SystemCodecInfo > | getAudioCodec () const override |
| std::map< std::string, bool > | getAudioStreams () const override |
| const std::string & | getContactHeader () const |
| std::map< std::string, std::string > | getDetails () const override |
| std::shared_ptr< dhtnet::IceTransport > | getIceMedia () const |
| LinkType | getLinkType () const override |
| std::vector< std::string > | getLocalIceCandidates (unsigned compId) const |
| std::vector< MediaAttribute > | getMediaAttributeList () const override |
| std::map< std::string, bool > | getRemoteAudioStreams () const override |
| Return a map of audio stream IDs to their remote (peer-side) muted state. | |
| std::vector< std::shared_ptr< RtpSession > > | getRtpSessionList (MediaType type=MediaType::MEDIA_ALL) const |
| const std::vector< RtpStream > & | getRtpStreams () const |
| Sdp & | getSDP () |
| Return the SDP's manager of this call. | |
| std::shared_ptr< SIPAccountBase > | getSIPAccount () const |
| SipTransport * | getTransport () |
| std::shared_ptr< SystemCodecInfo > | getVideoCodec () const override |
| void | handleMediaChangeRequest (const std::vector< libjami::MediaMap > &remoteMediaList) override |
| Process incoming media change request. | |
| void | hangup (int code) override |
| Hang up the call. | |
| bool | hasVideo () const override |
| bool | hold (OnReadyCb &&cb) override |
| Hold call. | |
| bool | initIceMediaTransport (bool master, std::optional< dhtnet::IceTransportOptions > options=std::nullopt) |
| bool | isCaptureDeviceMuted (const MediaType &mediaType) const override |
| bool | isIceEnabled () const override |
| Check wether ICE is enabled for media. | |
| bool | isSipMethodAllowedByPeer (const std::string_view method) const |
| Check if a SIP method is allowed by peer. | |
| bool | isSrtpEnabled () const |
| void | monitor () const override |
| void | muteMedia (const std::string &mediaType, bool isMuted) override |
| mute/unmute a media of a call | |
| void | onAnswered () |
| Peer answered the call. | |
| void | onBusyHere () |
| Peer answered busy. | |
| void | onClosed () |
| Peer closed the connection. | |
| void | onFailure (int code=0) |
| Called to report server/internal errors. | |
| void | onMediaNegotiationComplete () |
| Called when the media negotiation (SDP offer/answer) has completed. | |
| void | onPeerRinging () |
| Call is in ringing state on peer's side. | |
| void | onReceiveOfferIn200OK (const pjmedia_sdp_session *offer) |
| pj_status_t | onReceiveReinvite (const pjmedia_sdp_session *offer, pjsip_rx_data *rdata) |
| void | peerHungup () override |
| Peer has hung up a call. | |
| void | peerMuted (bool state, int streamIdx) override |
| void | peerRecording (bool state) override |
| std::string_view | peerUri () const |
| void | peerVoice (bool state) override |
| void | refuse () override |
| Refuse incoming call. | |
| bool | remoteHasValidIceAttributes () const |
| void | removeCall (int code=0) override |
| void | reportMediaNegotiationStatus () |
| Announce to the client that medias are successfully negotiated. | |
| void | requestKeyframe (int streamIdx=-1) |
| bool | requestMediaChange (const std::vector< libjami::MediaMap > &mediaList) override |
| Make a change request of the current media with the provided media. | |
| void | restartMediaSender () override |
| bool | resume (OnReadyCb &&cb) override |
| Resume call from hold state. | |
| void | sendKeyframe (int streamIdx=-1) override |
| void | sendSIPInfo (std::string_view body, std::string_view subtype) |
| void | sendTextMessage (const std::map< std::string, std::string > &messages, const std::string &from) override |
| Send a message to a call identified by its callid. | |
| void | setActiveMediaStream (const std::string &accountUri, const std::string &deviceId, const std::string &streamId, const bool &state) |
| void | setIceMedia (std::shared_ptr< dhtnet::IceTransport > ice, bool isReinvite=false) |
| void | setInviteSession (pjsip_inv_session *inviteSession=nullptr) |
| void | setPeerAllowMethods (std::vector< std::string > methods) |
| Set peer's allowed methods. | |
| void | setPeerRegisteredName (const std::string &name) |
| void | setPeerUaVersion (std::string_view ua) |
| Set peer's User-Agent found in the message header. | |
| void | setPeerUri (const std::string &peerUri) |
| void | setSipTransport (const std::shared_ptr< SipTransport > &transport, const std::string &contactHdr={}) |
| void | setupIceResponse (bool isReinvite=false) |
| Setup ICE locally to answer to an ICE offer. | |
| SIPCall (const std::shared_ptr< SIPAccountBase > &account, const std::string &id, Call::CallType type, const std::vector< libjami::MediaMap > &mediaList) | |
| Constructor. | |
| void | switchInput (const std::string &resource={}) override |
| void | switchToIceReinviteIfNeeded () |
| void | terminateSipSession (int status) |
| bool | toggleRecording () override |
| This method must be implemented for this interface as calls and conferences have different behavior. | |
| void | transfer (const std::string &to) override |
| Transfer a call to specified URI. | |
| void | updateRecState (bool state) override |
| Update recording state. | |
| std::weak_ptr< SIPCall > | weak () |
| std::weak_ptr< const SIPCall > | weak () const |
| ~SIPCall () | |
| Destructor. | |
Public Member Functions inherited from jami::Call | |
| void | addStateListener (StateListenerCb &&listener) |
| void | addSubCall (Call &call) |
| Attach subcall to this instance. | |
| int | conferenceProtocolVersion () const |
| std::weak_ptr< Account > | getAccount () const |
| std::string | getAccountId () const |
| std::chrono::milliseconds | getCallDuration () const |
| const std::string & | getCallId () const |
| Return a reference on the call id. | |
| CallType | getCallType () const |
| std::shared_ptr< Conference > | getConference () const |
| Return a reference on the conference id. | |
| std::vector< std::map< std::string, std::string > > | getConferenceInfos () const |
| ConnectionState | getConnectionState () const |
| Get the connection state of the call (protected by mutex) | |
| const std::string & | getPeerDisplayName () const |
| Get the peer display name (caller in ingoing) not protected by mutex (when created) | |
| const std::string & | getPeerNumber () const |
| Get the peer number (destination on outgoing) not protected by mutex (when created) | |
| CallState | getState () const |
| Get the call state of the call (protected by mutex) | |
| std::string | getStateStr () const |
| bool | isConferenceParticipant () const |
| bool | isIncoming () const |
| Tell if the call is incoming. | |
| bool | isSubcall () const |
| Return true if this call instance is a subcall (internal call for multi-device handling) | |
| void | onTextMessage (std::map< std::string, std::string > &&messages) |
| void | resetConfInfo () |
| void | sendConfInfo (const std::string &json) |
| void | sendConfOrder (const Json::Value &root) |
| void | setConferenceInfo (const std::string &msg) |
| A Call can be in a conference. | |
| void | setIPToIP (bool IPToIP) |
| void | setPeerDisplayName (const std::string &name) |
| Set the display name (caller in ingoing) not protected by mutex (when created) | |
| void | setPeerNumber (const std::string &number) |
| Set the peer number (destination on outgoing) not protected by mutex (when created) | |
| bool | setState (CallState call_state, ConnectionState cnx_state, signed code=0) |
| Set the state of the call (protected by mutex) | |
| bool | setState (CallState call_state, signed code=0) |
| Set the state of the call (protected by mutex) | |
| bool | setState (ConnectionState cnx_state, signed code=0) |
| Set the state of the call (protected by mutex) | |
| const std::string & | toUsername () const |
| Get "To" from the invite. | |
| void | toUsername (const std::string &username) |
| Updated by sipvoiplink, corresponds to the "To" in the invite. | |
| virtual | ~Call () |
Public Member Functions inherited from jami::Recordable | |
| virtual std::string | getPath () const |
| Return the file path for this recording. | |
| bool | isAudioOnly () const |
| bool | isRecording () const |
| Return recording state (true/false) | |
| Recordable () | |
| virtual bool | startRecording (const std::string &path) |
| Start recording. | |
| virtual void | stopRecording () |
| Stop recording. | |
| virtual | ~Recordable () |
Public Member Functions inherited from jami::PeerRecorder | |
| virtual bool | hasPeerVoice () const |
| virtual bool | isPeerMuted () const |
| virtual bool | isPeerRecording () const |
| PeerRecorder () | |
| virtual | ~PeerRecorder () |
Static Public Member Functions | |
| static size_t | getActiveMediaStreamCount (const std::vector< MediaAttribute > &mediaAttrList) |
Public Attributes | |
| std::unique_ptr< pjsip_inv_session, InvSessionDeleter > | inviteSession_ |
Public Attributes inherited from jami::Call | |
| std::unique_ptr< AudioDeviceGuard > | audioGuard |
Static Public Attributes | |
| static constexpr LinkType | LINK_TYPE = LinkType::SIP |
Additional Inherited Members | |
Public Types inherited from jami::Call | |
| enum class | CallState : uint8_t { INACTIVE , ACTIVE , HOLD , BUSY , PEER_BUSY , MERROR , OVER , COUNT__ } |
| The Call State. More... | |
| enum class | CallType : uint8_t { INCOMING , OUTGOING , MISSED } |
| This determines if the call originated from the local user (OUTGOING) or from some remote peer (INCOMING, MISSED). More... | |
| enum class | ConnectionState : uint8_t { DISCONNECTED , TRYING , PROGRESSING , RINGING , CONNECTED , COUNT__ } |
| Tell where we're at with the call. More... | |
| enum class | LinkType : uint8_t { GENERIC , SIP } |
| using | OnReadyCb = std::function< void(bool)> |
| using | StateListenerCb = std::function< bool(CallState, ConnectionState, int)> |
| using | SubcallSet = std::set< std::shared_ptr< Call >, std::owner_less< std::shared_ptr< Call > > > |
Protected Types inherited from jami::Call | |
| using | clock = std::chrono::steady_clock |
| using | MsgList = std::list< std::pair< std::map< std::string, std::string >, std::string > > |
| MultiDevice: message waiting to be sent (need a valid subcall) | |
| using | time_point = clock::time_point |
Protected Member Functions inherited from jami::Call | |
| Call (const std::shared_ptr< Account > &account, const std::string &id, Call::CallType type) | |
| Constructor of a call. | |
Protected Attributes inherited from jami::Call | |
| std::weak_ptr< Account > | account_ |
| Associate account ID. | |
| std::recursive_mutex | callMutex_ {} |
| Protect every attribute that can be changed by two threads. | |
| CallState | callState_ {CallState::INACTIVE} |
| Inactive/Active/Hold/Busy/Error. | |
| std::weak_ptr< Conference > | conf_ {} |
| Unique conference ID, used exclusively in case of a conference. | |
| ConfInfo | confInfo_ {} |
| std::mutex | confInfoMutex_ {} |
| ConnectionState | connectionState_ {ConnectionState::DISCONNECTED} |
| Disconnected/Progressing/Trying/Ringing/Connected. | |
| time_point | duration_start_ {time_point::min()} |
| const std::string | id_ {} |
| MultiDevice: parent call, nullptr otherwise. Access protected by callMutex_. | |
| bool | isIPToIP_ {false} |
| Direct IP-to-IP or classic call. | |
| std::shared_ptr< Call > | parent_ |
| MultiDevice: list of attached subcall. | |
| int | peerConfProtocol_ {0} |
| Supported conference protocol version. | |
| std::string | peerDisplayName_ {} |
| Peer Display Name. | |
| std::string | peerNumber_ {} |
| Number of the peer. | |
| MsgList | pendingInMessages_ |
| MsgList | pendingOutMessages_ |
| std::string | reason_ {} |
| SubcallSet | subcalls_ |
| asio::steady_timer | timeoutTimer_ |
| time_t | timestamp_start_ {0} |
| MultiDevice: message received by subcall to merged yet. | |
| std::string | toUsername_ {} |
| CallType | type_ |
| Type of the call. | |
Protected Attributes inherited from jami::Recordable | |
| std::mutex | apiMutex_ |
| bool | isAudioOnly_ {false} |
| std::shared_ptr< MediaRecorder > | recorder_ |
| bool | recording_ {false} |
Protected Attributes inherited from jami::PeerRecorder | |
| bool | peerMuted_ {false} |
| bool | peerRecording_ {false} |
| bool | peerVoice_ {false} |
| jami::SIPCall::~SIPCall | ( | ) |
Destructor.
Definition at line 142 of file sipcall.cpp.
References jami::Call::callMutex_, jami::closeMediaPlayer(), jami::emitSignal(), setInviteSession(), and setSipTransport().

| jami::SIPCall::SIPCall | ( | const std::shared_ptr< SIPAccountBase > & | account, |
| const std::string & | id, | ||
| Call::CallType | type, | ||
| const std::vector< libjami::MediaMap > & | mediaList | ||
| ) |
Constructor.
| id | The call identifier |
| type | The type of the call (incoming/outgoing) |
| mediaList | A list of medias to include in the call |
Definition at line 97 of file sipcall.cpp.
References jami::MediaAttribute::buildMediaAttributesList(), jami::emitSignal(), jami::Call::getCallId(), getSIPAccount(), jami::Call::getState(), jami::Call::HOLD, jami::Call::INCOMING, jami::Manager::instance(), isSrtpEnabled(), JAMI_DEBUG, jami_tracepoint, JAMI_WARNING, jami::MEDIA_AUDIO, jami::MEDIA_VIDEO, jami::Call::OUTGOING, and jami::Call::type_.

| void jami::SIPCall::addLocalIceAttributes | ( | ) |
Definition at line 1688 of file sipcall.cpp.
References jami::DEFAULT_ICE_INIT_TIMEOUT, jami::EXPECTED_ICE_INIT_MAX_TIME, jami::ICE_COMP_ID_RTP, JAMI_DEBUG, JAMI_ERROR, and JAMI_WARNING.
|
overridevirtual |
Answer a call with a list of media attributes.
| mediaList | The list of the media attributes. The media attributes set by the caller of this method will determine the response sent to the peer and the configuration of the local media. If the media list is empty, the current media set when the call was created will be used. |
Implements jami::Call.
Definition at line 754 of file sipcall.cpp.
References JAMI_DEBUG, JAMI_ERROR, and JAMI_WARNING.
|
overridevirtual |
Answer to a media update request.
The media attributes set by the caller of this method will determine the response to send to the peer and the configuration of the local media.
| mediaList | The list of media attributes. An empty media list means the media update request was not accepted, meaning the call continue with the current media. It's up to the implementation to determine wether an answer will be sent to the peer. |
| isRemote | True if the media list is from the remote peer |
Implements jami::Call.
Definition at line 886 of file sipcall.cpp.
References JAMI_DEBUG, JAMI_ERROR, and JAMI_WARNING.
Attended transfer.
| The | target call id |
Implements jami::Call.
Definition at line 1181 of file sipcall.cpp.
References inviteSession_.
Send DTMF.
| code | The char code |
Implements jami::Call.
Definition at line 1380 of file sipcall.cpp.
References JAMI_ERROR.
|
overridevirtual |
Check the media of an incoming media change request.
This method checks the new media against the current media. It determines if the differences are significant enough to require more processing. For instance, this can be used to check if the a change request must be reported to the client for confirmation or can be handled by the daemon. The conditions that cause this method to return true are implementation specific.
| the | new media list from the remote |
Implements jami::Call.
Definition at line 2741 of file sipcall.cpp.
References JAMI_DEBUG.
Definition at line 3301 of file sipcall.cpp.
References JAMI_DEBUG, and JAMI_ERROR.
|
overridevirtual |
Retrieve current medias list.
Implements jami::Call.
Definition at line 2542 of file sipcall.cpp.
|
overridevirtual |
|
overridevirtual |
|
static |
|
overridevirtual |
Reimplemented from jami::Call.
Definition at line 1828 of file sipcall.cpp.
|
overridevirtual |
| const std::string & jami::SIPCall::getContactHeader | ( | ) | const |
Definition at line 423 of file sipcall.cpp.
|
overridevirtual |
Reimplemented from jami::Call.
Definition at line 2973 of file sipcall.cpp.
References libjami::Call::Details::AUDIO_CODEC, libjami::Call::Details::AUDIO_SAMPLE_RATE, JAMI_ERROR, libjami::Call::Details::PEER_HOLD, libjami::Call::Details::REGISTERED_NAME, libjami::Account::ConfProperties::CodecInfo::SAMPLE_RATE, libjami::Call::Details::SOCKETS, libjami::TlsTransport::TLS_CIPHER, libjami::TlsTransport::TLS_PEER_CA_, libjami::TlsTransport::TLS_PEER_CA_NUM, libjami::TlsTransport::TLS_PEER_CERT, libjami::Call::Details::VIDEO_BITRATE, libjami::Call::Details::VIDEO_CODEC, libjami::Call::Details::VIDEO_MAX_BITRATE, libjami::Call::Details::VIDEO_MIN_BITRATE, and libjami::Call::Details::VIDEO_SOURCE.
|
inline |
Definition at line 239 of file sipcall.h.
References jami::emitSignal().

|
inlineoverridevirtual |
| std::vector< std::string > jami::SIPCall::getLocalIceCandidates | ( | unsigned | compId | ) | const |
Definition at line 3391 of file sipcall.cpp.
References JAMI_WARNING.
|
overridevirtual |
Implements jami::Call.
Definition at line 2548 of file sipcall.cpp.
Referenced by jami::transferCall().
|
overridevirtual |
Return a map of audio stream IDs to their remote (peer-side) muted state.
Unlike getAudioStreams() which returns the local send muted state, this returns whether the remote peer is sending audio on each stream.
Implements jami::Call.
Definition at line 2573 of file sipcall.cpp.
References jami::MEDIA_AUDIO.
| std::vector< std::shared_ptr< RtpSession > > jami::SIPCall::getRtpSessionList | ( | MediaType | type = MediaType::MEDIA_ALL | ) | const |
Definition at line 3218 of file sipcall.cpp.
|
inline |
| std::shared_ptr< SIPAccountBase > jami::SIPCall::getSIPAccount | ( | ) | const |
Definition at line 301 of file sipcall.cpp.
Referenced by SIPCall().
|
inline |
|
overridevirtual |
Reimplemented from jami::Call.
Definition at line 1815 of file sipcall.cpp.
|
overridevirtual |
Process incoming media change request.
| the | new media list from the remote |
Implements jami::Call.
Definition at line 2767 of file sipcall.cpp.
References JAMI_DEBUG, and JAMI_ERROR.
Hang up the call.
| reason |
Implements jami::Call.
Definition at line 981 of file sipcall.cpp.
References JAMI_DEBUG.
|
overridevirtual |
Implements jami::Call.
Definition at line 1886 of file sipcall.cpp.
References jami::SIPCall::RtpStream::mediaAttribute_, and jami::SIPCall::RtpStream::remoteMediaAttribute_.
Hold call.
| cb | On hold can be queued if waiting for ICE. This callback will be called when ready |
Implements jami::Call.
Definition at line 1214 of file sipcall.cpp.
| bool jami::SIPCall::initIceMediaTransport | ( | bool | master, |
| std::optional< dhtnet::IceTransportOptions > | options = std::nullopt |
||
| ) |
Definition at line 3319 of file sipcall.cpp.
References JAMI_DEBUG, and JAMI_ERROR.
Implements jami::Call.
Definition at line 1904 of file sipcall.cpp.
References jami::SIPCall::RtpStream::mediaAttribute_.
|
overridevirtual |
Check wether ICE is enabled for media.
Implements jami::Call.
Definition at line 1564 of file sipcall.cpp.
Check if a SIP method is allowed by peer.
Definition at line 1673 of file sipcall.cpp.
|
inline |
|
overridevirtual |
Implements jami::Call.
Definition at line 3230 of file sipcall.cpp.
References JAMI_ERROR, and JAMI_LOG.
mute/unmute a media of a call
| mediaType | type of media |
| isMuted | true for muting, false for unmuting |
Implements jami::Call.
Definition at line 2179 of file sipcall.cpp.
References JAMI_ERROR, JAMI_WARNING, jami::MediaAttribute::muted_, and jami::MediaAttribute::type_.
| void jami::SIPCall::onAnswered | ( | ) |
| void jami::SIPCall::onBusyHere | ( | ) |
Peer answered busy.
Definition at line 1498 of file sipcall.cpp.
| void jami::SIPCall::onClosed | ( | ) |
Peer closed the connection.
Definition at line 1515 of file sipcall.cpp.
Called to report server/internal errors.
| code | Optional SIP response code (see RFC3261) |
Definition at line 1484 of file sipcall.cpp.
| void jami::SIPCall::onMediaNegotiationComplete | ( | ) |
Called when the media negotiation (SDP offer/answer) has completed.
Definition at line 2589 of file sipcall.cpp.
References JAMI_DEBUG, and JAMI_WARNING.
| void jami::SIPCall::onPeerRinging | ( | ) |
Call is in ringing state on peer's side.
Definition at line 1681 of file sipcall.cpp.
References JAMI_DEBUG.
| void jami::SIPCall::onReceiveOfferIn200OK | ( | const pjmedia_sdp_session * | offer | ) |
Definition at line 2877 of file sipcall.cpp.
References jami::MediaAttribute::enabled_, JAMI_DEBUG, JAMI_ERROR, JAMI_WARNING, and jami::MediaAttribute::type_.
| pj_status_t jami::SIPCall::onReceiveReinvite | ( | const pjmedia_sdp_session * | offer, |
| pjsip_rx_data * | rdata | ||
| ) |
Definition at line 2813 of file sipcall.cpp.
References JAMI_DEBUG, JAMI_ERROR, and JAMI_WARNING.
|
overridevirtual |
Peer has hung up a call.
Reimplemented from jami::Call.
Definition at line 1367 of file sipcall.cpp.
Implements jami::PeerRecorder.
Definition at line 3591 of file sipcall.cpp.
References JAMI_WARNING.
Referenced by jami::handleMediaControl().
Implements jami::PeerRecorder.
Definition at line 3574 of file sipcall.cpp.
References JAMI_WARNING.
Referenced by jami::handleMediaControl().
|
inline |
Definition at line 282 of file sipcall.h.
Referenced by setPeerUri().
Implements jami::PeerRecorder.
Definition at line 3614 of file sipcall.cpp.
Referenced by jami::handleMediaControl().
|
overridevirtual |
| bool jami::SIPCall::remoteHasValidIceAttributes | ( | ) | const |
Definition at line 3443 of file sipcall.cpp.
References JAMI_DEBUG.
| code | Optional SIP response code (see RFC3261) |
Reimplemented from jami::Call.
Definition at line 1460 of file sipcall.cpp.
References jami::Manager::instance(), and JAMI_DEBUG.

| void jami::SIPCall::reportMediaNegotiationStatus | ( | ) |
Announce to the client that medias are successfully negotiated.
Definition at line 2632 of file sipcall.cpp.
References libjami::Media::MediaNegotiationStatusEvents::NEGOTIATION_SUCCESS.
Definition at line 620 of file sipcall.cpp.
References JAMI_DEBUG, JAMI_ERROR, and jami::MS_BETWEEN_2_KEYFRAME_REQUEST.
|
overridevirtual |
Make a change request of the current media with the provided media.
| mediaList | the new media list |
Implements jami::Call.
Definition at line 2405 of file sipcall.cpp.
References libjami::Media::VideoProtocolPrefix::FILE, JAMI_DEBUG, JAMI_ERROR, JAMI_WARNING, jami::MediaAttribute::label_, libjami::Media::VideoProtocolPrefix::SEPARATOR, jami::MediaAttribute::toString(), and jami::MediaAttribute::type_.

|
overridevirtual |
Resume call from hold state.
| cb | On hold can be queued if waiting for ICE. This callback will be called when ready |
Implements jami::Call.
Definition at line 1263 of file sipcall.cpp.
References JAMI_DEBUG.
Implements jami::Call.
Definition at line 1543 of file sipcall.cpp.
Referenced by jami::handleMediaControl().
| void jami::SIPCall::sendSIPInfo | ( | std::string_view | body, |
| std::string_view | subtype | ||
| ) |
Definition at line 570 of file sipcall.cpp.
References JAMI_ERROR.
|
overridevirtual |
Send a message to a call identified by its callid.
| A | list of mimetype/payload pairs |
| The | sender of this message (could be another participant of a conference) |
Implements jami::Call.
Definition at line 1418 of file sipcall.cpp.
References JAMI_ERROR, JAMI_LOG, and JAMI_WARNING.
| void jami::SIPCall::setActiveMediaStream | ( | const std::string & | accountUri, |
| const std::string & | deviceId, | ||
| const std::string & | streamId, | ||
| const bool & | state | ||
| ) |
Definition at line 3109 of file sipcall.cpp.
| void jami::SIPCall::setIceMedia | ( | std::shared_ptr< dhtnet::IceTransport > | ice, |
| bool | isReinvite = false |
||
| ) |
Definition at line 3464 of file sipcall.cpp.
References JAMI_DEBUG.
| void jami::SIPCall::setInviteSession | ( | pjsip_inv_session * | inviteSession = nullptr | ) |
Definition at line 689 of file sipcall.cpp.
References JAMI_DEBUG, and JAMI_WARNING.
Referenced by ~SIPCall().
| void jami::SIPCall::setPeerAllowMethods | ( | std::vector< std::string > | methods | ) |
Set peer's allowed methods.
Definition at line 1666 of file sipcall.cpp.
| void jami::SIPCall::setPeerUaVersion | ( | std::string_view | ua | ) |
Set peer's User-Agent found in the message header.
Definition at line 1570 of file sipcall.cpp.
References JAMI_DEBUG, JAMI_LOG, JAMI_WARNING, jami::MULTIAUDIO_REQUIRED_VERSION, jami::MULTIAUDIO_REQUIRED_VERSION_STR, jami::MULTIICE_REQUIRED_VERSION, jami::MULTIICE_REQUIRED_VERSION_STR, jami::MULTISTREAM_REQUIRED_VERSION, jami::MULTISTREAM_REQUIRED_VERSION_STR, jami::REUSE_ICE_IN_REINVITE_REQUIRED_VERSION, jami::REUSE_ICE_IN_REINVITE_REQUIRED_VERSION_STR, and jami::split_string_to_unsigned().

| void jami::SIPCall::setSipTransport | ( | const std::shared_ptr< SipTransport > & | transport, |
| const std::string & | contactHdr = {} |
||
| ) |
Definition at line 429 of file sipcall.cpp.
References JAMI_DEBUG, and JAMI_WARNING.
Referenced by ~SIPCall().
Setup ICE locally to answer to an ICE offer.
The ICE session has the controlled role (slave)
Definition at line 3493 of file sipcall.cpp.
References JAMI_DEBUG, and JAMI_ERROR.
| void jami::SIPCall::switchToIceReinviteIfNeeded | ( | ) |
Definition at line 3480 of file sipcall.cpp.
References JAMI_DEBUG.
Definition at line 718 of file sipcall.cpp.
References JAMI_DEBUG, and JAMI_ERROR.
Referenced by jami::transfer_client_cb().
|
overridevirtual |
This method must be implemented for this interface as calls and conferences have different behavior.
Implementations must call the super method.
Reimplemented from jami::Call.
Definition at line 3254 of file sipcall.cpp.
References JAMI_ERROR.
Transfer a call to specified URI.
| to | The recipient of the call |
Implements jami::Call.
Definition at line 1159 of file sipcall.cpp.
References JAMI_DEBUG, and JAMI_ERROR.
Update recording state.
Typically used to send notifications to peers about the local recording session state
Implements jami::Call.
Definition at line 600 of file sipcall.cpp.
References JAMI_DEBUG, and JAMI_ERROR.
| std::unique_ptr<pjsip_inv_session, InvSessionDeleter> jami::SIPCall::inviteSession_ |
Definition at line 297 of file sipcall.h.
Referenced by attendedTransfer().
|
staticconstexpr |
Definition at line 80 of file sipcall.h.
Referenced by getLinkType().