Yeah, but what happens if I handle an offer/answer with an overridden set ID — 
let’s say that ID value comes from a database query or API or whatever at 
initial INVITE processing — and then I restart Kamailio, and then a reinvite 
occurs. 

If I don’t know which set was used, the offer/answer cycle will audio for the 
call, since whatever RTPEngine is hit up by default will say “I don’t know that 
Call-ID” and the SDP substitution of media endpoints won’t take place.

I deal with this now by storing the set ID in an RR attribute. A custom 
$dlg_var(…) would work in modern Kamailio too, I’m sure.

But both are a little messy. What I was trying to ascertain is whether there is 
some way, non-obvious to me, that the RTPEngine control module can persist 
these associations.

— Alex

> On Sep 30, 2021, at 1:46 PM, Richard Fuchs <[email protected]> wrote:
> 
> On 30/09/2021 13.34, [ EXT ] Alex Balashov wrote:
>> On Sep 30, 2021, at 1:32 PM, Richard Fuchs <[email protected]> wrote:
>>> On 30/09/2021 13.17, [ EXT ] Alex Balashov wrote:
>>>> I’m not sure how the mapping works internally. But whatever the operation 
>>>> is, is that value stored somewhere or possible to store somewhere so as to 
>>>> persist across restarts in a turn-key way?
>>> AFAICR the node is selected based on a deterministic hash over the call ID. 
>>> So as long as the config doesn't change between restarts, the node selected 
>>> from any particular call ID would remain the same.
>>> 
>>> The exception is cases where the selected node was not available and the 
>>> call then had to go to a secondary fallback node. AFAIK this association is 
>>> stored in memory only and would be lost after a restart (which would become 
>>> a problem if the previously unavailable node is now back up).
>> 
>> Thanks for that. That accounts for how a Call-ID is mapped to a node within 
>> a set. But what if the set ID chosen for a particular call is nonstandard, 
>> i.e. expressly overridden with set_rtpengine_set()? Is that knowledge 
>> somehow available after a restart?
>> 
> No there's no persistent state at all. I would suggest to always explicitly 
> select the appropriate set before every invocation of any function (or at 
> least once at the beginning of the script) regardless of the use case.
> 
> Cheers
> 
> 
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
> * [email protected]
> Important: keep the mailing list in the recipients, do not reply only to the 
> sender!
> Edit mailing list options or unsubscribe:
> * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/


__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
  * [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe:
  * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to