[Serusers] Improper relaying of Invite requests

Greger V. Teigre greger at teigre.com
Wed Nov 29 11:18:27 CET 2006


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 at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20061129/9ab537c0/attachment.htm>


More information about the sr-users mailing list