Hello,
maybe I do not fully understand the task. But my understanding of the dialog
profiles is that they actually use the dialog tracking functionality to
maintain its internal state. That means there should be no need to remove the
dialog manually from the dialog profile that tracks it.
If the user agent does not reply correctly to the CANCEL, maybe the user agent
should be fixed?
Cheers,
Henning
--
Henning Westerholt – https://skalatan.de/blog/
Kamailio services – https://gilawa.com
-Original Message-
From: Benoit Panizzon
Sent: Monday, December 19, 2022 4:43 PM
To: sr-users@lists.kamailio.org
Subject: [SR-Users] How to unset_dlg_profile in request_route or react more
quickly to CANCEL?
Hi List
Testing failure situations, I discovered unset_dlg_profile can not be used in
request_route:
I count the channels per customer in a dlg_profile to know when they are busy.
Residential POTS customer have 1 channel.
Now this situation (Trying to mimik POTS behavior)
Kamailio <=> CPE of 'John-Doe'
=> INVITE
set_dlg_profile of John-Doe is 0: Not busy set_dlg_profile of John-Doe +1 <=
100 trying <= 180 ringing
== LINK to CPE DISRUPTED ==
X<= 200 OK (not reaching kamailio)
CPE is sending 200 a couple of times and fails.
Caller is still hearing ringing tone as it never got 200 OK.
The caller does not want to wait longer and hangs up =>X CANCEL (NOT
reaching CPE)
This is the moment, on which I would like to unset_dlg_profile of John-Doe to
mark his channel available again.
But the CPE is never going to acknowledge this CANCEL with 487.
Unfortunately: unset_dlg_profile(): dialog delete profile cannot be used in
request route
Only when kamailio has sent CANCEL a couple of times and the failure_route for
this CANCEL is triggered, I can remove the call from the dlg_profile of that
customer within failure_route.
If I am unlucky, in the meantime other calls get 'busy' instead of being
re-routed to the configured backup number of that customer.
Agreed, after a couple of seconds, the call goes to the failure route and the
dialogue is ending thus calls work as expected.
But wouldn't it be nice to be able to unset the dlg_profile upon receiving the
CANCEL instead on when the CANCEL transaction is successful?
Mit freundlichen Grüssen
-Benoît Panizzon-
--
I m p r o W a r e A G-Leiter Commerce Kunden
__
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 PrattelnFax +41 61 826 93 01
Schweiz Web http://www.imp.ch
__
__
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send
an email to sr-users-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the
sender!
Edit mailing list options or unsubscribe:
__
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to sr-users-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the
sender!
Edit mailing list options or unsubscribe: