On Wed, Apr 08, 2020 at 01:30:21PM +0000, Henning Westerholt wrote:
There is also the option to do an asynchronous sleep (with the async) module on the message that you want to delay but still processing other messages during it.
We have a buggy endpoint that consistently sends reinvites immediately following the e2e ACK, and substantially simultaneously with the ACK. It quite often happens that the re-invite goes out the door before the ACK, which is of course rejected by the target due to inconsistent state.
We solved this a somewhat nasty hack using just the very technique you mentioned -- we use the async features of Kamailio to 'delay' all re-invites about 50 ms. It does solve this problem, if a bit suboptimally and at the cost of eccentricity and complexity.
-- Alex