[Users] Bug in OpenSER ?

Ozan Blotter cosmocid at ispro.net.tr
Tue Jun 28 18:12:40 CEST 2005


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();
        };
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kamailio.org/pipermail/users/attachments/20050628/a09e2304/attachment.htm 


More information about the Users mailing list