SIP proxy Kamailio je součástí standardních repozitářů pro námi použitý OS Ubuntu 18.04
		
 apt update
 apt install kamailio kamailio-mysql-modules kamailio-tls-modules
	
V souboru upravíme následující řádky
		
 # vim /etc/kamailio/kamctlrc
 DBENGINE=MYSQL
 DBHOST=localhost
	
 ## your SIP domain
 SIP_DOMAIN=voip.martinvylet.cz #naše SIP doména, může být IP adresa
	
Vytvoříme databázi
		
 # kamdbctl create
	
Uživatele do databáze přidáme pomocí
		
 # kamctl add userid password
	
	Následně na začátek /etc/kamailio/kamailio.cfg přidáme
		
 # vim /etc/kamailio/kamailio.cfg
 
 #!define WITH_AUTH
 #!define WITH_MYSQL
 #!define WITH_TLS
 
		
 /* add local domain aliases */
 alias="voip.martinvylet.cz" #naše doména
	
Do sekce Modules přidáme
		
 loadmodule "dispatcher.so"
	
Na konec Modules sekce přidáme nastavení modulu dispatcher
		
 modparam("dispatcher", "db_url", DBURL)
 modparam("dispatcher", "table_name", "dispatcher")
 modparam("dispatcher", "flags", 2)
 modparam("dispatcher", "dst_avp", "$avp(AVP_DST)")
 modparam("dispatcher", "grp_avp", "$avp(AVP_GRP)")
 modparam("dispatcher", "cnt_avp", "$avp(AVP_CNT)")
 modparam("dispatcher", "sock_avp", "$avp(AVP_SOCK)")
	
Dále přidáme řádky označené '+'
		
 # account only INVITEs
	if (is_method("INVITE")) {
		setflag(FLT_ACC); # do accounting
 
+		t_on_failure("TRUNKAUTH");
	}
	
				
		# user location service
		route(LOCATION);
+  		route(DISPATCHER);
+	}
+	failure_route[TRUNKAUTH] {
+
+   	if (t_is_canceled()) {
+       	exit;
+   	}
+   	if(t_check_status("401|407|403")) {
+       	$avp(auser) = "kamailio";
+       	$avp(apass) = "kamailio123";
+       	uac_auth();
+       	t_relay();
+       	exit;
+   	}
+	}
+
+	route[DISPATCHER] {
+		# round robin dispatching on gateways group '1'
+		if(!ds_select_dst("1", "4"))
+		{
+   		send_reply("404", "No destination");
+   		exit;
+		}
+		#xlog(“ —— DISPATCH: going to <$ru> via <$du>n");
+		route(RELAY);
+		exit;
+	}
	
		
	# User location service
	route[LOCATION] {
	#!ifdef WITH_SPEEDDIAL
		# search for short dialing - 2-digit extension
		if($rU=~"^[0-9][0-9]$") {
			if(sd_lookup("speed_dial")) {
				route(SIPOUT);
			}
		}
	#!endif
	#!ifdef WITH_ALIASDB
		# search in DB-based aliases
		if(alias_db_lookup("dbaliases")) {
			route(SIPOUT);
		}
	#!endif
	$avp(oexten) = $rU;
		if (!lookup("location")) {
+       	route(DISPATCHER);
			$var(rc) = $rc;
			route(TOVOICEMAIL);
			t_newtran();
			switch ($var(rc)) {
				case -1:
				case -3: