31 #ifndef OPAL_SIP_HANDLERS_H
32 #define OPAL_SIP_HANDLERS_H
68 virtual Comparison
Compare(
const PObject & other)
const;
174 typedef std::map<PString, PSafePtr<SIPHandler> >
IndexMap;
263 const PString & targetAddress,
276 virtual bool SendNotify(
const PObject * body);
306 const PString & body);
443 PSafePtr<SIPHandler>
FindBy(IndexMap & by,
const PString & key, PSafetyMode m);
471 PString
AsXML()
const;
474 static bool ParseXML(
475 const PString & body,
476 list<SIPPresenceInfo> & info,
481 void PrintOn(ostream & strm)
const;
558 void PrintOn(ostream & strm)
const;
564 #endif // OPAL_SIP_HANDLERS_H
queue< State > m_stateQueue
Definition: handlers.h:167
Definition: handlers.h:506
void SendStatus(SIP_PDU::StatusCodes code, State state)
Definition: sippdu.h:1118
virtual void SetBody(const PString &body)
Definition: handlers.h:308
PString m_callID
Definition: handlers.h:161
Definition: pres_ent.h:66
virtual SIPEventPackage GetEventPackage() const
Definition: handlers.h:312
virtual void OnTransactionFailed(SIPTransaction &transaction)
Definition: handlers.h:338
unsigned m_lastCseq
Definition: handlers.h:162
Definition: handlers.h:545
virtual void OnFailed(SIP_PDU::StatusCodes r)
Rendering
Definition: handlers.h:532
virtual bool IsDuplicateCSeq(unsigned)
Definition: handlers.h:108
Definition: handlers.h:495
SIPDialogNotification(const PString &entity=PString::Empty())
IndexMap m_byAorUserAndRealm
Definition: handlers.h:448
friend States operator++(States &state)
Definition: handlers.h:509
virtual SIPSubscribe::EventPackage GetEventPackage() const
Definition: handlers.h:113
PString m_sipETag
Definition: handlers.h:317
Definition: handlers.h:500
Definition: sippdu.h:1314
Definition: handlers.h:279
virtual void SetBody(const PString &)
Definition: handlers.h:106
virtual PBoolean SendRequest(SIPHandler::State state)
void PrintOn(ostream &strm) const
Definition: handlers.h:321
const PString & GetRealm() const
Definition: handlers.h:134
SIPSubscribeHandler(SIPEndPoint &ep, const SIPSubscribe::Params ¶ms)
virtual const SIPURL & GetAddressOfRecord()
Definition: handlers.h:93
PString m_personId
Definition: handlers.h:489
PString m_display
Definition: handlers.h:550
virtual bool IsDuplicateCSeq(unsigned sequenceNumber)
Definition: handlers.h:275
PSafePtr< SIPHandler > FindSIPHandlerByDomain(const PString &name, SIP_PDU::Methods meth, PSafetyMode m)
bool m_initiator
Definition: handlers.h:541
SIPRegister::Params m_parameters
Definition: handlers.h:214
unsigned m_eventCode
Definition: handlers.h:544
unsigned GetCount(SIP_PDU::Methods meth, const PString &eventPackage=PString::Empty()) const
void RemoveIndexes(SIPHandler *handler)
virtual SIPAuthentication * GetAuthentication()
Definition: handlers.h:90
Definition: transports.h:703
virtual void OnFailed(const SIP_PDU &response)
Definition: sippdu.h:1169
PString m_body
Definition: handlers.h:295
virtual SIPTransaction * CreateTransaction(OpalTransport &)
PString GetEventName() const
Definition: handlers.h:530
PString m_username
Definition: handlers.h:151
const SIPSubscribe::Params & GetParams() const
Definition: handlers.h:240
SIPURL m_addressOfRecord
Definition: handlers.h:159
Definition: handlers.h:74
virtual SIPTransaction * CreateTransaction(OpalTransport &t)=0
std::pair< IndexMap::iterator, bool > m_byAuthIdAndRealm
Definition: handlers.h:177
PString m_password
Definition: handlers.h:152
SIP_PDU::Methods m_method
Definition: handlers.h:158
Definition: handlers.h:535
Rendering m_rendering
Definition: handlers.h:553
void Update(SIPHandler *handler)
static PBoolean WriteSIPHandler(OpalTransport &transport, void *info)
std::map< PString, PSafePtr< SIPHandler > > IndexMap
Definition: handlers.h:174
PString m_identity
Definition: handlers.h:549
virtual void OnReceivedResponse(SIPTransaction &transaction, SIP_PDU &response)
StatusCodes
Definition: sippdu.h:518
const SIPURLList & GetContacts() const
Definition: handlers.h:207
Definition: handlers.h:516
Definition: handlers.h:257
SIPDialogContext m_dialog
Definition: handlers.h:249
SIPOptions::Params m_parameters
Definition: handlers.h:350
std::pair< IndexMap::iterator, bool > m_byAorUserAndRealm
Definition: handlers.h:178
SIPRegisterHandler(SIPEndPoint &ep, const SIPRegister::Params ¶ms)
virtual Comparison Compare(const PObject &other) const
State m_state
Definition: handlers.h:166
Definition: handlers.h:280
State
Definition: handlers.h:72
void Append(SIPHandler *handler)
virtual PBoolean SendRequest(SIPHandler::State state)
void UpdateParameters(const SIPRegister::Params ¶ms)
void SendStatus(SIP_PDU::StatusCodes code, State state)
PString m_realm
Definition: handlers.h:153
Events m_eventType
Definition: handlers.h:543
virtual void OnFailed(const SIP_PDU &response)
virtual SIPEventPackage GetEventPackage() const
Definition: handlers.h:270
Definition: handlers.h:503
bool DeleteObjectsToBeRemoved()
Definition: handlers.h:385
bool m_byeless
Definition: handlers.h:552
virtual int GetExpire()
Definition: handlers.h:100
SIPSubscribe::EventPackage SIPEventPackage
Definition: sippdu.h:1212
PSafePtr< SIPHandler > FindBy(IndexMap &by, const PString &key, PSafetyMode m)
virtual OpalTransport * GetTransport()
States
Definition: handlers.h:499
virtual SIPTransaction * CreateTransaction(OpalTransport &)
virtual PBoolean OnReceivedNOTIFY(SIP_PDU &response)
IndexMap m_byAuthIdAndRealm
Definition: handlers.h:447
int m_appearance
Definition: handlers.h:551
friend States operator--(States &state)
Definition: handlers.h:510
PSafeList< SIPHandler > m_handlersList
Definition: handlers.h:440
Definition: handlers.h:525
std::pair< IndexMap::iterator, bool > m_byCallID
Definition: handlers.h:175
int m_currentExpireTime
Definition: handlers.h:163
PString m_dialogId
Definition: handlers.h:539
Definition: handlers.h:366
struct SIPDialogNotification::Participant m_remote
PDECLARE_NOTIFIER(PTimer, SIPHandler, OnExpireTimeout)
Definition: handlers.h:533
Definition: handlers.h:77
Definition: handlers.h:522
Definition: handlers.h:524
unsigned m_authenticateErrors
Definition: handlers.h:150
Definition: sippdu.h:1358
SIPPresenceInfo(State state=Unchanged)
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
Definition: handlers.h:520
PString m_entity
Definition: handlers.h:538
Definition: handlers.h:79
virtual void OnReceivedIntervalTooBrief(SIPTransaction &transaction, SIP_PDU &response)
SIPDialogContext m_dialog
Definition: handlers.h:292
Definition: handlers.h:519
PSafePtr< SIPHandler > FindSIPHandlerByAuthRealm(const PString &authRealm, PSafetyMode m)
virtual bool WriteSIPHandler(OpalTransport &transport, bool forked)
SIPMessage::Params m_parameters
Definition: handlers.h:334
SIPPublishHandler(SIPEndPoint &ep, const SIPSubscribe::Params ¶ms, const PString &body)
Definition: handlers.h:54
Definition: handlers.h:80
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
Definition: handlers.h:534
PMutex m_extraMutex
Definition: handlers.h:439
const PString & GetPassword() const
Definition: handlers.h:133
PSafePtr< SIPHandler > FindSIPHandlerByCallID(const PString &callID, PSafetyMode m)
PCLASSINFO(SIPDialogNotification, PObject)
Definition: handlers.h:501
Definition: handlers.h:78
SIPURLList m_serviceRoute
Definition: handlers.h:217
virtual void OnFailed(SIP_PDU::StatusCodes)
void PrintOn(ostream &strm) const
PString GetStateName() const
Definition: handlers.h:512
Definition: handlers.h:284
PHTTPClientAuthentication SIPAuthentication
Definition: sippdu.h:471
IndexMap m_byCallID
Definition: handlers.h:445
SIPURL m_remoteAddress
Definition: handlers.h:160
Definition: handlers.h:76
State
Presence states.
Definition: pres_ent.h:60
Definition: sippdu.h:1219
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:273
Definition: handlers.h:75
OpalProductInfo m_productInfo
Definition: handlers.h:171
SIPEndPoint & GetEndPoint() const
Definition: handlers.h:128
bool m_unconfirmed
Definition: handlers.h:250
SIPHandler(SIP_PDU::Methods method, SIPEndPoint &ep, const SIPParameters ¶ms)
Definition: handlers.h:518
ostream & operator<<(ostream &strm, OpalSilenceDetector::Mode mode)
Definition: handlers.h:73
Definition: handlers.h:281
SIPEndPoint & endpoint
Definition: handlers.h:147
friend Events operator--(Events &evt)
Definition: handlers.h:528
SIPEventPackageHandler * m_packageHandler
Definition: handlers.h:294
void RetryLater(unsigned after)
Definition: handlers.h:517
Reasons
Definition: handlers.h:278
virtual SIPTransaction * CreateTransaction(OpalTransport &)
virtual SIPTransaction * CreateTransaction(OpalTransport &)
virtual bool SendNotify(const PObject *body)
int m_offlineExpireTime
Definition: handlers.h:165
unsigned m_sequenceNumber
Definition: handlers.h:215
OpalTransportAddress m_externalAddress
Definition: handlers.h:218
PSafeList< SIPTransaction > m_transactions
Definition: handlers.h:155
void UpdateParameters(const SIPSubscribe::Params ¶ms)
const SIPURL & GetProxy() const
Definition: handlers.h:136
struct SIPDialogNotification::Participant m_local
const SIPURLList & GetServiceRoute() const
Definition: handlers.h:208
Definition: handlers.h:299
PStringArray m_activities
Definition: handlers.h:466
PSafePtr< SIPHandler > FindSIPHandlerByUrl(const PURL &url, SIP_PDU::Methods meth, PSafetyMode m)
virtual bool SendNotify(const PObject *)
Definition: handlers.h:126
void SetState(SIPHandler::State s)
virtual const PString & GetCallID() const
Definition: handlers.h:103
Definition: handlers.h:222
virtual void OnReceivedTemporarilyUnavailable(SIPTransaction &transaction, SIP_PDU &response)
Registrar parameters.
Definition: sippdu.h:1059
Definition: handlers.h:354
SIPURL m_proxy
Definition: handlers.h:170
PString m_tupleId
Definition: handlers.h:462
int m_originalExpireTime
Definition: handlers.h:164
const OpalProductInfo & GetProductInfo() const
Definition: handlers.h:130
SIPMessageHandler(SIPEndPoint &ep, const SIPMessage::Params ¶ms)
SIPEventPackageHandler * m_packageHandler
Definition: handlers.h:251
Participant()
Definition: handlers.h:546
const SIPRegister::Params & GetParams() const
Definition: handlers.h:205
const SIPURL & GetRemoteAddress() const
Definition: handlers.h:135
virtual SIPTransaction * CreateTransaction(OpalTransport &)
SIPSubscribe::Params m_parameters
Definition: handlers.h:315
OpalTransport * m_transport
Definition: handlers.h:156
SIPSubscribe::Params m_parameters
Definition: handlers.h:248
virtual SIPTransaction * CreateTransaction(OpalTransport &)
Methods
Definition: sippdu.h:500
virtual bool IsDuplicateCSeq(unsigned sequenceNumber)
Definition: handlers.h:238
PString m_callId
Definition: handlers.h:540
SIPMIMEInfo m_mime
Definition: handlers.h:138
std::pair< IndexMap::iterator, bool > m_byAorAndPackage
Definition: handlers.h:176
Reasons m_reason
Definition: handlers.h:293
Definition: handlers.h:188
SIPNotifyHandler(SIPEndPoint &ep, const PString &targetAddress, const SIPEventPackage &eventPackage, const SIPDialogContext &dialog)
Definition: handlers.h:507
SIP_PDU::Methods GetMethod() const
Definition: handlers.h:112
virtual void SetExpire(int e)
static State FromSIPActivityString(const PString &str)
Definition: handlers.h:502
IndexMap m_byAorAndPackage
Definition: handlers.h:446
Definition: handlers.h:282
bool DispatchNOTIFY(SIP_PDU &request, SIP_PDU &response)
Definition: handlers.h:521
SIPPingHandler(SIPEndPoint &ep, const PURL &to)
PString m_URI
Definition: handlers.h:547
Definition: transports.h:149
virtual PBoolean SendRequest(SIPHandler::State state)
EventPackage m_eventPackage
Definition: sippdu.h:1188
bool IsDuplicateCSeq(unsigned sequenceNumber)
Definition: pres_ent.h:56
Definition: handlers.h:515
Definition: handlers.h:454
PStringList GetAddresses(bool includeOffline, SIP_PDU::Methods meth, const PString &eventPackage=PString::Empty()) const
const PString & GetUsername() const
Definition: handlers.h:132
SIPAuthentication * m_authentication
Definition: handlers.h:149
virtual void OnFailed(SIP_PDU::StatusCodes)
friend Events operator++(Events &evt)
Definition: handlers.h:527
static bool AsSIPActivityString(State state, PString &str)
virtual PBoolean OnReceivedNOTIFY(SIP_PDU &response)
SIPURLList m_contactAddresses
Definition: handlers.h:216
void UpdateParameters(const SIPMessage::Params ¶ms)
Definition: handlers.h:504
friend ostream & operator<<(ostream &strm, const SIPPresenceInfo &info)
Definition: handlers.h:482
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
virtual PBoolean SendRequest(SIPHandler::State state)
bool ActivateState(SIPHandler::State state)
PString m_contact
Definition: handlers.h:463
SIP_PDU * m_previousResponse
Definition: handlers.h:253
Definition: connection.h:312
PTimer m_expireTimer
Definition: handlers.h:169
virtual SIPTransaction * CreateTransaction(OpalTransport &)
PString m_body
Definition: handlers.h:316
PString m_dialogTag
Definition: handlers.h:548
SIPHandler::State GetState()
Definition: handlers.h:85
virtual SIPEventPackage GetEventPackage() const
Definition: handlers.h:233
PSafePtr< SIPHandler > GetFirstHandler(PSafetyMode mode=PSafeReference) const
Definition: handlers.h:391
virtual bool WriteSIPHandler(OpalTransport &transport, bool forked)
void Remove(SIPHandler *handler)
SIPHandler::IndexMap IndexMap
Definition: handlers.h:442
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
SIPOptionsHandler(SIPEndPoint &ep, const SIPOptions::Params ¶ms)
Definition: handlers.h:283
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
States m_state
Definition: handlers.h:542
PString m_presenceAgent
Definition: handlers.h:469
bool m_receivedResponse
Definition: handlers.h:168
SIPEventPackage m_eventPackage
Definition: handlers.h:291
Events
Definition: handlers.h:514