I ran into a problem with SIP that ended up being a flaw in LinPhone.
Version: linphone 3.3.2
Variation: console, linphonec (linphone-nox)
Platform: Debian Squeeze
Transport: UDP over IPv6
The ACK constructed in response to a "200 OK" contains a Request-URI that
seems to originate from the Contact: header. This is incompatible with
RFC 3621 which states:
The ACK request constructed by the client transaction MUST contain
values for the Call-ID, From, and Request-URI that are equal to the
values of those header fields in the request passed to the transport
by the client transaction (call this the "original request").