FS-7918 small fixes in mod_kazoo

This commit is contained in:
Luis Azedo 2015-07-30 16:17:09 +01:00
parent 01672dc96b
commit 183b51dd5c
3 changed files with 17 additions and 6 deletions

View File

@ -139,11 +139,11 @@ void close_socketfd(int *sockfd) {
} }
} }
switch_socket_t *create_socket(switch_memory_pool_t *pool) { switch_socket_t *create_socket_with_port(switch_memory_pool_t *pool, switch_port_t port) {
switch_sockaddr_t *sa; switch_sockaddr_t *sa;
switch_socket_t *socket; switch_socket_t *socket;
if(switch_sockaddr_info_get(&sa, globals.ip, SWITCH_UNSPEC, 0, 0, pool)) { if(switch_sockaddr_info_get(&sa, globals.ip, SWITCH_UNSPEC, port, 0, pool)) {
return NULL; return NULL;
} }
@ -170,6 +170,11 @@ switch_socket_t *create_socket(switch_memory_pool_t *pool) {
return socket; return socket;
} }
switch_socket_t *create_socket(switch_memory_pool_t *pool) {
return create_socket_with_port(pool, 0);
}
switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei_cnode_s *ei_cnode) { switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei_cnode_s *ei_cnode) {
struct hostent *nodehost; struct hostent *nodehost;
char hostname[EI_MAXHOSTNAMELEN + 1] = ""; char hostname[EI_MAXHOSTNAMELEN + 1] = "";
@ -503,7 +508,7 @@ switch_hash_t *create_default_filter() {
switch_core_hash_insert(filter, "Hangup-Cause", "1"); switch_core_hash_insert(filter, "Hangup-Cause", "1");
switch_core_hash_insert(filter, "Unique-ID", "1"); switch_core_hash_insert(filter, "Unique-ID", "1");
switch_core_hash_insert(filter, "variable_switch_r_sdp", "1"); switch_core_hash_insert(filter, "variable_switch_r_sdp", "1");
switch_core_hash_insert(filter, "variable_sip_local_sdp_str", "1"); switch_core_hash_insert(filter, "variable_rtp_local_sdp_str", "1");
switch_core_hash_insert(filter, "variable_sip_to_uri", "1"); switch_core_hash_insert(filter, "variable_sip_to_uri", "1");
switch_core_hash_insert(filter, "variable_sip_from_uri", "1"); switch_core_hash_insert(filter, "variable_sip_from_uri", "1");
switch_core_hash_insert(filter, "variable_sip_user_agent", "1"); switch_core_hash_insert(filter, "variable_sip_user_agent", "1");

View File

@ -347,6 +347,7 @@ static switch_status_t config(void) {
globals.event_stream_preallocate = 4000; globals.event_stream_preallocate = 4000;
globals.send_msg_batch = 10; globals.send_msg_batch = 10;
globals.event_stream_framing = 2; globals.event_stream_framing = 2;
globals.port = 0;
if (!(xml = switch_xml_open_cfg(cf, &cfg, NULL))) { if (!(xml = switch_xml_open_cfg(cf, &cfg, NULL))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open configuration file %s\n", cf); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open configuration file %s\n", cf);
@ -360,6 +361,9 @@ static switch_status_t config(void) {
if (!strcmp(var, "listen-ip")) { if (!strcmp(var, "listen-ip")) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Set bind ip address: %s\n", val); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Set bind ip address: %s\n", val);
set_pref_ip(val); set_pref_ip(val);
} else if (!strcmp(var, "listen-port")) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Set bind port: %s\n", val);
globals.port = atoi(val);
} else if (!strcmp(var, "cookie")) { } else if (!strcmp(var, "cookie")) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Set cookie: %s\n", val); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Set cookie: %s\n", val);
set_pref_ei_cookie(val); set_pref_ei_cookie(val);
@ -515,7 +519,7 @@ static switch_status_t create_acceptor() {
ei_set_compat_rel(globals.ei_compat_rel); ei_set_compat_rel(globals.ei_compat_rel);
} }
if (!(globals.acceptor = create_socket(globals.pool))) { if (!(globals.acceptor = create_socket_with_port(globals.pool, globals.port))) {
return SWITCH_STATUS_SOCKERR; return SWITCH_STATUS_SOCKERR;
} }

View File

@ -48,9 +48,9 @@ struct ei_event_stream_s {
switch_socket_t *socket; switch_socket_t *socket;
switch_mutex_t *socket_mutex; switch_mutex_t *socket_mutex;
switch_bool_t connected; switch_bool_t connected;
char remote_ip[25]; char remote_ip[48];
uint16_t remote_port; uint16_t remote_port;
char local_ip[25]; char local_ip[48];
uint16_t local_port; uint16_t local_port;
erlang_pid pid; erlang_pid pid;
uint32_t flags; uint32_t flags;
@ -111,6 +111,7 @@ struct globals_s {
int event_stream_preallocate; int event_stream_preallocate;
int send_msg_batch; int send_msg_batch;
short event_stream_framing; short event_stream_framing;
switch_port_t port;
}; };
typedef struct globals_s globals_t; typedef struct globals_s globals_t;
extern globals_t globals; extern globals_t globals;
@ -140,6 +141,7 @@ switch_status_t handle_api_command_streams(ei_node_t *ei_node, switch_stream_han
/* kazoo_utils.c */ /* kazoo_utils.c */
void close_socket(switch_socket_t **sock); void close_socket(switch_socket_t **sock);
void close_socketfd(int *sockfd); void close_socketfd(int *sockfd);
switch_socket_t *create_socket_with_port(switch_memory_pool_t *pool, switch_port_t port);
switch_socket_t *create_socket(switch_memory_pool_t *pool); switch_socket_t *create_socket(switch_memory_pool_t *pool);
switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei_cnode_s *ei_cnode); switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei_cnode_s *ei_cnode);
switch_status_t ei_compare_pids(const erlang_pid *pid1, const erlang_pid *pid2); switch_status_t ei_compare_pids(const erlang_pid *pid1, const erlang_pid *pid2);