Discussion:
[SR-Users] Problem with locally generated BYE in dialog timeout.
Julia Boudniatsky
2014-10-01 14:28:08 UTC
Permalink
Hello,
We use dialog module in our configuration.
uac_replace_from/to is called after dlg_manage().
restore_mode is auto.

URIs are modified automatically in all subsequent local requests, exclude
BYE generated in dlg timeout.
In this case original URIs are sent to both caller and calee sides.
If call going through only one kamailio server, all works fine.
Problem starts with a chain of servers with from/to manipulation.
When timeout occurs in one kamailio server, calee kamailio server receives
BYE with original (not modified) URIs and URI restore gets wrong parsing
result.
Call clears in caller side and stay connected in caller.

Whether there is any solution?

BR ,

Julia.
Seudin Kasumovic
2014-10-01 21:26:36 UTC
Permalink
did you try to store original from/to in dialog vars, see

http://kamailio.org/docs/modules/stable/modules/uac.html#uac.p.restore_dlg
Post by Julia Boudniatsky
Hello,
We use dialog module in our configuration.
uac_replace_from/to is called after dlg_manage().
restore_mode is auto.
URIs are modified automatically in all subsequent local requests, exclude
BYE generated in dlg timeout.
In this case original URIs are sent to both caller and calee sides.
If call going through only one kamailio server, all works fine.
Problem starts with a chain of servers with from/to manipulation.
When timeout occurs in one kamailio server, calee kamailio server receives
BYE with original (not modified) URIs and URI restore gets wrong parsing
result.
Call clears in caller side and stay connected in caller.
Whether there is any solution?
BR ,
Julia.
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
MSC Seudin Kasumovic
Tuzla, Bosnia
Julia Boudniatsky
2014-10-02 07:00:57 UTC
Permalink
We use dialog module in our configuration.
uac_replace_from/to is called after dlg_manage().
From UAC documentation: "If you create a dialog ( with dlg_manage() )
before calling uac_replace_from(), this avp will not be needed. The values
of the uris will be stored as dialog variables."

And we have problem only with locally generated BYE, all other local
requests (ACK, CANCEL) works fine.

Thank you,

Julia
Hello,
We use dialog module in our configuration.
uac_replace_from/to is called after dlg_manage().
restore_mode is auto.
URIs are modified automatically in all subsequent local requests, exclude
BYE generated in dlg timeout.
In this case original URIs are sent to both caller and calee sides.
If call going through only one kamailio server, all works fine.
Problem starts with a chain of servers with from/to manipulation.
When timeout occurs in one kamailio server, calee kamailio server receives
BYE with original (not modified) URIs and URI restore gets wrong parsing
result.
Call clears in caller side and stay connected in caller.
Whether there is any solution?
BR ,
Julia.
Daniel-Constantin Mierla
2014-10-02 07:11:21 UTC
Permalink
Storing the values in dialog module can be useful, you need to enable it:

- http://kamailio.org/docs/modules/stable/modules/uac.html#uac.p.restore_dlg

But I am not sure if that is making dialog to use them automatically for
BYE requests.

What you can try is to enable event_route[tm:local-request] to catch
local generated BYEs and update the headers there (either from dialog
variables or from other source if you can determine that).

Cheers,
Daniel
Post by Julia Boudniatsky
We use dialog module in our configuration.
uac_replace_from/to is called after dlg_manage().
From UAC documentation: "If you create a dialog ( with dlg_manage() )
before calling uac_replace_from(), this avp will not be needed. The
values of the uris will be stored as dialog variables."
And we have problem only with locally generated BYE, all other local
requests (ACK, CANCEL) works fine.
Thank you,
Julia
Hello,
We use dialog module in our configuration.
uac_replace_from/to is called after dlg_manage().
restore_mode is auto.
URIs are modified automatically in all subsequent local requests,
exclude BYE generated in dlg timeout.
In this case original URIs are sent to both caller and calee sides.
If call going through only one kamailio server, all works fine.
Problem starts with a chain of servers with from/to manipulation.
When timeout occurs in one kamailio server, calee kamailio server
receives BYE with original (not modified) URIs and URI restore
gets wrong parsing result.
Call clears in caller side and stay connected in caller.
Whether there is any solution?
BR ,
Julia.
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Julia Boudniatsky
2014-10-02 10:42:06 UTC
Permalink
Storing the values in dialog module doesn't help.

I updated headers in event_route[tm:local-request] by subst_hf with saved
dialog variables (uac_replace_to/from has been used in branch route).
Now it's working.
Great! Thank you,
Julia
Post by Seudin Kasumovic
-
http://kamailio.org/docs/modules/stable/modules/uac.html#uac.p.restore_dlg
But I am not sure if that is making dialog to use them automatically for
BYE requests.
What you can try is to enable event_route[tm:local-request] to catch local
generated BYEs and update the headers there (either from dialog variables
or from other source if you can determine that).
Cheers,
Daniel
We use dialog module in our configuration.
uac_replace_from/to is called after dlg_manage().
From UAC documentation: "If you create a dialog ( with dlg_manage() )
before calling uac_replace_from(), this avp will not be needed. The values
of the uris will be stored as dialog variables."
And we have problem only with locally generated BYE, all other local
requests (ACK, CANCEL) works fine.
Thank you,
Julia
Post by Julia Boudniatsky
Hello,
We use dialog module in our configuration.
uac_replace_from/to is called after dlg_manage().
restore_mode is auto.
URIs are modified automatically in all subsequent local requests,
exclude BYE generated in dlg timeout.
In this case original URIs are sent to both caller and calee sides.
If call going through only one kamailio server, all works fine.
Problem starts with a chain of servers with from/to manipulation.
When timeout occurs in one kamailio server, calee kamailio server
receives BYE with original (not modified) URIs and URI restore gets wrong
parsing result.
Call clears in caller side and stay connected in caller.
Whether there is any solution?
BR ,
Julia.
_______________________________________________
--
Daniel-Constantin Mierlahttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Loading...