1#if !defined(RESIP_PROFILE_HXX)
2#define RESIP_PROFILE_HXX
21 explicit Profile(std::shared_ptr<Profile> baseProfile);
250 bool mHasDefaultRegistrationExpires;
251 uint32_t mDefaultRegistrationExpires;
253 bool mHasDefaultMaxRegistrationExpires;
254 uint32_t mDefaultMaxRegistrationExpires;
256 bool mHasDefaultRegistrationRetryInterval;
257 int mDefaultRegistrationRetryInterval;
259 bool mHasDefaultSubscriptionExpires;
260 uint32_t mDefaultSubscriptionExpires;
262 bool mHasDefaultPublicationExpires;
263 uint32_t mDefaultPublicationExpires;
265 bool mHasDefaultStaleCallTime;
266 int mDefaultStaleCallTime;
268 bool mHasDefaultStaleReInviteTime;
269 int mDefaultStaleReInviteTime;
271 bool mHasDefaultSessionExpires;
274 bool mHasDefaultSessionTimerMode;
277 bool mHas1xxRetransmissionTime;
278 int m1xxRetransmissionTime;
280 bool mHas1xxRelResubmitTime;
281 int m1xxRelResubmitTime;
283 bool mHasOutboundProxy;
286 bool mHasForceOutboundProxyOnAllRequestsEnabled;
287 bool mForceOutboundProxyOnAllRequestsEnabled;
289 bool mHasExpressOutboundAsRouteSetEnabled;
290 bool mExpressOutboundAsRouteSetEnabled;
292 bool mHasAdvertisedCapabilities;
293 std::set<
Headers::Type> mAdvertisedCapabilities;
295 bool mHasRportEnabled;
301 bool mHasOverrideHostPort;
302 Uri mOverrideHostPort;
304 bool mHasKeepAliveTimeForDatagram;
305 int mKeepAliveTimeForDatagram;
307 bool mHasKeepAliveTimeForStream;
308 int mKeepAliveTimeForStream;
310 bool mHasFixedTransportPort;
311 int mFixedTransportPort;
313 bool mHasFixedTransportInterface;
314 Data mFixedTransportInterface;
316 bool mHasProxyRequires;
319 bool mHasRinstanceEnabled;
320 bool mRinstanceEnabled;
322 bool mHasOutboundDecorator;
325 bool mHasMethodsParamEnabled;
326 bool mMethodsParamEnabled;
328 bool mHasUserAgentCapabilities;
331 bool mHasExtraHeadersInReferNotifySipFragEnabled;
332 bool mExtraHeadersInReferNotifySipFragEnabled;
334 bool mHasHandleInviteSession491AsGeneralFailureEnabled;
335 bool mHandleInviteSession491AsGeneralFailureEnabled;
337 std::shared_ptr<
Profile> mBaseProfile;
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Represents the "name-addr" and the "addr-spec" elements in the RFC 3261 grammar.
virtual void unsetAdvertisedCapabilities()
virtual void unsetOutboundDecorator() noexcept
virtual void set1xxRetransmissionTime(int secs) noexcept
The amount of time that can pass before dum will resubmit an unreliable provisional response.
virtual void unsetDefaultPublicationTime() noexcept
virtual void unsetKeepAliveTimeForStream() noexcept
virtual void setDefaultSessionTime(uint32_t secs) noexcept
Only used if timer option tag is set in MasterProfile.
virtual bool getMethodsParamEnabled() const noexcept
Profile(Profile &&)=default
virtual void setFixedTransportInterface(const Data &fixedTransportInterface)
If set dum will provide a interface in the via for requests sent down to the stack.
virtual void unsetDefaultRegistrationTime() noexcept
virtual void setKeepAliveTimeForStream(int keepAliveTime) noexcept
virtual void unsetKeepAliveTimeForDatagram() noexcept
virtual int getKeepAliveTimeForStream() const noexcept
virtual void unsetOutboundProxy() noexcept
virtual void unsetDefaultRegistrationRetryTime() noexcept
virtual void setDefaultPublicationTime(uint32_t secs) noexcept
This default is used if no value is passed in when creating a publication.
virtual bool hasOverrideHostAndPort() const noexcept
virtual void unsetDefaultSubscriptionTime() noexcept
virtual void setUserAgent(const Data &userAgent)
if set then UserAgent header is added to outbound messages
virtual void clearAdvertisedCapabilities() noexcept
virtual void setDefaultSubscriptionTime(uint32_t secs) noexcept
This default is used if no value is passed in when creating a subscription.
virtual void setDefaultStaleCallTime(int secs) noexcept
Call is stale if UAC gets no final response within the stale call timeout (default 3 minutes)
virtual bool getHandleInviteSession491AsGeneralFailureEnabled() const
virtual ~Profile()=default
virtual void setForceOutboundProxyOnAllRequestsEnabled(bool enabled) noexcept
If enabled, forces use of outbound proxy on all requests, including mid-dialog requests.
virtual void setDefaultRegistrationTime(uint32_t secs) noexcept
Note: setXXXX methods will set this setting internally in this object.
virtual void setHandleInviteSession491AsGeneralFailureEnabled(bool enabled)
virtual void unsetExpressOutboundAsRouteSetEnabled() noexcept
virtual void setKeepAliveTimeForDatagram(int keepAliveTime) noexcept
time between CR/LF keepalive messages in seconds.
virtual void unsetForceOutboundProxyOnAllRequestsEnabled() noexcept
virtual void setDefaultRegistrationRetryTime(int secs) noexcept
The time to retry registrations on error responses (if Retry-After header is not present in error) Se...
virtual void unsetHandleInviteSession491AsGeneralFailureEnabled()
virtual const NameAddr & getOutboundProxy() const
virtual void setOverrideHostAndPort(const Uri &hostPort)
overrides the value used to populate the contact ?dcm? – also change via entries? Also,...
virtual bool getExtraHeadersInReferNotifySipFragEnabled() const noexcept
virtual void unsetUserAgent() noexcept
virtual void setUserAgentCapabilities(const NameAddr &capabilities)
If set, the parameters on the provided NameAddr are used in the contact header Example: #include <res...
virtual uint32_t getDefaultSessionTime() const noexcept
virtual bool getForceOutboundProxyOnAllRequestsEnabled() const noexcept
virtual int getKeepAliveTimeForDatagram() const noexcept
virtual void unsetProxyRequires() noexcept
virtual void unsetFixedTransportPort() noexcept
virtual void setProxyRequires(const Tokens &proxyRequires)
if set then ProxyRequires header is added to outbound messages
virtual const Data & getUserAgent() const
virtual std::shared_ptr< MessageDecorator > getOutboundDecorator() noexcept
virtual uint32_t getDefaultSubscriptionTime() const noexcept
virtual int getDefaultStaleCallTime() const noexcept
Profile(const Profile &)=default
Profile & operator=(const Profile &)=default
virtual void setOutboundDecorator(std::shared_ptr< MessageDecorator > outboundDecorator) noexcept
virtual void reset()
Reset this profile to it's initial state - (same as calling unsetXXX for each setting) If no fall thr...
virtual bool getRinstanceEnabled() const noexcept
virtual const Tokens & getProxyRequires() const
Profile & operator=(Profile &&)=default
virtual void unsetRinstanceEnabled() noexcept
virtual void unsetExtraHeadersInReferNotifySipFragEnabled() 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 void setDefaultStaleReInviteTime(int secs) noexcept
ReInvite is stale if UAC gets no final response within the stale reinvite timeout (default 40 seconds...
virtual void unsetUserAgentCapabilities() noexcept
virtual const Uri & getOverrideHostAndPort() const
virtual void addAdvertisedCapability(Headers::Type header)
enable/disable sending of Allow/Supported/Accept-Language/Accept-Encoding headers on initial outbound...
virtual void unsetDefaultStaleCallTime() noexcept
virtual void setExtraHeadersInReferNotifySipFragEnabled(bool enabled) noexcept
If enabled then dialog identifying headers are added to SipFrag bodies that are generated in an Invit...
virtual void unsetOverrideHostAndPort() noexcept
virtual int get1xxRetransmissionTime() const noexcept
virtual bool hasUserAgent() const noexcept
virtual void unsetDefaultSessionTimerMode() noexcept
virtual int getFixedTransportPort() const noexcept
virtual void setExpressOutboundAsRouteSetEnabled(bool enabled) noexcept
If enabled, add a route header for the outbound proxy.
virtual int getDefaultStaleReInviteTime() const noexcept
virtual void unsetDefaultStaleReInviteTime() noexcept
virtual uint32_t getDefaultPublicationTime() const noexcept
virtual void unset1xxRetransmissionTime() noexcept
virtual bool hasProxyRequires() const noexcept
virtual bool getExpressOutboundAsRouteSetEnabled() const noexcept
virtual const Data & getFixedTransportInterface() const
virtual void unsetFixedTransportInterface()
virtual Profile::SessionTimerMode getDefaultSessionTimerMode() const noexcept
virtual uint32_t getDefaultRegistrationTime() const 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 const NameAddr & getUserAgentCapabilities() const
virtual void setRinstanceEnabled(bool enabled) noexcept
If enabled then rinstance parameter is added to contacts.
virtual bool isAdvertisedCapability(Headers::Type header) const
virtual int getDefaultRegistrationRetryTime() const noexcept
virtual bool hasOutboundProxy() const noexcept
virtual bool hasUserAgentCapabilities() const noexcept
virtual void setDefaultSessionTimerMode(Profile::SessionTimerMode mode) noexcept
virtual void unsetDefaultMaxRegistrationTime() noexcept
virtual void unsetDefaultSessionTime() noexcept
virtual void setOutboundProxy(const Uri &uri)
Use to route all outbound requests through a particular proxy.
virtual void setRportEnabled(bool enabled) noexcept
enable/disable rport for requests. rport is enabled by default
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 bef...
virtual bool getRportEnabled() const noexcept
virtual void unsetMethodsParamEnabled() noexcept
virtual uint32_t getDefaultMaxRegistrationTime() const noexcept
virtual void unsetRportEnabled() noexcept
virtual void unset1xxRelResubmitTime() noexcept
virtual void setMethodsParamEnabled(bool enabled) noexcept
If enabled then methods parameter is added to contacts.
SessionTimerMode
Only used if timer option tag is set in MasterProfile.
Represents the "SIP-URI" and "SIPS-URI" elements in the RFC 3261 grammar.
dcm! – add UnusedChecking(_enum) below;