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.d…
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 List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
www.twitter.com/miconda --
www.linkedin.com/in/miconda
Kamailio Advanced Training -
www.asipto.com
Kamailio World Conference - May 14-16, 2018 -
www.kamailioworld.com