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 Contact header field MUST be present and contain exactly one SIP
or SIPS URI in any request that can result in the establishment of a
dialog. For the methods defined in this specification, that includes
only the INVITE request
The ACK does not establish the dialog, no new call id / dialog id is being
generated.
I guess I need to implement the mechanism you've described, unless you
think they mis-interpret the RFC,
Regards
J.
On Thu, Jan 4, 2018 at 4:48 AM, Daniel-Constantin Mierla <miconda(a)gmail.com>
wrote:
Hello,
if one side of the call is breaking the contact, then a workaround in
kamailio is to use htable to store the contact address per callid+from/to
tag. I encountered couple of times such situation and the condition in the
config file is like:
- if the r-uri of ACK (BYE, etc...) matches "myself", then check to see
if there is a record in an htable corresponding to callid and to-tag, if
yes, use it
Contact for caller is set in htable as INVITE is received and for callee
when then 200ok is received.
If dialog module is used, then the contact from the dialog structure can
be used. With 5.1 or newer, dialog offers a dedicated function for this:
-
https://www.kamailio.org/docs/modules/stable/modules/dialog.
html#dialog.f.dlg_set_ruri
For older versions, the address has to be taken from $dlg(...) variable,
with some conditions to detect if it is the caller or callee side.
Cheers,
Daniel
On 03.01.18 16:16, Sebastian Damm wrote:
Hi Jean,
as pointed out earlier, the ACK is probably broken. Every packet after the
200 OK should have the contact of the 200 OK in the Request URI. Your
example packet carries probably the original request URI, which is most
certainly wrong, exept if you use some topology hiding.
This is something you can't fix but the voip provider has to fix. They
apparently can't handle proxied SIP connections.
Regards,
Sebastian
_______________________________________________
Kamailio (SER) - Users Mailing
Listsr-users@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin
Mierlawww.twitter.com/miconda --
www.linkedin.com/in/miconda
Kamailio Advanced Training -
www.asipto.com
Kamailio World Conference - May 14-16, 2018 -
www.kamailioworld.com
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users