Hi,
On Mon, Jan 8, 2018 at 2:39 PM, Jean Cérien <cerien.jean(a)gmail.com> wrote:
Thanks for this answer. The voip provider is not really eager to alter its
SBC as it considers that the contact field is not mandatory in the ACK. The
RFC states (section 8.1.1.8)
The problem is not that the ACK doesn't carry a Contact header. The problem
is that the ACK is constructed incorrectly. This is what the RfC says to
UAC behavior (section 12.1.2):
The route set MUST be set to the list of URIs in the Record-Route header
field from the response, taken in reverse order and preserving all URI
parameters. If no Record-Route header field is present in the response, the
route set MUST be set to the empty set. This route set, even if empty,
overrides any pre-existing route set for future requests in this dialog. *The
remote target MUST be set to the URI from the Contact header field of the
response.*
This is what the carrier's SBC gets wrong. It doesn't address your Asterisk
but instead addresses your Kamailio, although the Contact of your 200 OK
(hopefully) contains the Asterisk IP.
Please verify that your 200 OK going to the carrier actually does carry a
Contact header with the Asterisk IP, but if it does, section 12.1.2 of the
SIP RfC could help when arguing with the carrier.
Regards
Sebastian