Re: [Users] Bug in OpenSER ?

Ingo Wolfsberger iwolfsberger at gmx.net
Tue Jun 28 18:21:21 CEST 2005


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 at 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 at 212.154.104.198]
>  6(10169) DEBUG: to body [<sip:8334843600 at 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 at 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 at 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 at 212.154.104.198]
>  8(10171) DEBUG: to body [<sip:02324843600 at 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 at 212.154.104.198]
>  7(10170) DEBUG: to body [<sip:02324843600 at 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 at 212.154.104.198]
>  8(10171) DEBUG: to body [<sip:02324843600 at 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 at 212.154.104.198;user=phone>;tag=xIjNwUDMxID
> To: <sip:02324843600 at 212.154.104.198>;tag=366843004674ff10ff0000ffffffff1e
> Call-ID: 709D1B912DA1212 at 192.168.1.201
> CSeq: 1 INVITE
> Contact: <sip:02324843600 at 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();
>         };
> }

-- 
Weitersagen: GMX DSL-Flatrates mit Tempo-Garantie!
Ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl




More information about the Users mailing list