|
reSIProcate/DialogUsageManager
9694
|
A single contact record, bound to an Aor during registration. More...
#include <ContactInstanceRecord.hxx>

Public Member Functions | |
| ContactInstanceRecord () | |
| bool | operator== (const ContactInstanceRecord &rhs) const |
Static Public Member Functions | |
| static ContactInstanceRecord | makeRemoveDelta (const NameAddr &contact) |
| static ContactInstanceRecord | makeUpdateDelta (const NameAddr &contact, UInt64 expires, const SipMessage &msg) |
Public Attributes | |
| NameAddr | mContact |
| UInt64 | mRegExpires |
| UInt64 | mLastUpdated |
| Tuple | mReceivedFrom |
| Tuple | mPublicAddress |
| NameAddrs | mSipPath |
| Data | mInstance |
| UInt32 | mRegId |
| bool | mSyncContact |
| bool | mUseFlowRouting |
| void * | mUserInfo |
| can be used to map user record information (database record id for faster updates?) | |
A single contact record, bound to an Aor during registration.
Definition at line 19 of file ContactInstanceRecord.hxx.
| ContactInstanceRecord::ContactInstanceRecord | ( | ) |
Definition at line 8 of file ContactInstanceRecord.cxx.
: mRegExpires(0), mLastUpdated(Timer::getTimeSecs()), mRegId(0), mSyncContact(false), mUseFlowRouting(false), mUserInfo(0) { }
| ContactInstanceRecord ContactInstanceRecord::makeRemoveDelta | ( | const NameAddr & | contact | ) | [static] |
Definition at line 38 of file ContactInstanceRecord.cxx.
References mContact.
{
ContactInstanceRecord c;
c.mContact = contact;
return c;
}
| ContactInstanceRecord ContactInstanceRecord::makeUpdateDelta | ( | const NameAddr & | contact, |
| UInt64 | expires, | ||
| const SipMessage & | msg | ||
| ) | [static] |
Definition at line 46 of file ContactInstanceRecord.cxx.
References resip::SipMessage::exists(), resip::NameAddr::exists(), resip::Helper::getClientPublicAddress(), resip::SipMessage::getSource(), resip::SipMessage::header(), mContact, mInstance, mPublicAddress, mReceivedFrom, mRegExpires, mRegId, mSipPath, and resip::ParserCategory::param().
{
ContactInstanceRecord c;
c.mContact = contact;
c.mRegExpires = expires;
c.mReceivedFrom = msg.getSource();
c.mPublicAddress = Helper::getClientPublicAddress(msg);
if (msg.exists(h_Paths))
{
c.mSipPath = msg.header(h_Paths);
}
if (contact.exists(p_Instance))
{
c.mInstance = contact.param(p_Instance);
}
if (contact.exists(p_regid))
{
c.mRegId = contact.param(p_regid);
}
// !jf! need to fill in mServerSessionId here
return c;
}

| bool ContactInstanceRecord::operator== | ( | const ContactInstanceRecord & | rhs | ) | const |
Definition at line 19 of file ContactInstanceRecord.cxx.
References resip::Data::empty(), mContact, mInstance, mRegId, and resip::NameAddr::uri().
{
if((mRegId != 0 && !mInstance.empty()) ||
(rhs.mRegId != 0 && !rhs.mInstance.empty()))
{
// If regId and instanceId is specified on either, then outbound RFC5626 is
// in use - match only if both instance id and reg-id match - ignore contact URI
return mInstance == rhs.mInstance &&
mRegId == rhs.mRegId;
}
else
{
// otherwise both instance (if specified) and contact must match
return mInstance == rhs.mInstance &&
mContact.uri() == rhs.mContact.uri();
}
}

Definition at line 28 of file ContactInstanceRecord.hxx.
Referenced by RemoveIfExpired::expired(), resip::ServerRegistration::flowTokenNeededForSigcomp(), resip::ServerRegistration::flowTokenNeededForTls(), makeRemoveDelta(), makeUpdateDelta(), RemoveIfRequired::mustRemove(), operator==(), resip::ServerRegistration::processRegistration(), resip::ServerRegistration::testFlowRequirements(), and resip::ServerRegistration::tryFlow().
Definition at line 34 of file ContactInstanceRecord.hxx.
Referenced by makeUpdateDelta(), operator==(), and resip::ServerRegistration::processRegistration().
Definition at line 30 of file ContactInstanceRecord.hxx.
Referenced by RemoveIfRequired::mustRemove(), and resip::ServerRegistration::processRegistration().
Definition at line 32 of file ContactInstanceRecord.hxx.
Referenced by makeUpdateDelta(), and resip::ServerRegistration::processRegistration().
Definition at line 31 of file ContactInstanceRecord.hxx.
Referenced by makeUpdateDelta(), resip::ServerRegistration::processRegistration(), and resip::ServerRegistration::tryFlow().
Definition at line 29 of file ContactInstanceRecord.hxx.
Referenced by RemoveIfExpired::expired(), makeUpdateDelta(), RemoveIfRequired::mustRemove(), and resip::ServerRegistration::processRegistration().
Definition at line 35 of file ContactInstanceRecord.hxx.
Referenced by makeUpdateDelta(), operator==(), and resip::ServerRegistration::tryFlow().
Definition at line 33 of file ContactInstanceRecord.hxx.
Referenced by makeUpdateDelta(), and resip::ServerRegistration::processRegistration().
Definition at line 36 of file ContactInstanceRecord.hxx.
Referenced by resip::InMemorySyncRegDb::removeContact(), and resip::InMemorySyncRegDb::updateContact().
Definition at line 37 of file ContactInstanceRecord.hxx.
Referenced by resip::ServerRegistration::tryFlow().
can be used to map user record information (database record id for faster updates?)
Definition at line 42 of file ContactInstanceRecord.hxx.
1.7.5.1