[Serusers] TCP endpoints behind NAT

Martin Rusnak mafo at cyberspace.sk
Sat May 22 19:34:26 CEST 2004


Hello

I have following use case:

Endpoint1 <------> NAT <------> SER <------> NAT <------> Endpoint2
10.0.0.10    TCP                                   TCP    192.168.0.4

Both enpoints are behind a NAT, connected via TCP transport to SER.
The problem is that no message can be routed between them. It looks
like SER connot find open tcp connection. Here are the error
messages copied from the log:

11(13977) build_req_from_req: id added: <;i=e71>, rcv proto=2
11(13977) parse_headers: flags=2048
11(13977) parse_headers: flags=2048
11(13977) parse_headers: flags=-1
11(13977) clen_builder: content-length: 281 (281)
11(13977) check_via_address(63.64.165.70, 10.0.0.10, 0)
11(13977) tcp_send: no open tcp connection found, opening new one
11(13977) ERROR: tcp_blocking_connect: SO_ERROR (113) No route to host
11(13977) ERROR: tcpconn_connect: tcp_blocking_connect failed
11(13977) ERROR: tcp_send: connect failed
11(13977) msg_send: ERROR: tcp_send failed
11(13977) ERROR: t_forward_nonack: sending request failed

The records for TCP subscribers behind a NAT contains local address
like:
Contact: 'sip:10.0.0.10:12451;transport=tcp'
even if the function fix_contact() is called in registration.

So, how to configure SER for serving the TCP endpoints behind a NAT?

Martin




More information about the sr-users mailing list