/usr/include/sipxtapi/net/SipUserAgentBase.h is in libsipxtapi-dev 3.3.0~test17-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | //
// Copyright (C) 2004-2006 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// $$
///////////////////////////////////////////////////////////////////////////////
#ifndef _SipUserAgentBase_h_
#define _SipUserAgentBase_h_
// SYSTEM INCLUDES
//#include <...>
// APPLICATION INCLUDES
#include <utl/UtlHashBag.h>
#include <os/OsServerTask.h>
#include <os/OsRWMutex.h>
#include <net/SipMessage.h>
#include <net/SipMessageEvent.h>
#include <net/SipContactDb.h>
class SIPX_TRANSPORT_DATA;
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
class OsConfigDb;
//:Base class for SipUserAgent
// Class detailed description which may extend to multiple lines
class SipUserAgentBase : public OsServerTask
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/* ============================ CREATORS ================================== */
SipUserAgentBase(int sipTcpPort = SIP_PORT,
int sipUdpPort = SIP_PORT,
int sipTlsPort = SIP_TLS_PORT,
int queueSize = OsServerTask::DEF_MAX_MSGS);
//:Default constructor
virtual
~SipUserAgentBase();
//:Destructor
/* ============================ MANIPULATORS ============================== */
virtual UtlBoolean handleMessage(OsMsg& eventMessage) = 0;
virtual void addMessageConsumer(OsServerTask* messageConsumer) = 0;
//: Add a SIP message recipient
//: Send a SIP message over the net
// This method sends the SIP message via
// a SIP UDP or TCP client as dictated by policy and the address
// specified in the message
virtual UtlBoolean send(SipMessage& message,
OsMsgQ* responseListener = NULL,
void* responseListenerData = NULL,
SIPX_TRANSPORT_DATA* pTransport = NULL) = 0;
//! param: message - the sip message to be sent
//! param: responseListener - the queue on which to place SipMessageEvents containing SIP responses from the same transaction as the request sent in message
//! param: responseListenerData - data to be passed back with responses
//: Dispatch the SIP message to the message consumer(s)
// All incoming SIP message need to be dispatched via the user agent
// server so that it can provide the reliablity for UDP
// (i.e. resend requests when no response is received)
// messageType - is as define by SipMessageEvent::MessageStatusTypes
// APPLICATION type are normal incoming messages
// TRANSPORT_ERROR type are notification of failures to send messages
virtual void dispatch(SipMessage* message,
int messageType = SipMessageEvent::APPLICATION,
SIPX_TRANSPORT_DATA* pTransport = NULL) = 0;
void addConfigChangeConsumer(OsMsgQ& messageQueue);
//: Register to find out when UA config changes (i.e. contact address)
/* ============================ ACCESSORS ================================= */
virtual void logMessage(const char* message, int messageLength) = 0;
virtual void getContactUri(UtlString* contactUri) ;
/* ============================ INQUIRY =================================== */
virtual UtlBoolean isMessageLoggingEnabled() = 0;
//: Is message logging enabled?
virtual UtlBoolean isReady();
//: Return boolean if the UA is started and initialized
virtual UtlBoolean waitUntilReady();
//: Block and wait until the UA is started and initialized
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
int mTcpPort;
int mUdpPort;
int mTlsPort;
UtlBoolean mMessageLogEnabled;
UtlString mContactAddress;
OsRWMutex mObserverMutex;
UtlHashBag mConfigChangeObservers;
SipContactDb mContactDb;
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
SipUserAgentBase(const SipUserAgentBase& rSipUserAgent);
//:Copy constructor
SipUserAgentBase& operator=(const SipUserAgentBase& rhs);
//:Assignment operator
};
/* ============================ INLINE METHODS ============================ */
#endif // _SipUserAgentBase_h_
|