[Users] strict to loose - Route Header not removed
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Thu May 11 11:06:46 CEST 2006
perfect - once the cvs is back online, I will commit the fix.
Thanks and regards,
bogdan
Walter Schober wrote:
>Hi Bogdan!
>
>I can verify, that the patch is working correctly now!
>Now the correct headers are removed and the routing is right.
>
>Thanks!
>Br Walter
>
>P.S.: Logs are the same than below, so I don't add it here.
>
>-----Original Message-----
>From: Bogdan-Andrei Iancu [mailto:bogdan at voice-system.ro]
>Sent: Wednesday, May 10, 2006 9:38 PM
>To: Walter Schober
>Cc: users at openser.org
>Subject: Re: [Users] strict to loose - Route Header not removed
>
>Hi Walter,
>
>I will try to take a look on the issue from 2).
>Also find attached the patch against the latest devel version - please
>give it a try a let me know if it fixes your problem.
>
>regards,
>bogdan
>
>Walter Schober wrote:
>
>
>
>>Hi Bogdan!
>>
>>1) OpenSER forwards the INVITE correctly including the ;lr parameter. It's
>>the PSTN GW sending a "strict" ACK. They will fix it. Currently I just take
>>this GW to reproduce the issue. Yes, 111.222.333.132 is the OS proxy.
>>
>>2) I do also believe that it recognizes itself, although grep_sock_info()
>>returns false. This runs on a test system with that single call only and
>>yes, this is all the log.
>>Another issue I see here:
>>If openser is started with the -l parameter, there is no listener
>>
>>
>configured
>
>
>>on the IP (address - just the aliases via /etc/hosts). It seems to look
>>
>>
>into
>
>
>>the hosts file, resolves reverse via hosts file and uses the first hostname
>>in the hostfile in the grep_sock_info(). So it always compares the incoming
>>IP with the first hostname in /etc/hosts correlated to that IP.
>>This doesn't happen, if I specify the listen=udp:111.222.333.132:5060 in
>>
>>
>the
>
>
>>script and omit the -l option.
>>Nevertheless I guess, that's not the problem for the strict routing.
>>
>>3) It would be great, if you could provide me with that patch to either the
>>latest CVS snapshot or the 1.0.0 official source.
>>It's just to verify if it solves my problem, otherwise I will look into it.
>>
>>Br
>>Walter
>>
>>-----Original Message-----
>>From: Bogdan-Andrei Iancu [mailto:bogdan at voice-system.ro]
>>Sent: Wednesday, May 10, 2006 12:37 PM
>>To: Walter Schober
>>Cc: users at openser.org
>>Subject: Re: [Users] strict to loose - Route Header not removed
>>
>>HI Walter,
>>
>>I see here three problems:
>>
>>1) as I guess your proxy IP is 111.222.333.132, I find rather strange
>>why the ACK RURI does not contain the "lr" parameter - OpenSER does only
>>loose routing and inserts the RR hdr with "lr" and "ftag" params all the
>>time. Can you check this in the INVITE and 200 OK? It might be a bug in
>>the phone also.
>>
>>2) even if the proxy does recognize the 111.222.333.132 IP as its own
>>(as it follows the "after_strict" processing), not sure why you get this
>>"check_self: host != me". Is the output log continuous?
>>
>>3) indeed there was a bug in RR "after_strict" processing. I fixed it,
>>but I cannot commit it since thanks no SF none of the repository is
>>online (CVS or SVN) :(.
>>
>>If yo need it fast, I can generate a patch for you to be able to test.
>>
>>Thanks and regards,
>>Bogdan
>>
>>
>>
>>
>>Walter Schober wrote:
>>
>>
>>
>>
>>
>>>0(30621) parse_headers: flags=200
>>>0(30621) is_preloaded: No
>>>0(30621) grep_sock_info - checking if host==us: 13==3 &&
>>>
>>>
>>>
>>>
>>[111.222.333.132]
>>
>>
>>
>>
>>>== [os0]
>>>0(30621) grep_sock_info - checking if port 5060 matches port 5060
>>>0(30621) grep_sock_info - checking if host==us: 13==3 &&
>>>
>>>
>>>
>>>
>>[111.222.333.130]
>>
>>
>>
>>
>>>== [os0]
>>>0(30621) grep_sock_info - checking if port 5060 matches port 5084
>>>0(30621) grep_sock_info - checking if host==us: 13==3 &&
>>>
>>>
>>>
>>>
>>[111.222.333.130]
>>
>>
>>
>>
>>>== [os0]
>>>0(30621) grep_sock_info - checking if port 5060 matches port 5084
>>>
>>>Is this the problem?
>>>0(30621) check_self: host != me
>>>0(30621) after_strict: Next hop: 'sip:111.222.333.130:5084;lr' is loose
>>>router
>>>0(30621) parse_headers: flags=ffffffffffffffff
>>>0(30621) rewrite_uri: Rewriting Request-URI with
>>>'sip:0720123456 at 111.222.333.129:5060;x-orig=111.222.444.61:5064;x-orig-nat
>>>
>>>
>=
>
>
>>>
>>>
>>>
>>>
>>1
>>
>>
>>
>>
>>>92.168.40.4:5064'
>>>0(30621) after_strict: The last route URI:
>>>'sip:0720123456 at 111.222.333.129:5060;x-orig=111.222.444.61:5064;x-orig-nat
>>>
>>>
>=
>
>
>>>
>>>
>>>
>>>
>>1
>>
>>
>>
>>
>>>92.168.40.4:5064'
>>>0(30621) xl_printf: final buffer length 18
>>>
>>>Openser 1.0.0.
>>>
>>>Br
>>>Walter
>>>
>>>-----Original Message-----
>>>From: users-bounces at openser.org [mailto:users-bounces at openser.org] On
>>>
>>>
>>>
>>>
>>Behalf
>>
>>
>>
>>
>>>Of Walter Schober
>>>Sent: Wednesday, May 10, 2006 8:25 AM
>>>To: users at openser.org
>>>Subject: [Users] strict to loose - Route Header not removed
>>>
>>>Hello!
>>>
>>>Acc to 3261, 16.4:
>>>the proxy MUST replace the Request-URI in the request with the last
>>>value from the Route header field, and remove that value from the
>>>Route header field. The proxy MUST then proceed as if it received
>>>this modified request.
>>>
>>>The loose_route() function does only the half on my
>>>if (looose_route()) {
>>>..
>>>t_relay()
>>>..
>>>}
>>>script. It replaces the RURI with the value of the last Route header,
>>>but then doesn't remove it, causing problems on the last hop.
>>>
>>>The strict.txt contains a ACK with comes in strict and leaves loose -
>>>with the Route header.
>>>
>>>Aliases are configured with ip.ip.ip.ip and ip.ip.ip.ip:5060.
>>>
>>>Why is the Route header not stripped?
>>>
>>>Walter
>>>
>>>
>>>
>>>_______________________________________________
>>>Users mailing list
>>>Users at openser.org
>>>http://openser.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>
>
>
>
>
More information about the Users
mailing list