Hello,
if a server dependency is not available at all, you will get problems in your Kamailio,
regardless of you are using synchronous or asynchronous operations. With asynchronous
operations you will get into some memory exhaustion situation after some time due to the
waiting requests.
You probably want to think about short timeouts and then having a fail-safe logic that
allows to continue (with limited functionality) when the enum server is not available.
Cheers,
Henning
From: Chaigneau, Nicolas <nicolas.chaigneau(a)capgemini.com>
Sent: Dienstag, 19. Dezember 2023 09:55
To: Kamailio (SER) - Users Mailing List <sr-users(a)lists.kamailio.org>rg>; Henning
Westerholt <hw(a)gilawa.com>
Subject: RE: enum queries using Kamailio in asynchronous mode ?
I’m not sure how to do that though…
If I do something like this:
...
async_workers_group="name=enum;workers=4;nonblock=0;usleep=0"
...
request_route {
...
async_task_route("ENUM", "enum");
...
}
route[ENUM] {
# query enum servers here
# then proceed with the remaining of the routing logic
...
}
...
This can still block all async workers… and then my Kamailio would also become blocked ?
Am I missing something ?
Regards,
Nicolas.
De : Chaigneau, Nicolas via sr-users
<sr-users@lists.kamailio.org<mailto:sr-users@lists.kamailio.org>>
Envoyé : mardi 19 décembre 2023 09:19
À : Henning Westerholt; Kamailio (SER) - Users Mailing List
Cc : Chaigneau, Nicolas
Objet : [SR-Users] Re: enum queries using Kamailio in asynchronous mode ?
Thanks Henning!
The async module seems a good solution indeed, I’ll look into this.
Regards,
Nicolas.
De : Henning Westerholt <hw@gilawa.com<mailto:hw@gilawa.com>>
Envoyé : mardi 19 décembre 2023 09:10
À : Kamailio (SER) - Users Mailing List
Cc : Chaigneau, Nicolas
Objet : RE: enum queries using Kamailio in asynchronous mode ?
Hello,
the enum module seems to execute its queries synchronously indeed.
Asynchronous execution could be added to the module or as another module. Maybe also
adding some configurable timeout values to not block the server in case of errors would be
also sufficient. You can also look at the async module to see if maybe this is an easier
solution:
https://www.kamailio.org/docs/modules/devel/modules/async.html
Cheers,
Henning
From: Chaigneau, Nicolas via sr-users
<sr-users@lists.kamailio.org<mailto:sr-users@lists.kamailio.org>>
Sent: Freitag, 15. Dezember 2023 10:37
To: Kamailio (SER) - Users Mailing List
<sr-users@lists.kamailio.org<mailto:sr-users@lists.kamailio.org>>
Cc: Chaigneau, Nicolas
<nicolas.chaigneau@capgemini.com<mailto:nicolas.chaigneau@capgemini.com>>
Subject: [SR-Users] enum queries using Kamailio in asynchronous mode ?
Hello,
I will need to perform enum queries from Kamailio.
I see that there is a module for that:
https://www.kamailio.org/docs/modules/devel/modules/enum.html
However, I’m worried that if the enum server is unresponsive, this could block all
workers…
I don’t think the module can handle an asynchronous mode ? I see that we have a specific
module for HTTP async:
https://www.kamailio.org/docs/modules/devel/modules/http_async_client.html
Has anyone had to implement this kind of need with enum in Kamailio ?
Thanks.
Regards,
Nicolas.
This message contains information that may be privileged or confidential and is the
property of the Capgemini Group. It is intended only for the person to whom it is
addressed. If you are not the intended recipient, you are not authorized to read, print,
retain, copy, disseminate, distribute, or use this message or any part thereof. If you
receive this message in error, please notify the sender immediately and delete all copies
of this message.