Hi there,
I'm trying to forward some destinations, but there are accounts/users starting the
same way connected to the server.
Example
account: 123456
When ser see that it forwards the call to other ser located at 12.34.56.79. I want my
users to use prefix for local calls.
Example:
calling 699123456 goes to local server user 123456 not to 12.34.56.79. Please check my
code and tell me what's
wrong:
...
if (uri=~"^sip:1234") {
log(0, "\n\n************ Office 1 ***********\n");
strip(0);
rewritehostport("12.34.56.79:5060");
append_branch("12.34.56.79");
t_relay_to_udp("12.34.56.79", "5060");
append_hf("P-hint: VoipSwitch GATEWAY\r\n");
log(0, "********************************************\n\n\n");
break;
};
if (uri=~"^sip:051") {
log(0, "\n\n************ Office 2 ***********\n");
strip(0);
rewritehostport("12.34.56.78:5060");
append_branch("12.34.56.78");
t_relay_to_udp("12.34.56.78", "5060");
append_hf("P-hint: VoipSwitch GATEWAY\r\n");
log(0, "********************************************\n\n\n");
break;
};
if (uri=~"^sip:699") {
strip(3);
route(1);
break;
};
}
else {
sl_send_reply("399", "Your account balance is
low!");
};
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
append_hf("P-hint: usrloc applied\r\n");
route(1);
}
route[1] {
if (isflagset(6)) {
force_rtp_proxy();
};
t_on_reply("1");
if (!t_relay()) {
sl_reply_error();
};
}
onreply_route[1] {
if (isflagset(6) && status =~ "(183)|2[0-9][0-9]") {
fix_nated_contact();
force_rtp_proxy();
} else if (nat_uac_test("1")) {
fix_nated_contact();
};
}
Thanks in advance :)!
Pavel Siderov