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
