[asterisk-commits] may: trunk r328502 - in /trunk: ./ addons/ooh323c/src/ooGkClient.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Jul 15 16:41:49 CDT 2011
Author: may
Date: Fri Jul 15 16:41:46 2011
New Revision: 328502
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=328502
Log:
Merged revisions 328428-328429 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10
................
r328428 | may | 2011-07-15 23:31:09 +0400 (Fri, 15 Jul 2011) | 13 lines
Merged revisions 328427 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r328427 | may | 2011-07-15 23:22:24 +0400 (Fri, 15 Jul 2011) | 7 lines
small gk processing fixes:
- decrease for 1 second registration ttl for very low expirations (some
providers expire few earlier than TTL)
- delete rrq and registration expire timers on URQ received as we make
new registration.
........
................
r328429 | may | 2011-07-15 23:35:50 +0400 (Fri, 15 Jul 2011) | 2 lines
delete unproperly changed svn props
................
Modified:
trunk/ (props changed)
trunk/addons/ooh323c/src/ooGkClient.c
Propchange: trunk/
------------------------------------------------------------------------------
--- branch-1.10-merged (original)
+++ branch-1.10-merged Fri Jul 15 16:41:46 2011
@@ -1,1 +1,1 @@
-/branches/1.10:1-328075,328120,328162,328207,328247,328317,328329,328448,328451
+/branches/1.10:1-328075,328120,328162,328207,328247,328317,328329,328428-328429,328448,328451
Modified: trunk/addons/ooh323c/src/ooGkClient.c
URL: http://svnview.digium.com/svn/asterisk/trunk/addons/ooh323c/src/ooGkClient.c?view=diff&rev=328502&r1=328501&r2=328502
==============================================================================
--- trunk/addons/ooh323c/src/ooGkClient.c (original)
+++ trunk/addons/ooh323c/src/ooGkClient.c Fri Jul 15 16:41:46 2011
@@ -1211,8 +1211,11 @@
if(pGkClient->regTimeout > DEFAULT_TTL_OFFSET)
regTTL = pGkClient->regTimeout - DEFAULT_TTL_OFFSET;
- else
- regTTL = pGkClient->regTimeout;
+ else {
+ regTTL = pGkClient->regTimeout - 1; /* -1 due to some ops expire us few earlier */
+ if (regTTL <= 0)
+ regTTL = 1;
+ }
cbData = (ooGkClientTimerCb*) memAlloc
(&pGkClient->ctxt, sizeof(ooGkClientTimerCb));
@@ -1260,7 +1263,6 @@
memFreePtr(&pGkClient->ctxt, pTimer->cbData);
ooTimerDelete(&pGkClient->ctxt, &pGkClient->timerList, pTimer);
OOTRACEDBGA1("Deleted RRQ Timer.\n");
- break;
}
}
pGkClient->state = GkClientRegistered;
@@ -1505,8 +1507,10 @@
int ooGkClientHandleUnregistrationRequest
(ooGkClient *pGkClient, H225UnregistrationRequest * punregistrationRequest)
{
- int iRet=0;
-
+ int iRet=0, x;
+ OOTimer *pTimer = NULL;
+ DListNode *pNode = NULL;
+
/* Lets first send unregistration confirm message back to gatekeeper*/
ooGkClientSendUnregistrationConfirm(pGkClient,
punregistrationRequest->requestSeqNum);
@@ -1527,6 +1531,24 @@
OOTRACEINFO1("Sending fresh RRQ - as unregistration request received\n");
pGkClient->rrqRetries = 0;
pGkClient->state = GkClientDiscovered;
+
+
+ /* delete the corresponding RRQ & REG timers */
+ pNode = NULL;
+ for(x=0; x<pGkClient->timerList.count; x++) {
+ pNode = dListFindByIndex(&pGkClient->timerList, x);
+ pTimer = (OOTimer*)pNode->data;
+ if(((ooGkClientTimerCb*)pTimer->cbData)->timerType & OO_RRQ_TIMER) {
+ memFreePtr(&pGkClient->ctxt, pTimer->cbData);
+ ooTimerDelete(&pGkClient->ctxt, &pGkClient->timerList, pTimer);
+ OOTRACEDBGA1("Deleted RRQ Timer.\n");
+ }
+ if(((ooGkClientTimerCb*)pTimer->cbData)->timerType & OO_REG_TIMER) {
+ memFreePtr(&pGkClient->ctxt, pTimer->cbData);
+ ooTimerDelete(&pGkClient->ctxt, &pGkClient->timerList, pTimer);
+ OOTRACEDBGA1("Deleted REG Timer.\n");
+ }
+ }
iRet = ooGkClientSendRRQ(pGkClient, 0);
if(iRet != OO_OK)
More information about the asterisk-commits
mailing list