#include <sipep.h>
Inheritance diagram for SIPEndPoint:
Public Types | |
typedef SIPSubscribe::SubscriptionStatus | SubscriptionStatus |
typedef PNotifierTemplate< ConnectionlessMessageInfo & > | ConnectionlessMessageNotifier |
typedef KeepAliveType | NATBindingRefreshMethod |
CannotNotify | |
Refuse SUBSCRIBE. | |
CanNotifyImmediate | |
Accept SUBSCRIBE and send NOTIFY. | |
CanNotifyDeferrred | |
> Accept SUBSCRIBE, but NOTIFY will be sent at a later time by caller | |
NoKeepAlive | |
KeepAliveByCRLF | |
KeepAliveByOPTION | |
NumMethods | |
enum | CanNotifyResult { CannotNotify, CanNotifyImmediate, CanNotifyDeferrred } |
enum | KeepAliveType { NoKeepAlive, KeepAliveByCRLF, KeepAliveByOPTION, NumMethods } |
Public Member Functions | |
PSafePtr< SIPConnection > | GetSIPConnectionWithLock (const PString &token, PSafetyMode mode=PSafeReadWrite, SIP_PDU::StatusCodes *errorCode=NULL) |
virtual PBoolean | IsAcceptedAddress (const SIPURL &toAddr) |
bool | Register (const SIPRegister::Params ¶ms, PString &aor, SIP_PDU::StatusCodes *reason=NULL) |
bool | Register (const SIPRegister::Params ¶ms, PString &aor, bool asynchronous) |
bool P_DEPRECATED | Register (const PString &host, const PString &user=PString::Empty(), const PString &autName=PString::Empty(), const PString &password=PString::Empty(), const PString &authRealm=PString::Empty(), unsigned expire=0, const PTimeInterval &minRetryTime=PMaxTimeInterval, const PTimeInterval &maxRetryTime=PMaxTimeInterval) |
Registration function for backward compatibility. | |
PBoolean | IsRegistered (const PString &aor, bool includeOffline=false) |
bool | Unregister (const PString &aor) |
bool | UnregisterAll () |
unsigned | GetRegistrationsCount () const |
PStringList | GetRegistrations (bool includeOffline=false) const |
bool | GetRegistrationStatus (const PString &token, RegistrationStatus &status) |
virtual void | OnRegistrationStatus (const RegistrationStatus &status) |
virtual void | OnRegistrationStatus (const PString &aor, PBoolean wasRegistering, PBoolean reRegistering, SIP_PDU::StatusCodes reason) |
virtual void | OnRegistrationFailed (const PString &aor, SIP_PDU::StatusCodes reason, PBoolean wasRegistering) |
virtual void | OnRegistered (const PString &aor, PBoolean wasRegistering) |
bool | Subscribe (const SIPSubscribe::Params ¶ms, PString &token, bool tokenIsAOR=true) |
bool | Subscribe (SIPSubscribe::PredefinedPackages eventPackage, unsigned expire, const PString &aor) |
bool | IsSubscribed (const PString &aor, bool includeOffline=false) |
bool | IsSubscribed (const PString &eventPackage, const PString &aor, bool includeOffline=false) |
bool | Unsubscribe (const PString &aor, bool invalidateNotifiers=false) |
bool | Unsubscribe (SIPSubscribe::PredefinedPackages eventPackage, const PString &aor, bool invalidateNotifiers=false) |
bool | Unsubscribe (const PString &eventPackage, const PString &aor, bool invalidateNotifiers=false) |
bool | UnsubcribeAll (SIPSubscribe::PredefinedPackages eventPackage) |
bool | UnsubcribeAll (const PString &eventPackage) |
unsigned | GetSubscriptionCount (const SIPSubscribe::EventPackage &eventPackage) |
PStringList | GetSubscriptions (const SIPSubscribe::EventPackage &eventPackage, bool includeOffline=false) const |
bool | GetSubscriptionStatus (const PString &token, const PString &eventPackage, SubscriptionStatus &status) |
virtual void | OnSubscriptionStatus (const SubscriptionStatus &status) |
virtual void | OnSubscriptionStatus (const PString &eventPackage, const SIPURL &uri, bool wasSubscribing, bool reSubscribing, SIP_PDU::StatusCodes reason) |
virtual void | OnSubscriptionStatus (SIPSubscribeHandler &handler, const SIPURL &uri, bool wasSubscribing, bool reSubscribing, SIP_PDU::StatusCodes reason) |
virtual CanNotifyResult | CanNotify (const PString &eventPackage, const SIPURL &aor) |
virtual bool | CanNotify (const PString &eventPackage) |
bool | Notify (const SIPURL &targetAddress, const PString &eventPackage, const PObject &body) |
virtual void | OnDialogInfoReceived (const SIPDialogNotification &info) |
void | SendNotifyDialogInfo (const SIPDialogNotification &info) |
virtual void | OnRegInfoReceived (const SIPRegNotification &info) |
bool | SendMESSAGE (SIPMessage::Params ¶ms) |
virtual void | OnMESSAGECompleted (const SIPMessage::Params ¶ms, SIP_PDU::StatusCodes reason) |
void | SetConnectionlessMessageNotifier (const ConnectionlessMessageNotifier ¬ifier) |
virtual bool | SendOPTIONS (const SIPOptions::Params ¶ms) |
virtual void | OnOptionsCompleted (const SIPOptions::Params ¶ms, const SIP_PDU &response) |
bool | Publish (const SIPSubscribe::Params ¶ms, const PString &body, PString &aor) |
bool | Publish (const PString &to, const PString &body, unsigned expire=300) |
PStringList | GetPublications (const SIPSubscribe::EventPackage &eventPackage, bool includeOffline=false) const |
PBoolean | Ping (const PURL &to) |
const PStringSet & | GetAllowedEvents () const |
SIPConnection::PRACKMode | GetDefaultPRACKMode () const |
void | SetDefaultPRACKMode (SIPConnection::PRACKMode mode) |
void | SetMaxPacketSizeUDP (PINDEX sz) |
PINDEX | GetMaxPacketSizeUDP () const |
void | SetMaxRetries (unsigned r) |
unsigned | GetMaxRetries () const |
void | SetRetryTimeouts (const PTimeInterval &t1, const PTimeInterval &t2) |
const PTimeInterval & | GetRetryTimeoutMin () const |
const PTimeInterval & | GetRetryTimeoutMax () const |
void | SetNonInviteTimeout (const PTimeInterval &t) |
const PTimeInterval & | GetNonInviteTimeout () const |
void | SetPduCleanUpTimeout (const PTimeInterval &t) |
const PTimeInterval & | GetPduCleanUpTimeout () const |
void | SetInviteTimeout (const PTimeInterval &t) |
const PTimeInterval & | GetInviteTimeout () const |
void | SetProgressTimeout (const PTimeInterval &t) |
const PTimeInterval & | GetProgressTimeout () const |
void | SetAckTimeout (const PTimeInterval &t) |
const PTimeInterval & | GetAckTimeout () const |
void | SetRegistrarTimeToLive (const PTimeInterval &t) |
const PTimeInterval & | GetRegistrarTimeToLive () const |
void | SetNotifierTimeToLive (const PTimeInterval &t) |
const PTimeInterval & | GetNotifierTimeToLive () const |
P_DEPRECATED void | SetNATBindingTimeout (const PTimeInterval &t) |
P_DEPRECATED const PTimeInterval & | GetNATBindingTimeout () const |
void | GetKeepAlive (PTimeInterval &timeout, KeepAliveType &type) |
void | SetKeepAlive (const PTimeInterval &timeout, KeepAliveType type) |
void | AddTransaction (SIPTransaction *transaction) |
PSafePtr< SIPTransaction > | GetTransaction (const PString &transactionID, PSafetyMode mode=PSafeReadWrite) |
unsigned | GetNextCSeq () |
void | SetRegisteredUserMode (bool v) |
bool | GetRegisteredUserMode () const |
bool | GetAuthentication (const PString &realm, PString &authId, PString &password) |
virtual SIPURL | GetDefaultLocalURL (const OpalTransport &transport) |
void | AdjustToRegistration (SIP_PDU &pdu, SIPConnection *connection=NULL, const OpalTransport *transport=NULL) |
const SIPURL & | GetProxy () const |
void | SetProxy (const SIPURL &url) |
void | SetProxy (const PString &hostname, const PString &username, const PString &password) |
int | GetDefaultAppearanceCode () const |
void | SetDefaultAppearanceCode (int code) |
virtual PString | GetUserAgent () const |
void | SetUserAgent (const PString &str) |
virtual unsigned | GetAllowedMethods () const |
P_DEPRECATED void | SetNATBindingRefreshMethod (const NATBindingRefreshMethod type) |
virtual SIPRegisterHandler * | CreateRegisterHandler (const SIPRegister::Params ¶ms) |
virtual void | OnStartTransaction (SIPConnection &conn, SIPTransaction &transaction) |
PSafePtr< SIPHandler > | FindSIPHandlerByCallID (const PString &callID, PSafetyMode m) |
void | UpdateHandlerIndexes (SIPHandler *handler) |
SIPThreadPool & | GetThreadPool () |
Construction | |
SIPEndPoint (OpalManager &manager, unsigned maxThreads=15) | |
~SIPEndPoint () | |
Overrides from OpalEndPoint | |
virtual void | ShutDown () |
virtual PString | GetDefaultTransport () const |
virtual WORD | GetDefaultSignalPort () const |
virtual PStringList | GetNetworkURIs (const PString &name) const |
virtual void | NewIncomingConnection (OpalListener &listener, const OpalTransportPtr &transport) |
virtual PSafePtr< OpalConnection > | MakeConnection (OpalCall &call, const PString &party, void *userData, unsigned int options, OpalConnection::StringOptions *stringOptions) |
virtual void | OnReleased (OpalConnection &connection) |
virtual void | OnConferenceStatusChanged (OpalEndPoint &endpoint, const PString &uri, OpalConferenceState::ChangeType change) |
virtual PBoolean | GarbageCollection () |
Customisation call backs | |
virtual SIPConnection * | CreateConnection (const SIPConnection::Init &init) |
virtual PBoolean | SetupTransfer (const PString &token, const PString &callIdentity, const PString &remoteParty, void *userData=NULL) |
virtual PBoolean | ForwardConnection (SIPConnection &connection, const PString &forwardParty) |
bool | ClearDialogContext (const PString &descriptor) |
bool | ClearDialogContext (SIPDialogContext &context) |
Protocol handling routines | |
OpalTransportPtr | GetTransport (const SIPTransactionOwner &transactor, SIP_PDU::StatusCodes &reason) |
virtual void | HandlePDU (const OpalTransportPtr &transport) |
virtual bool | OnReceivedPDU (SIP_PDU *pdu) |
virtual bool | OnReceivedConnectionlessPDU (SIP_PDU *pdu) |
virtual void | OnReceivedResponse (SIPTransaction &transaction, SIP_PDU &response) |
virtual bool | OnReceivedINVITE (SIP_PDU *pdu) |
virtual bool | OnReceivedNOTIFY (SIP_PDU &request) |
virtual bool | OnReceivedREGISTER (SIP_PDU &request) |
virtual bool | OnReceivedSUBSCRIBE (SIP_PDU &request, SIPDialogContext *dialog) |
virtual bool | OnReceivedMESSAGE (SIP_PDU &request) |
virtual bool | OnReceivedOPTIONS (SIP_PDU &request) |
virtual void | OnTransactionFailed (SIPTransaction &transaction) |
Protected Types | |
typedef std::multimap< PString, SIPURL > | ConferenceMap |
Protected Member Functions | |
void | AddTransport (const OpalTransportPtr &transport) |
void | TransportThreadMain (OpalTransportPtr transport) |
PSafePtr< SIPHandler > | FindHandlerByPDU (const SIP_PDU &pdu, PSafetyMode mode) |
PDECLARE_InterfaceNotifier (SIPEndPoint, OnHighPriorityInterfaceChange) | |
PDECLARE_InterfaceNotifier (SIPEndPoint, OnLowPriorityInterfaceChange) | |
P_REMOVE_VIRTUAL_VOID (OnReceivedIntervalTooBrief(SIPTransaction &, SIP_PDU &)) | |
P_REMOVE_VIRTUAL_VOID (OnReceivedAuthenticationRequired(SIPTransaction &, SIP_PDU &)) | |
P_REMOVE_VIRTUAL_VOID (OnReceivedOK(SIPTransaction &, SIP_PDU &)) | |
P_REMOVE_VIRTUAL_VOID (OnMessageFailed(const SIPURL &, SIP_PDU::StatusCodes)) | |
P_REMOVE_VIRTUAL (SIPConnection *, CreateConnection(OpalCall &, const PString &, void *, const SIPURL &, OpalTransport *, SIP_PDU *, unsigned, OpalConnection::StringOptions *), NULL) | |
P_REMOVE_VIRTUAL (PBoolean, OnReceivedPDU(OpalTransport &, SIP_PDU *), false) | |
P_REMOVE_VIRTUAL (bool, OnReceivedConnectionlessPDU(OpalTransport &, SIP_PDU *), false) | |
P_REMOVE_VIRTUAL (PBoolean, OnReceivedINVITE(OpalTransport &, SIP_PDU *), false) | |
P_REMOVE_VIRTUAL (PBoolean, OnReceivedNOTIFY(OpalTransport &, SIP_PDU &), false) | |
P_REMOVE_VIRTUAL (PBoolean, OnReceivedREGISTER(OpalTransport &, SIP_PDU &), false) | |
P_REMOVE_VIRTUAL (PBoolean, OnReceivedSUBSCRIBE(OpalTransport &, SIP_PDU &, SIPDialogContext *), false) | |
P_REMOVE_VIRTUAL (bool, OnReceivedMESSAGE(OpalTransport &, SIP_PDU &), false) | |
P_REMOVE_VIRTUAL (bool, OnReceivedOPTIONS(OpalTransport &, SIP_PDU &), false) | |
Protected Attributes | |
SIPURL | m_proxy |
PString | m_userAgentString |
PStringSet | m_allowedEvents |
SIPConnection::PRACKMode | m_defaultPrackMode |
PINDEX | m_maxPacketSizeUDP |
unsigned | maxRetries |
PTimeInterval | retryTimeoutMin |
PTimeInterval | retryTimeoutMax |
PTimeInterval | nonInviteTimeout |
PTimeInterval | pduCleanUpTimeout |
PTimeInterval | inviteTimeout |
PTimeInterval | m_progressTimeout |
PTimeInterval | ackTimeout |
PTimeInterval | registrarTimeToLive |
PTimeInterval | notifierTimeToLive |
PTimeInterval | natBindingTimeout |
PTimeInterval | m_keepAliveTimeout |
KeepAliveType | m_keepAliveType |
bool | m_registeredUserMode |
bool | m_shuttingDown |
PSafeDictionary< OpalTransportAddress, OpalTransport > | m_transportsTable |
SIPHandlersList | activeSIPHandlers |
PStringToString | m_receivedConnectionTokens |
PMutex | m_receivedConnectionMutex |
PSafeSortedList< SIPTransactionBase > | m_transactions |
PAtomicInteger | m_lastSentCSeq |
int | m_defaultAppearanceCode |
std::map< PString, RegistrationCompletion > | m_registrationComplete |
ConnectionlessMessageNotifier | m_onConnectionlessMessage |
ConferenceMap | m_conferenceAOR |
SIPThreadPool | m_threadPool |
bool | m_disableTrying |
Data Structures | |
struct | ConnectionlessMessageInfo |
struct | RegistrationCompletion |
struct | RegistrationStatus |
typedef std::multimap<PString, SIPURL> SIPEndPoint::ConferenceMap [protected] |
typedef PNotifierTemplate<ConnectionlessMessageInfo &> SIPEndPoint::ConnectionlessMessageNotifier |
Information provided on the subscription status.
Indicate notification capability for an event package. Default behaviour handles conference and presence event packages if the aor
parameter matches something we have.
All other event packages are checked against the m_allowedEvents set member variable.
SIPEndPoint::SIPEndPoint | ( | OpalManager & | manager, | |
unsigned | maxThreads = 15 | |||
) |
Create a new endpoint.
SIPEndPoint::~SIPEndPoint | ( | ) |
Destroy endpoint.
void SIPEndPoint::AddTransaction | ( | SIPTransaction * | transaction | ) | [inline] |
void SIPEndPoint::AddTransport | ( | const OpalTransportPtr & | transport | ) | [protected] |
void SIPEndPoint::AdjustToRegistration | ( | SIP_PDU & | pdu, | |
SIPConnection * | connection = NULL , |
|||
const OpalTransport * | transport = NULL | |||
) |
Adjust the outgoing PDU to registered information. Various header fields of the PDU must be adjusted to agree with values provided to/from the active registration for the domain the call is being made to. For example the "From" field must agree exactly with
If no active registration is available, the result of GetLocalURL() on the given transport is set to the Contact field.
virtual bool SIPEndPoint::CanNotify | ( | const PString & | eventPackage | ) | [virtual] |
virtual CanNotifyResult SIPEndPoint::CanNotify | ( | const PString & | eventPackage, | |
const SIPURL & | aor | |||
) | [virtual] |
Indicate notifications for the specified event package are supported.
eventPackage | Event package we support |
aor | Address of record for SUBSCRIBE |
bool SIPEndPoint::ClearDialogContext | ( | SIPDialogContext & | context | ) |
context | Context for call clearance |
bool SIPEndPoint::ClearDialogContext | ( | const PString & | descriptor | ) |
Clear a SIP connection by dialog identifer informataion. This function does not require an OPAL connection to operate, it will attempt to send a BYE to the dialog identified by the information in the SIPDialogContext structure.
This feature can be useful for servers that had an "unexpected exit" and various clients it was talking to at the time do not implement the RFC4028 session timers, so continue to try and send media forever. They need to be told to cease and desist.
descriptor | Descriptor string for call clearance |
virtual SIPConnection* SIPEndPoint::CreateConnection | ( | const SIPConnection::Init & | init | ) | [virtual] |
Create a connection for the SIP endpoint. The default implementation is to create a OpalSIPConnection.
init | Initialisation parameters |
virtual SIPRegisterHandler* SIPEndPoint::CreateRegisterHandler | ( | const SIPRegister::Params & | params | ) | [virtual] |
PSafePtr<SIPHandler> SIPEndPoint::FindHandlerByPDU | ( | const SIP_PDU & | pdu, | |
PSafetyMode | mode | |||
) | [protected] |
PSafePtr<SIPHandler> SIPEndPoint::FindSIPHandlerByCallID | ( | const PString & | callID, | |
PSafetyMode | m | |||
) | [inline] |
virtual PBoolean SIPEndPoint::ForwardConnection | ( | SIPConnection & | connection, | |
const PString & | forwardParty | |||
) | [virtual] |
Forward the connection using the same token as the specified connection. Return true if the connection is being redirected.
connection | Connection to be forwarded |
forwardParty | Remote party to forward to |
virtual PBoolean SIPEndPoint::GarbageCollection | ( | ) | [virtual] |
Execute garbage collection for endpoint. Returns true if all garbage has been collected. Default behaviour deletes the objects in the connectionsActive list.
Reimplemented from OpalEndPoint.
const PTimeInterval& SIPEndPoint::GetAckTimeout | ( | ) | const [inline] |
const PStringSet& SIPEndPoint::GetAllowedEvents | ( | ) | const [inline] |
Get the allowed events for SUBSCRIBE commands.
virtual unsigned SIPEndPoint::GetAllowedMethods | ( | ) | const [virtual] |
Return a bit mask of the allowed SIP methods.
bool SIPEndPoint::GetAuthentication | ( | const PString & | realm, | |
PString & | authId, | |||
PString & | password | |||
) |
Return the SIPAuthentication for a specific realm.
int SIPEndPoint::GetDefaultAppearanceCode | ( | ) | const [inline] |
Get the default line appearance code for new connections.
virtual SIPURL SIPEndPoint::GetDefaultLocalURL | ( | const OpalTransport & | transport | ) | [virtual] |
Return the default Contact URL.
SIPConnection::PRACKMode SIPEndPoint::GetDefaultPRACKMode | ( | ) | const [inline] |
Get default mode for PRACK support.
virtual WORD SIPEndPoint::GetDefaultSignalPort | ( | ) | const [virtual] |
Get the default signal port for this endpoint.
Reimplemented from OpalEndPoint.
virtual PString SIPEndPoint::GetDefaultTransport | ( | ) | const [virtual] |
Get the default transports for the endpoint type. Overrides the default behaviour to return udp and tcp.
Reimplemented from OpalEndPoint.
const PTimeInterval& SIPEndPoint::GetInviteTimeout | ( | ) | const [inline] |
void SIPEndPoint::GetKeepAlive | ( | PTimeInterval & | timeout, | |
KeepAliveType & | type | |||
) | [inline] |
PINDEX SIPEndPoint::GetMaxPacketSizeUDP | ( | ) | const [inline] |
unsigned SIPEndPoint::GetMaxRetries | ( | ) | const [inline] |
P_DEPRECATED const PTimeInterval& SIPEndPoint::GetNATBindingTimeout | ( | ) | const [inline] |
virtual PStringList SIPEndPoint::GetNetworkURIs | ( | const PString & | name | ) | const [virtual] |
Reimplemented from OpalEndPoint.
unsigned SIPEndPoint::GetNextCSeq | ( | ) | [inline] |
Return the next CSEQ for the next transaction.
const PTimeInterval& SIPEndPoint::GetNonInviteTimeout | ( | ) | const [inline] |
const PTimeInterval& SIPEndPoint::GetNotifierTimeToLive | ( | ) | const [inline] |
const PTimeInterval& SIPEndPoint::GetPduCleanUpTimeout | ( | ) | const [inline] |
const PTimeInterval& SIPEndPoint::GetProgressTimeout | ( | ) | const [inline] |
const SIPURL& SIPEndPoint::GetProxy | ( | ) | const [inline] |
Return the outbound proxy URL, if any.
PStringList SIPEndPoint::GetPublications | ( | const SIPSubscribe::EventPackage & | eventPackage, | |
bool | includeOffline = false | |||
) | const [inline] |
Returns a list of published entities.
eventPackage | Event package for publication |
includeOffline | Include offline publications |
bool SIPEndPoint::GetRegisteredUserMode | ( | ) | const [inline] |
const PTimeInterval& SIPEndPoint::GetRegistrarTimeToLive | ( | ) | const [inline] |
PStringList SIPEndPoint::GetRegistrations | ( | bool | includeOffline = false |
) | const [inline] |
Returns a list of registered accounts.
includeOffline | Include offline registrations |
unsigned SIPEndPoint::GetRegistrationsCount | ( | ) | const [inline] |
Returns the number of registered accounts.
bool SIPEndPoint::GetRegistrationStatus | ( | const PString & | token, | |
RegistrationStatus & | status | |||
) |
Get current registration status. Returns false if there is no registration that match the aor/call-id
status | Address-of-record, or call-id Returned status |
const PTimeInterval& SIPEndPoint::GetRetryTimeoutMax | ( | ) | const [inline] |
const PTimeInterval& SIPEndPoint::GetRetryTimeoutMin | ( | ) | const [inline] |
PSafePtr<SIPConnection> SIPEndPoint::GetSIPConnectionWithLock | ( | const PString & | token, | |
PSafetyMode | mode = PSafeReadWrite , |
|||
SIP_PDU::StatusCodes * | errorCode = NULL | |||
) |
Find a connection that uses the specified token. This searches the endpoint for the connection that contains the token as provided by functions such as MakeConnection().
Note the token may be a "replaces" style value of the form: "callid;to-tag=tag;from-tag=tag"
token | Token to identify connection |
mode | Lock mode |
errorCode | Error code if lock fails |
unsigned SIPEndPoint::GetSubscriptionCount | ( | const SIPSubscribe::EventPackage & | eventPackage | ) | [inline] |
Returns the number of registered accounts.
eventPackage | Event package of subscription |
PStringList SIPEndPoint::GetSubscriptions | ( | const SIPSubscribe::EventPackage & | eventPackage, | |
bool | includeOffline = false | |||
) | const [inline] |
Returns a list of subscribed accounts for package.
eventPackage | Event package of subscription |
includeOffline | Include offline subscriptions |
bool SIPEndPoint::GetSubscriptionStatus | ( | const PString & | token, | |
const PString & | eventPackage, | |||
SubscriptionStatus & | status | |||
) |
Get current registration status. Returns false if there is no registration that match the aor/call-id
eventPackage | Address-of-record, or call-id Event package being unsubscribed |
status | Returned status |
SIPThreadPool& SIPEndPoint::GetThreadPool | ( | ) | [inline] |
PSafePtr<SIPTransaction> SIPEndPoint::GetTransaction | ( | const PString & | transactionID, | |
PSafetyMode | mode = PSafeReadWrite | |||
) | [inline] |
OpalTransportPtr SIPEndPoint::GetTransport | ( | const SIPTransactionOwner & | transactor, | |
SIP_PDU::StatusCodes & | reason | |||
) |
Find or create an OpalTransport instance. A single transport exists to a specific remote system and all SIP entities (connections or handlers) use transports out of this pool.
virtual PString SIPEndPoint::GetUserAgent | ( | ) | const [virtual] |
Get the User Agent for this endpoint. Default behaviour returns an empty string so the SIPConnection builds a valid string from the productInfo data.
These semantics are for backward compatibility.
virtual void SIPEndPoint::HandlePDU | ( | const OpalTransportPtr & | transport | ) | [virtual] |
virtual PBoolean SIPEndPoint::IsAcceptedAddress | ( | const SIPURL & | toAddr | ) | [virtual] |
PBoolean SIPEndPoint::IsRegistered | ( | const PString & | aor, | |
bool | includeOffline = false | |||
) |
Determine if there is a registration for the entity. The "token" parameter string is typically the string returned by the Register() function which is guaranteed to uniquely identify the specific registration.
For backward compatibility, the AOR can also be used, but as it is possible to have two registrations to the same AOR, this should be avoided.
The includeOffline parameter indicates if the caller is interested in if we are, to the best of our knowledge, currently registered (have had recent confirmation) or we are not sure if we are registered or not, but are continually re-trying.
aor | AOR returned by Register() |
includeOffline | Include offline registrations |
bool SIPEndPoint::IsSubscribed | ( | const PString & | eventPackage, | |
const PString & | aor, | |||
bool | includeOffline = false | |||
) |
eventPackage | Event package being unsubscribed |
aor | Address-of-record for subscription |
includeOffline | Include offline subscription |
bool SIPEndPoint::IsSubscribed | ( | const PString & | aor, | |
bool | includeOffline = false | |||
) |
Returns true if the endpoint is subscribed to some event for the given to address. The includeOffline parameter indicates if the caller is interested in if we are, to the best of our knowlegde, currently subscribed (have had recent confirmation) or we are not sure if we are subscribed or not, but are continually re-trying.
aor | AOR returned by Subscribe() |
includeOffline | Include offline subscription |
virtual PSafePtr<OpalConnection> SIPEndPoint::MakeConnection | ( | OpalCall & | call, | |
const PString & | party, | |||
void * | userData, | |||
unsigned int | options, | |||
OpalConnection::StringOptions * | stringOptions | |||
) | [virtual] |
Set up a connection to a remote party. This is called from the OpalManager::MakeConnection() function once it has determined that this is the endpoint for the protocol.
The general form for this party parameter is:
[proto:][alias@][transport$]address[:port]
where the various fields will have meanings specific to the endpoint type. For example, with H.323 it could be "h323:Fred@site.com" which indicates a user Fred at gatekeeper size.com. Whereas for the PSTN endpoint it could be "pstn:5551234" which is to call 5551234 on the first available PSTN line.
The proto field is optional when passed to a specific endpoint. If it is present, however, it must agree with the endpoints protocol name or false is returned.
This function usually returns almost immediately with the connection continuing to occur in a new background thread.
If false is returned then the connection could not be established. For example if a PSTN endpoint is used and the assiciated line is engaged then it may return immediately. Returning a non-NULL value does not mean that the connection will succeed, only that an attempt is being made.
The default behaviour is pure.
call | Owner of connection |
party | Remote party to call |
userData | Arbitrary data to pass to connection |
options | options to pass to conneciton |
stringOptions | complex string options |
Implements OpalEndPoint.
virtual void SIPEndPoint::NewIncomingConnection | ( | OpalListener & | listener, | |
const OpalTransportPtr & | transport | |||
) | [virtual] |
Handle new incoming connection from listener.
listener | Listner that created transport |
transport | Transport connection came in on |
bool SIPEndPoint::Notify | ( | const SIPURL & | targetAddress, | |
const PString & | eventPackage, | |||
const PObject & | body | |||
) |
Send notification to all remotes that are subcribed to the event package.
targetAddress | Address that was subscribed |
eventPackage | Event package for notification |
body | Body of notification |
virtual void SIPEndPoint::OnConferenceStatusChanged | ( | OpalEndPoint & | endpoint, | |
const PString & | uri, | |||
OpalConferenceState::ChangeType | change | |||
) | [virtual] |
Call back when conferencing state information changes. If a conferencing endpoint type detects a change in a conference nodes state, as would be returned by GetConferenceStatus() then this function will be called on all endpoints in the OpalManager.
The uri
parameter is as is the internal URI for the conference.
uri | < Endpoint sending state change Internal URI of conference node that changed |
change | Change that occurred |
Reimplemented from OpalEndPoint.
virtual void SIPEndPoint::OnDialogInfoReceived | ( | const SIPDialogNotification & | info | ) | [virtual] |
Callback called when dialog NOTIFY message is received
info | Information on dialog state change |
virtual void SIPEndPoint::OnMESSAGECompleted | ( | const SIPMessage::Params & | params, | |
SIP_PDU::StatusCodes | reason | |||
) | [virtual] |
Callback called when a message completes in any manner
virtual void SIPEndPoint::OnOptionsCompleted | ( | const SIPOptions::Params & | params, | |
const SIP_PDU & | response | |||
) | [virtual] |
Callback called when an OPTIONS command is completed, either successfully or with error.
params | Original parameter for SendOPTIONS() call |
response | Response packet, check GetStatusCode() for result |
virtual bool SIPEndPoint::OnReceivedConnectionlessPDU | ( | SIP_PDU * | pdu | ) | [virtual] |
Handle an incoming SIP PDU not assigned to any connection
virtual bool SIPEndPoint::OnReceivedINVITE | ( | SIP_PDU * | pdu | ) | [virtual] |
Handle an incoming INVITE request.
virtual bool SIPEndPoint::OnReceivedMESSAGE | ( | SIP_PDU & | request | ) | [virtual] |
Handle an incoming MESSAGE PDU.
virtual bool SIPEndPoint::OnReceivedNOTIFY | ( | SIP_PDU & | request | ) | [virtual] |
Handle an incoming NOTIFY PDU.
virtual bool SIPEndPoint::OnReceivedOPTIONS | ( | SIP_PDU & | request | ) | [virtual] |
Handle an incoming OPTIONS PDU.
virtual bool SIPEndPoint::OnReceivedPDU | ( | SIP_PDU * | pdu | ) | [virtual] |
Handle an incoming SIP PDU that has been full decoded
virtual bool SIPEndPoint::OnReceivedREGISTER | ( | SIP_PDU & | request | ) | [virtual] |
Handle an incoming REGISTER PDU.
virtual void SIPEndPoint::OnReceivedResponse | ( | SIPTransaction & | transaction, | |
SIP_PDU & | response | |||
) | [virtual] |
Handle an incoming response PDU.
virtual bool SIPEndPoint::OnReceivedSUBSCRIBE | ( | SIP_PDU & | request, | |
SIPDialogContext * | dialog | |||
) | [virtual] |
Handle an incoming SUBSCRIBE PDU.
virtual void SIPEndPoint::OnRegInfoReceived | ( | const SIPRegNotification & | info | ) | [virtual] |
Callback called when reg NOTIFY message is received
info | Information on dialog state change |
virtual void SIPEndPoint::OnRegistered | ( | const PString & | aor, | |
PBoolean | wasRegistering | |||
) | [virtual] |
Callback called when a registration or an unregistration is successful. Deprecated, maintained for backward compatibility, use OnRegistrationStatus().
virtual void SIPEndPoint::OnRegistrationFailed | ( | const PString & | aor, | |
SIP_PDU::StatusCodes | reason, | |||
PBoolean | wasRegistering | |||
) | [virtual] |
Callback called when a registration to a SIP registrars fails. Deprecated, maintained for backward compatibility, use OnRegistrationStatus().
virtual void SIPEndPoint::OnRegistrationStatus | ( | const PString & | aor, | |
PBoolean | wasRegistering, | |||
PBoolean | reRegistering, | |||
SIP_PDU::StatusCodes | reason | |||
) | [virtual] |
virtual void SIPEndPoint::OnRegistrationStatus | ( | const RegistrationStatus & | status | ) | [virtual] |
Callback called when a registration to a SIP registrar status.
status | Status of registration request |
virtual void SIPEndPoint::OnReleased | ( | OpalConnection & | connection | ) | [virtual] |
A call back function whenever a connection is broken. This function can do any internal cleaning up and waiting on background threads that may be using the connection object.
Note that there is not a one to one relationship with the OnEstablishedConnection() function. This function may be called without that function being called. For example if MakeConnection() was used but the call never completed.
Classes that override this function should make sure they call the ancestor version for correct operation.
An application will not typically call this function as it is used by the OpalManager during a release of the connection.
The default behaviour removes the connection from the internal database and calls the OpalManager function of the same name.
connection | Connection that was established |
Reimplemented from OpalEndPoint.
virtual void SIPEndPoint::OnStartTransaction | ( | SIPConnection & | conn, | |
SIPTransaction & | transaction | |||
) | [virtual] |
virtual void SIPEndPoint::OnSubscriptionStatus | ( | SIPSubscribeHandler & | handler, | |
const SIPURL & | uri, | |||
bool | wasSubscribing, | |||
bool | reSubscribing, | |||
SIP_PDU::StatusCodes | reason | |||
) | [virtual] |
handler | Event subscription paramaters |
uri | Target URI for the subscription. |
wasSubscribing | Indication the subscribing or unsubscribing |
reSubscribing | If subscribing then indication was refeshing subscription |
reason | Status of subscription |
virtual void SIPEndPoint::OnSubscriptionStatus | ( | const PString & | eventPackage, | |
const SIPURL & | uri, | |||
bool | wasSubscribing, | |||
bool | reSubscribing, | |||
SIP_PDU::StatusCodes | reason | |||
) | [virtual] |
Callback called when a subscription to a SIP UA status changes. Now deprecated - called by OnSubscriptionStatus that accepts SIPHandler
eventPackage | Event package subscribed to |
uri | Target URI for the subscription. |
wasSubscribing | Indication the subscribing or unsubscribing |
reSubscribing | If subscribing then indication was refeshing subscription |
reason | Status of subscription |
virtual void SIPEndPoint::OnSubscriptionStatus | ( | const SubscriptionStatus & | status | ) | [virtual] |
Callback called when a subscription to a SIP UA status changes.
status | Status of subscription request |
virtual void SIPEndPoint::OnTransactionFailed | ( | SIPTransaction & | transaction | ) | [virtual] |
Handle a SIP packet transaction failure
SIPEndPoint::P_REMOVE_VIRTUAL | ( | bool | , | |
OnReceivedOPTIONS(OpalTransport &, SIP_PDU &) | , | |||
false | ||||
) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL | ( | bool | , | |
OnReceivedMESSAGE(OpalTransport &, SIP_PDU &) | , | |||
false | ||||
) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL | ( | PBoolean | , | |
OnReceivedSUBSCRIBE(OpalTransport &, SIP_PDU &, SIPDialogContext *) | , | |||
false | ||||
) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL | ( | PBoolean | , | |
OnReceivedREGISTER(OpalTransport &, SIP_PDU &) | , | |||
false | ||||
) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL | ( | PBoolean | , | |
OnReceivedNOTIFY(OpalTransport &, SIP_PDU &) | , | |||
false | ||||
) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL | ( | PBoolean | , | |
OnReceivedINVITE(OpalTransport &, SIP_PDU *) | , | |||
false | ||||
) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL | ( | bool | , | |
OnReceivedConnectionlessPDU(OpalTransport &, SIP_PDU *) | , | |||
false | ||||
) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL | ( | PBoolean | , | |
OnReceivedPDU(OpalTransport &, SIP_PDU *) | , | |||
false | ||||
) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL | ( | SIPConnection * | , | |
CreateConnection(OpalCall &, const PString &, void *, const SIPURL &, OpalTransport *, SIP_PDU *, unsigned, OpalConnection::StringOptions *) | , | |||
NULL | ||||
) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL_VOID | ( | OnMessageFailed(const SIPURL &, SIP_PDU::StatusCodes) | ) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL_VOID | ( | OnReceivedOK(SIPTransaction &, SIP_PDU &) | ) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL_VOID | ( | OnReceivedAuthenticationRequired(SIPTransaction &, SIP_PDU &) | ) | [protected] |
SIPEndPoint::P_REMOVE_VIRTUAL_VOID | ( | OnReceivedIntervalTooBrief(SIPTransaction &, SIP_PDU &) | ) | [protected] |
SIPEndPoint::PDECLARE_InterfaceNotifier | ( | SIPEndPoint | , | |
OnLowPriorityInterfaceChange | ||||
) | [protected] |
SIPEndPoint::PDECLARE_InterfaceNotifier | ( | SIPEndPoint | , | |
OnHighPriorityInterfaceChange | ||||
) | [protected] |
PBoolean SIPEndPoint::Ping | ( | const PURL & | to | ) |
Send a SIP PING to the remote host
bool SIPEndPoint::Publish | ( | const PString & | to, | |
const PString & | body, | |||
unsigned | expire = 300 | |||
) |
to | Address to send PUBLISH |
body | Body of PUBLISH |
expire | Time between automatic updates in seconds. |
bool SIPEndPoint::Publish | ( | const SIPSubscribe::Params & | params, | |
const PString & | body, | |||
PString & | aor | |||
) |
Publish new state information. An empty body, or expire time of zero, will cease to automatically update the publish.
bool P_DEPRECATED SIPEndPoint::Register | ( | const PString & | host, | |
const PString & | user = PString::Empty() , |
|||
const PString & | autName = PString::Empty() , |
|||
const PString & | password = PString::Empty() , |
|||
const PString & | authRealm = PString::Empty() , |
|||
unsigned | expire = 0 , |
|||
const PTimeInterval & | minRetryTime = PMaxTimeInterval , |
|||
const PTimeInterval & | maxRetryTime = PMaxTimeInterval | |||
) |
Registration function for backward compatibility.
bool SIPEndPoint::Register | ( | const SIPRegister::Params & | params, | |
PString & | aor, | |||
bool | asynchronous | |||
) |
params | Registration parameters |
aor | Resultant address-of-record for unregister |
asynchronous | Wait for completion, may take some time |
bool SIPEndPoint::Register | ( | const SIPRegister::Params & | params, | |
PString & | aor, | |||
SIP_PDU::StatusCodes * | reason = NULL | |||
) |
Register an entity to a registrar. This function is asynchronous to permit several registrations to occur at the same time. It can be called several times for different hosts and users.
The params.m_addressOfRecord field is the only field required, though typically params.m_password is also required. A registration for the user part of params.m_addressOfRecord is made to the a registrar associated with the domain part of the field. The authentication identity is the same as the user field, though this may be set to soemthing different via the params.m_authID field.
The params.m_registrarAddress may indicate the specific hostname to use for the registrar rather than using the domain part of params.m_addressOfRecord field.
To aid in flexbility if the params.m_addressOfRecord does not contain a domain and the params.m_registrarAddress does, the the AOR is constructed from them.
The params.m_realm can be specified when registering, this will allow to find the correct authentication information when being requested. If no realm is specified, authentication will occur with the "best guess" of authentication parameters.
The Contact address is normally constructed from the listeners active on the SIPEndPoint. This may be overridden to an explicit value via the params.m_contactAddress field.
The returned "token" is a string that can be used in functions such as Unregister() or IsRegistered(). While it possible to use the AOR for those functions, it is not recommended as a) there may be more than one registration for an AOR and b) the AOR may be constructed from
params | Registration parameters |
aor | Resultant address-of-record for unregister |
reason | If not null, wait for completion, may take some time |
bool SIPEndPoint::SendMESSAGE | ( | SIPMessage::Params & | params | ) |
Send SIP message
void SIPEndPoint::SendNotifyDialogInfo | ( | const SIPDialogNotification & | info | ) |
info | Information on dialog state change |
virtual bool SIPEndPoint::SendOPTIONS | ( | const SIPOptions::Params & | params | ) | [virtual] |
Send SIP OPTIONS
void SIPEndPoint::SetAckTimeout | ( | const PTimeInterval & | t | ) | [inline] |
void SIPEndPoint::SetConnectionlessMessageNotifier | ( | const ConnectionlessMessageNotifier & | notifier | ) | [inline] |
void SIPEndPoint::SetDefaultAppearanceCode | ( | int | code | ) | [inline] |
Set the default line appearance code for new connections.
void SIPEndPoint::SetDefaultPRACKMode | ( | SIPConnection::PRACKMode | mode | ) | [inline] |
Set default mode for PRACK support.
void SIPEndPoint::SetInviteTimeout | ( | const PTimeInterval & | t | ) | [inline] |
void SIPEndPoint::SetKeepAlive | ( | const PTimeInterval & | timeout, | |
KeepAliveType | type | |||
) | [inline] |
void SIPEndPoint::SetMaxPacketSizeUDP | ( | PINDEX | sz | ) | [inline] |
void SIPEndPoint::SetMaxRetries | ( | unsigned | r | ) | [inline] |
P_DEPRECATED void SIPEndPoint::SetNATBindingRefreshMethod | ( | const NATBindingRefreshMethod | type | ) | [inline] |
P_DEPRECATED void SIPEndPoint::SetNATBindingTimeout | ( | const PTimeInterval & | t | ) | [inline] |
void SIPEndPoint::SetNonInviteTimeout | ( | const PTimeInterval & | t | ) | [inline] |
void SIPEndPoint::SetNotifierTimeToLive | ( | const PTimeInterval & | t | ) | [inline] |
void SIPEndPoint::SetPduCleanUpTimeout | ( | const PTimeInterval & | t | ) | [inline] |
void SIPEndPoint::SetProgressTimeout | ( | const PTimeInterval & | t | ) | [inline] |
void SIPEndPoint::SetProxy | ( | const PString & | hostname, | |
const PString & | username, | |||
const PString & | password | |||
) |
Set the outbound proxy URL.
void SIPEndPoint::SetProxy | ( | const SIPURL & | url | ) |
Set the outbound proxy URL.
void SIPEndPoint::SetRegisteredUserMode | ( | bool | v | ) | [inline] |
Set registration search mode. If true then only the user indicated as "local" address (e.g. from OPAL_OPT_CALLING_PARTY_NAME etc) by the will be used in searches of the registrations. No default to first user of the same domain will be performed.
void SIPEndPoint::SetRegistrarTimeToLive | ( | const PTimeInterval & | t | ) | [inline] |
void SIPEndPoint::SetRetryTimeouts | ( | const PTimeInterval & | t1, | |
const PTimeInterval & | t2 | |||
) | [inline] |
virtual PBoolean SIPEndPoint::SetupTransfer | ( | const PString & | token, | |
const PString & | callIdentity, | |||
const PString & | remoteParty, | |||
void * | userData = NULL | |||
) | [virtual] |
Setup a connection transfer a connection for the SIP endpoint.
token | Existing connection to be transferred |
callIdentity | Call identity of the secondary call (if it exists) |
remoteParty | Remote party to transfer the existing call to |
userData | user data to pass to CreateConnection |
void SIPEndPoint::SetUserAgent | ( | const PString & | str | ) | [inline] |
Set the User Agent for the endpoint.
virtual void SIPEndPoint::ShutDown | ( | ) | [virtual] |
Shut down the endpoint, this is called by the OpalManager just before destroying the object and can be handy to make sure some things are stopped before the vtable gets clobbered.
Reimplemented from OpalEndPoint.
bool SIPEndPoint::Subscribe | ( | SIPSubscribe::PredefinedPackages | eventPackage, | |
unsigned | expire, | |||
const PString & | aor | |||
) |
eventPackage | Event package being unsubscribed |
expire | Expiry time in seconds |
aor | Address-of-record for subscription |
bool SIPEndPoint::Subscribe | ( | const SIPSubscribe::Params & | params, | |
PString & | token, | |||
bool | tokenIsAOR = true | |||
) |
Subscribe to an agent to get event notifications. This function is asynchronous to permit several subscriptions to occur at the same time. It can be called several times for different hosts and users.
The params.m_eventPackage and params.m_addressOfRecord field are the only field required, though typically params.m_password is also required. A subscription for the user part of params.m_addressOfRecord is made to the an agent associated with the domain part of the field. The authentication identity is the same as the user field, though this may be set to soemthing different via the params.m_authID field.
The params.m_agentAddress may indicate the specific hostname to use for the registrar rather than using the domain part of params.m_addressOfRecord field.
To aid in flexbility if the params.m_addressOfRecord does not contain a domain and the params.m_agentAddress does, the the AOR is constructed from them.
The params.m_realm can be specified when subcribing, this will allow to find the correct authentication information when being requested. If no realm is specified, authentication will occur with the "best guess" of authentication parameters.
The Contact address is normally constructed from the SIPEndPoint local identity.
The returned "token" is a string that can be used in functions such as Unregister() or IsRegistered(). While it possible to use the user supplied AOR for those functions, it is not recommended as a) there may be more than one registration for an AOR and b) the AOR may be constructed from fields in the params argument and not be what the user expects.
The tokenIsAOR can also be used, if false, to return the globally unique ID used for the handler. This is the preferred method, even though the default is to not use it, that is for backward compatibility reasons.
params | Subscription parameters |
token | Resultant token for unsubscribe |
tokenIsAOR | Token is the address-of-record |
void SIPEndPoint::TransportThreadMain | ( | OpalTransportPtr | transport | ) | [protected] |
bool SIPEndPoint::Unregister | ( | const PString & | aor | ) |
Unregister the address-of-record from a registrar. The "token" parameter string is typically the string returned by the Register() function which is guaranteed to uniquely identify the specific registration.
For backward compatibility, the AOR can also be used, but as it is possible to have two registrations to the same AOR, this should be avoided.
aor | AOR returned by Register() |
bool SIPEndPoint::UnregisterAll | ( | ) |
Unregister all current registrations. Returns true if at least one registrar is unregistered.
bool SIPEndPoint::UnsubcribeAll | ( | const PString & | eventPackage | ) |
eventPackage | Event package being unsubscribed |
bool SIPEndPoint::UnsubcribeAll | ( | SIPSubscribe::PredefinedPackages | eventPackage | ) |
Unsubscribe all current subscriptions. Returns true if at least one subscription is unsubscribed.
eventPackage | Event package being unsubscribed |
bool SIPEndPoint::Unsubscribe | ( | const PString & | eventPackage, | |
const PString & | aor, | |||
bool | invalidateNotifiers = false | |||
) |
eventPackage | Event package being unsubscribed |
aor | Address-of-record for subscription |
invalidateNotifiers | Notifiers in SIPSubscribe::Params are to be reset |
bool SIPEndPoint::Unsubscribe | ( | SIPSubscribe::PredefinedPackages | eventPackage, | |
const PString & | aor, | |||
bool | invalidateNotifiers = false | |||
) |
eventPackage | Event package being unsubscribed |
aor | Address-of-record for subscription |
invalidateNotifiers | Notifiers in SIPSubscribe::Params are to be reset |
bool SIPEndPoint::Unsubscribe | ( | const PString & | aor, | |
bool | invalidateNotifiers = false | |||
) |
Unsubscribe a current subscriptions. The "token" parameter string is typically the string returned by the Subscribe() function which is guaranteed to uniquely identify the specific registration.
For backward compatibility, the AOR can also be used, but as it is possible to have two susbcriptions to the same AOR, this should be avoided.
aor | Unique token for registration |
invalidateNotifiers | Notifiers in SIPSubscribe::Params are to be reset |
void SIPEndPoint::UpdateHandlerIndexes | ( | SIPHandler * | handler | ) | [inline] |
PTimeInterval SIPEndPoint::ackTimeout [protected] |
SIPHandlersList SIPEndPoint::activeSIPHandlers [protected] |
PTimeInterval SIPEndPoint::inviteTimeout [protected] |
PStringSet SIPEndPoint::m_allowedEvents [protected] |
ConferenceMap SIPEndPoint::m_conferenceAOR [protected] |
int SIPEndPoint::m_defaultAppearanceCode [protected] |
bool SIPEndPoint::m_disableTrying [protected] |
PTimeInterval SIPEndPoint::m_keepAliveTimeout [protected] |
KeepAliveType SIPEndPoint::m_keepAliveType [protected] |
PAtomicInteger SIPEndPoint::m_lastSentCSeq [protected] |
PINDEX SIPEndPoint::m_maxPacketSizeUDP [protected] |
PTimeInterval SIPEndPoint::m_progressTimeout [protected] |
SIPURL SIPEndPoint::m_proxy [protected] |
PMutex SIPEndPoint::m_receivedConnectionMutex [protected] |
PStringToString SIPEndPoint::m_receivedConnectionTokens [protected] |
bool SIPEndPoint::m_registeredUserMode [protected] |
std::map<PString, RegistrationCompletion> SIPEndPoint::m_registrationComplete [protected] |
bool SIPEndPoint::m_shuttingDown [protected] |
SIPThreadPool SIPEndPoint::m_threadPool [protected] |
PSafeSortedList<SIPTransactionBase> SIPEndPoint::m_transactions [protected] |
PSafeDictionary<OpalTransportAddress, OpalTransport> SIPEndPoint::m_transportsTable [protected] |
PString SIPEndPoint::m_userAgentString [protected] |
unsigned SIPEndPoint::maxRetries [protected] |
PTimeInterval SIPEndPoint::natBindingTimeout [protected] |
PTimeInterval SIPEndPoint::nonInviteTimeout [protected] |
PTimeInterval SIPEndPoint::notifierTimeToLive [protected] |
PTimeInterval SIPEndPoint::pduCleanUpTimeout [protected] |
PTimeInterval SIPEndPoint::registrarTimeToLive [protected] |
PTimeInterval SIPEndPoint::retryTimeoutMax [protected] |
PTimeInterval SIPEndPoint::retryTimeoutMin [protected] |