[Serusers] 483 Too Many Hops problem ;;;;

송 미진 trytry02 at hotmail.com
Fri Sep 16 14:01:16 CEST 2005


confirm 83b7fb1612811c64f85f47a6046dd84dea286d15



 dear,

 I'm working on a project and i'm using ser as a sip server.
 actually i have this problem: every time i send an instant message to
 a subscriber i get this error message:

 483 too many hops

 i tried to fix it but i couldn't and i don't know what to do !

 (My computer connect many computers. Is it reason?!)

 if any one can help me i'll be very grateful

i'm using ser 0.9.3

When I use sipsak,
I received following messages.

root]# sipsak -T -s sip:user at mydomain.com
warning: IP extract from warning activated to be more informational
0: 192.168.178.194 (0.148 ms) SIP/2.0 483 Too Many Hops
1: 192.168.178.194 (1.915 ms) SIP/2.0 483 Too Many Hops
2: 192.168.178.194 (25.673 ms) SIP/2.0 483 Too Many Hops
3: 192.168.178.194 (4.855 ms) SIP/2.0 483 Too Many Hops
4: 192.168.178.194 (9.286 ms) SIP/2.0 483 Too Many Hops
5: 192.168.178.194 (20.285 ms) SIP/2.0 483 Too Many Hops
6: 192.168.178.194 (17.068 ms) SIP/2.0 483 Too Many Hops
7: 192.168.178.194 (15.038 ms) SIP/2.0 483 Too Many Hops
8: 192.168.178.194 (16.379 ms) SIP/2.0 483 Too Many Hops
9: timeout after 500 ms
9: timeout after 1000 ms
9: timeout after 2000 ms
9: 192.168.178.194 (1480.452 ms) SIP/2.0 483 Too Many Hops
10: 192.168.178.194 (20.068 ms) SIP/2.0 483 Too Many Hops
11: 192.168.178.194 (21.916 ms) SIP/2.0 483 Too Many Hops
12: 192.168.178.194 (22.478 ms) SIP/2.0 483 Too Many Hops
13: 192.168.178.194 (22.984 ms) SIP/2.0 513 Message too big
        without Contact header
======================================
 
 here's my code:


 # ----------- 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
 */

 check_via=no # (cmd. line: -v)
 dns=yes # (cmd. line: -r)
 rev_dns=no # (cmd. line: -R)
 port=5060
 children=4
 fifo="/tmp/ser_fifo"
 fifo_db_url="mysql://root:vlftmd@localhost/ser"
 alias=sam.cse

 # ------------------ module loading ---------------------------------

 # Uncomment this if you want to use SQL database
 loadmodule "/usr/local/lib/ser/modules/mysql.so"

 loadmodule "/usr/local/lib/ser/modules/sl.so"
 loadmodule "/usr/local/lib/ser/modules/tm.so"
 loadmodule "/usr/local/lib/ser/modules/rr.so"
 loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
 loadmodule "/usr/local/lib/ser/modules/usrloc.so"
 loadmodule "/usr/local/lib/ser/modules/registrar.so"
 loadmodule "/usr/local/lib/ser/modules/textops.so"

 # Uncomment this if you want digest authentication
 # mysql.so must be loaded !
 loadmodule "/usr/local/lib/ser/modules/auth.so"
 loadmodule "/usr/local/lib/ser/modules/auth_db.so"

 # ----------------- setting module-specific parameters --------------

 # -- usrloc params --
 modparam("usrloc","db_url","mysql://root:vlftmd@localhost/ser")
 #modparam("usrloc", "db_mode", 0)
 modparam("registrar","use_domain",1)
 # Uncomment this if you want to use SQL database
 # for persistent storage and comment the previous line
 modparam("usrloc", "db_mode", 2)

 # -- auth params --
 # Uncomment if you are using auth module
 #
 #modparam("auth","secret","123123123")
 #modparam("auth_db","db_url","mysql://root:vlftmd@localhost/ser")
 #modparam("auth_db", "calculate_ha1", yes)
 #
 # If you set "calculate_ha1" parameter to yes (which true in this
 config),
 # uncomment also the following parameter)
 #
 #modparam("auth_db", "password_column", "password")

 # -- 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");
 break;
 };
 if (msg:len >= 2048 ) {
 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("sam.cse", "subscriber")) {
 www_challenge("sam.cse", "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();
 };
 }

_________________________________________________________________
싸게 싸게 MSN공동구매   
http://www.waawaa.com/cobuy/cobuy_default.asp?siteid=10160 




More information about the sr-users mailing list