瀏覽代碼

dmq: force to send replicated messages from configured server address - as reported on list by Victor Kustov

Charles Chance 11 年之前
父節點
當前提交
7b5f79f9f3
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      modules/dmq/dmq_funcs.c

+ 7 - 0
modules/dmq/dmq_funcs.c

@@ -383,6 +383,7 @@ error:
 int cfg_dmq_t_replicate(struct sip_msg* msg, char* s)
 int cfg_dmq_t_replicate(struct sip_msg* msg, char* s)
 {
 {
 	dmq_node_t* node;
 	dmq_node_t* node;
+	struct socket_info* sock;
 	int i = 0;
 	int i = 0;
 
 
 	/* avoid loops - do not replicate if message has come from another node
 	/* avoid loops - do not replicate if message has come from another node
@@ -394,6 +395,12 @@ int cfg_dmq_t_replicate(struct sip_msg* msg, char* s)
 		return -1;
 		return -1;
 	}
 	}
 
 
+	/* TODO - backup/restore original send socket */
+	sock = lookup_local_socket(&dmq_server_socket);
+	if (sock) {
+		set_force_socket(msg, sock);
+	}
+
 	lock_get(&node_list->lock);
 	lock_get(&node_list->lock);
 	node = node_list->nodes;
 	node = node_list->nodes;
 	while(node) {
 	while(node) {