[asterisk-commits] may: branch 10 r371022 - in /branches/10: ./ addons/ooh323c/src/ooGkClient.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Aug 9 14:20:12 CDT 2012
Author: may
Date: Thu Aug 9 14:20:09 2012
New Revision: 371022
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=371022
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
Modified:
branches/10/ (props changed)
branches/10/addons/ooh323c/src/ooGkClient.c
Propchange: branches/10/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.
Modified: branches/10/addons/ooh323c/src/ooGkClient.c
URL: http://svnview.digium.com/svn/asterisk/branches/10/addons/ooh323c/src/ooGkClient.c?view=diff&rev=371022&r1=371021&r2=371022
==============================================================================
--- branches/10/addons/ooh323c/src/ooGkClient.c (original)
+++ branches/10/addons/ooh323c/src/ooGkClient.c Thu Aug 9 14:20:09 2012
@@ -810,6 +810,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)
@@ -1369,7 +1372,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