[Serusers] username numeric routing
Klaus Darilion
klaus.mailinglists at pernau.at
Tue Apr 13 19:24:14 CEST 2004
make a dialing plan, e.g.
if USER == number {
if user start with 0 {
#PSTN call
route to gateway
} else {
#IP call
lookup("location")
...
}
}
klaus
Harold Workman wrote:
> Just a quick question....I am using numerics as the username (ex. 111000001)
> of
> my hosts. I am able to make pstn calls through my pstn gateway. My
> question is how
> do i configure the routing request lock to allow ip to ip calls between two
> hosts. if i
> dial 111000002 it routes the call to the pstn instead of to the other host.
>
>
>
> here is my config so far.
>
>
> # ------------------------- request routing logic -------------------
> route{
>
> # initial sanity checks -- messages with
> # max_forwards==0, or excessively long requests
> if (!mf_process_maxfwd_header("10")) {
> sl_send_reply("483","Too Many Hops");
> break;
> };
> if ( msg:len > max_len ) {
> sl_send_reply("513", "Message too big");
> break;
> };
>
> # we record-route all messages -- to make sure that
> # subsequent messages will go through our proxy; that's
> # particularly good if upstream and downstream entities
> # use different transport protocol
> record_route();
> # loose-route processing
> if (loose_route()) {
> t_relay();
> break;
> };
>
>
> # is it a PSTN destination? (is username nummerical and does not begin with
> 8?)
>
>
> if (uri=~"^sip:[0-79][0-9]*@") { # ... forward to gateways then;
> # check first to which PSTN destination the requests goes;
> # if it is US (prefix "1"), use the gateway 64.72.107.2...
> if (uri=~"^sip:1") {
> forward(64.72.107.2, 5060);
> }
> if (uri=~"^sip:011") {
> forward(64.72.107.2, 5060);
>
> } else {
> if (!lookup("location")) {
> sl_send_reply("404", "User Not Found");
> log("SER: Dest User Not in location table.\n");
> break;
> };
> if (!t_relay()) { sl_reply_error(); };
> break;
> };
> }
>
> # if the request is for other domain use UsrLoc
> # (in case, it does not work, use the following command
> # with proper names and addresses in it)
> if (uri==myself) {
>
> if (method=="REGISTER") {
>
> # Uncomment this if you want to use digest authentication
> if (!www_authorize("sipua.cytelcom.com", "subscriber")) {
> www_challenge("sipua.cytelcom.com", "0");
> break;
> };
> save("location");
> break;
> };
>
> # native SIP destinations are handled using our USRLOC DB
> if (!lookup("location")) {
> sl_send_reply("404", "Not Found");
> break;
> };
> };
> # forward to current uri now; use stateful forwarding; that
> # works reliably even if we forward from TCP to UDP
> if (!t_relay()) {
> sl_reply_error();
> };
>
> }
>
>
>
> --
> Harold Workman
> CCNA, CCNP
> Cytel Communications
> hworkman at cytelcom.com
> Ph. 281-449-4000 x3098
>
>
>
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
>
More information about the sr-users
mailing list