[Kamailio-Users-ES] [OpenSER-Users-ES] Puertos asterisk y openser

troxlinux xserverlinux at gmail.com
Tue Aug 19 19:18:56 CEST 2008


El día 19 de agosto de 2008 9:40, Raúl Alexis Betancor Santana
<rabs at dimension-virtual.com> escribió:
>> El día 19 de agosto de 2008 0:40, Raúl Alexis Betancor Santana
>> <rabs at dimension-virtual.com> escribió:
> Independientemente de que los trozos que has posteado de tu kamailio.cfg no
> son suficientes para saber que está pasando ... tu error principal parece
> estar aquí:
>> To: <sip:2685249 at 192.168.10.1>;tag=d7e793d797690be5ce5420203095040f.bfd9
                 ^^^^^
>> En el trozo de tu kamailio.cfg que has posteado pone:
>
> [...]
> if (uri=~"^sip:[29][0-9]{7}@.*") {
>        rewritehostport("192.168.10.1:5070");
>        xlog(" ---> forwarded to Asterisk ---> ");
>        t_relay();
>        route(1);
> };
>  if (!lookup("location")) {
>        sl_send_reply("404", "User Not Found");
> };
>
> route(1);
> [...]
>
> Tu expresión regular está mal, porque 2685249 no se machea con [29][0-9]{7}, ó
> ese {7} debería de ser un {6} ó te tragaste un dígito al marcar.

ok talvez estaré un poco confundido , aquí lo que hice supuestamente
es que si marcaba con un 2 al inicio o 9 cojia esa ruta  , en mi pais
los digitos son de 7  , como seria en este caso ? por ejemplo si
quisiera marcar un numero no importando con que numero iniciara , pero
con la regla de 7 digitos

al final me quedo asi  if (uri=~"^sip:[2-9][0-9]{7}@.*")

>
> Eso es solo el primer error ... el segundo es que en la traza veo que el 404
> Not Found, (que te lo está generando el if(!lookup("location")) ), se lo
> estás enviando al Asterisk en el 5070 ... aunque puede que eso sea la
> respuesta del kamailio al Options que envías desde el Asterisk ... como no
> está el archivo .cfg entero no sé como lo estás tratando.

voy a postear el archico openser.cfg , te agradezco tu ayuda y a todos
los que apoyen mi causa

####### Global Parameters #########

debug=3
log_stderror=yes
log_facility=LOG_LOCAL0

fork=yes
children=4

rev_dns=no
listen=192.168.10.1
port=5060
dns=no


####### Modules Section ########

#set module path
mpath="//lib/openser/modules/"

/* uncomment next line for MySQL DB support */
loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"
loadmodule "uri_db.so"
loadmodule "uri.so"
loadmodule "xlog.so"
loadmodule "acc.so"
loadmodule "auth.so"
loadmodule "auth_db.so"
loadmodule "domain.so"


# ----------------- setting module-specific parameters ---------------


# ----- mi_fifo params -----
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
modparam("usrloc", "db_mode",   2)
modparam("rr", "enable_full_lr", 1)
modparam("auth_db", "calculate_ha1", 0)
modparam("tm", "fr_inv_timer", 45)
modparam("auth_db|uri_db|usrloc", "db_url",
"mysql://openser:openserrw@localhost/openser")
modparam("domain", "db_url", "mysql://openser:openserrw@localhost/openser")
modparam("domain", "db_mode", 1)
modparam("auth_db", "password_column", "ha1")
modparam("auth_db", "password_column_2", "ha1b")


####### Routing Logic ########

# main request routing logic

route{

	if (!mf_process_maxfwd_header("10")) {
		sl_send_reply("483","Too Many Hops");
		exit;
	};
	if (msg:len >=  2048 ) {
                sl_send_reply("513", "Message too big");
                exit;
        };
	# we record-route all messages -- to make sure that
        # subsequent messages will go through our proxy; that's
        # particularly good if upstream and downstream entities
        # use different transport protocol
        if (!method=="REGISTER")
                record_route();
		if (loose_route()){
		append_hf("P-hint: rr-enforced\r\n");
                route(1);
        };

        if (!uri==myself) {
	append_hf("P-hint: outbound\r\n");
                route(1);
        };
		if (method=="ACK") {
                route(1);
		exit;
}
		if (method=="INVITE") {
		route(3);
		exit;
}
		else if (method=="REGISTER") {
		route(2);
		exit;
};
		lookup("aliases");
		if (uri!=myself) {	
		route(1);
		exit;
};

	if (!lookup("location")) {
	sl_send_reply("404", "User Not Found");
};

	route(1);
}


	route[1] {
		if (!t_relay()) {
		sl_reply_error();
	};
	exit;
}

	route[2] {
		sl_send_reply("100", "Trying");
		if (!www_authorize("", "subscriber")) {
			www_challenge("", "0");
			exit;
		};
	if (!check_to()) {
		sl_send_reply("401", "Unauthorized");
		exit;
	};

		consume_credentials();
	 if (!save("location")) {
		sl_reply_error();
	};
}

route [3] {
##### INVITE MessageE Handler

	if (!proxy_authorize("", "subscriber")) {
	 proxy_challenge("", "0");
		exit;
 } else if (!check_from()) {
	sl_send_reply("403", "Use FROM=ID");
	exit;
};

	consume_credentials();
	lookup("aliases");
	if (!uri==myself) {
	append_hf("P-hint: outbound alias\r\n");
	route(1);
	
};
	if (uri=~"^sip:[2-9][0-9]{7}@.*") {
	rewritehostport("192.168.10.1:5070");
        xlog(" ---> forwarded to Asterisk ---> ");
	t_relay();
     	route(1);
};
	if (!lookup("location")) {	
	sl_send_reply("404", "User Not Found");
	};

	route(1);
}




More information about the Users-es mailing list