[asterisk-commits] may: trunk r371036 - in /trunk: ./ addons/ooh323c/src/ooGkClient.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Aug 9 14:33:45 CDT 2012
Author: may
Date: Thu Aug 9 14:33:41 2012
New Revision: 371036
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=371036
Log:
Fix to resend GRQ/RRQ if RRJ (registration reject) is received
(close issue ASTERISK-20094)
Patches:
ASTERISK-20094.patch
........
Merged revisions 371011 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 371022 from http://svn.asterisk.org/svn/asterisk/branches/10
Modified:
trunk/ (props changed)
trunk/addons/ooh323c/src/ooGkClient.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-10-merged' - no diff available.
Modified: trunk/addons/ooh323c/src/ooGkClient.c
URL: http://svnview.digium.com/svn/asterisk/trunk/addons/ooh323c/src/ooGkClient.c?view=diff&rev=371036&r1=371035&r2=371036
==============================================================================
--- trunk/addons/ooh323c/src/ooGkClient.c (original)
+++ trunk/addons/ooh323c/src/ooGkClient.c Thu Aug 9 14:33:41 2012
@@ -812,6 +812,9 @@
if(pGatekeeperConfirm->m.gatekeeperIdentifierPresent)
{
pGkClient->gkId.nchars = pGatekeeperConfirm->gatekeeperIdentifier.nchars;
+ if (pGkClient->gkId.data) {
+ memFreePtr(&pGkClient->ctxt, pGkClient->gkId.data);
+ }
pGkClient->gkId.data = (ASN116BITCHAR*)memAlloc(&pGkClient->ctxt,
sizeof(ASN116BITCHAR)*pGkClient->gkId.nchars);
if(!pGkClient->gkId.data)
@@ -1371,7 +1374,20 @@
default:
OOTRACEINFO1("RRQ Rejected - Invalid Reason\n");
}
- pGkClient->state = GkClientGkErr;
+
+ /* send again GRQ/RRQ's */
+ ast_mutex_lock(&pGkClient->Lock);
+ pGkClient->state = GkClientUnregistered;
+ pGkClient->rrqRetries = 0;
+ pGkClient->grqRetries = 0;
+ pGkClient->discoveryComplete = FALSE;
+ ast_mutex_unlock(&pGkClient->Lock);
+
+ iRet = ooGkClientSendGRQ(pGkClient);
+ if(iRet != OO_OK){
+ OOTRACEERR1("\nError: Transmission of rediscovery of GK failed\n");
+ return OO_FAILED;
+ }
return OO_OK;
}
More information about the asterisk-commits
mailing list