]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
bind address support from bug 8164
authorMatt O'Gorman <mogorman@digium.com>
Wed, 1 Nov 2006 20:35:41 +0000 (20:35 +0000)
committerMatt O'Gorman <mogorman@digium.com>
Wed, 1 Nov 2006 20:35:41 +0000 (20:35 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@46822 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_gtalk.c

index 5c40a55a959af7c6e9dd4f481471e4df67b3be1b..a3588a97d79514f2261d6c136cc788eee6a2c11d 100644 (file)
@@ -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")) {