Просмотр исходного кода

rls(k): added outbound_proxy parameter

- set SIP uri where to send subscriptions
Daniel-Constantin Mierla 14 лет назад
Родитель
Сommit
aabeca534a
3 измененных файлов с 10 добавлено и 2 удалено
  1. 5 0
      modules_k/rls/rls.c
  2. 3 2
      modules_k/rls/rls.h
  3. 2 0
      modules_k/rls/subscribe.c

+ 5 - 0
modules_k/rls/rls.c

@@ -148,6 +148,8 @@ str str_doc_type_col = str_init("doc_type");
 str str_etag_col = str_init("etag");
 str str_doc_col = str_init("doc");
 
+/* outbound proxy address */
+str outbound_proxy = {0, 0};
 
 /** module functions */
 
@@ -183,6 +185,7 @@ static param_export_t params[]={
 	{ "xcap_root",              STR_PARAM,   &xcap_root                      },
 	/*address and port(default: 80):"http://192.168.2.132:8000/xcap-root"*/
 	{ "rls_event",              STR_PARAM|USE_FUNC_PARAM,(void*)add_rls_event},
+	{ "outbound_proxy",         STR_PARAM,   &outbound_proxy.s               },
 	{0,							0,				0						     }
 };
 
@@ -231,6 +234,8 @@ static int mod_init(void)
 		LM_ERR("xcap_root parameter not set\n");
 		return -1;
 	}
+	if(outbound_proxy.s!=NULL)
+		outbound_proxy.len = strlen(outbound_proxy.s);
 	/* extract port if any */
 	if(xcap_root)
     {

+ 3 - 2
modules_k/rls/rls.h

@@ -82,8 +82,8 @@ typedef struct rls_resource
 
 extern char* xcap_root;
 extern unsigned int xcap_port;
-extern str server_address; 
-extern int waitn_time; 
+extern str server_address;
+extern int waitn_time;
 extern str rlsubs_table;
 extern str rlpres_table;
 extern str rls_xcap_table;
@@ -95,6 +95,7 @@ extern int rls_max_expires;
 extern int rls_integrated_xcap_server;
 extern int rls_events;
 extern int to_presence_code;
+extern str outbound_proxy;
 
 /* database connection */
 extern db1_con_t *rls_db;

+ 2 - 0
modules_k/rls/subscribe.c

@@ -780,6 +780,8 @@ int resource_subscriptions(subs_t* subs, xmlNodePtr rl_node)
 	}
 	s.expires= subs->expires;
 	s.source_flag= RLS_SUBSCRIBE;
+	if(outbound_proxy.s)
+		s.outbound_proxy= &outbound_proxy;
 	extra_headers.s= buf;
 	extra_headers.len= sprintf(extra_headers.s,
 			"Max-Forwards: 70\r\nSupport: eventlist\r\n");