summaryrefslogtreecommitdiff
path: root/addons/ooh323c/src/ooGkClient.c
diff options
context:
space:
mode:
authorAlexander Anikin <may213@yandex.ru>2018-04-17 13:33:36 +0300
committerAlexander Anikin <may213@yandex.ru>2018-04-18 13:46:30 +0300
commit95e8450194a4c6a1272ed738fedaabb7baa438f8 (patch)
tree61c88d14b720c6dc52b5a2fb760ef7290714c441 /addons/ooh323c/src/ooGkClient.c
parent2a6072a9c414a8fb7ecb1b6598873e60ef8cadf2 (diff)
chan_ooh323: introduce localras config parameter
Introduce localras parameter that specify source IP for connecting to Gatekeeper. Useful for multihome configurations. ASTERISK-25129 #close Reported by: Dmitry Melekhov Tested by: Dmitry Melekhov Change-Id: I0b604b01793f3e02a776502659e07cd3fc7e3097
Diffstat (limited to 'addons/ooh323c/src/ooGkClient.c')
-rw-r--r--addons/ooh323c/src/ooGkClient.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/addons/ooh323c/src/ooGkClient.c b/addons/ooh323c/src/ooGkClient.c
index a307f4eef..4f7883833 100644
--- a/addons/ooh323c/src/ooGkClient.c
+++ b/addons/ooh323c/src/ooGkClient.c
@@ -49,7 +49,7 @@ static ASN1OBJID gProtocolID = {
};
int ooGkClientInit(enum RasGatekeeperMode eGkMode,
- char *szGkAddr, int iGkPort )
+ char *szGkAddr, char *szRasAddr, int iGkPort )
{
ooGkClient *pGkClient=NULL;
OOInterface *cur=NULL;
@@ -69,7 +69,11 @@ int ooGkClientInit(enum RasGatekeeperMode eGkMode,
pGkClient->rrqRetries = 0;
pGkClient->grqRetries = 0;
- strcpy(pGkClient->localRASIP, gH323ep.signallingIP);
+ if (szRasAddr && *szRasAddr) {
+ strcpy(pGkClient->localRASIP, szRasAddr);
+ } else {
+ strcpy(pGkClient->localRASIP, gH323ep.signallingIP);
+ }
#ifndef _WIN32
if(!strcmp(pGkClient->localRASIP, "0.0.0.0") ||
!strcmp(pGkClient->localRASIP, "127.0.0.1"))
@@ -90,7 +94,6 @@ int ooGkClientInit(enum RasGatekeeperMode eGkMode,
}
if(cur)
{
- OOTRACEINFO2("Using local RAS Ip address %s\n", cur->addr);
strcpy(pGkClient->localRASIP, cur->addr);
}
else{
@@ -98,6 +101,7 @@ int ooGkClientInit(enum RasGatekeeperMode eGkMode,
return OO_FAILED;
}
}
+ OOTRACEINFO2("Using local RAS Ip address %s\n", pGkClient->localRASIP);
#endif
if(OO_OK != ooGkClientSetGkMode(pGkClient, eGkMode, szGkAddr, iGkPort))
{