[asterisk-commits] may: branch 1.8 r371011 - /branches/1.8/addons/ooh323c/src/ooGkClient.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Aug 9 13:58:12 CDT 2012
Author: may
Date: Thu Aug 9 13:58:08 2012
New Revision: 371011
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=371011
Log:
Fix to resend GRQ/RRQ if RRJ (registration reject) is received
(close issue ASTERISK-20094)
Patches:
ASTERISK-20094.patch
Modified:
branches/1.8/addons/ooh323c/src/ooGkClient.c
Modified: branches/1.8/addons/ooh323c/src/ooGkClient.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/addons/ooh323c/src/ooGkClient.c?view=diff&rev=371011&r1=371010&r2=371011
==============================================================================
--- branches/1.8/addons/ooh323c/src/ooGkClient.c (original)
+++ branches/1.8/addons/ooh323c/src/ooGkClient.c Thu Aug 9 13:58:08 2012
@@ -809,6 +809,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)
@@ -1368,7 +1371,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