[sr-dev] Make some commands in kamailio rtpengine module asynchronous

Daniel-Constantin Mierla miconda at gmail.com
Mon Nov 28 15:51:28 CET 2022


On 28.11.22 14:58, Richard Fuchs wrote:
> On 28/11/2022 04.14, [EXT] Aditya Gupta wrote:
>> We have 2 rtpengines in production and thousands of calls coming in.
>> Few of them get timed out because they don't get processed in time by
>> rtpengine. Simply by making 3 commands; offer, answer and delete. It
>> can help us a lot with this.
>>
>> I think I've understood what needs to be done and, in a day, or two
>> I'll raise a PR with the changes for rtpengine module.
>> After that I guess there are some changes that needs to be done in
>> sipwise/rtpengine media servers which seems complicated at this point.
>
> Do you have a sense as to why rtpengine would be slow to respond?
> Because as Henning mentioned, we can handle many thousands of calls
> and haven't seen rtpengine becoming slow to respond, even with HA
> backing enabled.

I haven't encountered rtpengine being slow in response, unless there is
some network problem on the control link.

As I read in this discussion, the timeout is about calls, so at sip
layer. The rtpengine control command has 1s timeout by default, which is
under the sip timeout, but of course it can accumulate on many
simultaneous calls. On the other hand, if rtpengine command times out,
just switching to async processing is not solving it, it will still
happen with default timeout value, so the invite is not handled by
rtpengine after all. In such case the timeout value has to be increased.

I would rather check if it is actually rtpengine by enabling the latency
limit via core parameters, it could be another function in config that
could result in a sip layer timeout. Or maybe insufficient number of sip
workers (children parameter should be increased) to cope properly with
the traffic volume.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda




More information about the sr-dev mailing list