[Users] ERROR: extract_body: message body has length zero

Kenny Chua strain15 at yahoo.com
Sun Jul 2 23:46:18 CEST 2006


I'm using openser 1.0.1 with rtpproxy and nathelper. Calls are goin through with good audio. Hanging up is fine too. However I've noticed I've been getting errors in my logs: 
 
 ERROR: extract_body: message body has length zero
 ERROR: force_rtp_proxy2: can't extract body from the message
 
 I'm assuming I'm doin something wrong in my config but I dont know where. Can someone please point out my mistakes? Thank you
 
 # start RTPProxy with: rtpproxy -l your_public_ip -s udp:localhost:8899
 #
 
 # ----------- global configuration parameters ------------------------
 
 debug=3            # debug level (cmd line: -dddddddddd)
 fork=yes
 log_stderror=no    # (cmd line: -E)
 
 /* Uncomment these lines to enter debugging mode 
 fork=no
 log_stderror=yes
 */
 
 port=5060
 children=4
 
 listen=68.xxx.xxx.xxx
 alias=test.com
 
 check_via=no    # (cmd. line: -v)
 dns=no          # (cmd. line: -r)
 rev_dns=no      # (cmd. line: -R)
 
 fifo="/tmp/openser_fifo"
 fifo_db_url="mysql://openser:openserrw@localhost/openser"
 
 # --- module loading
 
 loadmodule "/usr/local/lib/openser/modules/mysql.so"
 loadmodule "/usr/local/lib/openser/modules/sl.so"
 loadmodule "/usr/local/lib/openser/modules/tm.so"
 loadmodule "/usr/local/lib/openser/modules/rr.so"
 loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
 loadmodule "/usr/local/lib/openser/modules/usrloc.so"
 loadmodule "/usr/local/lib/openser/modules/registrar.so"
 loadmodule "/usr/local/lib/openser/modules/auth.so"
 loadmodule "/usr/local/lib/openser/modules/auth_db.so"
 loadmodule "/usr/local/lib/openser/modules/uri.so"
 loadmodule "/usr/local/lib/openser/modules/uri_db.so"
 loadmodule "/usr/local/lib/openser/modules/domain.so"
 loadmodule "/usr/local/lib/openser/modules/nathelper.so"
 loadmodule "/usr/local/lib/openser/modules/avpops.so"
 loadmodule "/usr/local/lib/openser/modules/textops.so"
 loadmodule "/usr/local/lib/openser/modules/xlog.so"
 loadmodule "/usr/local/lib/openser/modules/permissions.so"
 
 # --- setting module parameters
 
 modparam("auth_db|permissions|uri_db|usrloc", "db_url",
     "mysql://openser:openserrw@localhost/openser")
 
 # -- usrloc params --
 modparam("usrloc", "db_mode", 2)
 
 # -- registrar params --
 modparam("registrar", "nat_flag", 6)
 modparam("registrar", "sip_natping_flag", 7)
 
 # -- auth params --
 modparam("auth_db", "calculate_ha1", yes)
 modparam("auth_db", "password_column", "password")
 
 # -- rr params --
 modparam("rr", "enable_full_lr", 1)
 
 # -- nathelper --
 modparam("nathelper", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock")
 modparam("nathelper", "natping_interval", 30)
 modparam("nathelper", "ping_nated_only", 1)
 modparam("nathelper", "sipping_from", "sip:pinger at test.com")
 
 # -- tm params --
 modparam("tm", "fr_inv_timer", 27)
 modparam("tm", "fr_inv_timer_avp", "inv_timeout")
 
 # -- permissions param --
 modparam("permissions", "db_mode", 1)
 modparam("permissions", "trusted_table", "trusted")
 
 # --- main routing logic
 route{
     
     # -----------------------------------------------------------------
     # Sanity Check Section
     # -----------------------------------------------------------------
     if (!mf_process_maxfwd_header("10")) {
         sl_send_reply("483","Too Many Hops");
         exit;
     };
     if (msg:len >=  2048 ) {
         sl_send_reply("513", "Message too big");
         exit;
     };
 
     # -----------------------------------------------------------------
     # NAT detection
     # -----------------------------------------------------------------
     route(2);
 
 
     # -----------------------------------------------------------------
     # Record Route Section
     # -----------------------------------------------------------------
     if (!method=="REGISTER")
         record_route();
         
     # -----------------------------------------------------------------
     # Loose Route Section
     # -----------------------------------------------------------------
     if (loose_route()) {
         
         append_hf("P-hint: rr-enforced\r\n"); 
         if ((method=="INVITE" || method=="REFER") && !has_totag()) {
             sl_send_reply("403", "Forbidden");
             return;
         };
 
         if (method=="INVITE") {
 
             if (!proxy_authorize("","subscriber")) {
                 proxy_challenge("","0");
                 return;
             } else if (!check_from()) {
                 sl_send_reply("403", "Use From=ID");
                 return;
             };
             consume_credentials();
         };
         route(1);
     };
 
 
     # -----------------------------------------------------------------
     # Call Type Processing Section
     # -----------------------------------------------------------------
     if (!is_uri_host_local()) {
         if (is_from_local() || allow_trusted()) {
             route(4);
             route(1);
         } else {
             sl_send_reply("403", "Forbidden");
         };
     };
 
     if (method=="ACK") {
         route(1);
         return;
     } else if (method=="CANCEL") {
         route(1);
         return;
     } else if (method=="INVITE") {
         route(5);
         return;
     } else  if (method=="REGISTER") {
         route(4);
         return;
     };
 
     lookup("aliases");
     if (!is_uri_host_local()) {
         route(4);
         route(1);
         return;
     };
 
     if (!lookup("location")) {
         sl_send_reply("404", "User Not Found");
         exit;
     };
     
     append_hf("P-hint: usrloc applied\r\n");
 
     route(1);
 }
 
 
 route[1] {
     if (subst_uri('/(sip:.*);nat=yes/\1/')){
         setflag(6);
     };
 
     if (isflagset(5)||isflagset(6)) {
         route(3);
     }
 
     if (!t_relay()) {
         sl_reply_error();
     };
     exit;
 }
 
 route[2]{
     force_rport();
     if (nat_uac_test("19")) {
         if (method=="REGISTER") {
             fix_nated_register();
         } else {
             fix_nated_contact();
         };
         setflag(5);
     };
 }
 
 route[3] {
     if (is_method("BYE|CANCEL")) {
         unforce_rtp_proxy();
     } else if (is_method("INVITE")){
         force_rtp_proxy();
         t_on_failure("1");
     };
     if (isflagset(5))
         search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
     t_on_reply("1");
 }
 
 route[4] {
     
     if (!www_authorize("", "subscriber")) {
         www_challenge("", "0");
         exit;
     };
 
     if (isflagset(5)) {
         setflag(6);
         # if you want OPTIONS natpings uncomment next
         # setflag(7);
     };
         
     save("location");
         
     if (!lookup("location")) {
         sl_reply_error();
     };
         
     append_hf("P-hint: usrloc applied\r\n"); 
 
 }
 
 route[5] {
     
     # -----------------------------------------------------------------
     # INVITE Message Handler
     # -----------------------------------------------------------------    
     if (!allow_trusted()) {
     
         if (!proxy_authorize("","subscriber")) {
             proxy_challenge("","0");
             return;
         } else if (!check_from()) {
             sl_send_reply("403", "Use From=ID");
             return;
         };
     };
     
     lookup("aliases");
     if (!is_uri_host_local()) {
         route(1);
         return;
     };
 
     if (uri=~"^sip:[0-9]{3}@") {
         lookup("aliases");
         lookup("location");
         route(1);
         return;
     };    
 
     if(!lookup("location")){
         if (uri=~"^sip:[0-9]*@") {        
             route(6);
             return;
         };
 
 
         sl_send_reply("404", "User Not Found");
         return;
     };
 
     route(1);
 }
 
 route[6] {
 
     # -----------------------------------------------------------------
     # PSTN Handler
     # -----------------------------------------------------------------
 
     rewritehostport("pstn.gateway:5060"); 
 
     avp_write("i:45", "inv_timeout");
 
     route(1);
 }
     
 
 failure_route[1] {
     if (isflagset(6) || isflagset(5)) {
         unforce_rtp_proxy();
     }
 }
 
 onreply_route[1] {
     if ((isflagset(5) || isflagset(6)) && status=~"(183)|(2[0-9][0-9])") {
         force_rtp_proxy();
     }
     search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
     
     if (isflagset(6)) {
         fix_nated_contact();
     }
     
     exit;
 }
 
 
 		
---------------------------------
Do you Yahoo!?
 Everyone is raving about the  all-new Yahoo! Mail Beta.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kamailio.org/pipermail/users/attachments/20060702/63796cf5/attachment.htm 


More information about the Users mailing list