El día 19 de agosto de 2008 9:40, Raúl Alexis Betancor Santana rabs@dimension-virtual.com escribió:
El día 19 de agosto de 2008 0:40, Raúl Alexis Betancor Santana rabs@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@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); }