Hi Klaus, > If Kamailio founds out that the topmost Router header is itself, then it will > remove it and use the nexxt Route header or the Request-URI.
Then, this case, the topmost Route: header is itself, then removes it (no more Route: headers) and finally must decides to route the request to the R-URI which is itself but at different port. However, it is not using that port (7080), but 5060. Why? In logs, after loose_route() is called, it writes: ERROR: <script>: WITHINDLG: method BYE with sip:321456@<sip-router_ip>:7080 _ DEBUG: siputils [checks.c:107]: totag found_ DEBUG: rr [loose.c:85]: is_preloaded: No_ DEBUG: <core> [socket_info.c:502]: grep_sock_info - checking if host==us: 13==13 && [<sip-router_ip>] == [<sip-router_ip>]_ DEBUG: <core> [socket_info.c:505]: grep_sock_info - checking if port 5060 matches port 7080_ DEBUG: <core> [forward.c:448]: check_self: host != me_ DEBUG: rr [loose.c:594]: Next hop: 'sip:<sip-router_ip>;lr=on' is loose router_ DEBUG: rr [loose.c:644]: The last route URI: 'sip:<sip-router_ip>;lr=on'_ ERROR: <script>: RELAY: method BYE with sip:<sip-router_ip>;lr=on _ ERROR: <script>: RELAY: calling t_relay() to sip:<sip-router_ip>;lr=on Message buffer: BYE sip:321456@<sip-router_ip>:7080 SIP/2.0__Via: SIP/2.0/UDP <remote_uac_ip>:5060;branch=z9hG4bKb111e6a26E0306F7__From: <sip:445566@<sip-router_ip>:5060>;tag=4DB62C24-2C3E0621__To: "321456" <sip:321456@<sip-router_ip>:7080>;tag=as369d9f82__Route: <sip:<sip-router_ip>;lr=on>__CSeq: 1 BYE__Call-ID: 15cbe04c69ede18c2e1f5a9221eea388@<sip-router_ip>:7080__Contact: <sip:445566@<remote_uac_ip>:5060>__User-Agent: UAc__Max-Forwards: 69__Content-Length: 0 loose.c finds it as "Next hop" and not as "Topmost route uri". Claudio > > If Kamailio fails to recognize that the Route header is itself, then it will > forward the request to the address in the Route header (loop). > > (considering that you use the default config file with loose_route()). > > thus, make sure that the URI in the Route header is recognized by Kamailio as > itself. (it should be if you use record_route() function). > > Set debug=4 and grep for "myself" when the loose_route() function is called. > Then you will see if Kamailio matches the topmost Route URI. > > regards > Klaus > > On 24.10.2011 14:55, Claudio Furrer wrote: > > Hello, > > > > How does sip-router process this BYE? > > > > BYE sip:321456@<sip-router_ip>:7080 SIP/2.0 > > Via: SIP/2.0/UDP<remote_uac_ip>:5060;branch=z9hG4bK7fb4c2325A0617FF > > From:<sip:445...@mydomain.com:5060>;tag=19C8FD8-72B75A25 > > To: "321456"<sip:321456@<sip-router_ip>:7080>;tag=as28777464 > > Route:<sip:<sip-router_ip>;lr=on> > > CSeq: 1 BYE > > Call-ID: 2b9512ef7ea290f07c54db1808e32211@<asterisk_ip>:7080 > > Contact:<sip:445566@<remote_uac_ip>:5060> > > User-Agent: UAc > > Max-Forwards: 70 > > Content-Length: 0 > > > > Does it routes the BYE, reading first the RURI or the Route header field? > > What if<sip-router_ip>:7080 is not itself (myself variable), because > > currently > > the proxy is listening at different port (5060)? > > > > Note: proxy working in stateful mode. > > > > Regards, > > Claudio > > > > pd: I've read section "16.4 Route Information Preprocessing" of rfc but it's > > not clear for me in this case. > > > > _______________________________________________ > > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list > > sr-users@lists.sip-router.org > > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users > _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users