Ring Daemon 16.0.0
|
#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 () override |
Answer the call. | |
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::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 reason) override |
Hang up the call. | |
bool | hasVideo () const override |
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 | |
bool | offhold (OnReadyCb &&cb) override |
Resume a call from hold state. | |
void | onAnswered () |
Peer answered the call. | |
void | onBusyHere () |
Peer answered busy. | |
void | onClosed () |
Peer closed the connection. | |
void | onFailure (signed cause=0) |
Called to report server/internal errors. | |
bool | onhold (OnReadyCb &&cb) override |
Put a call on hold. | |
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 () 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 |
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. | |
![]() | |
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) |
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) |
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. | |
std::weak_ptr< Call > | weak () |
virtual | ~Call () |
![]() | |
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 () |
![]() | |
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_ |
![]() | |
std::unique_ptr< AudioDeviceGuard > | audioGuard |
Static Public Attributes | |
static constexpr LinkType | LINK_TYPE = LinkType::SIP |
Additional Inherited Members | |
![]() | |
enum class | CallState : unsigned { INACTIVE , ACTIVE , HOLD , BUSY , PEER_BUSY , MERROR , OVER , COUNT__ } |
The Call State. More... | |
enum class | CallType : unsigned { 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 : unsigned { DISCONNECTED , TRYING , PROGRESSING , RINGING , CONNECTED , COUNT__ } |
Tell where we're at with the call. More... | |
enum class | LinkType { 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 > > > |
![]() | |
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 |
![]() | |
Call (const std::shared_ptr< Account > &account, const std::string &id, Call::CallType type, const std::map< std::string, std::string > &details={}) | |
Constructor of a 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_ |
time_t | timestamp_start_ {0} |
MultiDevice: message received by subcall to merged yet. | |
std::string | toUsername_ {} |
CallType | type_ |
Type of the call. | |
![]() | |
std::mutex | apiMutex_ |
bool | isAudioOnly_ {false} |
std::shared_ptr< MediaRecorder > | recorder_ |
bool | recording_ {false} |
![]() | |
bool | peerMuted_ {false} |
bool | peerRecording_ {false} |
bool | peerVoice_ {false} |
jami::SIPCall::~SIPCall | ( | ) |
Destructor.
Definition at line 155 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 105 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_WARN, jami::MEDIA_AUDIO, jami::MEDIA_VIDEO, jami::Call::OUTGOING, and jami::Call::type_.
void jami::SIPCall::addLocalIceAttributes | ( | ) |
Definition at line 1832 of file sipcall.cpp.
References jami::DEFAULT_ICE_INIT_TIMEOUT, jami::EXPECTED_ICE_INIT_MAX_TIME, jami::ICE_COMP_ID_RTP, JAMI_DBG, JAMI_ERR, JAMI_WARN, and JAMI_WARNING.
|
overridevirtual |
|
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 859 of file sipcall.cpp.
References JAMI_DBG, JAMI_DEBUG, JAMI_ERR, JAMI_ERROR, and JAMI_WARN.
|
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 999 of file sipcall.cpp.
Attended transfer.
The | target call id |
Implements jami::Call.
Definition at line 1306 of file sipcall.cpp.
References inviteSession_.
Send DTMF.
code | The char code |
Implements jami::Call.
Definition at line 1508 of file sipcall.cpp.
References JAMI_ERR.
|
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 2834 of file sipcall.cpp.
References JAMI_DBG.
Definition at line 3418 of file sipcall.cpp.
|
overridevirtual |
Retrieve current medias list.
Implements jami::Call.
Definition at line 2654 of file sipcall.cpp.
|
overridevirtual |
|
overridevirtual |
|
static |
|
overridevirtual |
Reimplemented from jami::Call.
Definition at line 1979 of file sipcall.cpp.
|
overridevirtual |
const std::string & jami::SIPCall::getContactHeader | ( | ) | const |
Definition at line 458 of file sipcall.cpp.
|
overridevirtual |
Reimplemented from jami::Call.
Definition at line 3072 of file sipcall.cpp.
References libjami::Call::Details::AUDIO_CODEC, libjami::Call::Details::AUDIO_SAMPLE_RATE, JAMI_ERR, libjami::Call::Details::PEER_HOLDING, 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 251 of file sipcall.h.
References jami::emitSignal().
|
inlineoverridevirtual |
std::vector< std::string > jami::SIPCall::getLocalIceCandidates | ( | unsigned | compId | ) | const |
Definition at line 3509 of file sipcall.cpp.
References JAMI_WARN.
|
overridevirtual |
Implements jami::Call.
Definition at line 2660 of file sipcall.cpp.
Referenced by jami::transferCall().
std::vector< std::shared_ptr< RtpSession > > jami::SIPCall::getRtpSessionList | ( | MediaType | type = MediaType::MEDIA_ALL | ) | const |
Definition at line 3333 of file sipcall.cpp.
|
inline |
std::shared_ptr< SIPAccountBase > jami::SIPCall::getSIPAccount | ( | ) | const |
Definition at line 325 of file sipcall.cpp.
Referenced by SIPCall().
|
inline |
|
overridevirtual |
Reimplemented from jami::Call.
Definition at line 1966 of file sipcall.cpp.
|
overridevirtual |
Process incoming media change request.
the | new media list from the remote |
Implements jami::Call.
Definition at line 2861 of file sipcall.cpp.
Hang up the call.
reason |
Implements jami::Call.
Definition at line 1103 of file sipcall.cpp.
References JAMI_DBG.
|
overridevirtual |
Implements jami::Call.
Definition at line 2034 of file sipcall.cpp.
References jami::SIPCall::RtpStream::mediaAttribute_, and jami::SIPCall::RtpStream::remoteMediaAttribute_.
bool jami::SIPCall::initIceMediaTransport | ( | bool | master, |
std::optional< dhtnet::IceTransportOptions > | options = std::nullopt |
||
) |
Definition at line 3436 of file sipcall.cpp.
Implements jami::Call.
Definition at line 2054 of file sipcall.cpp.
References jami::SIPCall::RtpStream::mediaAttribute_.
|
overridevirtual |
Check wether ICE is enabled for media.
Implements jami::Call.
Definition at line 1702 of file sipcall.cpp.
Check if a SIP method is allowed by peer.
Definition at line 1816 of file sipcall.cpp.
|
inline |
|
overridevirtual |
Implements jami::Call.
Definition at line 3345 of file sipcall.cpp.
mute/unmute a media of a call
mediaType | type of media |
isMuted | true for muting, false for unmuting |
Implements jami::Call.
Definition at line 2304 of file sipcall.cpp.
References JAMI_ERR, JAMI_WARN, jami::MediaAttribute::muted_, and jami::MediaAttribute::type_.
Resume a 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 1391 of file sipcall.cpp.
References JAMI_DBG.
void jami::SIPCall::onAnswered | ( | ) |
void jami::SIPCall::onBusyHere | ( | ) |
Peer answered busy.
Definition at line 1634 of file sipcall.cpp.
void jami::SIPCall::onClosed | ( | ) |
Peer closed the connection.
Definition at line 1651 of file sipcall.cpp.
Called to report server/internal errors.
cause | Optional error code |
Definition at line 1620 of file sipcall.cpp.
Put a call on hold.
cb | On hold can be queued if waiting for ICE. This callback will be called when ready |
Implements jami::Call.
Definition at line 1342 of file sipcall.cpp.
void jami::SIPCall::onMediaNegotiationComplete | ( | ) |
Called when the media negotiation (SDP offer/answer) has completed.
Definition at line 2685 of file sipcall.cpp.
void jami::SIPCall::onPeerRinging | ( | ) |
Call is in ringing state on peer's side.
Definition at line 1825 of file sipcall.cpp.
References JAMI_DBG.
void jami::SIPCall::onReceiveOfferIn200OK | ( | const pjmedia_sdp_session * | offer | ) |
Definition at line 2975 of file sipcall.cpp.
References jami::MediaAttribute::enabled_, JAMI_DBG, JAMI_ERR, JAMI_WARN, and jami::MediaAttribute::type_.
pj_status_t jami::SIPCall::onReceiveReinvite | ( | const pjmedia_sdp_session * | offer, |
pjsip_rx_data * | rdata | ||
) |
Definition at line 2910 of file sipcall.cpp.
|
overridevirtual |
Peer has hung up a call.
Reimplemented from jami::Call.
Definition at line 1495 of file sipcall.cpp.
Implements jami::PeerRecorder.
Definition at line 3712 of file sipcall.cpp.
References JAMI_WARN.
Referenced by jami::handleMediaControl().
Implements jami::PeerRecorder.
Definition at line 3695 of file sipcall.cpp.
References JAMI_WARN.
Referenced by jami::handleMediaControl().
|
inline |
Definition at line 301 of file sipcall.h.
Referenced by setPeerUri().
Implements jami::PeerRecorder.
Definition at line 3735 of file sipcall.cpp.
Referenced by jami::handleMediaControl().
|
overridevirtual |
bool jami::SIPCall::remoteHasValidIceAttributes | ( | ) | const |
Definition at line 3562 of file sipcall.cpp.
References JAMI_DBG.
|
overridevirtual |
Reimplemented from jami::Call.
Definition at line 1595 of file sipcall.cpp.
References jami::Manager::instance(), and JAMI_DBG.
void jami::SIPCall::reportMediaNegotiationStatus | ( | ) |
Announce to the client that medias are successfully negotiated.
Definition at line 2730 of file sipcall.cpp.
References libjami::Media::MediaNegotiationStatusEvents::NEGOTIATION_SUCCESS.
Definition at line 667 of file sipcall.cpp.
References JAMI_DBG, JAMI_ERR, 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 2511 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 |
Implements jami::Call.
Definition at line 1679 of file sipcall.cpp.
Referenced by jami::handleMediaControl().
void jami::SIPCall::sendSIPInfo | ( | std::string_view | body, |
std::string_view | subtype | ||
) |
Definition at line 614 of file sipcall.cpp.
References JAMI_ERR.
|
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 1550 of file sipcall.cpp.
void jami::SIPCall::setActiveMediaStream | ( | const std::string & | accountUri, |
const std::string & | deviceId, | ||
const std::string & | streamId, | ||
const bool & | state | ||
) |
Definition at line 3219 of file sipcall.cpp.
void jami::SIPCall::setIceMedia | ( | std::shared_ptr< dhtnet::IceTransport > | ice, |
bool | isReinvite = false |
||
) |
Definition at line 3583 of file sipcall.cpp.
References JAMI_DBG.
void jami::SIPCall::setInviteSession | ( | pjsip_inv_session * | inviteSession = nullptr | ) |
Definition at line 737 of file sipcall.cpp.
References JAMI_DBG, and JAMI_WARN.
Referenced by ~SIPCall().
void jami::SIPCall::setPeerAllowMethods | ( | std::vector< std::string > | methods | ) |
Set peer's allowed methods.
Definition at line 1809 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 1708 of file sipcall.cpp.
References JAMI_DEBUG, JAMI_LOG, JAMI_WARN, 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 464 of file sipcall.cpp.
References JAMI_DBG, and JAMI_WARN.
Referenced by ~SIPCall().
Setup ICE locally to answer to an ICE offer.
The ICE session has the controlled role (slave)
Definition at line 3614 of file sipcall.cpp.
void jami::SIPCall::switchToIceReinviteIfNeeded | ( | ) |
Definition at line 3599 of file sipcall.cpp.
References JAMI_DBG.
Definition at line 766 of file sipcall.cpp.
References JAMI_DBG, and JAMI_ERR.
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 3369 of file sipcall.cpp.
References JAMI_ERR.
Transfer a call to specified URI.
to | The recipient of the call |
Implements jami::Call.
Definition at line 1284 of file sipcall.cpp.
Update recording state.
Typically used to send notifications to peers about the local recording session state
Implements jami::Call.
Definition at line 647 of file sipcall.cpp.
std::unique_ptr<pjsip_inv_session, InvSessionDeleter> jami::SIPCall::inviteSession_ |
Definition at line 319 of file sipcall.h.
Referenced by attendedTransfer().
|
staticconstexpr |
Definition at line 80 of file sipcall.h.
Referenced by getLinkType().