Another boring may be interesting BUG or what else,
SER, PSTN Gateway are on Public IP and and i've registered two ATA's with SER, both ATA's are connected through ADSL Gateways but Port Forwarding is done so they can call each other without problem and they can talk each other for a long time, when i do a route plan for number beginning with 0 which is directed to PSTN Gateway, the landline rings and when the callee party answers the phone the system locks up, the caller party (where ATA is) 's internet disconnects and i have to reset modem manually.
Any Ideas ? Ozan
0(10163) DEBUG: init_mod_child (0): tm 0(10163) DEBUG: callid: '5ffafd9b-10163@127.0.0.1' 0(10163) DEBUG: init_mod_child (0): usrloc 6(10169) SIP Request: 6(10169) method: <REGISTER> 6(10169) uri: sip:212.154.104.198:5060 6(10169) version: <SIP/2.0> 6(10169) parse_headers: flags=1 6(10169) Found param type 232, <branch> = <z9hG4bK11732b745417decb>; state=16 6(10169) end of header reached, state=5 6(10169) parse_headers: Via found, flags=1 6(10169) parse_headers: this is the first via 6(10169) After parse_msg... 6(10169) preparing to run routing scripts... 6(10169) parse_headers: flags=128 6(10169) DEBUG:maxfwd:is_maxfwd_present: value = 70 6(10169) DBG:maxfwd:process_maxfwd_header: value 70 decreased to 16 6(10169) parse_headers: flags=256 6(10169) end of header reached, state=9 6(10169) DEBUG: get_hdr_field: <To> [34]; uri=[sip:8334843600@212.154.104.198] 6(10169) DEBUG: to body [sip:8334843600@212.154.104.198 ] 6(10169) get_hdr_field: cseq <CSeq>: <194> <REGISTER> 6(10169) DEBUG: get_hdr_body : content_length=0 6(10169) found end of header 6(10169) find_first_route: No Route headers found 6(10169) loose_route: There is no Route HF 6(10169) grep_sock_info - checking if host==us: 15==9 && [212.154.104.198] == [127.0.0.1] 6(10169) grep_sock_info - checking if port 5060 matches port 5060 6(10169) grep_sock_info - checking if host==us: 15==15 && [212.154.104.198] == [212.154.104.198] 6(10169) grep_sock_info - checking if port 5060 matches port 5060 6(10169) grep_sock_info - checking if host==us: 15==9 && [212.154.104.198] == [127.0.0.1] 6(10169) grep_sock_info - checking if port 5060 matches port 5060 6(10169) grep_sock_info - checking if host==us: 15==15 && [212.154.104.198] == [212.154.104.198] 6(10169) grep_sock_info - checking if port 5060 matches port 5060 6(10169) parse_headers: flags=-1 6(10169) parse_headers: flags=33554432 6(10169) build_contact(): Created Contact HF: Contact: sip:8334843600@85.96.192.140:5060;expires=60
6(10169) parse_headers: flags=-1 6(10169) check_via_address(85.96.192.140, 85.96.192.140, 0) 6(10169) DEBUG:destroy_avp_list: destroying list (nil) 6(10169) receive_msg: cleaning up 8(10171) SIP Request: 8(10171) method: <INVITE> 8(10171) uri: sip:02324843600@212.154.104.198 8(10171) version: <SIP/2.0> 8(10171) parse_headers: flags=1 8(10171) Found param type 232, <branch> = <z9hG4bK24ce735d3f448cd1>; state=16 8(10171) end of header reached, state=5 8(10171) parse_headers: Via found, flags=1 8(10171) parse_headers: this is the first via 8(10171) After parse_msg... 8(10171) preparing to run routing scripts... 8(10171) parse_headers: flags=128 8(10171) DEBUG:maxfwd:is_maxfwd_present: value = 70 8(10171) DBG:maxfwd:process_maxfwd_header: value 70 decreased to 16 8(10171) parse_headers: flags=8 8(10171) end of header reached, state=9 8(10171) DEBUG: get_hdr_field: <To> [35]; uri=[sip:02324843600@212.154.104.198] 8(10171) DEBUG: to body [sip:02324843600@212.154.104.198 ] 8(10171) DEBUG: add_param: tag=xIjNwUDMxID 8(10171) end of header reached, state=29 8(10171) parse_headers: flags=256 8(10171) get_hdr_field: cseq <CSeq>: <1> <INVITE> 8(10171) DEBUG: get_hdr_body : content_length=190 8(10171) found end of header 8(10171) find_first_route: No Route headers found 8(10171) loose_route: There is no Route HF 8(10171) grep_sock_info - checking if host==us: 15==9 && [212.154.104.198] == [127.0.0.1] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) grep_sock_info - checking if host==us: 15==15 && [212.154.104.198] == [212.154.104.198] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) grep_sock_info - checking if host==us: 15==9 && [212.154.104.198] == [127.0.0.1] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) grep_sock_info - checking if host==us: 15==15 && [212.154.104.198] == [212.154.104.198] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) lookup(): '02324843600' Not found in usrloc 8(10171) grep_sock_info - checking if host==us: 15==9 && [212.154.104.198] == [127.0.0.1] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) grep_sock_info - checking if host==us: 15==15 && [212.154.104.198] == [212.154.104.198] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) DEBUG: t_newtran: msg id=1 , global msg id=0 , T on entrance=0xffffffff 8(10171) parse_headers: flags=-1 8(10171) parse_headers: flags=60 8(10171) t_lookup_request: start searching: hash=15098, isACK=0 8(10171) DEBUG: RFC3261 transaction matching failed 8(10171) DEBUG: t_lookup_request: no transaction found 8(10171) SER: new INVITE 8(10171) parse_headers: flags=-1 8(10171) check_via_address(85.96.192.140, 85.96.192.140, 0) 8(10171) WARNING:vqm_resize: resize(0) called 8(10171) DEBUG: reply sent out. buf=0x80fbde0: SIP/2.0 1..., shmem=0xf50c6938: SIP/2.0 1 8(10171) DEBUG: _reply_light: finished 8(10171) DEBUG: mk_proxy: doing DNS lookup... 8(10171) check_via_address(85.96.192.140, 85.96.192.140, 0) 8(10171) DEBUG: add_to_tail_of_timer[4]: 0xf50c549c 8(10171) DEBUG: add_to_tail_of_timer[0]: 0xf50c54ac 8(10171) SER: new transaction fwd'ed 8(10171) DEBUG:destroy_avp_list: destroying list (nil) 8(10171) receive_msg: cleaning up 7(10170) SIP Reply (status): 7(10170) version: <SIP/2.0> 7(10170) status: <100> 7(10170) reason: <Trying> 7(10170) parse_headers: flags=1 7(10170) Found param type 232, <branch> = <z9hG4bKafa3.e5774111.0>; state=16 7(10170) end of header reached, state=5 7(10170) parse_headers: Via found, flags=1 7(10170) parse_headers: this is the first via 7(10170) After parse_msg... 7(10170) forward_reply: found module tm, passing reply to it 7(10170) DEBUG: t_check: msg id=1 global id=0 T start=0xffffffff 7(10170) parse_headers: flags=17 7(10170) Found param type 232, <branch> = <z9hG4bK24ce735d3f448cd1>; state=16 7(10170) end of header reached, state=5 7(10170) parse_headers: Via found, flags=17 7(10170) parse_headers: this is the second via 7(10170) DEBUG: add_param: tag=366843004674ff10ff0000ffffffff1e 7(10170) end of header reached, state=29 7(10170) DEBUG: get_hdr_field: <To> [72]; uri=[sip:02324843600@212.154.104.198] 7(10170) DEBUG: to body [sip:02324843600@212.154.104.198] 7(10170) get_hdr_field: cseq <CSeq>: <1> <INVITE> 7(10170) parse_headers: flags=4 7(10170) DEBUG: t_reply_matching: hash 15098 label 286553950 branch 0 7(10170) DEBUG: t_reply_matching: reply matched (T=0xf50c5380)! 7(10170) DEBUG: t_check: msg id=1 global id=1 T end=0xf50c5380 7(10170) DEBUG: reply_received: org. status uas=100, uac[0]=0 local=0 is_invite=1) 7(10170) ->>>>>>>>> T_code=100, new_code=100 7(10170) DEBUG: relay_reply: branch=0, save=0, relay=-1 7(10170) DEBUG: add_to_tail_of_timer[1]: 0xf50c54ac 7(10170) DEBUG:destroy_avp_list: destroying list (nil) 7(10170) receive_msg: cleaning up 10(10173) DEBUG: timer routine:4,tl=0xf50c549c next=(nil) 8(10171) SIP Reply (status): 8(10171) version: <SIP/2.0> 8(10171) status: <180> 8(10171) reason: <Ringing> 8(10171) parse_headers: flags=1 8(10171) Found param type 232, <branch> = <z9hG4bKafa3.e5774111.0>; state=16 8(10171) end of header reached, state=5 8(10171) parse_headers: Via found, flags=1 8(10171) parse_headers: this is the first via 8(10171) After parse_msg... 8(10171) forward_reply: found module tm, passing reply to it 8(10171) DEBUG: t_check: msg id=2 global id=1 T start=0xffffffff 8(10171) parse_headers: flags=17 8(10171) Found param type 232, <branch> = <z9hG4bK24ce735d3f448cd1>; state=16 8(10171) end of header reached, state=5 8(10171) parse_headers: Via found, flags=17 8(10171) parse_headers: this is the second via 8(10171) DEBUG: add_param: tag=366843004674ff10ff0000ffffffff1e 8(10171) end of header reached, state=29 8(10171) DEBUG: get_hdr_field: <To> [72]; uri=[sip:02324843600@212.154.104.198] 8(10171) DEBUG: to body [sip:02324843600@212.154.104.198] 8(10171) get_hdr_field: cseq <CSeq>: <1> <INVITE> 8(10171) parse_headers: flags=4 8(10171) DEBUG: t_reply_matching: hash 15098 label 286553950 branch 0 8(10171) DEBUG: t_reply_matching: reply matched (T=0xf50c5380)! 8(10171) DEBUG: t_check: msg id=2 global id=2 T end=0xf50c5380 8(10171) DEBUG: reply_received: org. status uas=100, uac[0]=100 local=0 is_invite=1) 8(10171) ->>>>>>>>> T_code=100, new_code=180 8(10171) DEBUG: relay_reply: branch=0, save=0, relay=0 8(10171) old size: 518, new size: 449 8(10171) build_res_from_sip_res: copied size: orig:90, new: 21, rest: 428 msg= SIP/2.0 180 Ringing Via: SIP/2.0/UDP 85.96.192.140:5060;branch=z9hG4bK24ce735d3f448cd1 Record-Route: sip:212.154.104.198;ftag=xIjNwUDMxID;lr=on From: sip:8334843600@212.154.104.198;user=phone;tag=xIjNwUDMxID To: sip:02324843600@212.154.104.198;tag=366843004674ff10ff0000ffffffff1e Call-ID: 709D1B912DA1212@192.168.1.201 CSeq: 1 INVITE Contact: sip:02324843600@212.154.59.48;user=phone Server: MERA MSIP v.1.0.1 Content-Length: 0
8(10171) DEBUG: reply relayed. buf=0x80fb9d8: SIP/2.0 1..., shmem=0xf50c6938: SIP/2.0 1 8(10171) DEBUG: add_to_tail_of_timer[1]: 0xf50c54ac 8(10171) DEBUG:destroy_avp_list: destroying list (nil) 8(10171) receive_msg: cleaning up
internet connection get lost after above lines and below is SER.CFG <<<<<
# # $Id: openser.cfg,v 1.1.1.1 2005/06/13 16:47:30 bogdan_iancu Exp $ # # simple quick-start config script #
# ----------- global configuration parameters ------------------------
#debug=3 # debug level (cmd line: -dddddddddd) fork=yes #log_stderror=no # (cmd line: -E)
alias=localhost alias=127.0.0.1 alias=212.154.104.198 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"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database #loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/lib/openser/modules/sl.so" loadmodule "/usr/lib/openser/modules/tm.so" loadmodule "/usr/lib/openser/modules/rr.so" loadmodule "/usr/lib/openser/modules/maxfwd.so" loadmodule "/usr/lib/openser/modules/usrloc.so" loadmodule "/usr/lib/openser/modules/registrar.so" loadmodule "/usr/lib/openser/modules/textops.so"
# Uncomment this if you want digest authentication # mysql.so must be loaded ! #loadmodule "/usr/lib/openser/modules/auth.so" #loadmodule "/usr/lib/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)
# -- auth params -- # Uncomment if you are using auth module # #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)
alias=212.154.104.198 alias=localhost alias=127.0.0.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("openser.org", "subscriber")) { # www_challenge("openser.org", "0"); # break; # };
save("location"); break; };
lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; };
if (uri=~"^sip:0[0-9]*@*") { rewritehost("212.154.59.48"); 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(); }; }
Hi
And the 2nd: Does the adsl cpe nat?
bye, Ingo
Another boring may be interesting BUG or what else,
SER, PSTN Gateway are on Public IP and and i've registered two ATA's with SER, both ATA's are connected through ADSL Gateways but Port Forwarding is done so they can call each other without problem and they can talk each other for a long time, when i do a route plan for number beginning with 0 which is directed to PSTN Gateway, the landline rings and when the callee
party
answers the phone the system locks up, the caller party (where ATA is) 's internet disconnects and i have to reset modem manually.
Any Ideas ? Ozan
0(10163) DEBUG: init_mod_child (0): tm 0(10163) DEBUG: callid: '5ffafd9b-10163@127.0.0.1' 0(10163) DEBUG: init_mod_child (0): usrloc 6(10169) SIP Request: 6(10169) method: <REGISTER> 6(10169) uri: sip:212.154.104.198:5060 6(10169) version: <SIP/2.0> 6(10169) parse_headers: flags=1 6(10169) Found param type 232, <branch> = <z9hG4bK11732b745417decb>; state=16 6(10169) end of header reached, state=5 6(10169) parse_headers: Via found, flags=1 6(10169) parse_headers: this is the first via 6(10169) After parse_msg... 6(10169) preparing to run routing scripts... 6(10169) parse_headers: flags=128 6(10169) DEBUG:maxfwd:is_maxfwd_present: value = 70 6(10169) DBG:maxfwd:process_maxfwd_header: value 70 decreased to 16 6(10169) parse_headers: flags=256 6(10169) end of header reached, state=9 6(10169) DEBUG: get_hdr_field: <To> [34]; uri=[sip:8334843600@212.154.104.198] 6(10169) DEBUG: to body [sip:8334843600@212.154.104.198 ] 6(10169) get_hdr_field: cseq <CSeq>: <194> <REGISTER> 6(10169) DEBUG: get_hdr_body : content_length=0 6(10169) found end of header 6(10169) find_first_route: No Route headers found 6(10169) loose_route: There is no Route HF 6(10169) grep_sock_info - checking if host==us: 15==9 && [212.154.104.198] == [127.0.0.1] 6(10169) grep_sock_info - checking if port 5060 matches port 5060 6(10169) grep_sock_info - checking if host==us: 15==15 && [212.154.104.198] == [212.154.104.198] 6(10169) grep_sock_info - checking if port 5060 matches port 5060 6(10169) grep_sock_info - checking if host==us: 15==9 && [212.154.104.198] == [127.0.0.1] 6(10169) grep_sock_info - checking if port 5060 matches port 5060 6(10169) grep_sock_info - checking if host==us: 15==15 && [212.154.104.198] == [212.154.104.198] 6(10169) grep_sock_info - checking if port 5060 matches port 5060 6(10169) parse_headers: flags=-1 6(10169) parse_headers: flags=33554432 6(10169) build_contact(): Created Contact HF: Contact: sip:8334843600@85.96.192.140:5060;expires=60
6(10169) parse_headers: flags=-1 6(10169) check_via_address(85.96.192.140, 85.96.192.140, 0) 6(10169) DEBUG:destroy_avp_list: destroying list (nil) 6(10169) receive_msg: cleaning up 8(10171) SIP Request: 8(10171) method: <INVITE> 8(10171) uri: sip:02324843600@212.154.104.198 8(10171) version: <SIP/2.0> 8(10171) parse_headers: flags=1 8(10171) Found param type 232, <branch> = <z9hG4bK24ce735d3f448cd1>; state=16 8(10171) end of header reached, state=5 8(10171) parse_headers: Via found, flags=1 8(10171) parse_headers: this is the first via 8(10171) After parse_msg... 8(10171) preparing to run routing scripts... 8(10171) parse_headers: flags=128 8(10171) DEBUG:maxfwd:is_maxfwd_present: value = 70 8(10171) DBG:maxfwd:process_maxfwd_header: value 70 decreased to 16 8(10171) parse_headers: flags=8 8(10171) end of header reached, state=9 8(10171) DEBUG: get_hdr_field: <To> [35]; uri=[sip:02324843600@212.154.104.198] 8(10171) DEBUG: to body [sip:02324843600@212.154.104.198 ] 8(10171) DEBUG: add_param: tag=xIjNwUDMxID 8(10171) end of header reached, state=29 8(10171) parse_headers: flags=256 8(10171) get_hdr_field: cseq <CSeq>: <1> <INVITE> 8(10171) DEBUG: get_hdr_body : content_length=190 8(10171) found end of header 8(10171) find_first_route: No Route headers found 8(10171) loose_route: There is no Route HF 8(10171) grep_sock_info - checking if host==us: 15==9 && [212.154.104.198] == [127.0.0.1] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) grep_sock_info - checking if host==us: 15==15 && [212.154.104.198] == [212.154.104.198] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) grep_sock_info - checking if host==us: 15==9 && [212.154.104.198] == [127.0.0.1] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) grep_sock_info - checking if host==us: 15==15 && [212.154.104.198] == [212.154.104.198] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) lookup(): '02324843600' Not found in usrloc 8(10171) grep_sock_info - checking if host==us: 15==9 && [212.154.104.198] == [127.0.0.1] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) grep_sock_info - checking if host==us: 15==15 && [212.154.104.198] == [212.154.104.198] 8(10171) grep_sock_info - checking if port 5060 matches port 5060 8(10171) DEBUG: t_newtran: msg id=1 , global msg id=0 , T on entrance=0xffffffff 8(10171) parse_headers: flags=-1 8(10171) parse_headers: flags=60 8(10171) t_lookup_request: start searching: hash=15098, isACK=0 8(10171) DEBUG: RFC3261 transaction matching failed 8(10171) DEBUG: t_lookup_request: no transaction found 8(10171) SER: new INVITE 8(10171) parse_headers: flags=-1 8(10171) check_via_address(85.96.192.140, 85.96.192.140, 0) 8(10171) WARNING:vqm_resize: resize(0) called 8(10171) DEBUG: reply sent out. buf=0x80fbde0: SIP/2.0 1..., shmem=0xf50c6938: SIP/2.0 1 8(10171) DEBUG: _reply_light: finished 8(10171) DEBUG: mk_proxy: doing DNS lookup... 8(10171) check_via_address(85.96.192.140, 85.96.192.140, 0) 8(10171) DEBUG: add_to_tail_of_timer[4]: 0xf50c549c 8(10171) DEBUG: add_to_tail_of_timer[0]: 0xf50c54ac 8(10171) SER: new transaction fwd'ed 8(10171) DEBUG:destroy_avp_list: destroying list (nil) 8(10171) receive_msg: cleaning up 7(10170) SIP Reply (status): 7(10170) version: <SIP/2.0> 7(10170) status: <100> 7(10170) reason: <Trying> 7(10170) parse_headers: flags=1 7(10170) Found param type 232, <branch> = <z9hG4bKafa3.e5774111.0>; state=16 7(10170) end of header reached, state=5 7(10170) parse_headers: Via found, flags=1 7(10170) parse_headers: this is the first via 7(10170) After parse_msg... 7(10170) forward_reply: found module tm, passing reply to it 7(10170) DEBUG: t_check: msg id=1 global id=0 T start=0xffffffff 7(10170) parse_headers: flags=17 7(10170) Found param type 232, <branch> = <z9hG4bK24ce735d3f448cd1>; state=16 7(10170) end of header reached, state=5 7(10170) parse_headers: Via found, flags=17 7(10170) parse_headers: this is the second via 7(10170) DEBUG: add_param: tag=366843004674ff10ff0000ffffffff1e 7(10170) end of header reached, state=29 7(10170) DEBUG: get_hdr_field: <To> [72]; uri=[sip:02324843600@212.154.104.198] 7(10170) DEBUG: to body [sip:02324843600@212.154.104.198] 7(10170) get_hdr_field: cseq <CSeq>: <1> <INVITE> 7(10170) parse_headers: flags=4 7(10170) DEBUG: t_reply_matching: hash 15098 label 286553950 branch 0 7(10170) DEBUG: t_reply_matching: reply matched (T=0xf50c5380)! 7(10170) DEBUG: t_check: msg id=1 global id=1 T end=0xf50c5380 7(10170) DEBUG: reply_received: org. status uas=100, uac[0]=0 local=0 is_invite=1) 7(10170) ->>>>>>>>> T_code=100, new_code=100 7(10170) DEBUG: relay_reply: branch=0, save=0, relay=-1 7(10170) DEBUG: add_to_tail_of_timer[1]: 0xf50c54ac 7(10170) DEBUG:destroy_avp_list: destroying list (nil) 7(10170) receive_msg: cleaning up 10(10173) DEBUG: timer routine:4,tl=0xf50c549c next=(nil) 8(10171) SIP Reply (status): 8(10171) version: <SIP/2.0> 8(10171) status: <180> 8(10171) reason: <Ringing> 8(10171) parse_headers: flags=1 8(10171) Found param type 232, <branch> = <z9hG4bKafa3.e5774111.0>; state=16 8(10171) end of header reached, state=5 8(10171) parse_headers: Via found, flags=1 8(10171) parse_headers: this is the first via 8(10171) After parse_msg... 8(10171) forward_reply: found module tm, passing reply to it 8(10171) DEBUG: t_check: msg id=2 global id=1 T start=0xffffffff 8(10171) parse_headers: flags=17 8(10171) Found param type 232, <branch> = <z9hG4bK24ce735d3f448cd1>; state=16 8(10171) end of header reached, state=5 8(10171) parse_headers: Via found, flags=17 8(10171) parse_headers: this is the second via 8(10171) DEBUG: add_param: tag=366843004674ff10ff0000ffffffff1e 8(10171) end of header reached, state=29 8(10171) DEBUG: get_hdr_field: <To> [72]; uri=[sip:02324843600@212.154.104.198] 8(10171) DEBUG: to body [sip:02324843600@212.154.104.198] 8(10171) get_hdr_field: cseq <CSeq>: <1> <INVITE> 8(10171) parse_headers: flags=4 8(10171) DEBUG: t_reply_matching: hash 15098 label 286553950 branch 0 8(10171) DEBUG: t_reply_matching: reply matched (T=0xf50c5380)! 8(10171) DEBUG: t_check: msg id=2 global id=2 T end=0xf50c5380 8(10171) DEBUG: reply_received: org. status uas=100, uac[0]=100 local=0 is_invite=1) 8(10171) ->>>>>>>>> T_code=100, new_code=180 8(10171) DEBUG: relay_reply: branch=0, save=0, relay=0 8(10171) old size: 518, new size: 449 8(10171) build_res_from_sip_res: copied size: orig:90, new: 21, rest: 428 msg= SIP/2.0 180 Ringing Via: SIP/2.0/UDP 85.96.192.140:5060;branch=z9hG4bK24ce735d3f448cd1 Record-Route: sip:212.154.104.198;ftag=xIjNwUDMxID;lr=on From: sip:8334843600@212.154.104.198;user=phone;tag=xIjNwUDMxID To: sip:02324843600@212.154.104.198;tag=366843004674ff10ff0000ffffffff1e Call-ID: 709D1B912DA1212@192.168.1.201 CSeq: 1 INVITE Contact: sip:02324843600@212.154.59.48;user=phone Server: MERA MSIP v.1.0.1 Content-Length: 0
8(10171) DEBUG: reply relayed. buf=0x80fb9d8: SIP/2.0 1..., shmem=0xf50c6938: SIP/2.0 1 8(10171) DEBUG: add_to_tail_of_timer[1]: 0xf50c54ac 8(10171) DEBUG:destroy_avp_list: destroying list (nil) 8(10171) receive_msg: cleaning up
internet connection get lost after above lines and below is SER.CFG
<<<<<
# # $Id: openser.cfg,v 1.1.1.1 2005/06/13 16:47:30 bogdan_iancu Exp $ # # simple quick-start config script #
# ----------- global configuration parameters ------------------------
#debug=3 # debug level (cmd line: -dddddddddd) fork=yes #log_stderror=no # (cmd line: -E)
alias=localhost alias=127.0.0.1 alias=212.154.104.198 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"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database #loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/lib/openser/modules/sl.so" loadmodule "/usr/lib/openser/modules/tm.so" loadmodule "/usr/lib/openser/modules/rr.so" loadmodule "/usr/lib/openser/modules/maxfwd.so" loadmodule "/usr/lib/openser/modules/usrloc.so" loadmodule "/usr/lib/openser/modules/registrar.so" loadmodule "/usr/lib/openser/modules/textops.so"
# Uncomment this if you want digest authentication # mysql.so must be loaded ! #loadmodule "/usr/lib/openser/modules/auth.so" #loadmodule "/usr/lib/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)
# -- auth params -- # Uncomment if you are using auth module # #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)
alias=212.154.104.198 alias=localhost alias=127.0.0.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("openser.org", "subscriber")) { # www_challenge("openser.org", "0"); # break; # };
save("location"); break; }; lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; }; if (uri=~"^sip:0[0-9]*@*") { rewritehost("212.154.59.48"); 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(); }; }