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