[Users] 513 Message too big

Greg Fausak lgfausak at gmail.com
Wed Sep 13 04:56:12 CEST 2006


Bill,

I think there is different syntax for this, I used to
use something like:

if(len_gt(max_len))
{
}

But, I don't check for max length any more.  Operating system  
assembly/disassembly for
packets bigger than the mtu is transparent to me, I often work with  
big packets.  Also,
the mtu is different depending on where you look.  I think some of  
the gig-ethernets
use jumbo packets, then there is the 1500 byte or so regular mtu,  
then there
is also possible modifications to the mtu depending on what the local  
transport is (cable,
dsl, frame relay, etc).

I still check for max hops :-)

-g

On Sep 12, 2006, at 8:38 PM, Bill Zhang wrote:

> OK, I solved the problem(though I don't understand how it solved)  
> by adding
> alias=" sip.mydomain.com", thanks to my old experience with SER:).
>
> Bill
> -----Original Message-----
> From: users-bounces at openser.org [mailto:users-bounces at openser.org]  
> On Behalf
> Of Bill Zhang
> Sent: Tuesday, September 12, 2006 2:18 PM
> To: users at openser.org
> Subject: RE: [Users] 513 Message too big
>
> It does not help me here:(.  I will get "Too Many Hops" (SIP  
> response 483),
> it's something that seems to get my SIP message stuck in the first 2
> routines.
>
> Bill
> -----Original Message-----
> From: Ka Lun Chan (KC) [mailto:kchan1028 at gmail.com]
> Sent: Tuesday, September 12, 2006 1:04 PM
> To: 'Bill Zhang'
> Subject: RE: [Users] 513 Message too big
>
> I have the exact problem. I fixed by changing it to the following  
> instead:
>
>         if (msg:len >=  max_len ) {
>                 sl_send_reply("513", "Message too big");
>                 return;
>         };
>
> KC
> -----Original Message-----
> From: users-bounces at openser.org [mailto:users-bounces at openser.org]  
> On Behalf
> Of Bill Zhang
> Sent: Tuesday, September 12, 2006 12:59 PM
> To: users at openser.org
> Subject: [Users] 513 Message too big
>
> Hi,
>
> I've exhausted my knowledge on openser:(.  Following is my  
> openser.cfg which
> is pretty much copy directly from sample but I kept getting "513  
> Message too
> big" response from this server for SIP registration, I know the SIP
> registration message size is ONLY 555 bytes, what could be wrong here?
>
> Thanks in Advance!
>
> #
> # $Id: openser.cfg,v 1.6 2006/02/15 18:23:46 bogdan_iancu Exp $
> #
> # simple quick-start config script
> #
>
> # ----------- global configuration parameters ------------------------
>
> debug=4            # debug level (cmd line: -dddddddddd)
> fork=yes
> log_stderror=yes    # (cmd line: -E)
>
> /* Uncomment these lines to enter debugging mode
> fork=no
> log_stderror=yes
> */
>
> check_via=no    # (cmd. line: -v)
> dns=no          # (cmd. line: -r)
> rev_dns=no      # (cmd. line: -R)
> port=5060
> children=4
> fifo="/tmp/openser_fifo"
>
> #
> # uncomment the following lines for TLS support
> #disable_tls = 0
> #listen = tls:your_IP:5061
> #tls_verify = 1
> #tls_require_certificate = 0
> #tls_method = TLSv1
> #tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
> #tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
> #tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
>
> # ------------------ module loading ----------------------------------
>
> # Uncomment this if you want to use SQL database
> loadmodule "/usr/local/lib64/openser/modules/mysql.so"
> loadmodule "/usr/local/lib64/openser/modules/sl.so"
> loadmodule "/usr/local/lib64/openser/modules/tm.so"
> loadmodule "/usr/local/lib64/openser/modules/rr.so"
> loadmodule "/usr/local/lib64/openser/modules/maxfwd.so"
> loadmodule "/usr/local/lib64/openser/modules/usrloc.so"
> loadmodule "/usr/local/lib64/openser/modules/registrar.so"
> loadmodule "/usr/local/lib64/openser/modules/textops.so"
> loadmodule "/usr/local/lib64/openser/modules/auth.so"
> loadmodule "/usr/local/lib64/openser/modules/auth_db.so"
>
> # ----------------- setting module-specific parameters ---------------
>
> # -- usrloc params --
> #modparam("usrloc", "db_mode",   0)
> # Uncomment this if you want to use SQL database
> # for persistent storage and comment the previous line
> modparam("usrloc", "db_mode", 2)
> modparam("usrloc", "db_url", "mysql://openser:passwd@localhost/ 
> openser")
>
> # -- auth params --
> # Uncomment if you are using auth module
> #
> modparam("auth_db", "calculate_ha1", yes)
> modparam("auth_db", "password_column", "password")
> modparam("auth_db", "db_url", "mysql://openser:passwd@localhost/ 
> openser")
>
> # -- rr params --
> # add value to ;lr param to make some broken UAs happy
> modparam("rr", "enable_full_lr", 1)
>
> # -------------------------  request routing logic -------------------
>
> # main 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");
>                 exit;
>         };
>
>         if (msg:len >=  2048 ) {
>                 sl_send_reply("513", "Message too big");
>                 exit;
>         };
>
>         # 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);
>         };
>
>         if (!uri==myself) {
>                 # mark routing logic in request
>                 append_hf("P-hint: outbound\r\n");
>                 # if you have some interdomain connections via TLS
>                 #if(uri=~"@tls_domain1.net") {
>                 #       t_relay("tls:domain1.net");
>                 #       exit;
>                 #} else if(uri=~"@tls_domain2.net") {
>                 #       t_relay("tls:domain2.net");
>                 #       exit;
>                 #}
>                 route(1);
>         };
>
>         # 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") {
>                         if (!www_authorize("sip.mydomain.com",
> "subscriber")) {
>                                 www_challenge("sip.mydomain.com",  
> "0");
>                                 exit;
>                         };
>
>                         save("location");
>                         exit;
>                 };
>
>                 lookup("aliases");
>                 if (!uri==myself) {
>                         append_hf("P-hint: outbound alias\r\n");
>                         route(1);
>                 };
>
>                 # native SIP destinations are handled using our  
> USRLOC DB
>                 if (!lookup("location")) {
>                         sl_send_reply("404", "Not Found");
>                         exit;
>                 };
>                 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();
>         };
>         exit;
> }
>
> Bill
>
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users





More information about the sr-users mailing list