summaryrefslogtreecommitdiff
path: root/addons/ooh323c/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/ooh323c/src')
-rw-r--r--addons/ooh323c/src/ooh323.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/addons/ooh323c/src/ooh323.c b/addons/ooh323c/src/ooh323.c
index e7708af4a..d91c64942 100644
--- a/addons/ooh323c/src/ooh323.c
+++ b/addons/ooh323c/src/ooh323.c
@@ -535,11 +535,13 @@ int ooOnReceivedSetup(OOH323CallData *call, Q931Message *q931Msg)
}
}
+/* Allow sourceCallSignallAddress different with socket IP for gk routed calls */
if (strncmp(remoteIP, call->remoteIP, strlen(remoteIP))) {
- OOTRACEERR5("ERROR: Security denial remote sig IP isn't a socket ip, %s not %s "
- "(%s, %s)\n", remoteIP, call->remoteIP, call->callType,
- call->callToken);
- return OO_FAILED;
+ if(!gH323ep.gkClient || OO_TESTFLAG(call->flags, OO_M_DISABLEGK) || (gH323ep.gkClient->state != GkClientRegistered)) {
+ OOTRACEERR5("ERROR: Security denial remote sig IP isn't a socket ip, %s not %s "
+ "(%s, %s)\n", remoteIP, call->remoteIP, call->callType, call->callToken);
+ return OO_FAILED;
+ }
}
/* check for fast start */