I'm a SIP newbie, and having major trouble getting a Sipper test client and a GlassFish/Sailfin server to talk to each other. The latest issue seems to involve IPv6. My flow is pretty basic:
> INVITE, < 180, < 200, > ACK, > BYE The server receives the INVITE and sends an OK response. Sipper does not generate an ACK, although the logs show the response is received. The logs show the Contact header field in the OK response as containing an IPv6 address, or as a blank, depending on what's being logged: I believe Sipper is not responding because it can't determine where to send the ACK. I have the impression that it will try to respond to the address in the Contact field. I tried forcing the server to use IPv4 addresses by calling SipServletResponse.setHeader(), but it informed me that I'm not allowed to modify a system header. The SipServlet Java code has a comment saying that the Contact header value is obtained by STUN, but aside from that, I don't know how it's setting that field. It may be that the IPv6 address is formatted in a way that Sipper can't use it: sip:2001:0:4137:9e76:46:37ea:9f0b:aa6e:5060 Inspecting the Ruby source code of Sipper, it looks like it may be expecting the IP address to have a set of square brackets around it. I don't see very much information online about dealing with IPv6 addresses, and I don't know how to work around this. I don't know how to get the server to send an IPv4 address (leaving aside the question of whether that would be a good thing), and apparently Sipper can't use the IPv6 address the server sends. Any help would be much appreciated. _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
