if (pctxt->flags & ASN1FASTCOPY) {
/* check is it possible to do optimized decoding */
- ASN1OCTET bit;
+ ASN1OCTET bit = 0;
ASN1UINT byteIndex = pctxt->buffer.byteIndex; /* save byte index */
ASN1USINT bitOffset = pctxt->buffer.bitOffset; /* save bit offset */
if (pctxt->flags & ASN1FASTCOPY) {
/* check if it is possible to do optimized decoding */
- ASN1OCTET bit;
+ ASN1OCTET bit = 0;
ASN1UINT byteIndex = pctxt->buffer.byteIndex; /* save byte index */
ASN1USINT bitOffset = pctxt->buffer.bitOffset; /* save bit offset */
(ooH323EpCapability *epCap, OOCTXT* pctxt, int dir)
{
H245AudioCapability *pAudio=NULL;
- OOCapParams *params;
+
if(!epCap || !epCap->params)
{
OOTRACEERR1("Error:Invalid capability parameters to "
"ooCapabilityCreateSimpleCapability.\n");
return NULL;
}
- params =(OOCapParams*)epCap->params;
+
pAudio = (H245AudioCapability*)memAlloc(pctxt,
sizeof(H245AudioCapability));
if(!pAudio)
(ooH323EpCapability *epCap, OOCTXT* pctxt, int dir)
{
H245DataApplicationCapability *pT38=NULL;
- OOCapParams *params;
H245DataMode_application *pT38app;
+
if(!epCap || !epCap->params)
{
OOTRACEERR1("Error:Invalid capability parameters to "
"ooCapabilityCreateSimpleCapability.\n");
return NULL;
}
- params =(OOCapParams*)epCap->params;
+
pT38 = (H245DataApplicationCapability*)memAlloc(pctxt,
sizeof(H245DataApplicationCapability));
if(!pT38)
int ooSocketCreateUDP (OOSOCKET* psocket, int family)
{
int on;
- struct linger linger;
OOSOCKET sock;
if (family == 6)
OOTRACEERR1("Error:Failed to set socket option SO_REUSEADDR\n");
return ASN_E_INVSOCKET;
}
+ // may be will use later
+ /*
linger.l_onoff = 1;
linger.l_linger = 0;
- /*if (setsockopt (sock, SOL_SOCKET, SO_LINGER,
+ if (setsockopt (sock, SOL_SOCKET, SO_LINGER,
(const char* ) &linger, sizeof (linger)) == -1)
return ASN_E_INVSOCKET;
*/
void ooTimerFireExpired (OOCTXT* pctxt, DList *pList)
{
OOTimer* pTimer;
- int stat;
while (pList->count > 0) {
pTimer = (OOTimer*) pList->head->data;
*/
if (pTimer->reRegister) ooTimerReset (pctxt, pList, pTimer);
- stat = (*pTimer->timeoutCB)(pTimer->cbData);
-
if (!pTimer->reRegister) {
ooTimerDelete (pctxt, pList, pTimer);
}
ooAliases *pNewAlias=NULL, *alias=NULL;
struct timespec ts;
struct timeval tv;
- int i=0, irand=0, ret = OO_OK;
+ int i=0, irand=0;
/* Note: We keep same callToken, for new call which is going
to replace an existing call, thus treating it as a single call.*/
{
/* No need to check registration status here as it is already checked for
MakeCall command */
- ret = ooGkClientSendAdmissionRequest(gH323ep.gkClient, fwdedCall, FALSE);
+ ooGkClientSendAdmissionRequest(gH323ep.gkClient, fwdedCall, FALSE);
fwdedCall->callState = OO_CALL_WAITING_ADMISSION;
ast_mutex_lock(&fwdedCall->Lock);
tv = ast_tvnow();
}
if (fwdedCall->callState < OO_CALL_CLEAR) {
ast_mutex_lock(&fwdedCall->Lock);
- ret = ooH323CallAdmitted (fwdedCall);
+ ooH323CallAdmitted (fwdedCall);
ast_mutex_unlock(&fwdedCall->Lock);
}
int ooH323MakeCall(char *dest, char *callToken, ooCallOptions *opts)
{
- OOCTXT *pctxt;
OOH323CallData *call;
int ret=OO_OK, i=0, irand=0;
char tmp[2+8*4+7]="\0";
return OO_FAILED;
}
- pctxt = call->pctxt;
if(opts)
{
if(opts->fastStart)
int checkSizeConstraint(OOCTXT* pctxt, int size)
{
Asn1SizeCnst* pSize;
- ASN1UINT lower, upper;
+ ASN1UINT upper;
ASN1BOOL extbit;
int stat;
pSize = getSizeConstraint (pctxt, extbit);
- lower = (pSize) ? pSize->lower : 0;
upper = (pSize) ? pSize->upper : ASN1UINT_MAX;
if (upper < (ASN1UINT)size) {
struct callthread* mycthread = (struct callthread *)dummy;
struct pollfd pfds[1];
char c;
- int res;
+ int res = 0;
do {
ast_mutex_unlock(&mycthread->lock);
ast_mutex_unlock(&callThreadsLock);
- } while (mycthread->call != NULL);
+ } while (mycthread->call != NULL && res == 0);
ast_mutex_destroy(&mycthread->lock);
int ooh323c_start_call_thread(ooCallData *call) {
char c = 'c';
- int res;
struct callthread *cur = callThreads;
ast_mutex_lock(&callThreadsLock);
}
ast_mutex_unlock(&callThreadsLock);
- if (cur != NULL && cur->inUse) {
+ if (cur != NULL) {
+ if (cur->inUse || write(cur->thePipe[1], &c, 1) < 0) {
ast_mutex_unlock(&cur->lock);
cur = NULL;
+ }
}
/* make new thread */
ast_debug(1,"using existing call thread for call %s\n", call->callToken);
cur->inUse = TRUE;
cur->call = call;
- res = write(cur->thePipe[1], &c, 1);
ast_mutex_unlock(&cur->lock);
}