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.
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es