[Devel] loose_route goes strict with BYEs

Tavis P tavis.lists at galaxytelecom.net
Thu Jun 29 19:11:13 CEST 2006


G.Jacobsen wrote:
> Gentlemen,
>
> I have openser sitting on the same machine as another UA - openser is on
> port 5060 the other on 5061. BYEs by the UA are not loose_routed to the
> originating client - causing the BYEs to loop on openser with 513 message
> too big.
>
> I am not sure whether this is related - but a similar problem seems to have
> been touched here before - still cant find the solution.
> http://openser.org/pipermail/devel/2006-April/002540.html
>
> I have put all aliases with the port 5060 now - still doesnt help.
>
> If I read the debug correctly openser does strict routing on this line - why
> ?
> "rewrite_uri: Rewriting Request-URI with
> 'sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on' "
>
> I would be most grateful if someone could explain which parameter causes the
> BYE to go strict.
>
>   
Could you provide a ngrep dump of the incoming BYE message, and the
alias= lines of you openser.cfg?

It sounds to me like you have an alias defined that does not contain a
port, which currently would cause this to happen

I fixed it in my environment by setting only aliases with ports on them
(i run openser on a non standard port anyways so i dont' need to have
one defined without a port) however if you run OpenSER on port 5060 i
don't believe you will be able to do this because leaving out the port
in a request is an implicit 5060 and OpenSER/rr does not work with this
issue unless an alias is defined without the port (which will cause
problems with local forwards).

Either way i can provide a small patch that may solve your issue,
however there is a huge disclaimer attached to it (i am not an
experienced C programmer, therefore the patch may inadvertently end up
launching nuclear missiles at Russia)



> TIA Gerry
>
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: SIP Request:
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:  method:  <BYE>
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:  uri:
> <sip:1234567 at sip.somedomain.com:5060>
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:  version: <SIP/2.0>
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
> flags=2
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: add_param:
> tag=109880961431220
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:parse_to:end
> of header reached, state=29
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:
> get_hdr_field: <To> [55]; uri=[sip:1234567 at sip.somedomain.com:5060]
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: to body
> [<sip:1234567 at sip.somedomain.com:5060>]
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: Found param type
> 235, <rport> = <n/a>; state=6
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: Found param type
> 232, <branch> = <z9hG4bK719885386>; state=16
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: end of header
> reached, state=5
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers: Via
> found, flags=2
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers: this
> is the first via
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: After parse_msg...
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: preparing to run
> routing scripts...
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
> flags=100
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: get_hdr_field: cseq
> <CSeq>: <2> <BYE>
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
> DEBUG:maxfwd:is_maxfwd_present: value = 70
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: add_param:
> tag=1957747793
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:parse_to:end
> of header reached, state=29
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
> flags=200
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: is_preloaded: No
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if host==us: 14==9 &&  [sip.somedomain.com] == [127.0.0.1]
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if port 5060 matches port 5060
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if host==us: 14==13 &&  [sip.somedomain.com] == [111.111.111.111]
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if port 5060 matches port 5060
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if host==us: 14==9 &&  [sip.somedomain.com] == [127.0.0.1]
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if port 5060 matches port 5060
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if host==us: 14==13 &&  [sip.somedomain.com] == [111.111.111.111]
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if port 5060 matches port 5060
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if host==us: 9==9 &&  [127.0.0.1] == [127.0.0.1]
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if port 5060 matches port 5060
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
> checking if host==us: 9==9 &&  [127.0.0.1] == [127.0.0.1]
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
> DBG:rr:run_rr_callbacks: callback id 0 entered
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
> DEBUG:uac:restore_from: getting 'vsf' Route param
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
> DEBUG:uac:restore_from: Route param 'vsf' not found
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: after_strict: Next
> hop: 'sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on' is loose router
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
> flags=ffffffffffffffff
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: get_hdr_body
> : content_length=0
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: found end of header
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: rewrite_uri:
> Rewriting Request-URI with
> 'sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on'
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: after_strict: The
> last route URI: 'sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on'
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
> flags=ffffffffffffffff
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
> flags=58
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: rc_get_seqnbr:
> couldn't open sequence file /var/run/radius.seq: Permission denied
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
> flags=58
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: ACC: request
> accounted: method=BYE, i-uri=sip:1234567 at sip.somedomain.com:5060,
> o-uri=sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on,
> call_id=2BCF5051-F28C-4CCA-AE6B-D895607B668E at 81.198.36.24,
> from=<sip:7654321 at sip.somedomain.com:5060>;tag=1957747793, code=200 ok
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: t_newtran:
> msg id=2 , global msg id=1 , T on entrance=0xffffffff
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
> flags=ffffffffffffffff
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
> flags=78
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: t_lookup_request:
> start searching: hash=51354, isACK=0
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: RFC3261
> transaction matching failed
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:
> t_lookup_request: no transaction found
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DBG:
> trans=0x405797d8, callback type 1, id 0 entered
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: mk_proxy:
> doing DNS lookup...
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
> check_via_address(127.0.0.1, 127.0.0.1, 0)
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:
> add_to_tail_of_timer[4]: 0x405798f4
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: SIP Request:
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:
> add_to_tail_of_timer[0]: 0x40579904
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]:  method:  <BYE>
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: SER: new
> transaction fwd'ed
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]:  uri:
> <sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on>
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
> DEBUG:destroy_avp_list: destroying list (nil)
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]:  version: <SIP/2.0>
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: receive_msg:
> cleaning up
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers:
> flags=2
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG: add_param:
> tag=109880961431220
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG:parse_to:end
> of header reached, state=29
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG:
> get_hdr_field: <To> [55]; uri=[sip:1234567 at sip.somedomain.com:5060]
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG: to body
> [<sip:1234567 at sip.somedomain.com:5060>]
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: Found param type
> 232, <branch> = <z9hG4bKa98c.f4c21e03.0>; state=16
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: end of header
> reached, state=5
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers: Via
> found, flags=2
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers: this
> is the first via
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: After parse_msg...
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: preparing to run
> routing scripts...
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers:
> flags=100
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: Found param type
> 235, <rport> = <5061>; state=6
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: Found param type
> 232, <branch> = <z9hG4bK719885386>; state=16
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: end of header
> reached, state=5
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers: Via
> found, flags=100
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers: this
> is the second via
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: get_hdr_field: cseq
> <CSeq>: <2> <BYE>
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]:
> DEBUG:maxfwd:is_maxfwd_present: value = 69
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG: add_param:
> tag=1957747793
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG:parse_to:end
> of header reached, state=29
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers:
> flags=200
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG: get_hdr_body
> : content_length=0
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: found end of header
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: find_first_route:
> No Route headers found
> Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: loose_route: There
> is no Route HF
>
>
> 	
> 	
> 		
> ___________________________________________________________ 
> All new Yahoo! Mail "The new Interface is stunning in its simplicity and ease of use." - PC Magazine 
> http://uk.docs.yahoo.com/nowyoucan.html
>
>
> _______________________________________________
> Devel mailing list
> Devel at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/devel
>
>
>   




More information about the Devel mailing list