1#if !defined(RESIP_PROXY_HXX)
95 void postMS(std::unique_ptr<resip::ApplicationMessage> msg,
int msec);
Wraps your platform's implementation of hash_map, hash_multimap, and hash_set.
virtual ~OptionsHandler()
virtual bool onOptionsRequest(const resip::SipMessage &request, resip::SipMessage &response)=0
virtual bool isMyUri(const resip::Uri &uri) const
const resip::NameAddr & getRecordRoute(unsigned int transportKey, bool *transportSpecific=0) const
ProxyConfig & getConfig() noexcept
void setRecordRouteForced(bool forced)
virtual bool isShutDown() const
bool mRegistrationAccountingEnabled
void doSessionAccounting(const resip::SipMessage &sip, bool received, RequestContext &context)
void addSupportedOption(const resip::Data &option)
void removeSupportedOption(const resip::Data &option)
virtual const resip::Data & name() const
Return the name of this TransactionUser.
resip::KeyValueStore & getKeyValueStore()
std::map< unsigned int, resip::NameAddr > TransportRecordRouteMap
static resip::KeyValueStore::KeyValueStoreKeyAllocator * getRequestKeyValueStoreKeyAllocator()
ProcessorChain & mResponseProcessorChain
HashMap< resip::Data, RequestContext *, resip::KeyedDataHash > RequestContextMap
a map from transaction id to RequestContext.
void removeTransportRecordRoute(unsigned int transportKey)
static resip::KeyValueStore::KeyValueStoreKeyAllocator * getGlobalKeyValueStoreKeyAllocator()
bool isPAssertedIdentityProcessingEnabled()
UserStore & getUserStore() noexcept
TransportRecordRouteMap mTransportRecordRoutes
std::unique_ptr< RequestContextFactory > mRequestContextFactory
static resip::Data FlowTokenSalt
OptionsHandler * mOptionsHandler
void setServerText(const resip::Data &text)
resip::NameAddr mRecordRoute
void doRegistrationAccounting(repro::AccountingCollector::RegistrationEvent regEvent, const resip::SipMessage &sip)
static resip::KeyValueStore::Key allocateRequestKeyValueStoreKey()
void addTransportRecordRoute(unsigned int transportKey, const resip::NameAddr &recordRoute)
ProcessorChain & mRequestProcessorChain
bool mPAssertedIdentityProcessing
bool compressionEnabled() const
static resip::KeyValueStore::Key allocateGlobalKeyValueStoreKey()
ProcessorChain & mTargetProcessorChain
bool isUriTransportRecordRoute(const resip::Uri &uri) const
resip::SipStack & getStack() noexcept
bool mSessionAccountingEnabled
void setOptionsHandler(OptionsHandler *handler) noexcept
void setRequestContextFactory(std::unique_ptr< RequestContextFactory > requestContextFactory) noexcept
void postTimerC(std::unique_ptr< TimerCMessage > tc)
std::set< resip::Data > mSupportedOptions
resip::Mutex mTransportRecordRouteMutex
void postMS(std::unique_ptr< resip::ApplicationMessage > msg, int msec)
void send(const resip::SipMessage &msg)
resip::KeyValueStore mKeyValueStore
const resip::Data & getServerText() const
AccountingCollector * mAccountingCollector
bool isNeverStripProxyAuthorizationHeadersEnabled()
bool getRecordRouteForced() const
RequestContextMap mServerRequestContexts
static resip::KeyValueStore::KeyValueStoreKeyAllocator * getTargetKeyValueStoreKeyAllocator()
RequestContextMap mClientRequestContexts
bool mNeverStripProxyAuthorizationHeaders
static resip::KeyValueStore::Key allocateTargetKeyValueStoreKey()
void addClientTransaction(const resip::Data &transactionId, RequestContext *rc)
virtual void processUnknownMessage(resip::Message *msg)
virtual ~RequestContextFactory()
virtual RequestContext * createRequestContext(Proxy &proxy, ProcessorChain &requestP, ProcessorChain &responseP, ProcessorChain &targetP)
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
The base-class used for message-passing.
Represents the "name-addr" and the "addr-spec" elements in the RFC 3261 grammar.
Represents a SIP message.
This is the primary point of interaction between the app-layer and the stack.
A wrapper class to create and spawn a thread.
The base-class for an RFC 3261 Transaction User.
Represents the "SIP-URI" and "SIPS-URI" elements in the RFC 3261 grammar.
This Class is used to implement a primitive form of RPC using loose XML formatting.
dcm! – add UnusedChecking(_enum) below;
std::mutex Mutex
A semaphore that can be locked by only one thread at a time.