27 #ifndef OPAL_SIP_HANDLERS_H
28 #define OPAL_SIP_HANDLERS_H
97 virtual void SetBody(
const PString & ) { }
158 typedef std::map<PString, PSafePtr<SIPHandler> >
IndexMap;
251 virtual bool SendNotify(
const PObject * body);
280 const PString & body);
388 PSafePtr<SIPHandler>
FindBy(
IndexMap & by,
const PString & key, PSafetyMode m);
396 #if OPAL_SIP_PRESENCE
400 class SIPPresenceInfo :
public OpalPresenceInfo
402 PCLASSINFO_WITH_CLONE(SIPPresenceInfo, OpalPresenceInfo)
406 PString m_presenceAgent;
409 PString AsXML()
const;
411 static bool ParseNotify(
413 list<SIPPresenceInfo> & info
415 static bool ParseXML(
417 list<SIPPresenceInfo> & info
420 void PrintOn(ostream & strm)
const;
421 friend ostream &
operator<<(ostream & strm,
const SIPPresenceInfo & info) { info.PrintOn(strm);
return strm; }
425 State state = Unchanged
426 ) : OpalPresenceInfo(state) { }
432 const OpalPresenceInfo & info
433 ) : OpalPresenceInfo(info) { }
435 #endif // OPAL_SIP_PRESENCE
493 void PrintOn(ostream & strm)
const;
514 States state = Initial
521 void PrintOn(ostream & strm)
const;
527 #endif // OPAL_SIP_HANDLERS_H
SIPHandler::State GetState() const
Definition: handlers.h:81
const SIP_PDU::Methods m_method
Definition: handlers.h:141
SIPURL m_aor
Definition: handlers.h:517
virtual void WriteTransaction(OpalTransport &transport, bool &succeeded)
Definition: sippdu.h:1328
virtual const SIPURL & GetAddressOfRecord() const
Definition: handlers.h:87
PSafePtr< SIPHandler > FindSIPHandlerByUrl(const PString &url, SIP_PDU::Methods meth, PSafetyMode m)
virtual void SetBody(const PString &body)
Definition: handlers.h:282
virtual SIPEventPackage GetEventPackage() const
Definition: handlers.h:286
virtual void OnTransactionFailed(SIPTransaction &transaction)
unsigned m_lastCseq
Definition: handlers.h:145
SIPRegNotification(const SIPURL &aor=SIPURL(), States state=Initial)
Definition: handlers.h:480
virtual void OnReceivedForbidden(SIPTransaction &transaction, SIP_PDU &response)
Rendering
Definition: handlers.h:467
P_DECLARE_ENUM_EX(Events, NumEvents, NoEvent,-1, Cancelled, Rejected, Replaced, LocalBye, RemoteBye, Error, Timeout)
virtual bool IsDuplicateCSeq(unsigned)
Definition: handlers.h:99
Definition: handlers.h:440
SIPDialogNotification(const PString &entity=PString::Empty())
PString CreateRegisterContact(const OpalTransportAddress &address, int q)
Definition: sippdu.h:1056
virtual SIPSubscribe::EventPackage GetEventPackage() const
Definition: handlers.h:104
PString m_sipETag
Definition: handlers.h:291
Definition: sippdu.h:1548
Definition: handlers.h:254
virtual void SetBody(const PString &)
Definition: handlers.h:97
virtual PBoolean SendRequest(SIPHandler::State state)
SIPPoolTimer< SIPHandler > m_expireTimer
Definition: handlers.h:153
Definition: handlers.h:295
const PString & GetRealm() const
Definition: handlers.h:125
const PString m_callID
Definition: handlers.h:135
SIPSubscribeHandler(SIPEndPoint &ep, const SIPSubscribe::Params ¶ms)
PString m_display
Definition: handlers.h:485
bool m_initiator
Definition: handlers.h:476
SIPRegister::Params m_parameters
Definition: handlers.h:196
virtual void SendStatus(SIP_PDU::StatusCodes code, State state)
unsigned m_eventCode
Definition: handlers.h:479
Definition: transports.h:788
Definition: sippdu.h:1388
PString m_body
Definition: handlers.h:269
virtual SIPTransaction * CreateTransaction(OpalTransport &)
PSafePtr< SIPHandler > FindSIPHandlerByCallID(const PString &callID, PSafetyMode m)
PString GetEventName() const
Definition: handlers.h:465
PString m_username
Definition: handlers.h:137
const SIPSubscribe::Params & GetParams() const
Definition: handlers.h:221
Definition: handlers.h:70
Definition: handlers.h:325
std::pair< IndexMap::iterator, bool > m_byAuthIdAndRealm
Definition: handlers.h:160
PString m_password
Definition: handlers.h:138
Definition: handlers.h:470
States m_state
Definition: handlers.h:518
Rendering m_rendering
Definition: handlers.h:488
std::map< PString, PSafePtr< SIPHandler > > IndexMap
Definition: handlers.h:158
PString m_identity
Definition: handlers.h:484
virtual void OnReceivedResponse(SIPTransaction &transaction, SIP_PDU &response)
StatusCodes
Definition: sippdu.h:544
const SIPURLList & GetContacts() const
Definition: handlers.h:188
Definition: handlers.h:234
std::pair< IndexMap::iterator, bool > m_byAorUserAndRealm
Definition: handlers.h:161
SIPRegisterHandler(SIPEndPoint &ep, const SIPRegister::Params ¶ms)
State m_state
Definition: handlers.h:150
Definition: handlers.h:255
State
Definition: handlers.h:68
void Append(SIPHandler *handler)
virtual PBoolean SendRequest(SIPHandler::State state)
void UpdateParameters(const SIPRegister::Params ¶ms)
PString m_realm
Definition: handlers.h:139
Events m_eventType
Definition: handlers.h:478
virtual SIPEventPackage GetEventPackage() const
Definition: handlers.h:246
static States GetStateFromName(const PCaselessString &str)
bool m_byeless
Definition: handlers.h:487
const PString & GetCallID() const
Definition: handlers.h:84
virtual int GetExpire() const
Definition: handlers.h:94
virtual PBoolean OnReceivedNOTIFY(SIP_PDU &response)
int m_appearance
Definition: handlers.h:486
virtual PString GetPassword() const
Definition: handlers.h:66
int m_currentExpireTime
Definition: handlers.h:147
P_DECLARE_ENUM(States, Initial, Active, Terminated)
PString m_dialogId
Definition: handlers.h:474
IndexMap m_byAorAndPackage
Definition: handlers.h:390
bool ActivateState(SIPHandler::State state, bool resetInterface=false)
std::list< SIPURL > m_contacts
Definition: handlers.h:519
struct SIPDialogNotification::Participant m_remote
Definition: handlers.h:468
SIP_PDU::StatusCodes m_lastResponseStatus
Definition: handlers.h:146
Definition: handlers.h:73
static PString GenerateCallID()
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
PString m_entity
Definition: handlers.h:473
Definition: handlers.h:75
virtual void OnReceivedIntervalTooBrief(SIPTransaction &transaction, SIP_PDU &response)
virtual void WriteTransaction(OpalTransport &transport, bool &succeeded)
P_DECLARE_ENUM(States, Terminated, Trying, Proceeding, Early, Confirmed)
PSafePtr< SIPHandler > FindSIPHandlerByAuthRealm(const PString &authRealm, PSafetyMode m)
SIPMessage::Params m_parameters
Definition: handlers.h:308
SIPPublishHandler(SIPEndPoint &ep, const SIPSubscribe::Params ¶ms, const PString &body)
Definition: handlers.h:49
Definition: handlers.h:76
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
Definition: handlers.h:469
PCLASSINFO(SIPDialogNotification, PObject)
void PrintOn(ostream &strm) const
Definition: handlers.h:74
SIPURLList m_serviceRoute
Definition: handlers.h:199
void PrintOn(ostream &strm) const
PString GetStateName() const
Definition: handlers.h:452
Definition: handlers.h:259
PSafePtr< SIPHandler > FindSIPHandlerByDomain(const PString &name, SIP_PDU::Methods meth, PSafetyMode m)
std::queue< State > m_stateQueue
Definition: handlers.h:151
Definition: handlers.h:72
Definition: sippdu.h:1438
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
virtual void OnReceivedAuthenticationRequired(SIPTransaction &transaction, SIP_PDU &response)
virtual void SetBody(const PString &body)
Definition: handlers.h:249
const SIPURL m_addressOfRecord
Definition: handlers.h:142
Definition: handlers.h:71
OpalProductInfo m_productInfo
Definition: handlers.h:154
bool m_unconfirmed
Definition: handlers.h:229
ostream & operator<<(ostream &strm, OpalSilenceDetector::Mode mode)
Definition: handlers.h:69
Definition: handlers.h:256
SIPEventPackageHandler * m_packageHandler
Definition: handlers.h:268
void RetryLater(unsigned after)
Reasons
Definition: handlers.h:253
virtual SIPTransaction * CreateTransaction(OpalTransport &)
virtual SIPTransaction * CreateTransaction(OpalTransport &)
virtual bool SendNotify(const PObject *body)
int m_offlineExpireTime
Definition: handlers.h:149
unsigned m_sequenceNumber
Definition: handlers.h:197
OpalTransportAddress m_externalAddress
Definition: handlers.h:200
IndexMap m_byAorUserAndRealm
Definition: handlers.h:392
PSafePtr< SIPHandler > FindBy(IndexMap &by, const PString &key, PSafetyMode m)
void UpdateParameters(const SIPSubscribe::Params ¶ms)
struct SIPDialogNotification::Participant m_local
const SIPURLList & GetServiceRoute() const
Definition: handlers.h:189
Definition: handlers.h:273
bool m_retryForbidden
Definition: handlers.h:155
SIPNotifyHandler(SIPEndPoint &ep, const SIPEventPackage &eventPackage, const SIPDialogContext &dialog)
virtual bool SendNotify(const PObject *)
Definition: handlers.h:119
void SetState(SIPHandler::State s)
Definition: handlers.h:205
virtual void OnReceivedTemporarilyUnavailable(SIPTransaction &transaction, SIP_PDU &response)
Registrar parameters.
Definition: sippdu.h:1260
Definition: handlers.h:313
void Update(SIPHandler *handler)
int m_originalExpireTime
Definition: handlers.h:148
const OpalProductInfo & GetProductInfo() const
Definition: handlers.h:123
SIPMessageHandler(SIPEndPoint &ep, const SIPMessage::Params ¶ms)
void RemoveIndexes(SIPHandler *handler)
SIPEventPackageHandler * m_packageHandler
Definition: handlers.h:230
Participant()
Definition: handlers.h:481
virtual void SendStatus(SIP_PDU::StatusCodes code, State state)
PString GetStateName() const
Definition: handlers.h:509
bool m_messageSent
Definition: handlers.h:309
const SIPRegister::Params & GetParams() const
Definition: handlers.h:186
virtual SIPTransaction * CreateTransaction(OpalTransport &)
virtual SIPTransaction * CreateTransaction(OpalTransport &)
Definition: handlers.h:101
IndexMap m_byAuthIdAndRealm
Definition: handlers.h:391
SIPSubscribe::Params m_parameters
Definition: handlers.h:289
SIPSubscribe::Params m_parameters
Definition: handlers.h:228
virtual SIPTransaction * CreateTransaction(OpalTransport &)
Methods
Definition: sippdu.h:526
PString m_callId
Definition: handlers.h:475
SIPMIMEInfo m_mime
Definition: handlers.h:143
std::pair< IndexMap::iterator, bool > m_byAorAndPackage
Definition: handlers.h:159
Reasons m_reason
Definition: handlers.h:267
Definition: handlers.h:171
PDECLARE_WriteConnectCallback(SIPHandler, WriteTransaction)
SIP_PDU::Methods GetMethod() const
Definition: handlers.h:103
PStringList GetAddresses(bool includeOffline, SIP_PDU::Methods meth, const PString &eventPackage=PString::Empty()) const
virtual void SetExpire(int e)
virtual void OnFailed(SIP_PDU::StatusCodes)
Definition: handlers.h:257
bool DispatchNOTIFY(SIP_PDU &request, SIP_PDU &response)
void Remove(SIPHandler *handler)
SIPPingHandler(SIPEndPoint &ep, const PURL &to)
SIPHandler(SIP_PDU::Methods method, SIPEndPoint &ep, const SIPParameters ¶ms, const PString &callID=SIPTransaction::GenerateCallID())
PString m_URI
Definition: handlers.h:482
Definition: sippdu.h:1360
Definition: transports.h:151
virtual PBoolean SendRequest(SIPHandler::State state)
EventPackage m_eventPackage
Definition: sippdu.h:1407
Definition: handlers.h:499
SIPHandler::IndexMap IndexMap
Definition: handlers.h:387
virtual void OnFailed(SIP_PDU::StatusCodes)
virtual PBoolean OnReceivedNOTIFY(SIP_PDU &response)
SIPURLList m_contactAddresses
Definition: handlers.h:198
void UpdateParameters(const SIPMessage::Params ¶ms)
uint32_t m_rfc5626_reg_id
Definition: handlers.h:201
unsigned GetCount(SIP_PDU::Methods meth, const PString &eventPackage=PString::Empty()) const
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
virtual void SendStatus(SIP_PDU::StatusCodes code, State state)
Definition: connection.h:358
virtual PString GetAuthID() const
Definition: handlers.h:65
virtual SIPTransaction * CreateTransaction(OpalTransport &)
PString m_body
Definition: handlers.h:290
PString m_dialogTag
Definition: handlers.h:483
SIP_PDU::StatusCodes GetLastResponseStatus() const
Definition: handlers.h:121
virtual SIPEventPackage GetEventPackage() const
Definition: handlers.h:216
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
virtual void OnFailed(SIP_PDU::StatusCodes)
Definition: handlers.h:258
States m_state
Definition: handlers.h:477
bool m_receivedResponse
Definition: handlers.h:152
SIPEventPackage m_eventPackage
Definition: handlers.h:266