Hi Carsten,
The problem is solved, but with a litle bug. The calls from qutecom are not relayed to sems. Here is the solution:
failure_route[FAIL_ONE] { #!ifdef WITH_NAT if (is_method("INVITE") && (isbflagset("6") || isflagset(5))) { unforce_rtp_proxy(); } #!endif
if (t_is_canceled()) { exit; }
if (t_check_status("486|408")) { avp_db_load("$ruri","$avp(s:email_address)/$email_scheme"); append_hf("P-App-Name: myvoicemail\r\n"); append_hf("P-App-Param: Email-Address=$avp(s:email_address)\r\n"); append_branch(); fix_nated_sdp("1"); t_relay("sems_host","5080"); } }
Thanks very much Alejandro Mellado
El 25/08/10 02:41, Carsten Bock escribió:
Hi,
from the logs you see, that you proxy actually parses the "500 Try later" reply, so it must have received it.... You should check, from where you receive the 500-error; then you could see, if you want to adapt your config.
Carsten
2010/8/24 Alejandro Mellado G.amellado@inf.uct.cl:
Hi' Carsten,
Of course that t_on_failure is in request route. I think that in kamailio is the problem, because the forward not arrive to SEMS and kamilio log says:
2(96827) DEBUG:<core> [usr_avp.c:639]: DEBUG:destroy_avp_list: destroying list 0x0 2(96827) DEBUG:<core> [receive.c:280]: receive_msg: cleaning up 4(96829) DEBUG:<core> [parser/msg_parser.c:622]: SIP Reply (status): 4(96829) DEBUG:<core> [parser/msg_parser.c:624]: version:<SIP/2.0> 4(96829) DEBUG:<core> [parser/msg_parser.c:626]: status:<500> 4(96829) DEBUG:<core> [parser/msg_parser.c:628]: reason:<Retry Later> 4(96829) DEBUG:<core> [parser/parse_via.c:1283]: Found param type 232, <branch> =<z9hG4bK334b.74cc66f3.1>; state=16 4(96829) DEBUG:<core> [parser/parse_via.c:2296]: end of header reached, state=5
....
2(96827) DEBUG: tm [t_lookup.c:1150]: DEBUG: t_check_msg: msg id=5 global id=5 T end=0x28ce1af8 2(96827) DEBUG: tm [t_reply.c:1928]: DEBUG: reply_received: org. status uas=500, uac[0]=408 local=0 is_invite=1) 2(96827) DEBUG: tm [t_reply.c:1941]: DEBUG: reply to local CANCEL processed
Thanks. Alejandro Mellado
El 24/08/10 04:29, Carsten Bock escribió:
Hi,
did you add a "t_on_failure" in your request route? Your route works for busy subscribers i guess? The problem is likely, that your sip-router box receives a "500 Retry later" from some endpoint (either the device or SEMS) and you have no rule for handling 500-responses:
if (t_check_status("486|408")) {
You only forward to sems here, if your proxy receives a "486 Busy" or a "408 Request timeout", not if it receives any other reply. You should check, from where you receive the 500-reply; it is not generated by the sip-router proxy.
Carsten
2010/8/23 Alejandro Mellado G.amellado@inf.uct.cl:
Hi'
I'm trying to forward the call to voicemail on sems when the time of response is out. When the user isn't in location, the forward to voicemail work very fine ( $rc = -1 ). But failure_route, doesn't work and send message "500 Retry Later".
I'm using kamailio 3.0.2 and I'm probing with:
modparam("tm", "fr_timer", 10) modparam("tm", "fr_inv_timer", 15) ... ... failure_route[FAIL_ONE] { #!ifdef WITH_NAT if (is_method("INVITE") && (isbflagset("6") || isflagset(5))) { unforce_rtp_proxy(); } #!endif
if (t_is_canceled()) { exit; } if (t_check_status("486|408")) { revert_uri();
avp_db_load("$ruri","$avp(s:email_address)/$email_scheme"); append_hf("P-App-Name: myvoicemail\r\n"); append_hf("P-App-Param: Email-Address=$avp(s:email_address)\r\n"); rewritehostport("sems_host:5080"); append_branch(); t_relay(); } }
Thanks.
-- Saluda Atte, Alejandro Mauricio Mellado Gatica Escuela de Ingeniería Informática Universidad Católica de Temuco _________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Saluda Atte, Alejandro Mauricio Mellado Gatica Escuela de Ingeniería Informática Universidad Católica de Temuco _________________________________