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;
234 {
return m_parameters.m_eventPackage; }
238 virtual bool IsDuplicateCSeq(
unsigned sequenceNumber) {
return m_dialog.IsDuplicateCSeq(sequenceNumber); }
263 const PString & targetAddress,
271 {
return m_eventPackage; }
273 virtual void SetBody(
const PString & body) { m_body = body; }
275 virtual bool IsDuplicateCSeq(
unsigned sequenceNumber) {
return m_dialog.IsDuplicateCSeq(sequenceNumber); }
276 virtual bool SendNotify(
const PObject * body);
306 const PString & body);
308 virtual void SetBody(
const PString & body) { m_body = body; }
386 {
return m_handlersList.DeleteObjectsToBeRemoved(); }
392 {
return PSafePtr<SIPHandler>(m_handlersList, mode); }
397 unsigned GetCount(
SIP_PDU::Methods meth,
const PString & eventPackage = PString::Empty())
const;
402 PStringList GetAddresses(
bool includeOffline,
SIP_PDU::Methods meth,
const PString & eventPackage = PString::Empty())
const;
407 PSafePtr<SIPHandler> FindSIPHandlerByCallID(
const PString & callID, PSafetyMode m);
412 PSafePtr<SIPHandler> FindSIPHandlerByAuthRealm(
const PString & authRealm, PSafetyMode m);
417 PSafePtr<SIPHandler> FindSIPHandlerByAuthRealm(
const PString & authRealm,
const PString & userName, PSafetyMode m);
426 PSafePtr<SIPHandler> FindSIPHandlerByUrl(
const PURL & url,
SIP_PDU::Methods meth, PSafetyMode m);
427 PSafePtr<SIPHandler> FindSIPHandlerByUrl(
const PURL & url,
SIP_PDU::Methods meth,
const PString & eventPackage, PSafetyMode m);
434 PSafePtr <SIPHandler> FindSIPHandlerByDomain(
const PString & name,
SIP_PDU::Methods meth, PSafetyMode m);
443 PSafePtr<SIPHandler> FindBy(IndexMap & by,
const PString & key, PSafetyMode m);
458 State state = Unchanged
471 PString AsXML()
const;
474 static bool ParseXML(
475 const PString & body,
476 list<SIPPresenceInfo> & info,
481 void PrintOn(ostream & strm)
const;
484 static State FromSIPActivityString(
const PString & str);
486 static bool AsSIPActivityString(
State state, PString & str);
487 bool AsSIPActivityString(PString & str)
const;
506 FirstState = Terminated,
507 LastState = Confirmed
511 static PString GetStateName(
States state);
524 FirstEvent = Cancelled,
529 static PString GetEventName(
Events state);
533 RenderingUnknown = -1,
546 Participant() : m_appearance(-1), m_byeless(false), m_rendering(RenderingUnknown) { }
558 void PrintOn(ostream & strm)
const;
564 #endif // OPAL_SIP_HANDLERS_H queue< State > m_stateQueue
Definition: handlers.h:167
Definition: sippdu.h:1118
virtual void SetBody(const PString &body)
Definition: handlers.h:308
PString m_callID
Definition: handlers.h:161
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
Rendering
Definition: handlers.h:532
virtual bool IsDuplicateCSeq(unsigned)
Definition: handlers.h:108
Definition: handlers.h:495
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
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
bool m_initiator
Definition: handlers.h:541
SIPRegister::Params m_parameters
Definition: handlers.h:214
unsigned m_eventCode
Definition: handlers.h:544
virtual SIPAuthentication * GetAuthentication()
Definition: handlers.h:90
Definition: transports.h:703
Definition: sippdu.h:1169
PString m_body
Definition: handlers.h:295
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
Rendering m_rendering
Definition: handlers.h:553
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
virtual Comparison Compare(const PObject &other) const
State m_state
Definition: handlers.h:166
Definition: handlers.h:280
State
Definition: handlers.h:72
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
virtual OpalTransport * GetTransport()
States
Definition: handlers.h:499
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
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
PDECLARE_NOTIFIER(PTimer, SIPHandler, OnExpireTimeout)
Definition: handlers.h:77
Definition: handlers.h:522
unsigned m_authenticateErrors
Definition: handlers.h:150
Definition: sippdu.h:1358
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
SIPMessage::Params m_parameters
Definition: handlers.h:334
Definition: handlers.h:54
Definition: handlers.h:80
Definition: handlers.h:534
PMutex m_extraMutex
Definition: handlers.h:439
const PString & GetPassword() const
Definition: handlers.h:133
Definition: handlers.h:501
Definition: handlers.h:78
SIPURLList m_serviceRoute
Definition: handlers.h:217
PString GetStateName() const
Definition: handlers.h:512
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 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
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
const SIPURL & GetProxy() const
Definition: handlers.h:136
const SIPURLList & GetServiceRoute() const
Definition: handlers.h:208
Definition: handlers.h:299
PStringArray m_activities
Definition: handlers.h:466
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
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
SIPSubscribe::Params m_parameters
Definition: handlers.h:315
OpalTransport * m_transport
Definition: handlers.h:156
SIPSubscribe::Params m_parameters
Definition: handlers.h:248
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
SIP_PDU::Methods GetMethod() const
Definition: handlers.h:112
virtual void SetExpire(int e)
Definition: handlers.h:502
IndexMap m_byAorAndPackage
Definition: handlers.h:446
Definition: handlers.h:282
Definition: handlers.h:521
PString m_URI
Definition: handlers.h:547
Definition: transports.h:149
Definition: pres_ent.h:56
Definition: handlers.h:454
const PString & GetUsername() const
Definition: handlers.h:132
SIPAuthentication * m_authentication
Definition: handlers.h:149
friend Events operator++(Events &evt)
Definition: handlers.h:527
SIPURLList m_contactAddresses
Definition: handlers.h:216
Definition: handlers.h:504
friend ostream & operator<<(ostream &strm, const SIPPresenceInfo &info)
Definition: handlers.h:482
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
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
SIPHandler::IndexMap IndexMap
Definition: handlers.h:442
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
Definition: handlers.h:283
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