I suggest you look at the gettingstarted doc's description of NAT handling. You may need the NAT handling config.
You may miss the force_rport() function that forces the received port to be taken into acocunt if the client hasn't added rport param itself.
g-)

Kaushik Kumar wrote:
Hi,
 
I am working on a project which involves testing SER with some dummy clients.
I have downloaded and installed SER from iptel.org. I am using the very basic Hello.cfg configuration file available online.
I find that when SER gets a INVITE request from the caller, it does not deliver it properly to the client (callee). Some debugging revealed that it relays the request to port 5060 at the client rather than the one which was registered by the callee earlier. I tried to look at the source code of SER and found that the callee's contact information never seem to be looked up at any stage.
 
Is this due to some missing information in my configuration file?
Any feedback would be appreciated.
 
Thank you 
-Kaushik
PS: I have attached (inline) the configuration file
 
ser.cfg
------------------------------------
 
debug=9
fork=yes
log_stderror=yes
 
listen=128.42.3.3              
port=5060
children=4
 
check_via=no # added
dns=no
rev_dns=no
fifo="/tmp/ser_fifo"
 
loadmodule "/scratch/ser-0.9.7-pre1/modules/sl/sl.so"                   # Stateless replies
loadmodule "/scratch/ser-0.9.7-pre1/modules/tm/tm.so"                   # Transaction management
loadmodule "/scratch/ser-0.9.7-pre1/modules/rr/rr.so"                   # Routing and record-routing
loadmodule "/scratch/ser-0.9.7-pre1/modules/maxfwd/maxfwd.so"           # Max fowards check
loadmodule "/scratch/ser-0.9.7-pre1/modules/usrloc/usrloc.so"           # User location support
loadmodule "/scratch/ser-0.9.7-pre1/modules/registrar/registrar.so"     # Registrar (requires userloc and sl)
loadmodule "/scratch/ser-0.9.7-pre1/modules/textops/textops.so"         # Message textual operations
 
modparam("usrloc", "db_mode",   0)      # 0 forces registration data to be stored in memory
modparam("rr", "enable_full_lr", 1)    
 
route {
 
        # ------------------------------------------------------------------------
        # Sanity Check Section
        # ------------------------------------------------------------------------
        if (!mf_process_maxfwd_header("10")) {
                sl_send_reply("483", "Too Many Hops"); 
                break;
        };
 
        if (msg:len > max_len) {
                sl_send_reply("513", "Message Overflow");
                break;
        };
 
        # ------------------------------------------------------------------------
 # Record Route Section
        # ------------------------------------------------------------------------
        if (method!="REGISTER") {
                record_route();
        };
 
        # ------------------------------------------------------------------------
        # Loose Route Section
        # ------------------------------------------------------------------------
        if (loose_route()) {
                append_hf("P-hint: rr-enforced\r\n");
                route(1);
                break;
        };
 
        # ------------------------------------------------------------------------
        # Call Type Processing Section
        # ------------------------------------------------------------------------
        if (uri!=myself) {
                append_hf("P-hint: outbound\r\n");
                route(1);
                break;
        };
 
        if (method=="ACK") {
                route(1);
                break;
        } else if (method=="REGISTER") {
                route(2);
                break;
        };
 
        lookup("aliases");
        if (uri!=myself) {
                append_hf("P-hint: outbound alias\r\n");
                route(1);
                break;
        };
 
 if (!lookup("location")) {
                sl_send_reply("404", "User Not Found");
                break;
        };
        append_hf("P-hint: userloc applied\r\n");
        route(1);
}
 
route[1] {
        # ------------------------------------------------------------------------
        # Default Message Handler
        # ------------------------------------------------------------------------
        if (!t_relay()) {      
                log(2, "Failed t_relay");
                sl_reply_error();
        };
}
 
route[2] {
        # ------------------------------------------------------------------------
        # REGISTER Message Handler
        # ------------------------------------------------------------------------
        if (!save("location")) {
                sl_reply_error();
        };
}

_______________________________________________ Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers