El Thursday 25 October 2007 12:17:01 Richard Bennett escribió:
1.2.3.201 = Openser proxy 1.2.3.204 = Cisco gateway 62.1.2.122 = 2nd Openser proxy with user agent module external IP 192.168.1.10 = 2nd Openser proxy with user agent module internal IP 192.168.1.24 = Actual user agent internal IP.
U 62.1.2.122:5060 -> 1.2.3.201:5060 INVITE sip:0222234359@1.2.3.201:5060;transport=udp SIP/2.0. Record-Route: <sip:192.168.1.10;lr=on;ftag=3682a625cb42f09fo0;
^^^^^^^
vsf=AAAAAEVVQkRwAwABGHFFUV5SAFpCaWVuc2ludmVzdG1lbnQuY29t>. Via: SIP/2.0/UDP 192.168.1.10;branch=z9hG4bK811a.687048d4.0. Via: SIP/2.0/UDP 192.168.1.24:5060;branch=z9hG4bK-83909174.
The problem is in the Record-Route added by LAN OpenSer (192.168.1.10).
It should set: Record-Route: <sip:62.1.2.122:5060 SIP/2.0>
so in-dialog request from public OpenSer (1.2.3.201) would be ruted to LAN OpenSer instead of 192.168.1.10. In fact, if you run in public OpenSer: tcpdump -i any -n port 5060 you'll see UDP packets to 192.168.1.10:5060 when receiving the BYE from Cisco.
Solution: you should use in LAN OpenSer: record_route_preset("62.1.2.122:5060"); isntead of: record_route();
Check it since I've never user that function.
Regards.