diff options
author | mogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-11-01 20:35:41 +0000 |
---|---|---|
committer | mogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-11-01 20:35:41 +0000 |
commit | 194f40a74cf47eeaf36e36769e5c61b39a049d84 (patch) | |
tree | 82762a8cc3730955c35cf7afb871679ec9cfb34c | |
parent | 9b2b5ec85482a8e493d2e52c6b4c2f35f2d240af (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
-rw-r--r-- | channels/chan_gtalk.c | 9 |
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")) { |