12 #ifndef SIPREFRESHMGR_H 13 #define SIPREFRESHMGR_H 18 #include "os/OsServerTask.h" 24 #include "utl/UtlRandom.h" 25 #include "utl/UtlHashMap.h" 33 #define DEFAULT_PERCENTAGE_TIMEOUT 48 //48% 34 #define FAILED_PERCENTAGE_TIMEOUT 24 //24% 35 #define SIP_LINE_LINEID "lineID" 54 const char* defaultUser = NULL,
55 const char* publicAddress = NULL,
56 const char* defaultSipAddress = NULL,
57 const char* sipDirectoryServers = NULL,
58 const char* sipRegistryServers = NULL,
59 int defaultRegistryTimeout = 3600,
60 int defaultSubscribeTimeout = 60*60*24,
62 const char* macAddress = NULL );
85 const char* sipMethod = NULL,
86 UtlBoolean wantRequests = TRUE,
87 UtlBoolean wantResponses = TRUE,
88 UtlBoolean wantIncoming = TRUE,
89 UtlBoolean wantOutGoing = FALSE,
90 const char* eventName = NULL,
91 void* observerData = NULL );
109 const UtlString& lineId,
110 int registryPeriodSeconds = -1,
111 Url* pPreferredContactUri = NULL);
119 const UtlBoolean& onStartup = FALSE,
120 const UtlString& lineid =
"" );
150 const UtlString& lineId,
151 const UtlString& method,
153 UtlBoolean onStartup = FALSE );
179 UtlString* protocol);
186 const OsMsg& eventMessage,
198 UtlBoolean sendImmediate = FALSE );
210 const OsMsg& eventMessage,
217 const char* registerFromAddress,
218 const char* registerToAddress,
219 const char* registerUri,
220 const char* contactUrl,
221 const UtlString& registerCallId,
222 int registerPeriod = -1);
250 const Url& registerToField,
252 const UtlString& lineId =
"",
253 Url* pPreferredContactUri = NULL);
312 #endif // SIPREFRESHMGR_H UtlRandom mRandomNumGenerator
Definition: SipRefreshMgr.h:308
void setSubscribeTimeout(const int periodInSeconds)
Mutator for the mDefaultSubscribePeriodMember.
Definition: SipRefreshMgr.cpp:2221
UtlHashBag mTimerBag
Definition: SipRefreshMgr.h:309
void sendToObservers(const OsMsg &eventMessage, SipMessage *registerRequest)
Definition: SipRefreshMgr.cpp:1245
SipLineMgr *const getLineMgr() const
Definition: SipRefreshMgr.cpp:2360
SipRefreshMgr()
Definition: SipRefreshMgr.cpp:58
OsMutex mUAReadyMutex
Definition: SipRefreshMgr.h:297
Transaction and Transport manager for SIP stack.
Definition: SipUserAgent.h:157
void getContactField(const Url ®isterToField, UtlString &contact, const UtlString &lineId="", Url *pPreferredContactUri=NULL)
Definition: SipRefreshMgr.cpp:2124
UtlHashMap * mpLastLineEventMap
Definition: SipRefreshMgr.h:278
SIPX_LINESTATE_EVENT getLastLineEvent(const UtlString &lineId)
Definition: SipRefreshMgr.cpp:2266
UtlBoolean init(SipUserAgent *ptrToMyAgent, int sipTcpPort=SIP_PORT, int sipUdpPort=SIP_PORT, const char *defaultUser=NULL, const char *publicAddress=NULL, const char *defaultSipAddress=NULL, const char *sipDirectoryServers=NULL, const char *sipRegistryServers=NULL, int defaultRegistryTimeout=3600, int defaultSubscribeTimeout=60 *60 *24, int restartCount=1, const char *macAddress=NULL)
Definition: SipRefreshMgr.cpp:109
int mDefaultRegistryPeriod
Definition: SipRefreshMgr.h:281
SipMessageList mRegisterList
Definition: SipRefreshMgr.h:282
UtlString mRegistryServer
Definition: SipRefreshMgr.h:285
SipUserAgent * mMyUserAgent
Definition: SipRefreshMgr.h:304
UtlString mContactAddress
Definition: SipRefreshMgr.h:298
UtlString mSipIpAddress
Definition: SipRefreshMgr.h:300
UtlString mDefaultSipAddress
Definition: SipRefreshMgr.h:299
void setLineMgr(SipLineMgr *const lineMgr)
Definition: SipRefreshMgr.cpp:2354
OsRWMutex mObserverMutex
Definition: SipRefreshMgr.h:296
int mDefaultSubscribePeriod
Definition: SipRefreshMgr.h:288
void unSubscribeAll()
Definition: SipRefreshMgr.cpp:1728
virtual UtlBoolean handleMessage(OsMsg &eventMessage)
Definition: SipRefreshMgr.cpp:1356
void getFromAddress(UtlString *address, int *port, UtlString *protocol)
Definition: SipRefreshMgr.cpp:338
sipXtapi event declarations
void parseContactFields(SipMessage *message, SipMessage *sipRequest, int &expireVal)
Definition: SipRefreshMgr.cpp:1149
Definition: SipRefreshMgr.h:163
Specialization of HttpMessage to contain and manipulate SIP messages.
Definition: SipMessage.h:343
void processResponse(const OsMsg &eventMessage, SipMessage *registerRequest)
Definition: SipRefreshMgr.cpp:877
void reSubscribeAll()
Definition: SipRefreshMgr.cpp:1701
OsRWMutex mSubscribeListMutexR
Definition: SipRefreshMgr.h:290
void processOKResponse(SipMessage *registerResponse, SipMessage *registerRequest)
Definition: SipRefreshMgr.cpp:1014
OsRWMutex mRegisterListMutexW
Definition: SipRefreshMgr.h:284
UtlBoolean removeFromRegisterList(SipMessage *message)
Definition: SipRefreshMgr.cpp:1941
UtlBoolean mIsStarted
Definition: SipRefreshMgr.h:294
#define SIP_PORT
Definition: SipMessage.h:256
void addToSubscribeList(SipMessage *message)
Definition: SipRefreshMgr.cpp:2032
UtlBoolean isDuplicateRegister(const Url &url, SipMessage &oldMessage)
Definition: SipRefreshMgr.cpp:547
void fireSipXLineEvent(const Url &url, const UtlString &lineId, const SIPX_LINESTATE_EVENT event, const SIPX_LINESTATE_CAUSE cause, const char *bodyBytes=NULL)
Definition: SipRefreshMgr.cpp:2232
void dumpMessageLists(UtlString &results)
Definition: SipRefreshMgr.cpp:1869
Definition: SipMessageList.h:33
OsStatus sendRequest(SipMessage ®isterRequest, const char *method)
Definition: SipRefreshMgr.cpp:576
void addMessageConsumer(OsServerTask *messageEventListener)
Definition: SipRefreshMgr.cpp:245
OsRWMutex mRegisterListMutexR
Definition: SipRefreshMgr.h:283
Definition: SipRefreshMgr.h:164
void reRegister(const Url &fromUrl)
Definition: SipRefreshMgr.cpp:429
UtlString mDefaultUser
Definition: SipRefreshMgr.h:301
void removeAllFromRequestList(SipMessage *response)
Definition: SipRefreshMgr.cpp:2305
UtlString mRestartCountStr
Definition: SipRefreshMgr.h:303
void setLastLineEvent(const UtlString &lineId, const SIPX_LINESTATE_EVENT eMajor)
Definition: SipRefreshMgr.cpp:2283
void StartRefreshMgr()
Definition: SipRefreshMgr.cpp:173
UtlBoolean newRegisterMsg(const Url &fromUrl, const UtlString &lineId, int registryPeriodSeconds=-1, Url *pPreferredContactUri=NULL)
param: messageQueue - the queue on which an SipMessageEvent is dispatched param: sipMethod - the spec...
Definition: SipRefreshMgr.cpp:292
UtlBoolean isExpiresZero(SipMessage *pRequest)
Definition: SipRefreshMgr.cpp:2197
UtlHashBag mMessageObservers
Definition: SipRefreshMgr.h:295
Definition: SipLineMgr.h:67
void reRegisterAll()
Definition: SipRefreshMgr.cpp:385
void queueMessageToObservers(SipMessageEvent &event, const char *method)
Definition: SipRefreshMgr.cpp:1645
const int getSubscribeTimeout()
Accessor for the mDefaultSubscribePeriodMember.
Definition: SipRefreshMgr.cpp:2226
SIPX_LINESTATE_CAUSE
Enumeration of possible linestate Event causes.
Definition: sipXtapiEvents.h:369
void generateCallId(const UtlString &lineId, const UtlString &method, UtlString &callid, UtlBoolean onStartup=FALSE)
Definition: SipRefreshMgr.cpp:1888
void rescheduleRequest(SipMessage *registerRequest, int secondsFromNow, const char *method, int percentage=DEFAULT_PERCENTAGE_TIMEOUT, UtlBoolean sendImmediate=FALSE)
Definition: SipRefreshMgr.cpp:717
UtlBoolean removeFromSubscribeList(SipMessage *message)
Definition: SipRefreshMgr.cpp:2006
UtlBoolean isDuplicateSubscribe(const Url &url)
Definition: SipRefreshMgr.cpp:2040
SipMessageList mSubscribeList
Definition: SipRefreshMgr.h:289
UtlString mMacAddress
Definition: SipRefreshMgr.h:302
void waitForUA()
Definition: SipRefreshMgr.cpp:187
void rescheduleAfterTime(SipMessage *message, int percentage=DEFAULT_PERCENTAGE_TIMEOUT)
Definition: SipRefreshMgr.cpp:2071
Definition: SipMessageEvent.h:32
void unRegisterUser(const Url &fromUrl, const UtlBoolean &onStartup=FALSE, const UtlString &lineid="")
Definition: SipRefreshMgr.cpp:455
SipLineMgr * mpLineMgr
Definition: SipRefreshMgr.h:157
void createTagNameValuePair(UtlString &tagNamevaluePair)
Definition: SipRefreshMgr.cpp:2114
SIPX_LINESTATE_EVENT
Enumeration of possible linestate Events.
Definition: sipXtapiEvents.h:330
virtual ~SipRefreshMgr()
Definition: SipRefreshMgr.cpp:73
void addToRegisterList(SipMessage *message)
Definition: SipRefreshMgr.cpp:1974
int mUdpPort
Definition: SipRefreshMgr.h:306
URL parser and constructor.
Definition: Url.h:90
OsRWMutex mSubscribeListMutexW
Definition: SipRefreshMgr.h:291
UtlBoolean getNatMappedAddress(UtlString *pIpAddress, int *pPort)
Definition: SipRefreshMgr.cpp:1631
int mRestartCount
Definition: SipRefreshMgr.h:307
Definition: SipRefreshMgr.h:46
void setRegistryPeriod(const int periodInSeconds)
Mutator for the mDefaultRegistryPeriodMember.
Definition: SipRefreshMgr.cpp:2216
#define DEFAULT_PERCENTAGE_TIMEOUT
Definition: SipRefreshMgr.h:33
int mTcpPort
Definition: SipRefreshMgr.h:305
RefreshMsgTypes
Definition: SipRefreshMgr.h:161
void registerUrl(const char *registerFromAddress, const char *registerToAddress, const char *registerUri, const char *contactUrl, const UtlString ®isterCallId, int registerPeriod=-1)
Definition: SipRefreshMgr.cpp:1284
void addMessageObserver(OsMsgQ &messageQueue, const char *sipMethod=NULL, UtlBoolean wantRequests=TRUE, UtlBoolean wantResponses=TRUE, UtlBoolean wantIncoming=TRUE, UtlBoolean wantOutGoing=FALSE, const char *eventName=NULL, void *observerData=NULL)
Definition: SipRefreshMgr.cpp:261
UtlBoolean newSubscribeMsg(SipMessage &message)
Definition: SipRefreshMgr.cpp:1778
UtlBoolean isUAStarted()
Definition: SipRefreshMgr.cpp:238