[SR-Users] Kamailio propagates 180 and 200 OK OUT OF ORDER

Daniel-Constantin Mierla miconda at gmail.com
Wed Apr 8 19:22:17 CEST 2020


On 08.04.20 18:14, Alex Balashov wrote:
> On Wed, Apr 08, 2020 at 04:54:48PM +0100, David Villasmil wrote:
>
>> I have a question on this, since 180 arrived before the 200, shouldn’t it
>> go out before? I.e.: FIFO? Or is this not happening because there are
>> multiple processes and one may take the 180 and the other the 200 and they
>> are processes independently?
>>
>> I guess setting the childs to only 1 should prove this theory.
> In theory, it should all be FIFO, of course. In practice, there are
> stochastic aspects to OS process scheduling and I/O scheduling which
> make the ingress and egress of messages arriving at Kamailio
> simultaneously or substantially simultaneously somewhat indeterminate.
>
> And, of course, it depends on how complicated the processing of the
> messages respectively is, either in computational terms, or external I/O
> wait, or both. 
>
> To Steve Davies' point, that's just the nature of the multiprocess
> architecture, together with the lack of a distributor thread.

A distributor thread (or process) won't help here, if it distributes
traffic to other threads (processes) without waiting for them to finish,
which ends up to be serial processing. The distributor role for UDP
traffic is done by the kernel. For tcp/tls there is a distributor
process for connections.

Cheers,
Daniel

-- 

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




More information about the sr-users mailing list