Hi, All!
Try to register user in Kamailio and then relay REG massage to Asterisk.
Asterisk register user and looks good.
But when I send Unreg message to Kamailio, it unregister user successfully
but Asterisk say: Message REGISTER Ignoring because retransmit (CSeq 1234
our CSeq 1234).
Did someone know how solve this problem: i think that Asterisk need
different CSeq for first REGISTER and Second after 401 code.
dump my conf: At route[REGISTER]:
if (!save("location")) {
sl_reply_error();
} else {
reg_fetch_contacts("location", "$tu",
"cc");
$var(useragent) = $ulc(cc=>user_agent);
xlog("L_INFO","EXpires in Contact:
$ulc(cc=>expires)");
if ($ulc(cc=>expires)==0) {
$var(query) = "insert into activity
values
(now(),'unr','"+$ci+"','"+$fu+"');";
sql_query("events",
"$var(query)");
$var(string_temp) = "$(hdr(expires))";
xlog("L_INFO", "UNregistered $ru FROM
$fu exp $var(string_temp)");
} else {
if ($var(registered)==0) {
$var(query) = "insert into activity
values
(now(),'reg','"+$ci+"','"+$fu+"');";
sql_query("events",
"$var(query)");
}
xlog("L_INFO", "Registered $ru FROM
$fu
exp $ulc(cc=>expires)");
}
}
xlog("L_INFO","DU(TD): $td");
if ($td == "mydomain.com") {route(TOASTERISK); }
exit;
}
}
route[TOASTERISK] {
xlog("L_INFO","ROUTE to ASTERISK from $ru to $tu");
#append_branch();
t_on_failure("FAILAUTH");
$ru = "sip:"+ $td;
consume_credentials();
route(RELAY);
exit;
}
failure_route[FAILAUTH] {
if (t_is_canceled()) {
exit;
}
if (t_check_status("(401)|(407)")) {
xlog("L_INFO", "Remote asked for authentication");
$avp(realm)="";
uac_auth();
}
route(RELAY);
}
Show replies by date