aboutsummaryrefslogtreecommitdiffstats
path: root/addons/ooh323c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2010-03-25 20:40:48 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2010-03-25 20:40:48 +0000
commit6991988668cc0885237f2f71a4cd97eb20212268 (patch)
treee90a3c732360862cc549dce3f94cb01940254576 /addons/ooh323c
parentdc3b6eea43bf62afc45510d532355c4a6382e6a1 (diff)
Fix chan_ooh323 so it works on Mac OS X, as well.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@254799 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'addons/ooh323c')
-rw-r--r--addons/ooh323c/src/ooh323.c6
-rw-r--r--addons/ooh323c/src/ooq931.c13
-rw-r--r--addons/ooh323c/src/ootrace.c2
3 files changed, 14 insertions, 7 deletions
diff --git a/addons/ooh323c/src/ooh323.c b/addons/ooh323c/src/ooh323.c
index 104e0bf0d..21eab1fa3 100644
--- a/addons/ooh323c/src/ooh323.c
+++ b/addons/ooh323c/src/ooh323.c
@@ -1557,6 +1557,7 @@ int ooHandleH2250Message(OOH323CallData *call, Q931Message *q931Msg)
DListNode *pNode = NULL;
OOTimer *pTimer=NULL;
int type = q931Msg->messageType;
+ struct timeval tv;
struct timespec ts;
/* checking of message validity for first/next messages of calls */
@@ -1600,8 +1601,9 @@ int ooHandleH2250Message(OOH323CallData *call, Q931Message *q931Msg)
ast_mutex_lock(&call->Lock);
ret = ooGkClientSendAdmissionRequest(gH323ep.gkClient, call,
FALSE);
- clock_gettime(CLOCK_REALTIME, &ts);
- ts.tv_sec += 24;
+ tv = ast_tvnow();
+ ts.tv_sec = tv.tv_sec + 24;
+ ts.tv_nsec = tv.tv_usec * 1000;
ast_cond_timedwait(&call->gkWait, &call->Lock, &ts);
if (call->callState == OO_CALL_WAITING_ADMISSION)
call->callState = OO_CALL_CLEAR;
diff --git a/addons/ooh323c/src/ooq931.c b/addons/ooh323c/src/ooq931.c
index 3f25885db..307aba5a6 100644
--- a/addons/ooh323c/src/ooq931.c
+++ b/addons/ooh323c/src/ooq931.c
@@ -16,6 +16,7 @@
#include <asterisk.h>
#include <asterisk/lock.h>
+#include "asterisk/utils.h"
#include <time.h>
#include "ooq931.h"
@@ -2017,6 +2018,7 @@ int ooH323HandleCallFwdRequest(OOH323CallData *call)
OOCTXT *pctxt;
ooAliases *pNewAlias=NULL, *alias=NULL;
struct timespec ts;
+ struct timeval tv;
int i=0, irand=0, ret = OO_OK;
/* Note: We keep same callToken, for new call which is going
to replace an existing call, thus treating it as a single call.*/
@@ -2072,8 +2074,9 @@ int ooH323HandleCallFwdRequest(OOH323CallData *call)
ret = ooGkClientSendAdmissionRequest(gH323ep.gkClient, fwdedCall, FALSE);
fwdedCall->callState = OO_CALL_WAITING_ADMISSION;
ast_mutex_lock(&fwdedCall->Lock);
- clock_gettime(CLOCK_REALTIME, &ts);
- ts.tv_sec += 24;
+ tv = ast_tvnow();
+ ts.tv_sec += tv.tv_sec + 24;
+ ts.tv_nsec = tv.tv_usec * 1000;
ast_cond_timedwait(&fwdedCall->gkWait, &fwdedCall->Lock, &ts);
if (fwdedCall->callState == OO_CALL_WAITING_ADMISSION) /* GK is not responding */
fwdedCall->callState = OO_CALL_CLEAR;
@@ -2114,6 +2117,7 @@ int ooH323MakeCall(char *dest, char *callToken, ooCallOptions *opts)
int ret=0, i=0, irand=0;
char tmp[30]="\0";
char *ip=NULL, *port = NULL;
+ struct timeval tv;
struct timespec ts;
if(!dest)
@@ -2195,8 +2199,9 @@ int ooH323MakeCall(char *dest, char *callToken, ooCallOptions *opts)
call->callState = OO_CALL_WAITING_ADMISSION;
ast_mutex_lock(&call->Lock);
ret = ooGkClientSendAdmissionRequest(gH323ep.gkClient, call, FALSE);
- clock_gettime(CLOCK_REALTIME, &ts);
- ts.tv_sec += 24;
+ tv = ast_tvnow();
+ ts.tv_sec = tv.tv_sec + 24;
+ ts.tv_nsec = tv.tv_usec * 1000;
ast_cond_timedwait(&call->gkWait, &call->Lock, &ts);
if (call->callState == OO_CALL_WAITING_ADMISSION)
call->callState = OO_CALL_CLEAR;
diff --git a/addons/ooh323c/src/ootrace.c b/addons/ooh323c/src/ootrace.c
index ac71a3078..a688a390c 100644
--- a/addons/ooh323c/src/ootrace.c
+++ b/addons/ooh323c/src/ootrace.c
@@ -111,7 +111,7 @@ void ooTraceLogMessage(const char * logMessage)
struct timeval systemTime;
gettimeofday(&systemTime, NULL);
fprintf(gH323ep.fptraceFile, "%s:%03ld %s", timeString,
- systemTime.tv_usec/1000, logMessage);
+ (long) systemTime.tv_usec/1000, logMessage);
}
else
fprintf(gH323ep.fptraceFile, "%s", logMessage);