Thanks for a quick response. I'm sorry but I've messed up a little bit. I've got 2 asterisks and the one I've mentioned is on the same box as Openser.(Openser 192.168.1.2:5060, Asterisk 192.168.1.2:5065) Openser acually "record_route" the Invite but it puts there his private address (192.168.1.2). I presume that's why the user behind different NAT cannot reach it. I've tried record_route_preset(""); with public IP of NAT where openser is, and in that configuration, ACK reaches Openser but it loops and is not forwarded to 192.168.1.2:5065 (Asterisk).RURI in this ACK is "sth@192.168.1.2:5065", and Openser listens on port 5060 so I dont understand why it behaves this way.
What do You suggest?
Thanks in advance and sorry once more for this mess.I hope what I write is still clear.
---- Wiadomość Oryginalna ---- Od: Klaus Darilion klaus.mailinglists@pernau.at Do: Maciek Kowalski macius_13@o2.pl Kopia do: users@openser.org Data: 13 czerwca 2007 13:11 Temat: Re: [Users] 200OK Contact header field.
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