1#if !defined(RESIP_CLIENTREGISTRATION_HXX)
2#define RESIP_CLIENTREGISTRATION_HXX
42 void removeAll(
bool stopRegisteringWhenDone=
false);
68 bool isRequestPending() const noexcept {
return mState != Registered && mState != RetryAdding && mState != RetryRefreshing; }
100 std::shared_ptr<SipMessage> tryModification(ClientRegistration::State state);
101 void internalRequestRefresh(
uint32_t expires = 0);
102 unsigned int checkProfileRetry(
const SipMessage& msg);
104 unsigned long calculateExpiry(
const SipMessage& reg200)
const;
105 bool contactIsMine(
const NameAddr& contact)
const;
106 bool rinstanceIsMine(
const Data& rinstance)
const;
107 bool searchByUri(
const Uri& cUri)
const;
110 void flowTerminated();
113 std::shared_ptr<SipMessage> mLastRequest;
116 unsigned int mTimerSeq;
126 std::shared_ptr<SipMessage> mQueuedRequest;
dcm! – shutdown/deletion API – end?
void removeAll(bool stopRegisteringWhenDone=false)
Removes all bindings associated with the AOR - even those that may have been by a another UA.
EncodeStream & dump(EncodeStream &strm) const override
void addBinding(const NameAddr &contact)
Adds a registration binding, using the registration from the UserProfile.
void removeBinding(const NameAddr &contact)
Removes one particular binding.
virtual ~ClientRegistration()
const NameAddrs & myContacts() const noexcept
returns a list of contacts added by addBinding
void stopRegistering()
kills the usgage, does not unregister, call removeMyBindings to unregister
ClientRegistrationHandle getHandle()
void removeMyBindingsCommand(bool stopRegisteringWhenDone=false)
Provide asynchronous method access by using command.
ClientRegistration & operator=(const ClientRegistration &)=delete
void requestRefresh(uint32_t expires=0)
Request a manual refresh of the registration.
static void tagContact(NameAddr &contact, DialogUsageManager &dum, const std::shared_ptr< UserProfile > &userProfile)
virtual void endCommand()
void removeMyBindings(bool stopRegisteringWhenDone=false)
Removes all bindings added by addBinding.
void end() override
Calls removeMyBindings and ends usage when complete.
void dispatch(const SipMessage &msg) override
bool isRequestPending() const noexcept
Returns true if a REGISTER request is currently pending and we are waiting for the SIP Response.
ClientRegistration(ClientRegistration &&)=delete
const NameAddrs & allContacts() const noexcept
returns a list of all contacts for this AOR - may include those added by other UA's
ClientRegistration & operator=(ClientRegistration &&)=delete
uint32_t whenExpires() const
returns the number of seconds until the registration expires - relative, returns 0 if already expired
ClientRegistration(const ClientRegistration &)=delete
Represents the "name-addr" and the "addr-spec" elements in the RFC 3261 grammar.
Represents a SIP message.
dcm! – add UnusedChecking(_enum) below;
unsigned long long uint64_t