Merged revisions 46822 via svnmerge from
authorMatt O'Gorman <mogorman@digium.com>
Wed, 1 Nov 2006 20:38:05 +0000 (20:38 +0000)
committerMatt O'Gorman <mogorman@digium.com>
Wed, 1 Nov 2006 20:38:05 +0000 (20:38 +0000)
https://svn.digium.com/svn/asterisk/branches/1.4

........
r46822 | mogorman | 2006-11-01 14:35:41 -0600 (Wed, 01 Nov 2006) | 2 lines

bind address support from bug 8164

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46823 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_gtalk.c

index 23feebc..81647d3 100644 (file)
@@ -1661,6 +1661,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)
@@ -1684,6 +1686,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")) {