hi all
configuration:
inalp gw (pstn) ------> ser ------> asterisk (only voicemail)
the following problems occur:
1) ser forwards the call to asterisk (if the user is in the voicemail group) if the client does not answer after 30 sec. from sip to sip is working. but if a call comes from the pstn to a sip client, the client rings and hangs up after 30 sec. ser then forwards it to the asterisk, but the pstn call keeps on ringing and no voicemail is to hear.
ser writes the following error
Mar 29 13:24:39 sip /usr/local/sbin/ser[7017]: ++++++++++++INVITE****************** Mar 29 13:24:39 sip /usr/local/sbin/ser[7017]: ++++++++++++voicemail*********************** Mar 29 13:25:19 sip /usr/local/sbin/ser[7022]: ++++++++++++Failure Route****************** Mar 29 13:25:19 sip /usr/local/sbin/ser[7022]: ++++++++++++Failure Route****************** Mar 29 13:25:19 sip /usr/local/sbin/ser[7017]: ++++++++++++voicemail*********************** Mar 29 13:25:19 sip /usr/local/sbin/ser[7016]: ERROR: t_should_relay_response: status rewrite by UAS: stored: 408, received: 200 Mar 29 13:25:20 sip /usr/local/sbin/ser[7017]: ERROR: t_should_relay_response: status rewrite by UAS: stored: 408, received: 200 Mar 29 13:25:21 sip /usr/local/sbin/ser[7016]: ERROR: t_should_relay_response: status rewrite by UAS: stored: 408, received: 200 Mar 29 13:25:24 sip last message repeated 3 times Mar 29 13:25:28 sip /usr/local/sbin/ser[7015]: ++++++++++++Loose Route****************** Mar 29 13:25:28 sip /usr/local/sbin/ser[7014]: contact_parser(): Empty body Mar 29 13:25:28 sip /usr/local/sbin/ser[7014]: parse_contact(): Error while parsing Mar 29 13:25:28 sip /usr/local/sbin/ser[7014]: get_contact_uri: Error while parsing Contact body
2) if ua1 call ua2 (and ua2 is in the voicemail group) and ua1 hangs up ser forwards to asterisk and the voicemail is run in the background, but instead the call should be cancelled and not forwarded to the voicemail
does anyone know about these problems?
regards raid
ser config snip:
loadmodule "/usr/local/lib/ser/modules/sl.so" loadmodule "/usr/local/lib/ser/modules/tm.so"
# ------------- tm parameters modparam("tm", "fr_timer", 30) modparam("tm", "fr_inv_timer", 25) modparam("tm", "wt_timer", 5) modparam("tm", "fr_inv_timer_avp", "inv_timeout")
route { if (lookup("location") | lookup("aliases")) { if (is_user_in("Request-URI", "voicemail")) { log (1, "++++++++++++voicemail***********************"); t_on_failure("1"); avp_write("i:30", "inv_timeout"); t_relay(); route(2); break; } else { log (1, "++++++++++++no voicemail********************"); route(2); break; } }
}
route [2] { if (uri=~"[@:](192.168.|10.|172.(1[6-9]|2[0-9]|3[0-1]).)" && !search("^Route:")){ sl_send_reply("479", "We don't forward to private IP addresses"); break; }; if (isflagset(2)) { force_rtp_proxy(); }; t_on_reply("1"); if (!t_relay()) { sl_reply_error(); }; }
failure_route[1] { log (1, "++++++++++++Failure Route******************"); revert_uri(); rewritehostport("XXX.XXX.XXX.XXX:5060"); append_branch(); t_on_failure("1"); t_relay(); break();
}