sipxtacklib  Version 3.3
SipSession.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2004-2006 SIPfoundry Inc.
3 // Licensed by SIPfoundry under the LGPL license.
4 //
5 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
6 // Licensed to SIPfoundry under a Contributor Agreement.
7 //
8 // $$
10 
11 #ifndef _SipSession_h_
12 #define _SipSession_h_
13 
14 // SYSTEM INCLUDES
15 
16 // APPLICATION INCLUDES
17 
18 #include <os/OsDefs.h>
19 #include <net/Url.h>
20 
21 // DEFINES
22 // MACROS
23 // EXTERNAL FUNCTIONS
24 // EXTERNAL VARIABLES
25 // CONSTANTS
26 // STRUCTS
27 // TYPEDEFS
28 // FORWARD DECLARATIONS
29 class SipMessage;
30 
31 //:Class short description which may consist of multiple lines (note the ':')
32 // Class detailed description which may extend to multiple lines
33 class SipSession : public UtlString
34 {
35 /* //////////////////////////// PUBLIC //////////////////////////////////// */
36 public:
37 
39  {
45  };
46 
47 /* ============================ CREATORS ================================== */
48 
49  SipSession(const SipMessage* initialMessage = NULL,
50  UtlBoolean isFromLocal = TRUE);
51  //:Default constructor
52 
53  SipSession(const char* callId, const char* toUrl, const char* fromUrl);
54  //:Constructor accepting the basic pieces of a session callId, toUrl,
55  // and from Url.
56 
57  virtual
58  ~SipSession();
59  //:Destructor
60 
61  SipSession(const SipSession& rSipSession);
62  //:Copy constructor
63 
64  SipSession& operator=(const SipSession& rhs);
65  //:Assignment operator
66 
67 /* ============================ MANIPULATORS ============================== */
68 
69  void updateSessionData(SipMessage& message);
70 
71 /* ============================ ACCESSORS ================================= */
72 
73  void getCallId(UtlString& callId);
74  void setCallId(const char* callId);
75 
76  void getFromUrl(Url& fromUrl);
77  void setFromUrl(const Url& fromUrl);
78 
79  void getToUrl(Url& toUrl);
80  void setToUrl(const Url& toUrl);
81 
82  void getRemoteContact(Url& remoteContact);
83  void setRemoteContact(const Url& remoteContact);
84 
85  void getLocalContact(Url& localContact);
86  void setLocalContact(const Url& localContact);
87 
88  void getInitialMethod(UtlString& method);
89  void setInitialMethod(const char* method);
90 
91  int getNextFromCseq();
92  int getLastFromCseq();
93  void setLastFromCseq(int seqNum);
94 
95  int getLastToCseq();
96  void setLastToCseq(int seqNum);
97 
98  void getLocalRequestUri(UtlString& requestUri);
99  void setLocalRequestUri(UtlString& requestUri);
100  void getRemoteRequestUri(UtlString& requestUri);
101  void setRemoteRequestUri(UtlString& requestUri);
102  void getContactRequestUri(UtlString& requestContactUri);
103  void setContactRequestUri(UtlString& requestContactUri);
104 
105  int getSessionState() { return mSessionState;};
106 
107 /* ============================ INQUIRY =================================== */
108 
109  UtlBoolean isSameSession(SipMessage& message);
110 
111  UtlBoolean isMessageFromInitiator(SipMessage& message);
112 
113  UtlBoolean isMessageFromDestination(SipMessage& message);
114 
115 /* //////////////////////////// PROTECTED ///////////////////////////////// */
116 protected:
117  // The callId is stored in the UtlString base class data element
122  UtlString mInitialMethod;
123  UtlString msLocalRequestUri;
125  UtlString msContactUriStr;
131 
132 /* //////////////////////////// PRIVATE /////////////////////////////////// */
133 private:
134 
135 };
136 
137 /* ============================ INLINE METHODS ============================ */
138 
139 #endif // _SipSession_h_
Definition: SipSession.h:33
SipSession(const SipMessage *initialMessage=NULL, UtlBoolean isFromLocal=TRUE)
Definition: SipSession.cpp:29
UtlBoolean isSameSession(SipMessage &message)
Definition: SipSession.cpp:403
Definition: SipSession.h:44
int mInitialLocalCseq
Definition: SipSession.h:126
void setLastToCseq(int seqNum)
Definition: SipSession.cpp:354
int mLastToCseq
Definition: SipSession.h:129
void setToUrl(const Url &toUrl)
Definition: SipSession.cpp:274
Url mRemoteContact
Definition: SipSession.h:121
void setRemoteContact(const Url &remoteContact)
Definition: SipSession.cpp:284
void getLocalRequestUri(UtlString &requestUri)
Definition: SipSession.cpp:299
UtlString mInitialMethod
Definition: SipSession.h:122
int mSessionState
Definition: SipSession.h:130
void getRemoteRequestUri(UtlString &requestUri)
Definition: SipSession.cpp:309
Specialization of HttpMessage to contain and manipulate SIP messages.
Definition: SipMessage.h:343
UtlString msRemoteRequestUri
Definition: SipSession.h:124
void getRemoteContact(Url &remoteContact)
Definition: SipSession.cpp:279
void setLocalContact(const Url &localContact)
Definition: SipSession.cpp:294
int mLastFromCseq
Definition: SipSession.h:128
void getLocalContact(Url &localContact)
Definition: SipSession.cpp:289
void setLocalRequestUri(UtlString &requestUri)
Definition: SipSession.cpp:304
UtlString msLocalRequestUri
Definition: SipSession.h:123
void getFromUrl(Url &fromUrl)
Definition: SipSession.cpp:259
void getCallId(UtlString &callId)
Definition: SipSession.cpp:248
virtual ~SipSession()
Definition: SipSession.cpp:135
void setRemoteRequestUri(UtlString &requestUri)
Definition: SipSession.cpp:314
int getNextFromCseq()
Definition: SipSession.cpp:359
UtlBoolean isMessageFromInitiator(SipMessage &message)
Definition: SipSession.cpp:367
UtlString msContactUriStr
Definition: SipSession.h:125
void setInitialMethod(const char *method)
Definition: SipSession.cpp:334
Definition: SipSession.h:40
Definition: SipSession.h:43
void setCallId(const char *callId)
Definition: SipSession.cpp:253
void getInitialMethod(UtlString &method)
Definition: SipSession.cpp:329
SessionState
Definition: SipSession.h:38
void getContactRequestUri(UtlString &requestContactUri)
Definition: SipSession.cpp:319
SipSession & operator=(const SipSession &rhs)
Definition: SipSession.cpp:143
void updateSessionData(SipMessage &message)
Definition: SipSession.cpp:168
int getLastToCseq()
Definition: SipSession.cpp:349
int getLastFromCseq()
Definition: SipSession.cpp:339
Url mLocalContact
Definition: SipSession.h:120
void getToUrl(Url &toUrl)
Definition: SipSession.cpp:269
int mInitialRemoteCseq
Definition: SipSession.h:127
URL parser and constructor.
Definition: Url.h:90
void setLastFromCseq(int seqNum)
Definition: SipSession.cpp:344
Url mRemoteUrl
Definition: SipSession.h:119
Definition: SipSession.h:41
void setContactRequestUri(UtlString &requestContactUri)
Definition: SipSession.cpp:324
void setFromUrl(const Url &fromUrl)
Definition: SipSession.cpp:264
Definition: SipSession.h:42
Url mLocalUrl
Definition: SipSession.h:118
int getSessionState()
Definition: SipSession.h:105
UtlBoolean isMessageFromDestination(SipMessage &message)
Definition: SipSession.cpp:385

sipXtackLib home page