OPAL  Version 3.10.10
SIPRegister Class Reference

#include <sippdu.h>

Inheritance diagram for SIPRegister:
SIPTransaction SIP_PDU

Data Structures

struct  Params
 Registrar parameters. More...
 

Public Types

enum  CompatibilityModes { e_FullyCompliant, e_CannotRegisterMultipleContacts, e_CannotRegisterPrivateContacts, e_HasApplicationLayerGateway }
 

Public Member Functions

 SIPRegister (SIPEndPoint &endpoint, OpalTransport &transport, const PString &callId, unsigned cseq, const Params &params)
 
virtual SIPTransactionCreateDuplicate () const
 
- Public Member Functions inherited from SIPTransaction
 SIPTransaction (Methods method, SIPEndPoint &endpoint, OpalTransport &transport)
 
 SIPTransaction (Methods method, SIPConnection &connection)
 
 ~SIPTransaction ()
 
PBoolean Start ()
 
bool IsTrying () const
 
bool IsProceeding () const
 
bool IsInProgress () const
 
bool IsFailed () const
 
bool IsCompleted () const
 
bool IsCanceled () const
 
bool IsTerminated () const
 
void WaitForCompletion ()
 
PBoolean Cancel ()
 
void Abort ()
 
virtual PBoolean OnReceivedResponse (SIP_PDU &response)
 
virtual PBoolean OnCompleted (SIP_PDU &response)
 
OpalTransportGetTransport () const
 
SIPConnectionGetConnection () const
 
PString GetInterface () const
 
void SetInterface (const PString &localIf)
 
- Public Member Functions inherited from SIP_PDU
 SIP_PDU (Methods method=SIP_PDU::NumMethods)
 
 SIP_PDU (const SIP_PDU &request, StatusCodes code, const SDPSessionDescription *sdp=NULL)
 
 SIP_PDU (const SIP_PDU &)
 
SIP_PDUoperator= (const SIP_PDU &)
 
 ~SIP_PDU ()
 
void PrintOn (ostream &strm) const
 
void InitialiseHeaders (const SIPURL &dest, const SIPURL &to, const SIPURL &from, const PString &callID, unsigned cseq, const PString &via)
 
void InitialiseHeaders (SIPDialogContext &dialog, const PString &via=PString::Empty(), unsigned cseq=0)
 
void InitialiseHeaders (SIPConnection &connection, const OpalTransport &transport, unsigned cseq=0)
 
void InitialiseHeaders (const SIP_PDU &request)
 
bool SetRoute (const SIPURLList &routeSet)
 
bool SetRoute (const SIPURL &proxy)
 
void SetAllow (unsigned bitmask)
 
void AdjustVia (OpalTransport &transport)
 
PString CreateVia (SIPEndPoint &endpoint, const OpalTransport &transport)
 
SIP_PDU::StatusCodes Read (OpalTransport &transport)
 
PBoolean Write (OpalTransport &transport, const OpalTransportAddress &remoteAddress=OpalTransportAddress(), const PString &localInterface=PString::Empty())
 
bool SendResponse (OpalTransport &transport, StatusCodes code, SIPEndPoint *endpoint=NULL) const
 
bool SendResponse (OpalTransport &transport, SIP_PDU &response, SIPEndPoint *endpoint=NULL) const
 
PString Build ()
 
PString GetTransactionID () const
 
Methods GetMethod () const
 
StatusCodes GetStatusCode () const
 
void SetStatusCode (StatusCodes c)
 
const SIPURLGetURI () const
 
void SetURI (const SIPURL &newuri)
 
unsigned GetVersionMajor () const
 
unsigned GetVersionMinor () const
 
void SetCSeq (unsigned cseq)
 
const PString & GetEntityBody () const
 
void SetEntityBody (const PString &body)
 
void SetEntityBody ()
 
const PString & GetInfo () const
 
void SetInfo (const PString &info)
 
const SIPMIMEInfoGetMIME () const
 
SIPMIMEInfoGetMIME ()
 
SDPSessionDescriptionGetSDP (const OpalMediaFormatList &masterList)
 
void SetSDP (SDPSessionDescription *sdp)
 

Additional Inherited Members

- Static Public Member Functions inherited from SIPTransaction
static PString GenerateCallID ()
 
- Protected Types inherited from SIPTransaction
enum  States {
  NotStarted, Trying, Proceeding, Cancelling,
  Completed, Terminated_Success, Terminated_Timeout, Terminated_RetriesExceeded,
  Terminated_TransportError, Terminated_Cancelled, Terminated_Aborted, NumStates
}
 
- Protected Member Functions inherited from SIPTransaction
bool SendPDU (SIP_PDU &pdu)
 
bool ResendCANCEL ()
 
void SetParameters (const SIPParameters &params)
 
 PDECLARE_NOTIFIER (PTimer, SIPTransaction, OnRetry)
 
 PDECLARE_NOTIFIER (PTimer, SIPTransaction, OnTimeout)
 
virtual void SetTerminated (States newState)
 
- Protected Attributes inherited from SIPTransaction
SIPEndPointm_endpoint
 
OpalTransportm_transport
 
PSafePtr< SIPConnectionm_connection
 
PTimeInterval m_retryTimeoutMin
 
PTimeInterval m_retryTimeoutMax
 
States m_state
 
unsigned m_retry
 
PTimer m_retryTimer
 
PTimer m_completionTimer
 
PSyncPoint m_completed
 
PString m_localInterface
 
OpalTransportAddress m_remoteAddress
 

Member Enumeration Documentation

Enumerator
e_FullyCompliant 

Registrar is fully compliant, we will register all listeners of all types (e.g. sip, sips etc) in the Contact field.

e_CannotRegisterMultipleContacts 

Registrar refuses to register more than one contact field. Correct behaviour is to return a contact with the fields it can accept in the 200 OK

e_CannotRegisterPrivateContacts 

Registrar refuses to register any RFC contact field. Correct behaviour is to return a contact with the fields it can accept in the 200 OK

e_HasApplicationLayerGateway 

Router has Application Layer Gateway code that is doing address transations, so we do not try to do it ourselves as well or it goes horribly wrong.

Constructor & Destructor Documentation

SIPRegister::SIPRegister ( SIPEndPoint endpoint,
OpalTransport transport,
const PString &  callId,
unsigned  cseq,
const Params params 
)

Member Function Documentation

virtual SIPTransaction* SIPRegister::CreateDuplicate ( ) const
virtual

Implements SIPTransaction.


The documentation for this class was generated from the following file: