Browse Source

modules/websocket: updated example/test kamailio.cfg to support TLS

- Basic WebSocket working over TLS
Peter Dunkley 13 years ago
parent
commit
ad7ea60ff5
1 changed files with 23 additions and 6 deletions
  1. 23 6
      modules/websocket/example/kamailio.cfg

+ 23 - 6
modules/websocket/example/kamailio.cfg

@@ -1,6 +1,6 @@
 #!KAMAILIO
 #!KAMAILIO
 
 
-#!define DBURL "sqlite:////etc/kamailio/db.sqlite"
+#!define DBURL		"sqlite:////etc/kamailio/db.sqlite"
 
 
 ####### Global Parameters #########
 ####### Global Parameters #########
 
 
@@ -8,15 +8,21 @@ debug=2
 fork=yes
 fork=yes
 children=4
 children=4
 
 
+enable_tls=1
+
 alias="example.com"
 alias="example.com"
-listen=192.168.111.12
-port=5060
-listen=192.168.111.12
-port=80
+
+listen=192.168.111.2:5060
+listen=tcp:192.168.111.2:80
+
+listen=tls:192.168.111.2:5061
+listen=tls:192.168.111.2:443
 
 
 tcp_connection_lifetime=3604
 tcp_connection_lifetime=3604
 tcp_accept_no_cl=yes
 tcp_accept_no_cl=yes
 
 
+enable_tls=1
+
 syn_branch=0
 syn_branch=0
 
 
 #mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/"
 #mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/"
@@ -41,6 +47,7 @@ loadmodule "xhttp.so"
 loadmodule "kex.so"
 loadmodule "kex.so"
 loadmodule "websocket.so"
 loadmodule "websocket.so"
 loadmodule "mi_rpc.so"
 loadmodule "mi_rpc.so"
+loadmodule "tls.so"
 
 
 # ----------------- setting module-specific parameters ---------------
 # ----------------- setting module-specific parameters ---------------
 
 
@@ -73,6 +80,14 @@ modparam("auth_db", "calculate_ha1", yes)
 modparam("auth_db", "password_column", "password")
 modparam("auth_db", "password_column", "password")
 modparam("auth_db", "load_credentials", "")
 modparam("auth_db", "load_credentials", "")
 
 
+# ----- websocket params -----
+modparam("websocket", "keepalive_timeout", 30)
+
+# ----- tls params -----
+modparam("tls", "tls_method", "SSLv23")
+modparam("tls", "certificate", "CA/ser1_cert.pem")
+modparam("tls", "private_key", "CA/privkey.pem")
+modparam("tls", "ca_list", "CA/calist.pem")
 
 
 ####### Routing Logic ########
 ####### Routing Logic ########
 
 
@@ -224,12 +239,14 @@ route[AUTH] {
 }
 }
 
 
 event_route[xhttp:request] {
 event_route[xhttp:request] {
-	if ($Rp != "80") {
+	if ($Rp != "80" && $Rp != "443") {
 		xlog("L_WARN", "HTTP request received on $Rp\n");
 		xlog("L_WARN", "HTTP request received on $Rp\n");
 		xhttp_reply("403", "Forbidden", "", "");
 		xhttp_reply("403", "Forbidden", "", "");
 		exit;
 		exit;
 	}
 	}
 
 
+	xlog("L_INFO", "HTTP Request Received\n");
+
 	if ($hdr(Upgrade)=~"websocket"
 	if ($hdr(Upgrade)=~"websocket"
 			&& $hdr(Connection)=~"Upgrade"
 			&& $hdr(Connection)=~"Upgrade"
 			&& $rm=~"GET") {
 			&& $rm=~"GET") {