aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-01 20:35:41 +0000
committermogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-01 20:35:41 +0000
commit194f40a74cf47eeaf36e36769e5c61b39a049d84 (patch)
tree82762a8cc3730955c35cf7afb871679ec9cfb34c /channels
parent9b2b5ec85482a8e493d2e52c6b4c2f35f2d240af (diff)
bind address support from bug 8164
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@46822 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_gtalk.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c
index 5c40a55a9..a3588a97d 100644
--- a/channels/chan_gtalk.c
+++ b/channels/chan_gtalk.c
@@ -1658,6 +1658,8 @@ static int gtalk_load_config(void)
struct ast_codec_pref prefs;
struct aji_client_container *clients;
struct gtalk_candidate *global_candidates = NULL;
+ struct hostent *hp;
+ struct ast_hostent ahp;
cfg = ast_config_load(GOOGLE_CONFIG);
if (!cfg)
@@ -1681,6 +1683,13 @@ static int gtalk_load_config(void)
ast_parse_allow_disallow(&prefs, &global_capability, var->value, 1);
else if (!strcasecmp(var->name, "context"))
ast_copy_string(context, var->value, sizeof(context));
+ else if (!strcasecmp(var->name, "bindaddr")) {
+ if (!(hp = ast_gethostbyname(var->value, &ahp))) {
+ ast_log(LOG_WARNING, "Invalid address: %s\n", var->value);
+ } else {
+ memcpy(&bindaddr.sin_addr, hp->h_addr, sizeof(bindaddr.sin_addr));
+ }
+ }
/* Idea to allow for custom candidates */
/*
else if (!strcasecmp(var->name, "candidate")) {