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