Hello,
I experienced a strange issue with some of VoIP accounts.
When the INVITE comes into MANAGE_FAILURE, after timeout, the config
identifies, with "dialplan", the right Asterisk instance that should handle
the call for voicemail.
This part is okay, and results in a new INVITE with the Request-URI formed
with the right domain (eg. sip: <sip:%3cNUMBER%3e@asterisk3>
<NUMBER>@asterisk3). Then, the request goes to RELAY. Here is the issue:
sometimes, the request is forwarded to the IP of the UA (the one initially
contacted) instead of the IP of Asterisk.
I can't figure out the difference between a succeeded call and a failed one.
If someone has an idea. Here is the config that handles the VoiceMail:
failure_route[MANAGE_FAILURE] {
[.]
if (isflagset(24)) {
$avp(s:inv_timeout) = "5";
t_set_fr($avp(s:inv_timeout)*1000);
if
(avp_db_load("$to/username","$avp(s:vm_uri)/usr_vm")) {
resetflag(24);
avp_pushto("$ruri","$avp(s:vm_uri)");
# Dynamic routing
if
(avp_db_load("$ruri/username","$avp(s:client)/usr_fai")) {
if
(dp_translate("2","$avp(s:client)/$avp(s:dest)") == 1) {
$ru = "sip:" +
$rU + "@" + $avp(s:dest);
} else {
# Load default
voicemail
$avp(s:client) =
"DEFAULT_VM";
dp_translate("2","$avp(s:client)/$avp(s:dest)");
$ru = "sip:" +
$rU + "@" + $avp(s:dest);
};
} else {
# Load default voicemail
$avp(s:client) =
"DEFAULT_VM";
dp_translate("2","$avp(s:client)/$avp(s:dest)");
$ru = "sip:" + $rU +
"@" +
$avp(s:dest);
}
} else {
xlog("L_WARN","time=[$Tf] call id=[$ci]
call seq=[$cs] contact header=[$ct] from uri=[$fu] from tag=[$ft] request's
method=[$rm] request's uri=[$ru] to uri=[$tu] to tag=[$tt] sip message
id=[$mi] process id=[$pp] ip source=[$si] flags=[$mf], User have no mail
box\n");
exit;
};
prefix("710");
xlog("L_WARN","time=[$Tf] call id=[$ci] call
seq=[$cs] contact header=[$ct] from uri=[$fu] from tag=[$ft] request's
method=[$rm] request's uri=[$ru] to uri=[$tu] to tag=[$tt] sip message
id=[$mi] process id=[$pp] ip source=[$si] flags=[$mf], failure route to
Voice Mail\n");
route(RELAY);
exit;
}
Regards,
Igor.