[Serusers] 404 Not Found

Eduard San Anselmo Mateu esananselmo at albasoft.com
Tue Feb 24 11:13:57 CET 2004


Hi all.

I'm testing the very basic functionalities of SER as a proxy with two soft
phones, one for Windows (phone at albasoft.com) and one for Linux
(phone2 at albasoft.com). The proxy is at 192.168.0.15.

There's no problem with phone -> phone2 communication, but no way in
establishing phone2 -> phone: I always get the following message:

404, Not Found.

As I have been able to see with Ethereal, phone2 tries to INVITE
sip:phone at 192.168.0.15:5060, and the proxy responds by saying it can't find such
user (but user sip:phone at albasoft.com is indeed registered!). I think the
problem is the :5060 part, but I'm not sure.

Can anybody help me?. Thans in advance.

Oh, yes, my config file (as you will see, it's the simplest):

listen=192.168.0.15
alias=albasoft.com
alias=albasoft.com:5060
alias=192.168.0.15
alias=192.168.0.15:5060

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
        #if (!method=="REGISTER") record_route();
                                                                               
                                            
        # subsequent messages withing a dialog should take the
        # path determined by record-routing
        if (loose_route()) {
                # mark routing logic in request
                append_hf("P-hint: rr-enforced\r\n");
                route(1);
                break;
        };
                                                                               
                                            
        if (!uri==myself) {
                # mark routing logic in request
                append_hf("P-hint: outbound\r\n");
                route(1);
                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("iptel.org", "subscriber")) {
#                               www_challenge("iptel.org", "0");
#                               break;
#                       };
                                                                               
                                            
                        save("location");
                        break;
                };
                                                                               
                                            
                lookup("aliases");
                if (!uri==myself) {
                        append_hf("P-hint: outbound alias\r\n");
                        route(1);
                        break;
                };
                                                                               
                                            
                # native SIP destinations are handled using our USRLOC DB
                if (!lookup("location")) {
                        sl_send_reply("404", "Not Found");
                        break;
                };
        };
        append_hf("P-hint: usrloc applied\r\n");
        route(1);
}
                                                                               
                                            
route[1]
{
        # send it out now; use stateful forwarding as it works reliably
        # even for UDP2TCP
        if (!t_relay()) {
                sl_reply_error();
        };
}


Eduard San Anselmo




More information about the sr-users mailing list