sipxtacklib  Version 3.3
SipUserAgentStateless.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 
12 #ifndef _SipUserAgentStateless_h_
13 #define _SipUserAgentStateless_h_
14 
15 // SYSTEM INCLUDES
16 //#include <...>
17 
18 // APPLICATION INCLUDES
19 #include <net/SipUserAgentBase.h>
20 #include <net/SipMessage.h>
21 #include <net/SipMessageEvent.h>
22 
23 // DEFINES
24 // MACROS
25 // EXTERNAL FUNCTIONS
26 // EXTERNAL VARIABLES
27 // CONSTANTS
28 // STRUCTS
29 // TYPEDEFS
30 // FORWARD DECLARATIONS
31 class SipClient;
32 
33 //:Base class for SipUserAgent
34 // Class detailed description which may extend to multiple lines
36 {
37 /* //////////////////////////// PUBLIC //////////////////////////////////// */
38 public:
39 
40 
41 /* ============================ CREATORS ================================== */
42 
43  SipUserAgentStateless(int sipTcpPort = SIP_PORT, int sipUdpPort = SIP_PORT);
44  //:Default constructor
45 
46 
47  virtual
49  //:Destructor
50 
51 /* ============================ MANIPULATORS ============================== */
52 
53  virtual UtlBoolean handleMessage(OsMsg& eventMessage);
54 
55  virtual void addMessageConsumer(OsServerTask* messageConsumer);
56  //: Add a SIP message recipient
57 
58 
59  //: Send a SIP message over the net
60  // This method sends the SIP message via
61  // a SIP UDP or TCP client as dictated by policy and the address
62  // specified in the message
63  virtual UtlBoolean send(SipMessage& message,
64  OsMsgQ* responseListener = NULL,
65  void* responseListenerData = NULL);
69 
70  UtlBoolean sendTo(SipMessage& message,
71  const char* sendAddress,
72  const char* sendProtocol,
73  int sendPort);
74 
75  //: Dispatch the SIP message to the message consumer(s)
76  // All incoming SIP message need to be dispatched via the user agent
77  // server so that it can provide the reliablity for UDP
78  // (i.e. resend requests when no response is received)
79  // messageType - is as define by SipMessageEvent::MessageStatusTypes
80  // APPLICATION type are normal incoming messages
81  // TRANSPORT_ERROR type are notification of failures to send messages
82  virtual void dispatch(SipMessage* message,
83  int messageType = SipMessageEvent::APPLICATION);
84 
85 /* ============================ ACCESSORS ================================= */
86 
87  virtual void logMessage(const char* message, int messageLength);
88 
89 /* ============================ INQUIRY =================================== */
90 
91  virtual UtlBoolean isMessageLoggingEnabled();
92 
93 /* //////////////////////////// PROTECTED ///////////////////////////////// */
94 protected:
95  OsServerTask* mpMessageObserver;
97 
98 /* //////////////////////////// PRIVATE /////////////////////////////////// */
99 private:
100  SipUserAgentStateless(const SipUserAgentStateless& rSipUserAgent);
101  //:Copy constructor
102 
103  SipUserAgentStateless& operator=(const SipUserAgentStateless& rhs);
104  //:Assignment operator
105 
106 
107 
108 };
109 
110 /* ============================ INLINE METHODS ============================ */
111 
112 #endif // _SipUserAgentStateless_h_
Definition: SipClient.h:38
Definition: SipMessageEvent.h:39
SipUserAgentStateless(int sipTcpPort=SIP_PORT, int sipUdpPort=SIP_PORT)
Definition: SipUserAgentStateless.cpp:30
Specialization of HttpMessage to contain and manipulate SIP messages.
Definition: SipMessage.h:343
OsServerTask * mpMessageObserver
Definition: SipUserAgentStateless.h:95
#define SIP_PORT
Definition: SipMessage.h:256
virtual ~SipUserAgentStateless()
Definition: SipUserAgentStateless.cpp:54
virtual void addMessageConsumer(OsServerTask *messageConsumer)
Definition: SipUserAgentStateless.cpp:77
Definition: SipUserAgentStateless.h:35
SipClient * mpUdpServer
Definition: SipUserAgentStateless.h:96
virtual UtlBoolean send(SipMessage &message, OsMsgQ *responseListener=NULL, void *responseListenerData=NULL)
Definition: SipUserAgentStateless.cpp:82
virtual void dispatch(SipMessage *message, int messageType=SipMessageEvent::APPLICATION)
Definition: SipUserAgentStateless.cpp:169
UtlBoolean sendTo(SipMessage &message, const char *sendAddress, const char *sendProtocol, int sendPort)
param: message - the sip message to be sent param: responseListener - the queue on which to place Sip...
Definition: SipUserAgentStateless.cpp:129
Definition: SipUserAgentBase.h:44
virtual void logMessage(const char *message, int messageLength)
Definition: SipUserAgentStateless.cpp:192
virtual UtlBoolean isMessageLoggingEnabled()
Definition: SipUserAgentStateless.cpp:199
virtual UtlBoolean handleMessage(OsMsg &eventMessage)
Definition: SipUserAgentStateless.cpp:72

sipXtackLib home page