señores después de leer la doc del modulo de msilo no logro hacerlo jalar con mi servidor ..
añadi el modulo dentro del openser.cfg
loadmodule "msilo.so"
modparam("msilo", "db_url", "mysql://openser:mipasswd@localhost/openser")
y dentro de la seccion donde manejo el register añadi
log("REGISTER received -> dumping messages with MSILO\n");
# MSILO - dumping user's offline messages if (m_dump()) { log("MSILO: offline messages dumped - if they were\n"); }else{ log("MSILO: no offline messages dumped\n"); }; exit; };
lo raro de todo esto es que cuando le envió un mensaje a un usuario que no esta online , el servidor me responde un 405 Method Not Allowed , y en el log de kamailio veo que el asterisk envía el mensaje , en ves de kamailio
U +2.896971 192.168.10.35:5060 -> 192.168.10.1:5060 MESSAGE sip:118@192.168.10.1 SIP/2.0 Via: SIP/2.0/UDP 192.168.10.35;rport;branch=z9hG4bKkyvowsnp Max-Forwards: 70 To: sip:118@192.168.10.1 From: "rickylaptop" sip:119@192.168.10.1;tag=xrlqk Call-ID: cqcjcnjqyojohir@192.168.10.35 CSeq: 671 MESSAGE Content-Type: text/plain;charset=utf-8 User-Agent: Twinkle/1.1 Content-Length: 16
test de mensaje # U +0.014030 192.168.10.1:5060 -> 192.168.10.35:5060 SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/UDP 192.168.10.35;rport=5060;branch=z9hG4bKkyvowsnp To: sip:118@192.168.10.1;tag=329cfeaa6ded039da25ff8cbb8668bd2.0f23 From: "rickylaptop" sip:119@192.168.10.1;tag=xrlqk Call-ID: cqcjcnjqyojohir@192.168.10.35 CSeq: 671 MESSAGE Proxy-Authenticate: Digest realm="192.168.10.1", nonce="49877ce734b5f405f7eecb39c411fcaa6d611c80" Server: OpenSER (1.3.4-notls (i386/linux)) Content-Length: 0
# U +0.003414 192.168.10.35:5060 -> 192.168.10.1:5060 MESSAGE sip:118@192.168.10.1 SIP/2.0 Via: SIP/2.0/UDP 192.168.10.35;rport;branch=z9hG4bKlqhdbltf Max-Forwards: 70 Proxy-Authorization: Digest username="119",realm="192.168.10.1",nonce="49877ce734b5f405f7eecb39c411fcaa6d611c80",uri="sip:118@192.168.10.1",response="c9a5781d5ece2fe81f38e1643b0fb706",algorithm=MD5 To: sip:118@192.168.10.1 From: "rickylaptop" sip:119@192.168.10.1;tag=xrlqk Call-ID: cqcjcnjqyojohir@192.168.10.35 CSeq: 672 MESSAGE Content-Type: text/plain;charset=utf-8 User-Agent: Twinkle/1.1 Content-Length: 16
test de mensaje # U +0.032034 192.168.10.1:5060 -> 192.168.10.1:5070 MESSAGE sip:u118@192.168.10.1:5070 SIP/2.0 Record-Route: sip:192.168.10.1;lr=on;ftag=xrlqk Via: SIP/2.0/UDP 192.168.10.1;branch=z9hG4bK1cde.684efe93.0 Via: SIP/2.0/UDP 192.168.10.35;rport=5060;branch=z9hG4bKlqhdbltf Max-Forwards: 69 To: sip:118@192.168.10.1 From: "rickylaptop" sip:119@192.168.10.1;tag=xrlqk Call-ID: cqcjcnjqyojohir@192.168.10.35 CSeq: 672 MESSAGE Content-Type: text/plain;charset=utf-8 User-Agent: Twinkle/1.1 Content-Length: 16 P-hint: inbound->inbound
test de mensaje # U +0.000415 192.168.10.1:5070 -> 192.168.10.1:5060 SIP/2.0 405 Method Not Allowed Via: SIP/2.0/UDP 192.168.10.1;branch=z9hG4bK1cde.684efe93.0;received=192.168.10.1 Via: SIP/2.0/UDP 192.168.10.35;rport=5060;branch=z9hG4bKlqhdbltf From: "rickylaptop" sip:119@192.168.10.1;tag=xrlqk To: sip:118@192.168.10.1;tag=as19a0f0de Call-ID: cqcjcnjqyojohir@192.168.10.35 CSeq: 672 MESSAGE User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Length: 0
alguna idea?
saludoss
El Martes, 3 de Febrero de 2009, troxlinux escribió:
U +0.032034 192.168.10.1:5060 -> 192.168.10.1:5070 MESSAGE sip:u118@192.168.10.1:5070 SIP/2.0 Record-Route: sip:192.168.10.1;lr=on;ftag=xrlqk Via: SIP/2.0/UDP 192.168.10.1;branch=z9hG4bK1cde.684efe93.0 Via: SIP/2.0/UDP 192.168.10.35;rport=5060;branch=z9hG4bKlqhdbltf Max-Forwards: 69 To: sip:118@192.168.10.1 From: "rickylaptop" sip:119@192.168.10.1;tag=xrlqk Call-ID: cqcjcnjqyojohir@192.168.10.35 CSeq: 672 MESSAGE Content-Type: text/plain;charset=utf-8 User-Agent: Twinkle/1.1 Content-Length: 16 P-hint: inbound->inbound
Kamailio está enviando el MESSAGE a Asterisk, normal que te pase eso. Pero no es un problema de Kamailio, sino de tu script de configuración (si estás rutando el MESSAGE a Asterisk ¿qué esperabas?).
Saludos.
vale pero no se porque el lo esta rutando hacia asterisk , si tengo seteado dentro del register ..
va lo pongo
route[2] { ## Register request handler if (is_uri_host_local()) { if (!www_authorize("", "subscriber")) { www_challenge("", "0"); exit; }; if (!check_to()) { sl_send_reply("401", "Unauthorized");
exit; };
save("location"); exit;
log("REGISTER received -> dumping messages with MSILO\n"); if (m_dump()) { log("MSILO: offline messages dumped - if they were\n"); } else { log("MSILO: no offline messages dumped\n"); }; exit; } else if { sl_send_reply("403", "Forbidden"); }; }
como ves después que el usuario se registra y guarda en la tabla localización , después cae el m_dump para que guarde los mensajes a ser enviados dentro de la tabla msilo ...
dentro del failure_route [1]
failure_route[1] { # forwarding failed -- check if the request was a MESSAGE if (!method=="MESSAGE") { exit; };
log(1,"MSILO:the downstream UA doesn't support MESSAGEs\n"); # we have changed the R-URI with the contact address, ignore it now if (m_store("1")) { log("MSILO: offline message stored\n"); t_reply("202", "Accepted");
}else{ log("MSILO: offline message NOT stored\n"); t_reply("503", "Service Unavailable"); }; }
aquí no enruto para nada solo que despliegue un 503 o 202
?
saludoss
2009/2/2 Iñaki Baz Castillo ibc@aliax.net:
Kamailio está enviando el MESSAGE a Asterisk, normal que te pase eso. Pero no es un problema de Kamailio, sino de tu script de configuración (si estás rutando el MESSAGE a Asterisk ¿qué esperabas?).
Saludos.
2009/2/3 troxlinux xserverlinux@gmail.com:
vale pero no se porque el lo esta rutando hacia asterisk , si tengo seteado dentro del register ..
Pero ¿qué más da lo que haya dentro de la sección "REGISTER"? Lo que importa es que tu Kamailio está recibiendo un MESSAGE (hablo de MESSAGE y no de REGISTER) y tu Kamailio *claramente* lo está rutando a Asterisk cuando se supone que debería mirar si el destino es un usuario existente, registrado, y si no está registrado guardar el MESSAGE con msilo.
No mires en tu bloque REGISTER, tu fallo está en el tratamiento del MESSAGE.
dentro del failure_route[1] trato la parte del MESSAGE , y me funciona cuando inicia un cliente que estaba ofline le tira el mensaje
Offline message - Tue Feb 3 13:28:00 2009] prueba de texto
pero aquí trato el voicemail y cuando añado la parte del voicemail comenzando por
if (t_was_cancelled()) { exit; };
reinicio me tira error en la linea 365 que es la que seteo arriba y ya no inicia el kamailio...
estoy pegao ...
saludoss
El día 3 de febrero de 2009 2:56, Iñaki Baz Castillo ibc@aliax.net escribió:
Pero ¿qué más da lo que haya dentro de la sección "REGISTER"? Lo que importa es que tu Kamailio está recibiendo un MESSAGE (hablo de MESSAGE y no de REGISTER) y tu Kamailio *claramente* lo está rutando a Asterisk cuando se supone que debería mirar si el destino es un usuario existente, registrado, y si no está registrado guardar el MESSAGE con msilo.
No mires en tu bloque REGISTER, tu fallo está en el tratamiento del MESSAGE.
El Martes, 3 de Febrero de 2009, troxlinux escribió:
dentro del failure_route[1] trato la parte del MESSAGE , y me funciona cuando inicia un cliente que estaba ofline le tira el mensaje
No lo compliques. Como ya te había dicho antes, cuando llegue un MESSAGE mira si el RURI es un usuario local ("does_uri_exist" o algo así). En caso afirmativo mira si está registrado y si no lo está lo guardas en msilo.
pero aquí trato el voicemail y cuando añado la parte del voicemail comenzando por
No entiendo porqué mezclas el tratamiento de INVITE y su voicemail con el del MESSAGE. Simplemente no lo hagas y simplificarás todo.
reinicio me tira error en la linea 365 que es la que seteo arriba y ya no inicia el kamailio...
No sé a qué error te refieres aquí.
sr-users-es@lists.kamailio.org