Sounds like a bug.
Anyway, as fix_nated_contact is not standard conform, it is better to use handle_ruri_alias() and add_contact_alias() (see the Kamailio default config file). Maybe they handle also IPv6 correct.
regards Klaus
On 22.01.2015 16:26, Sebastian Damm wrote:
Hi,
I'm trying to set up a Kamailio (4.1.3) server which converts between IPv6 and IPv4. Everything looks pretty good. Now I have a test client which sends packets via IPv6, but in contact header, SDP etc. there are still IPv4 addresses. (This comes from some converting from v4 to v6 earlier.) Thus, Kamailio tries to do a fix_nated_contact(). But after fixing, the Contact URI is wrong.
Example: inbound Contact: <sip:bob@192.168.8.132 mailto:sip%3Abob@192.168.8.132>
outbound Contact: sip:bob@1234:1234:0:1234:0:0:0:2
The correct way of transforming the Contact URI would be: Contact: sip:bob@[1234:1234:0:1234:0:0:0:2]
This incorrect Contact URI doesn't hurt first, but when the called party wants to hang up the call, it addresses the URI from Contact header, and Kamailio can't parse the Request URI:
Jan 22 12:03:48 router /usr/sbin/kamailio[21309]: ERROR: pv [pv_core.c:304]: pv_get_ruri_attr(): failed to parse the R-URI Jan 22 12:03:48 router /usr/sbin/kamailio[21309]: ERROR: rr [loose.c:934]: loose_route(): failed to parse Request URI Jan 22 12:03:48 router /usr/sbin/kamailio[21309]: ERROR: domain [domain.c:140]: is_uri_host_local(): error while parsing R-URI
Is this a bug in the nathelper module? Was it never meant to handle IPv6 addresses? Or do I understand something wrong?
Best Regards, Sebastian
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users