# 向 fs 转发注册请求,fs 版本建议 1.10.8 or later
if (is_method("REGISTER")) {
$du = "sip:192.168.1.100"; # fs
add_path();
t_relay();
exit;
}
# fs 呼叫 user
if (is_method("INVITE")) {
record_route();
# preloaded route checking
if (loose_route()) {
xlog("L_ERR",
"Attempt to route with preloaded Route's [$fu/$tu/$ru/$ci]");
if (!is_method("ACK"))
send_reply(403,"Preload Route denied");
exit;
}
}
但是这段脚本不够好
试试我写的这一段路由脚本:
if (is_present_hf("Route")) {
# Route: <sip:192.168.1.100;lr>$var(route) = $hdr(Route);
$var(route) = $(var(route){re.subst,/^.*<(sip:.*)>/\1/}); # 正则
$var(host) = $(var(route){uri.host});
$var(port) = $(var(route){uri.port});
if ($var(port) == NULL) $var(port) = 5060;if (is_myself("$var(host)", $var(port))) {
xlog("preloaded route\n");
remove_hf("Route");
record_route();
t_relay();
exit;
}
}
参考链接:
https://github.com/OpenSIPS/opensips/issues/1756
测试的OpenSIPS版本为3.2.16