You are right. If record_route is used the ACK should be sent to openser first. Thus, inspect the 200 ok received by the client if the record route header present, and inspect the ACK sent from the client if a Route header with the content of the record_route header is present.
btw: which client do you use? There are dozens of buggy sip clients out there.
regards klaus
Maciek Kowalski wrote:
Hello All,
I have a problem with transactions rewrited to asterisk. In my configuration asterisk and openser are behind NAT on a Local Network.(Openser- 192.168.1.2, Asterisk 192.168.1.5) When a User who is behind different NAT(different LAN) sends an Invite which is then rewrited to Asterisk with (rewritehostport("192.168.1.5:5060");) everything works great till asterisk answers with 200OK. In this message the Contact header field is set to "192.168.1.5:5060". When user recieves this 200OK it sends ACK to IPaddress 192.168.1.5 (and since he is behind different NAT..the message goes nowhere). Since the Initial Invite in this transaction is "record_routed" by Openser I thought that the ACK should first go through Openser. Please corect me if Im wrong, and if possible, suggest some solution.
Best Regards,
Maciej Kowalski
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users