reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
recon::ConversationProfile Class Reference

This class extends the resip UserProfile to include Conversation Manager specific settings. More...

#include <ConversationProfile.hxx>

Inheritance diagram for recon::ConversationProfile:
[legend]

Public Types

enum  MediaEndpointMode { Base , WebRTC }
 
enum  NatTraversalMode {
  NoNatTraversal , StunBindDiscovery , TurnUdpAllocation , TurnTcpAllocation ,
  TurnTlsAllocation
}
 
enum  SecureMediaMode {
  NoSecureMedia , Srtp , SrtpReq , SrtpDtls ,
  SrtpDtlsReq
}
 
enum  SecureMediaCryptoSuite { SRTP_AES_CM_128_HMAC_SHA1_32 , SRTP_AES_CM_128_HMAC_SHA1_80 }
 
- Public Types inherited from resip::Profile
enum  SessionTimerMode { PreferLocalRefreshes , PreferRemoteRefreshes , PreferCallerRefreshes , PreferCalleeRefreshes }
 Only used if timer option tag is set in MasterProfile. More...
 

Public Member Functions

 ConversationProfile ()
 
 ConversationProfile (std::shared_ptr< resip::Profile > baseProfile)
 Constructor.
 
virtual ConversationProfileHandle getHandle ()
 Get the conversation profile handle.
 
virtual resip::SdpContents & sessionCaps ()
 Get/Set the session capabilities.
 
virtual const resip::SdpContents sessionCaps () const
 
virtual bool & allowAutoAnswer ()
 Get/Set wether auto answers are allowed, if an autoanswer indication is found in a new inbound call request.
 
virtual const bool allowAutoAnswer () const
 
virtual bool & allowPriorityAutoAnswer ()
 Get/Set wether priority auto answers are allowed, if a priority autoanswer indication is found in a new inbound call request.
 
virtual const bool allowPriorityAutoAnswer () const
 
virtual bool shouldAutoAnswer (const resip::SipMessage &inviteRequest, bool *required=0)
 Checks an Invite message for auto-answer headers against the current allow settings.
 
virtual bool & challengeAutoAnswerRequests ()
 Get/Set wether auto answer requests should be digest challenged or not.
 
virtual const bool challengeAutoAnswerRequests () const
 
virtual bool & challengeOODReferRequests ()
 Get/Set wether out of dialog REFER requests should be digest challenged or not.
 
virtual const bool challengeOODReferRequests () const
 
virtual bool & delayedMediaOutboundMode ()
 Get/set whether to use delayed media mode (INVITE without SDP offer) when making an outgoing call.
 
virtual const bool delayedMediaOutboundMode () const
 
virtual MediaEndpointMode & mediaEndpointMode ()
 Get/Set the type of Media endpoint.
 
virtual const MediaEndpointMode mediaEndpointMode () const
 
virtual SecureMediaMode & secureMediaMode ()
 Get/Set the secure media mode that will be used for sending/receiving media packets.
 
virtual const SecureMediaMode secureMediaMode () const
 
virtual bool & secureMediaRequired ()
 Get/Set the wether Secure Media is required (default is false).
 
virtual const bool secureMediaRequired () const
 
virtual SecureMediaCryptoSuite & secureMediaDefaultCryptoSuite ()
 Get/Set the secure media default crypto suite.
 
virtual const SecureMediaCryptoSuite secureMediaDefaultCryptoSuite () const
 
virtual NatTraversalMode & natTraversalMode ()
 Get/Set the NAT traversal mode that will be used for sending/receiving media packets.
 
virtual const NatTraversalMode natTraversalMode () const
 
virtual bool & forceCOMedia ()
 
virtual const bool forceCOMedia () const
 
virtual resip::Data & natTraversalServerHostname ()
 Get/Set the NAT traversal server hostname that will be used for if natTranversalMode is anything other than NoNatTraversal.
 
virtual const resip::Data natTraversalServerHostname () const
 
virtual unsigned short & natTraversalServerPort ()
 Get/Set the NAT traversal server port that will be used for if natTranversalMode is anything other than NoNatTraversal.
 
virtual const unsigned short natTraversalServerPort () const
 
virtual resip::Data & stunUsername ()
 Get/Set the STUN username that will be used for if natTranversalMode is anything other than NoNatTraversal.
 
virtual const resip::Data stunUsername () const
 
virtual resip::Data & stunPassword ()
 Get/Set the STUN password that will be used for if natTranversalMode is anything other than NoNatTraversal.
 
virtual const resip::Data stunPassword () const
 
virtual unsigned int & maximumVideoBandwidth ()
 Get/Set the maximum video bandwidth to be indicated in SDP.
 
virtual const unsigned int maximumVideoBandwidth () const
 
- Public Member Functions inherited from resip::UserProfile
 UserProfile ()
 
 UserProfile (std::shared_ptr< Profile > baseProfile)
 
virtual ~UserProfile ()
 
virtual void setDefaultFrom (const NameAddr &from)
 
virtual NameAddr & getDefaultFrom () noexcept
 
virtual void setServiceRoute (const NameAddrs &sRoute)
 
virtual NameAddrs & getServiceRoute () noexcept
 
virtual void setImsAuthUser (const Data &userName, const Data &host)
 
virtual Data & getImsAuthUserName () noexcept
 
virtual Data & getImsAuthHost () noexcept
 
virtual std::shared_ptr< UserProfile > getAnonymousUserProfile () const
 
bool isAnonymous () const
 
virtual void addGruu (const Data &aor, const NameAddr &contact)
 
virtual bool hasGruu (const Data &aor) const
 
virtual bool hasGruu (const Data &aor, const Data &instance) const
 
virtual NameAddr & getGruu (const Data &aor)
 
virtual NameAddr & getGruu (const Data &aor, const NameAddr &contact)
 
virtual bool & gruuEnabled () noexcept
 
virtual bool gruuEnabled () const noexcept
 
virtual bool hasPublicGruu () const
 
virtual const Uri & getPublicGruu () const noexcept
 
virtual void setPublicGruu (const Uri &gruu)
 
virtual bool hasTempGruu () const
 
virtual const Uri & getTempGruu () const noexcept
 
virtual void setTempGruu (const Uri &gruu)
 
virtual void clearDigestCredentials () noexcept
 The following functions deal with clearing, setting and getting of digest credentals.
 
virtual void setDigestCredential (const Data &realm, const Data &user, const Data &password, bool isPasswordA1Hash=false)
 For the password you may either provide the plain text password (isPasswordA1Hash = false) or the Digest A1 MD5 Hash (isPasswordA1Hash = true).
 
virtual const DigestCredential & getDigestCredential (const Data &realm)
 
virtual void setDigestCacheUseLimit (unsigned long digestCacheUseLimit) noexcept
 
virtual unsigned long getDigestCacheUseLimit () const noexcept
 
virtual bool & clientOutboundEnabled () noexcept
 
virtual bool clientOutboundEnabled () const noexcept
 
virtual bool hasInstanceId ()
 
virtual void setInstanceId (const Data &id)
 
virtual const Data & getInstanceId () const noexcept
 
virtual void setRegId (int regId) noexcept
 
virtual int getRegId () noexcept
 
const Tuple & getClientOutboundFlowTuple () const noexcept
 
void clearClientOutboundFlowTuple ()
 
void setClientOutboundFlowTuple (const Tuple &outboundFlowTuple)
 
- Public Member Functions inherited from resip::Profile
 Profile ()
 
 Profile (std::shared_ptr< Profile > baseProfile)
 
 Profile (const Profile &)=default
 
 Profile (Profile &&)=default
 
virtual ~Profile ()=default
 
Profile & operator= (const Profile &)=default
 
Profile & operator= (Profile &&)=default
 
virtual void reset ()
 Reset this profile to it's initial state - (same as calling unsetXXX for each setting) If no fall through (base) profile was provided as creation time.
 
virtual void setDefaultRegistrationTime (uint32_t secs) noexcept
 Note: setXXXX methods will set this setting internally in this object.
 
virtual uint32_t getDefaultRegistrationTime () const noexcept
 
virtual void unsetDefaultRegistrationTime () noexcept
 
virtual void setDefaultMaxRegistrationTime (uint32_t secs) noexcept
 If a registration gets rejected with a 423, then we ensure the MinExpires value is less than this before re-registering Set to 0 to disable this check and accept any time suggested by the server.
 
virtual uint32_t getDefaultMaxRegistrationTime () const noexcept
 
virtual void unsetDefaultMaxRegistrationTime () noexcept
 
virtual void setDefaultRegistrationRetryTime (int secs) noexcept
 The time to retry registrations on error responses (if Retry-After header is not present in error) Set to 0 to never retry on errors.
 
virtual int getDefaultRegistrationRetryTime () const noexcept
 
virtual void unsetDefaultRegistrationRetryTime () noexcept
 
virtual void setDefaultSubscriptionTime (uint32_t secs) noexcept
 This default is used if no value is passed in when creating a subscription.
 
virtual uint32_t getDefaultSubscriptionTime () const noexcept
 
virtual void unsetDefaultSubscriptionTime () noexcept
 
virtual void setDefaultPublicationTime (uint32_t secs) noexcept
 This default is used if no value is passed in when creating a publication.
 
virtual uint32_t getDefaultPublicationTime () const noexcept
 
virtual void unsetDefaultPublicationTime () noexcept
 
virtual void setDefaultStaleCallTime (int secs) noexcept
 Call is stale if UAC gets no final response within the stale call timeout (default 3 minutes)
 
virtual int getDefaultStaleCallTime () const noexcept
 
virtual void unsetDefaultStaleCallTime () noexcept
 
virtual void setDefaultStaleReInviteTime (int secs) noexcept
 ReInvite is stale if UAC gets no final response within the stale reinvite timeout (default 40 seconds)
 
virtual int getDefaultStaleReInviteTime () const noexcept
 
virtual void unsetDefaultStaleReInviteTime () noexcept
 
virtual void setDefaultSessionTime (uint32_t secs) noexcept
 Only used if timer option tag is set in MasterProfile.
 
virtual uint32_t getDefaultSessionTime () const noexcept
 
virtual void unsetDefaultSessionTime () noexcept
 
virtual void setDefaultSessionTimerMode (Profile::SessionTimerMode mode) noexcept
 
virtual Profile::SessionTimerMode getDefaultSessionTimerMode () const noexcept
 
virtual void unsetDefaultSessionTimerMode () noexcept
 
virtual void set1xxRetransmissionTime (int secs) noexcept
 The amount of time that can pass before dum will resubmit an unreliable provisional response.
 
virtual int get1xxRetransmissionTime () const noexcept
 
virtual void unset1xxRetransmissionTime () noexcept
 
virtual void set1xxRelResubmitTime (int secs) noexcept
 The amount of time that can pass before dum will resubmit a reliable provisional response.
 
virtual int get1xxRelResubmitTime () const noexcept
 
virtual void unset1xxRelResubmitTime () noexcept
 
virtual void setOverrideHostAndPort (const Uri &hostPort)
 overrides the value used to populate the contact ?dcm? – also change via entries? Also, dum currently uses(as a uas) the request uri of the dialog constructing request for the local contact within that dialog.
 
virtual bool hasOverrideHostAndPort () const noexcept
 
virtual const Uri & getOverrideHostAndPort () const
 
virtual void unsetOverrideHostAndPort () noexcept
 
virtual void addAdvertisedCapability (Headers::Type header)
 enable/disable sending of Allow/Supported/Accept-Language/Accept-Encoding headers on initial outbound requests (ie.
 
virtual bool isAdvertisedCapability (Headers::Type header) const
 
virtual void clearAdvertisedCapabilities () noexcept
 
virtual void unsetAdvertisedCapabilities ()
 
virtual void setOutboundProxy (const Uri &uri)
 Use to route all outbound requests through a particular proxy.
 
virtual const NameAddr & getOutboundProxy () const
 
virtual bool hasOutboundProxy () const noexcept
 
virtual void unsetOutboundProxy () noexcept
 
virtual void setForceOutboundProxyOnAllRequestsEnabled (bool enabled) noexcept
 If enabled, forces use of outbound proxy on all requests, including mid-dialog requests.
 
virtual bool getForceOutboundProxyOnAllRequestsEnabled () const noexcept
 
virtual void unsetForceOutboundProxyOnAllRequestsEnabled () noexcept
 
virtual void setExpressOutboundAsRouteSetEnabled (bool enabled) noexcept
 If enabled, add a route header for the outbound proxy.
 
virtual bool getExpressOutboundAsRouteSetEnabled () const noexcept
 
virtual void unsetExpressOutboundAsRouteSetEnabled () noexcept
 
virtual void setRportEnabled (bool enabled) noexcept
 enable/disable rport for requests. rport is enabled by default
 
virtual bool getRportEnabled () const noexcept
 
virtual void unsetRportEnabled () noexcept
 
virtual void setUserAgent (const Data &userAgent)
 if set then UserAgent header is added to outbound messages
 
virtual const Data & getUserAgent () const
 
virtual bool hasUserAgent () const noexcept
 
virtual void unsetUserAgent () noexcept
 
virtual void setProxyRequires (const Tokens &proxyRequires)
 if set then ProxyRequires header is added to outbound messages
 
virtual const Tokens & getProxyRequires () const
 
virtual bool hasProxyRequires () const noexcept
 
virtual void unsetProxyRequires () noexcept
 
virtual void setKeepAliveTimeForDatagram (int keepAliveTime) noexcept
 time between CR/LF keepalive messages in seconds.
 
virtual int getKeepAliveTimeForDatagram () const noexcept
 
virtual void unsetKeepAliveTimeForDatagram () noexcept
 
virtual void setKeepAliveTimeForStream (int keepAliveTime) noexcept
 
virtual int getKeepAliveTimeForStream () const noexcept
 
virtual void unsetKeepAliveTimeForStream () noexcept
 
virtual void setFixedTransportPort (int fixedTransportPort) noexcept
 If set dum will provide a port in the via for requests sent down to the stack.
 
virtual int getFixedTransportPort () const noexcept
 
virtual void unsetFixedTransportPort () noexcept
 
virtual void setFixedTransportInterface (const Data &fixedTransportInterface)
 If set dum will provide a interface in the via for requests sent down to the stack.
 
virtual const Data & getFixedTransportInterface () const
 
virtual void unsetFixedTransportInterface ()
 
virtual void setRinstanceEnabled (bool enabled) noexcept
 If enabled then rinstance parameter is added to contacts.
 
virtual bool getRinstanceEnabled () const noexcept
 
virtual void unsetRinstanceEnabled () noexcept
 
virtual void setOutboundDecorator (std::shared_ptr< MessageDecorator > outboundDecorator) noexcept
 
virtual std::shared_ptr< MessageDecorator > getOutboundDecorator () noexcept
 
virtual void unsetOutboundDecorator () noexcept
 
virtual void setMethodsParamEnabled (bool enabled) noexcept
 If enabled then methods parameter is added to contacts.
 
virtual bool getMethodsParamEnabled () const noexcept
 
virtual void unsetMethodsParamEnabled () noexcept
 
virtual void setUserAgentCapabilities (const NameAddr &capabilities)
 If set, the parameters on the provided NameAddr are used in the contact header Example: include <resip/stack/ExtensionParameter.hxx> static const resip::ExtensionParameter p_automaton("automaton"); static const resip::ExtensionParameter p_byeless("+sip.byeless"); static const resip::ExtensionParameter p_rendering("+sip.rendering"); ... NameAddr capabilities; capabilities.param(p_automaton); capabilities.param(p_byeless); capabilities.param(p_rendering) = "\"no\""; profile->setUserAgentCapabilities(capabilities);.
 
virtual bool hasUserAgentCapabilities () const noexcept
 
virtual const NameAddr & getUserAgentCapabilities () const
 
virtual void unsetUserAgentCapabilities () noexcept
 
virtual void setExtraHeadersInReferNotifySipFragEnabled (bool enabled) noexcept
 If enabled then dialog identifying headers are added to SipFrag bodies that are generated in an InviteSession.
 
virtual bool getExtraHeadersInReferNotifySipFragEnabled () const noexcept
 
virtual void unsetExtraHeadersInReferNotifySipFragEnabled () noexcept
 
virtual void setHandleInviteSession491AsGeneralFailureEnabled (bool enabled)
 
virtual bool getHandleInviteSession491AsGeneralFailureEnabled () const
 
virtual void unsetHandleInviteSession491AsGeneralFailureEnabled ()
 

Friends

class UserAgent
 

Additional Inherited Members

- Protected Member Functions inherited from resip::UserProfile
virtual UserProfile * clone () const
 

Detailed Description

This class extends the resip UserProfile to include Conversation Manager specific settings.

Author: Scott Godin (sgodin AT SipSpectrum DOT com)

Definition at line 23 of file ConversationProfile.hxx.

Member Enumeration Documentation

◆ MediaEndpointMode

Enumerator
Base 
WebRTC 

Definition at line 29 of file ConversationProfile.hxx.

◆ NatTraversalMode

Enumerator
NoNatTraversal 
StunBindDiscovery 
TurnUdpAllocation 
TurnTcpAllocation 
TurnTlsAllocation 

Definition at line 35 of file ConversationProfile.hxx.

◆ SecureMediaCryptoSuite

Enumerator
SRTP_AES_CM_128_HMAC_SHA1_32 
SRTP_AES_CM_128_HMAC_SHA1_80 

Definition at line 53 of file ConversationProfile.hxx.

◆ SecureMediaMode

Enumerator
NoSecureMedia 
Srtp 
SrtpReq 
SrtpDtls 
SrtpDtlsReq 

Definition at line 44 of file ConversationProfile.hxx.

Constructor & Destructor Documentation

◆ ConversationProfile() [1/2]

ConversationProfile::ConversationProfile ( )

Definition at line 19 of file ConversationProfile.cxx.

◆ ConversationProfile() [2/2]

ConversationProfile::ConversationProfile ( std::shared_ptr< resip::Profile >  baseProfile)

Constructor.

Parameters
baseProfileif any UserProfile settings are not set on this class, then the setting will "fall through" to the base profile

Definition at line 36 of file ConversationProfile.cxx.

Member Function Documentation

◆ allowAutoAnswer() [1/2]

virtual bool & recon::ConversationProfile::allowAutoAnswer ( )
inlinevirtual

Get/Set wether auto answers are allowed, if an autoanswer indication is found in a new inbound call request.

Returns
bool True if auto answer is enabled

Definition at line 94 of file ConversationProfile.hxx.

◆ allowAutoAnswer() [2/2]

virtual const bool recon::ConversationProfile::allowAutoAnswer ( ) const
inlinevirtual

Definition at line 95 of file ConversationProfile.hxx.

◆ allowPriorityAutoAnswer() [1/2]

virtual bool & recon::ConversationProfile::allowPriorityAutoAnswer ( )
inlinevirtual

Get/Set wether priority auto answers are allowed, if a priority autoanswer indication is found in a new inbound call request.

Note
Priority Auto Answers are indicated using the PrivAnswerMode SIP header
Returns
bool True if priority auto answer is enabled

Definition at line 106 of file ConversationProfile.hxx.

◆ allowPriorityAutoAnswer() [2/2]

virtual const bool recon::ConversationProfile::allowPriorityAutoAnswer ( ) const
inlinevirtual

Definition at line 107 of file ConversationProfile.hxx.

◆ challengeAutoAnswerRequests() [1/2]

virtual bool & recon::ConversationProfile::challengeAutoAnswerRequests ( )
inlinevirtual

Get/Set wether auto answer requests should be digest challenged or not.

Note
Requests will be challenged using the digest credentials set on this profile
Returns
bool True if auto answer requests should be challenged

Definition at line 127 of file ConversationProfile.hxx.

◆ challengeAutoAnswerRequests() [2/2]

virtual const bool recon::ConversationProfile::challengeAutoAnswerRequests ( ) const
inlinevirtual

Definition at line 128 of file ConversationProfile.hxx.

◆ challengeOODReferRequests() [1/2]

virtual bool & recon::ConversationProfile::challengeOODReferRequests ( )
inlinevirtual

Get/Set wether out of dialog REFER requests should be digest challenged or not.

Note
Requests will be challenged using the digest credentials set on this profile
Returns
bool True if OOD REFER requests should be challenged

Definition at line 139 of file ConversationProfile.hxx.

◆ challengeOODReferRequests() [2/2]

virtual const bool recon::ConversationProfile::challengeOODReferRequests ( ) const
inlinevirtual

Definition at line 140 of file ConversationProfile.hxx.

◆ delayedMediaOutboundMode() [1/2]

virtual bool & recon::ConversationProfile::delayedMediaOutboundMode ( )
inlinevirtual

Get/set whether to use delayed media mode (INVITE without SDP offer) when making an outgoing call.

Returns
bool True if delayed media mode is used.

Definition at line 148 of file ConversationProfile.hxx.

◆ delayedMediaOutboundMode() [2/2]

virtual const bool recon::ConversationProfile::delayedMediaOutboundMode ( ) const
inlinevirtual

Definition at line 149 of file ConversationProfile.hxx.

◆ forceCOMedia() [1/2]

virtual bool & recon::ConversationProfile::forceCOMedia ( )
inlinevirtual

Definition at line 220 of file ConversationProfile.hxx.

◆ forceCOMedia() [2/2]

virtual const bool recon::ConversationProfile::forceCOMedia ( ) const
inlinevirtual

Definition at line 221 of file ConversationProfile.hxx.

◆ getHandle()

ConversationProfileHandle ConversationProfile::getHandle ( )
virtual

Get the conversation profile handle.

Returns 0 if called before adding the profile to the ConversationManager.

Returns
ConversationProfileHandle

Definition at line 55 of file ConversationProfile.cxx.

◆ maximumVideoBandwidth() [1/2]

virtual unsigned int & recon::ConversationProfile::maximumVideoBandwidth ( )
inlinevirtual

Get/Set the maximum video bandwidth to be indicated in SDP.

Returns
The maximum video bandwidth.

Definition at line 267 of file ConversationProfile.hxx.

◆ maximumVideoBandwidth() [2/2]

virtual const unsigned int recon::ConversationProfile::maximumVideoBandwidth ( ) const
inlinevirtual

Definition at line 268 of file ConversationProfile.hxx.

◆ mediaEndpointMode() [1/2]

virtual MediaEndpointMode & recon::ConversationProfile::mediaEndpointMode ( )
inlinevirtual

Get/Set the type of Media endpoint.

Base - traditional RTP endpoint, relies on other settings in this profile WebRTC - WebRTC endpoint, ignores many of the profile settings

Definition at line 156 of file ConversationProfile.hxx.

◆ mediaEndpointMode() [2/2]

virtual const MediaEndpointMode recon::ConversationProfile::mediaEndpointMode ( ) const
inlinevirtual

Definition at line 157 of file ConversationProfile.hxx.

◆ natTraversalMode() [1/2]

virtual NatTraversalMode & recon::ConversationProfile::natTraversalMode ( )
inlinevirtual

Get/Set the NAT traversal mode that will be used for sending/receiving media packets.

NoNatTraversal - don't use any NAT traversal strategies - local address and port are used in SDP negotiations StunBindDiscovery - use Binding discovery on a STUN server, to discover and use "public" address and port in SDP negotiations TurnUdpAllocation - Use a TURN server as a media relay. Communicate to the TURN server over UDP and Allocate a UDP relay address and port to use in SDP negotiations TurnTcpAllocation - Use a TURN server as a media relay. Communicate to the TURN server over TCP and Allocate a UDP relay address and port to use in SDP negotiations TurnTlsAllocation - Use a TURN server as a media relay. Communicate to the TURN server over TLS and Allocate a UDP relay address and port to use in SDP negotiations

Returns
NatTraversalMode

Definition at line 217 of file ConversationProfile.hxx.

◆ natTraversalMode() [2/2]

virtual const NatTraversalMode recon::ConversationProfile::natTraversalMode ( ) const
inlinevirtual

Definition at line 218 of file ConversationProfile.hxx.

◆ natTraversalServerHostname() [1/2]

virtual resip::Data & recon::ConversationProfile::natTraversalServerHostname ( )
inlinevirtual

Get/Set the NAT traversal server hostname that will be used for if natTranversalMode is anything other than NoNatTraversal.

The server can be specified as an IP address or a A-Records DNS resolvable hostname. SRV resolution is not yet supported.

Returns
The server to use for NAT traversal

Definition at line 230 of file ConversationProfile.hxx.

◆ natTraversalServerHostname() [2/2]

virtual const resip::Data recon::ConversationProfile::natTraversalServerHostname ( ) const
inlinevirtual

Definition at line 231 of file ConversationProfile.hxx.

◆ natTraversalServerPort() [1/2]

virtual unsigned short & recon::ConversationProfile::natTraversalServerPort ( )
inlinevirtual

Get/Set the NAT traversal server port that will be used for if natTranversalMode is anything other than NoNatTraversal.


Returns
The server port to use for NAT traversal

Definition at line 239 of file ConversationProfile.hxx.

◆ natTraversalServerPort() [2/2]

virtual const unsigned short recon::ConversationProfile::natTraversalServerPort ( ) const
inlinevirtual

Definition at line 240 of file ConversationProfile.hxx.

◆ secureMediaDefaultCryptoSuite() [1/2]

virtual SecureMediaCryptoSuite & recon::ConversationProfile::secureMediaDefaultCryptoSuite ( )
inlinevirtual

Get/Set the secure media default crypto suite.

The default crypto suite is used when forming SDP offers (SDES only - does not apply to DTLS-SRTP). SRTP_AES_CM_128_HMAC_SHA1_32 - Counter Mode AES 128 bit encryption with 32bit authenication code SRTP_AES_CM_128_HMAC_SHA1_80 - Counter Mode AES 128 bit encryption with 80bit authenication code (default)

Returns
SecureMediaMode

Definition at line 196 of file ConversationProfile.hxx.

◆ secureMediaDefaultCryptoSuite() [2/2]

virtual const SecureMediaCryptoSuite recon::ConversationProfile::secureMediaDefaultCryptoSuite ( ) const
inlinevirtual

Definition at line 197 of file ConversationProfile.hxx.

◆ secureMediaMode() [1/2]

virtual SecureMediaMode & recon::ConversationProfile::secureMediaMode ( )
inlinevirtual

Get/Set the secure media mode that will be used for sending/receiving media packets.

NoSecureMedia - don't use any secure media strategies - RTP packets are sent unencrypted via the specified transport. Srtp - use SRTP with keying outside of media stream - ie. SDES key negotiation via SDP (default) SrtpDtls - use SRTP with DTLS key negotiation

Note
If TurnTlsAllocation NatTraversalMode is used, then media will be secured from this UA to the TURN the turn server, even if NoSecureMedia is used.
Returns
SecureMediaMode

Definition at line 171 of file ConversationProfile.hxx.

◆ secureMediaMode() [2/2]

virtual const SecureMediaMode recon::ConversationProfile::secureMediaMode ( ) const
inlinevirtual

Definition at line 172 of file ConversationProfile.hxx.

◆ secureMediaRequired() [1/2]

virtual bool & recon::ConversationProfile::secureMediaRequired ( )
inlinevirtual

Get/Set the wether Secure Media is required (default is false).

  • if required then SAVP transport protocol is signalled in SDP offers
  • if not required then AVP transport portocol is signalled in SDP offers and encryption=optional attribute is added
Returns
true if secure media is required

Definition at line 182 of file ConversationProfile.hxx.

◆ secureMediaRequired() [2/2]

virtual const bool recon::ConversationProfile::secureMediaRequired ( ) const
inlinevirtual

Definition at line 183 of file ConversationProfile.hxx.

◆ sessionCaps() [1/2]

SdpContents & ConversationProfile::sessionCaps ( )
virtual

Get/Set the session capabilities.

Session capabilites are expressed as a SessionDesriptionProtocol body. Typically this is populated as you would expect an SDP offer to look like that is generated by this application.

This is used to generate SDP offers and form valid SDP answers.

Returns
SdpContents representing the session capabilities

Definition at line 68 of file ConversationProfile.cxx.

◆ sessionCaps() [2/2]

const SdpContents ConversationProfile::sessionCaps ( ) const
virtual

Definition at line 74 of file ConversationProfile.cxx.

◆ shouldAutoAnswer()

bool ConversationProfile::shouldAutoAnswer ( const resip::SipMessage &  inviteRequest,
bool *  required = 0 
)
virtual

Checks an Invite message for auto-answer headers against the current allow settings.


Parameters
inviteRequestSIP Invite message to check
requiredWill return true if the auto-answer is "required"

Definition at line 80 of file ConversationProfile.cxx.

◆ stunPassword() [1/2]

virtual resip::Data & recon::ConversationProfile::stunPassword ( )
inlinevirtual

Get/Set the STUN password that will be used for if natTranversalMode is anything other than NoNatTraversal.

The stun username/password is used for both STUN and TURN server authentication.

Returns
The STUN password

Definition at line 259 of file ConversationProfile.hxx.

◆ stunPassword() [2/2]

virtual const resip::Data recon::ConversationProfile::stunPassword ( ) const
inlinevirtual

Definition at line 260 of file ConversationProfile.hxx.

◆ stunUsername() [1/2]

virtual resip::Data & recon::ConversationProfile::stunUsername ( )
inlinevirtual

Get/Set the STUN username that will be used for if natTranversalMode is anything other than NoNatTraversal.

The stun username/password is used for both STUN and TURN server authentication.

Returns
The STUN username

Definition at line 249 of file ConversationProfile.hxx.

◆ stunUsername() [2/2]

virtual const resip::Data recon::ConversationProfile::stunUsername ( ) const
inlinevirtual

Definition at line 250 of file ConversationProfile.hxx.

Friends And Related Symbol Documentation

◆ UserAgent

Definition at line 271 of file ConversationProfile.hxx.


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