SIPEndPoint Class Reference

#include <sipep.h>

Inheritance diagram for SIPEndPoint:

OpalEndPoint

List of all members.

Public Types

enum  NATBindingRefreshMethod { None, Options, EmptyRequest, NumMethods }

Public Member Functions

PSafePtr< SIPConnectionGetSIPConnectionWithLock (const PString &token, PSafetyMode mode=PSafeReadWrite)
virtual BOOL IsAcceptedAddress (const SIPURL &toAddr)
virtual void OnMessageReceived (const SIPURL &from, const PString &body)
BOOL Register (const PString &host, const PString &username=PString::Empty(), const PString &autName=PString::Empty(), const PString &password=PString::Empty(), const PString &authRealm=PString::Empty(), int timeout=0, const PTimeInterval &minRetryTime=PMaxTimeInterval, const PTimeInterval &maxRetryTime=PMaxTimeInterval)
virtual void OnMWIReceived (const PString &host, const PString &user, SIPMWISubscribe::MWIType type, const PString &msgs)
BOOL MWISubscribe (const PString &host, const PString &username, int timeout=0)
virtual void OnRegistrationFailed (const PString &host, const PString &userName, SIP_PDU::StatusCodes reason, BOOL wasRegistering)
virtual void OnRegistered (const PString &host, const PString &userName, BOOL wasRegistering)
BOOL IsRegistered (const PString &host)
unsigned GetRegistrationsCount ()
BOOL IsSubscribed (const PString &host, const PString &user)
BOOL Unregister (const PString &host, const PString &user)
BOOL MWIUnsubscribe (const PString &host, const PString &user)
virtual void OnMessageFailed (const SIPURL &messageUrl, SIP_PDU::StatusCodes reason)
void SetMIMEForm (BOOL v)
BOOL GetMIMEForm () 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 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
void SetNATBindingTimeout (const PTimeInterval &t)
const PTimeInterval & GetNATBindingTimeout () const
void AddTransaction (SIPTransaction *transaction)
void RemoveTransaction (SIPTransaction *transaction)
unsigned GetNextCSeq ()
BOOL GetAuthentication (const PString &authRealm, SIPAuthentication &)
virtual SIPURL GetRegisteredPartyName (const PString &)
virtual SIPURL GetDefaultRegisteredPartyName ()
SIPURL GetContactURL (const OpalTransport &transport, const PString &userName, const PString &host)
SIPURL GetLocalURL (const OpalTransport &transport, const PString &userName=PString::Empty())
const SIPURLGetProxy () const
void SetProxy (const SIPURL &url)
void SetProxy (const PString &hostname, const PString &username, const PString &password)
virtual PString GetUserAgent () const
void SetUserAgent (const PString &str)
BOOL SendMessage (const SIPURL &url, const PString &body)
void SetNATBindingRefreshMethod (const NATBindingRefreshMethod m)
RegistrationListGetActiveSIPInfo ()
virtual SIPRegisterInfoCreateRegisterInfo (const PString &originalHost, const PString &adjustedUsername, const PString &authName, const PString &password, int expire, const PTimeInterval &minRetryTime, const PTimeInterval &maxRetryTime)
virtual SIPMWISubscribeInfoCreateMWISubscribeInfo (const PString &adjustedUsername, int expire)
virtual SIPMessageInfoCreateMessageInfo (const PString &adjustedUsername, const PString &body)
Construction
 SIPEndPoint (OpalManager &manager)
 ~SIPEndPoint ()
Overrides from OpalEndPoint
virtual PStringArray GetDefaultListeners () const
virtual BOOL NewIncomingConnection (OpalTransport *transport)
virtual BOOL MakeConnection (OpalCall &call, const PString &party, void *userData=NULL)
virtual OpalMediaFormatList GetMediaFormats () const
Customisation call backs
virtual SIPConnectionCreateConnection (OpalCall &call, const PString &token, void *userData, const SIPURL &destination, OpalTransport *transport, SIP_PDU *invite)
virtual BOOL SetupTransfer (const PString &token, const PString &callIdentity, const PString &remoteParty, void *userData=NULL)
virtual BOOL ForwardConnection (SIPConnection &connection, const PString &forwardParty)
Protocol handling routines
OpalTransportCreateTransport (const OpalTransportAddress &address, BOOL isLocalAddress=FALSE)
virtual void HandlePDU (OpalTransport &transport)
virtual BOOL OnReceivedPDU (OpalTransport &transport, SIP_PDU *pdu)
virtual void OnReceivedResponse (SIPTransaction &transaction, SIP_PDU &response)
virtual BOOL OnReceivedINVITE (OpalTransport &transport, SIP_PDU *pdu)
virtual void OnReceivedAuthenticationRequired (SIPTransaction &transaction, SIP_PDU &response)
virtual void OnReceivedOK (SIPTransaction &transaction, SIP_PDU &response)
virtual BOOL OnReceivedNOTIFY (OpalTransport &transport, SIP_PDU &response)
virtual void OnReceivedMESSAGE (OpalTransport &transport, SIP_PDU &response)
virtual void OnRTPStatistics (const SIPConnection &connection, const RTP_Session &session) const

Protected Member Functions

 PDECLARE_NOTIFIER (PThread, SIPEndPoint, TransportThreadMain)
 PDECLARE_NOTIFIER (PTimer, SIPEndPoint, NATBindingRefresh)
 PDECLARE_NOTIFIER (PTimer, SIPEndPoint, GarbageCollect)
 PDECLARE_NOTIFIER (PTimer, SIPEndPoint, RegistrationRefresh)
BOOL TransmitSIPInfo (SIP_PDU::Methods method, const PString &host, const PString &username, const PString &authName=PString::Empty(), const PString &password=PString::Empty(), const PString &authRealm=PString::Empty(), const PString &body=PString::Empty(), int timeout=0, const PTimeInterval &minRetryTime=PMaxTimeInterval, const PTimeInterval &maxRetryTime=PMaxTimeInterval)
BOOL TransmitSIPUnregistrationInfo (const PString &host, const PString &username, SIP_PDU::Methods method)
void ParsePartyName (const PString &remoteParty, PString &party)
 Parsed party name, after e164 lookup.

Static Protected Member Functions

static BOOL WriteSIPInfo (OpalTransport &transport, void *info)

Protected Attributes

SIPURL proxy
PString userAgentString
BOOL mimeForm
unsigned maxRetries
PTimeInterval retryTimeoutMin
PTimeInterval retryTimeoutMax
PTimeInterval nonInviteTimeout
PTimeInterval pduCleanUpTimeout
PTimeInterval inviteTimeout
PTimeInterval ackTimeout
PTimeInterval registrarTimeToLive
PTimeInterval notifierTimeToLive
PTimeInterval natBindingTimeout
RegistrationList activeSIPInfo
PTimer registrationTimer
PTimer garbageTimer
SIPTransactionList messages
SIPTransactionDict transactions
PTimer natBindingTimer
NATBindingRefreshMethod natMethod
PMutex transactionsMutex
PMutex connectionsActiveInUse
unsigned lastSentCSeq

Classes

class  RegistrationList


Detailed Description

Session Initiation Protocol endpoint.

Member Enumeration Documentation

enum SIPEndPoint::NATBindingRefreshMethod

NAT Binding Refresh Method

Enumerator:
None 
Options 
EmptyRequest 
NumMethods 


Constructor & Destructor Documentation

SIPEndPoint::SIPEndPoint ( OpalManager manager  ) 

Create a new endpoint.

SIPEndPoint::~SIPEndPoint (  ) 

Destroy endpoint.


Member Function Documentation

virtual PStringArray SIPEndPoint::GetDefaultListeners (  )  const [virtual]

Get the default listeners for the endpoint type. Overrides the default behaviour to return udp and tcp listeners.

Reimplemented from OpalEndPoint.

virtual BOOL SIPEndPoint::NewIncomingConnection ( OpalTransport transport  )  [virtual]

Handle new incoming connection from listener.

The default behaviour does nothing.

Parameters:
transport  Transport connection came in on

Reimplemented from OpalEndPoint.

virtual BOOL SIPEndPoint::MakeConnection ( OpalCall call,
const PString &  party,
void *  userData = NULL 
) [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.

Parameters:
call  Owner of connection
party  Remote party to call
userData  Arbitrary data to pass to connection

Implements OpalEndPoint.

virtual OpalMediaFormatList SIPEndPoint::GetMediaFormats (  )  const [virtual]

Get the data formats this endpoint is capable of operating. This provides a list of media data format names that may be used by an OpalMediaStream may be created by a connection from this endpoint.

Note that a specific connection may not actually support all of the media formats returned here, but should return no more.

The default behaviour is pure.

Implements OpalEndPoint.

virtual SIPConnection* SIPEndPoint::CreateConnection ( OpalCall call,
const PString &  token,
void *  userData,
const SIPURL destination,
OpalTransport transport,
SIP_PDU invite 
) [virtual]

Create a connection for the SIP endpoint. The default implementation is to create a OpalSIPConnection.

Parameters:
call  Owner of connection
token  token used to identify connection
userData  User data for connection
destination  Destination for outgoing call
transport  Transport INVITE has been received on
invite  Original INVITE pdu

virtual BOOL 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.

Parameters:
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

virtual BOOL 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.

Parameters:
connection  Connection to be forwarded
forwardParty  Remote party to forward to

OpalTransport* SIPEndPoint::CreateTransport ( const OpalTransportAddress address,
BOOL  isLocalAddress = FALSE 
)

Creates an OpalTransport instance, based on the information provided in address. if isLocalAddress is TRUE, address is interpreted as the local interface to use for outgoing traffic, thus ensuring that the same interface is used for responses as the one where the originating pdu arrived. Else, address is interpreted as the remote address, to which the transport should connect

virtual void SIPEndPoint::HandlePDU ( OpalTransport transport  )  [virtual]

virtual BOOL SIPEndPoint::OnReceivedPDU ( OpalTransport transport,
SIP_PDU pdu 
) [virtual]

Handle an incoming SIP PDU that has been full decoded

virtual void SIPEndPoint::OnReceivedResponse ( SIPTransaction transaction,
SIP_PDU response 
) [virtual]

Handle an incoming response PDU.

virtual BOOL SIPEndPoint::OnReceivedINVITE ( OpalTransport transport,
SIP_PDU pdu 
) [virtual]

Handle an incoming INVITE request.

virtual void SIPEndPoint::OnReceivedAuthenticationRequired ( SIPTransaction transaction,
SIP_PDU response 
) [virtual]

Handle an incoming Proxy Authentication Required response PDU

virtual void SIPEndPoint::OnReceivedOK ( SIPTransaction transaction,
SIP_PDU response 
) [virtual]

Handle an incoming OK response PDU. This actually gets any PDU of the class 2xx not just 200.

virtual BOOL SIPEndPoint::OnReceivedNOTIFY ( OpalTransport transport,
SIP_PDU response 
) [virtual]

Handle an incoming NOTIFY PDU.

virtual void SIPEndPoint::OnReceivedMESSAGE ( OpalTransport transport,
SIP_PDU response 
) [virtual]

Handle an incoming MESSAGE PDU.

virtual void SIPEndPoint::OnRTPStatistics ( const SIPConnection connection,
const RTP_Session session 
) const [virtual]

Callback from the RTP session for statistics monitoring. This is called every so many packets on the transmitter and receiver threads of the RTP session indicating that the statistics have been updated.

The default behaviour does nothing.

Parameters:
connection  Connection for the channel
session  Session with statistics

PSafePtr<SIPConnection> SIPEndPoint::GetSIPConnectionWithLock ( const PString &  token,
PSafetyMode  mode = PSafeReadWrite 
) [inline]

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().

Parameters:
token  Token to identify connection

virtual BOOL SIPEndPoint::IsAcceptedAddress ( const SIPURL toAddr  )  [virtual]

virtual void SIPEndPoint::OnMessageReceived ( const SIPURL from,
const PString &  body 
) [virtual]

Callback for SIP message received

BOOL SIPEndPoint::Register ( const PString &  host,
const PString &  username = PString::Empty(),
const PString &  autName = PString::Empty(),
const PString &  password = PString::Empty(),
const PString &  authRealm = PString::Empty(),
int  timeout = 0,
const PTimeInterval &  minRetryTime = PMaxTimeInterval,
const PTimeInterval &  maxRetryTime = PMaxTimeInterval 
)

Register 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 username can be of the form user. In that case, the From field will be set to that value.

The 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.

virtual void SIPEndPoint::OnMWIReceived ( const PString &  host,
const PString &  user,
SIPMWISubscribe::MWIType  type,
const PString &  msgs 
) [virtual]

Callback called when MWI is received

BOOL SIPEndPoint::MWISubscribe ( const PString &  host,
const PString &  username,
int  timeout = 0 
)

Subscribe to a notifier. This function is asynchronous to permit several subscripttions to occur at the same time.

virtual void SIPEndPoint::OnRegistrationFailed ( const PString &  host,
const PString &  userName,
SIP_PDU::StatusCodes  reason,
BOOL  wasRegistering 
) [virtual]

Callback called when a registration to a SIP registrars fails. The BOOL indicates if the operation that failed was a REGISTER or an (UN)REGISTER.

virtual void SIPEndPoint::OnRegistered ( const PString &  host,
const PString &  userName,
BOOL  wasRegistering 
) [virtual]

Callback called when a registration or an unregistration is successful. The BOOL indicates if the operation that failed was a registration or not.

BOOL SIPEndPoint::IsRegistered ( const PString &  host  ) 

Returns TRUE if the given URL has been registered (e.g.: 6001@seconix.com).

unsigned SIPEndPoint::GetRegistrationsCount (  )  [inline]

Returns the number of registered accounts.

BOOL SIPEndPoint::IsSubscribed ( const PString &  host,
const PString &  user 
)

Returns TRUE if subscribed to the given host for MWI.

BOOL SIPEndPoint::Unregister ( const PString &  host,
const PString &  user 
)

Unregister from a registrar. This function is synchronous.

BOOL SIPEndPoint::MWIUnsubscribe ( const PString &  host,
const PString &  user 
)

Unsubscribe from a notifier. This function is synchronous.

virtual void SIPEndPoint::OnMessageFailed ( const SIPURL messageUrl,
SIP_PDU::StatusCodes  reason 
) [virtual]

Callback called when a message sent by the endpoint didn't reach its destination or when the proxy or remote endpoint returns an error code.

void SIPEndPoint::SetMIMEForm ( BOOL  v  )  [inline]

BOOL SIPEndPoint::GetMIMEForm (  )  const [inline]

void SIPEndPoint::SetMaxRetries ( unsigned  r  )  [inline]

unsigned SIPEndPoint::GetMaxRetries (  )  const [inline]

void SIPEndPoint::SetRetryTimeouts ( const PTimeInterval &  t1,
const PTimeInterval &  t2 
) [inline]

const PTimeInterval& SIPEndPoint::GetRetryTimeoutMin (  )  const [inline]

const PTimeInterval& SIPEndPoint::GetRetryTimeoutMax (  )  const [inline]

void SIPEndPoint::SetNonInviteTimeout ( const PTimeInterval &  t  )  [inline]

const PTimeInterval& SIPEndPoint::GetNonInviteTimeout (  )  const [inline]

void SIPEndPoint::SetPduCleanUpTimeout ( const PTimeInterval &  t  )  [inline]

const PTimeInterval& SIPEndPoint::GetPduCleanUpTimeout (  )  const [inline]

void SIPEndPoint::SetInviteTimeout ( const PTimeInterval &  t  )  [inline]

const PTimeInterval& SIPEndPoint::GetInviteTimeout (  )  const [inline]

void SIPEndPoint::SetAckTimeout ( const PTimeInterval &  t  )  [inline]

const PTimeInterval& SIPEndPoint::GetAckTimeout (  )  const [inline]

void SIPEndPoint::SetRegistrarTimeToLive ( const PTimeInterval &  t  )  [inline]

const PTimeInterval& SIPEndPoint::GetRegistrarTimeToLive (  )  const [inline]

void SIPEndPoint::SetNotifierTimeToLive ( const PTimeInterval &  t  )  [inline]

const PTimeInterval& SIPEndPoint::GetNotifierTimeToLive (  )  const [inline]

void SIPEndPoint::SetNATBindingTimeout ( const PTimeInterval &  t  )  [inline]

const PTimeInterval& SIPEndPoint::GetNATBindingTimeout (  )  const [inline]

void SIPEndPoint::AddTransaction ( SIPTransaction transaction  )  [inline]

void SIPEndPoint::RemoveTransaction ( SIPTransaction transaction  )  [inline]

unsigned SIPEndPoint::GetNextCSeq (  )  [inline]

Return the next CSEQ for the next transaction.

BOOL SIPEndPoint::GetAuthentication ( const PString &  authRealm,
SIPAuthentication  
)

Return the SIPAuthentication for a specific realm.

virtual SIPURL SIPEndPoint::GetRegisteredPartyName ( const PString &   )  [virtual]

Return the registered party name URL for the given host.

That URL can be used in the FORM field of the PDU's. The host part can be different from the registration domain.

virtual SIPURL SIPEndPoint::GetDefaultRegisteredPartyName (  )  [virtual]

Return the default registered party name URL.

SIPURL SIPEndPoint::GetContactURL ( const OpalTransport transport,
const PString &  userName,
const PString &  host 
)

Return the contact URL for the given host and user name based on the listening port of the registration to that host.

That URL can be used as as contact field in outgoing requests.

The URL is translated if required.

If no active registration is used, return the result of GetLocalURL on the given transport.

SIPURL SIPEndPoint::GetLocalURL ( const OpalTransport transport,
const PString &  userName = PString::Empty() 
)

Return the local URL for the given transport and user name. That URL can be used as via address, and as contact field in outgoing requests.

The URL is translated if required.

If the transport is not running, the first listener transport will be used, if any.

Parameters:
transport  Transport on which we can receive new requests
userName  The user name part of the contact field

const SIPURL& SIPEndPoint::GetProxy (  )  const [inline]

Return the outbound proxy URL, if any.

void SIPEndPoint::SetProxy ( const SIPURL url  ) 

Set the outbound proxy URL.

void SIPEndPoint::SetProxy ( const PString &  hostname,
const PString &  username,
const PString &  password 
)

Set the outbound proxy URL.

virtual PString SIPEndPoint::GetUserAgent (  )  const [virtual]

Get the User Agent for this endpoint.

void SIPEndPoint::SetUserAgent ( const PString &  str  )  [inline]

Set the User Agent for the endpoint.

BOOL SIPEndPoint::SendMessage ( const SIPURL url,
const PString &  body 
)

Send a message to the given URL.

void SIPEndPoint::SetNATBindingRefreshMethod ( const NATBindingRefreshMethod  m  )  [inline]

Set the NAT Binding Refresh Method

RegistrationList& SIPEndPoint::GetActiveSIPInfo (  )  [inline]

virtual SIPRegisterInfo* SIPEndPoint::CreateRegisterInfo ( const PString &  originalHost,
const PString &  adjustedUsername,
const PString &  authName,
const PString &  password,
int  expire,
const PTimeInterval &  minRetryTime,
const PTimeInterval &  maxRetryTime 
) [virtual]

Allow applications to create ancestors of the various registration types

virtual SIPMWISubscribeInfo* SIPEndPoint::CreateMWISubscribeInfo ( const PString &  adjustedUsername,
int  expire 
) [virtual]

virtual SIPMessageInfo* SIPEndPoint::CreateMessageInfo ( const PString &  adjustedUsername,
const PString &  body 
) [virtual]

SIPEndPoint::PDECLARE_NOTIFIER ( PThread  ,
SIPEndPoint  ,
TransportThreadMain   
) [protected]

SIPEndPoint::PDECLARE_NOTIFIER ( PTimer  ,
SIPEndPoint  ,
NATBindingRefresh   
) [protected]

SIPEndPoint::PDECLARE_NOTIFIER ( PTimer  ,
SIPEndPoint  ,
GarbageCollect   
) [protected]

SIPEndPoint::PDECLARE_NOTIFIER ( PTimer  ,
SIPEndPoint  ,
RegistrationRefresh   
) [protected]

static BOOL SIPEndPoint::WriteSIPInfo ( OpalTransport transport,
void *  info 
) [static, protected]

BOOL SIPEndPoint::TransmitSIPInfo ( SIP_PDU::Methods  method,
const PString &  host,
const PString &  username,
const PString &  authName = PString::Empty(),
const PString &  password = PString::Empty(),
const PString &  authRealm = PString::Empty(),
const PString &  body = PString::Empty(),
int  timeout = 0,
const PTimeInterval &  minRetryTime = PMaxTimeInterval,
const PTimeInterval &  maxRetryTime = PMaxTimeInterval 
) [protected]

BOOL SIPEndPoint::TransmitSIPUnregistrationInfo ( const PString &  host,
const PString &  username,
SIP_PDU::Methods  method 
) [protected]

void SIPEndPoint::ParsePartyName ( const PString &  remoteParty,
PString &  party 
) [protected]

Parsed party name, after e164 lookup.

Parameters:
remoteParty  Party name string.


Member Data Documentation

SIPURL SIPEndPoint::proxy [protected]

PString SIPEndPoint::userAgentString [protected]

BOOL SIPEndPoint::mimeForm [protected]

unsigned SIPEndPoint::maxRetries [protected]

PTimeInterval SIPEndPoint::retryTimeoutMin [protected]

PTimeInterval SIPEndPoint::retryTimeoutMax [protected]

PTimeInterval SIPEndPoint::nonInviteTimeout [protected]

PTimeInterval SIPEndPoint::pduCleanUpTimeout [protected]

PTimeInterval SIPEndPoint::inviteTimeout [protected]

PTimeInterval SIPEndPoint::ackTimeout [protected]

PTimeInterval SIPEndPoint::registrarTimeToLive [protected]

PTimeInterval SIPEndPoint::notifierTimeToLive [protected]

PTimeInterval SIPEndPoint::natBindingTimeout [protected]

RegistrationList SIPEndPoint::activeSIPInfo [protected]

PTimer SIPEndPoint::registrationTimer [protected]

PTimer SIPEndPoint::garbageTimer [protected]

SIPTransactionList SIPEndPoint::messages [protected]

SIPTransactionDict SIPEndPoint::transactions [protected]

PTimer SIPEndPoint::natBindingTimer [protected]

NATBindingRefreshMethod SIPEndPoint::natMethod [protected]

PMutex SIPEndPoint::transactionsMutex [protected]

PMutex SIPEndPoint::connectionsActiveInUse [protected]

unsigned SIPEndPoint::lastSentCSeq [protected]


The documentation for this class was generated from the following file:
Generated on Fri Jan 25 01:20:46 2008 for OPAL by  doxygen 1.5.4