Hi Henning, 

Yes, it would be for the HA setup.

So for example, say we have (I'm making it up):

modparam("uac", "reg_start_disabled", 1)   ## This tells uac module to start with all records in `uacreg` table disabled.

1- Start kamailio on both nodes (no registrations are sent by any node).

2- Start keepalived on both nodes, some tests are done, the VIP is enabled on one of the nodes (MASTER). Keepalived would then run a script that would effectively enable all registrations (looping through all the records in the uacreg table doing a `kamctl rpc uac.reg_enable ...` or a future possible `kamctl rpc uac.reg_enable_all` :P).

That way, only the active node would be proactively sending the outbound registrations.

I don't see any of this a problem, as right now both are sending registrations using the same "Contact:", so any incoming requests will be directed to the active kamailio. This is just to keep things tidy and not have 2 servers sending outbound registrations when it isn't strictly necessary.

What do you think?
 
Thanks, 
Joel.









On Mon, Aug 13, 2018 at 11:50 AM, Henning Westerholt <hw@kamailio.org> wrote:
Am Montag, 13. August 2018, 07:23:10 CEST schrieb Joel Serrano:
> Thanks for your suggestions. For now I'll give a try your approach #1.
>
> Couple extra doubts:
>
> 1- do you think an expiry of say 60s is too low? or is it reasonable? (I
> know it will depend a lot on the number of records in database, but in this
> case it's very little, like ~50 or so).
> 2- can I set uac module to initialize without sending any REGISTER requests
> ("start with all records in database disabled")? If answer is no, then my
> idea would be to set uacreg colum reg_delay to say 10s or so to give time
> to kamailio to startup, and than have an external script manually disable
> them before the delay expires. What do you think?
> [..]

Hello Joel,

60s is indeed low. I saw some reports of people use something like this in NAT
settings, but I'd suggest for something between 2-3 minutes. This gives you a
bit more room for eventual errors during a restart or something like this.

About the second question - I just did a quick check in the code. It seems
that the uac module is reading during child_init the DB records, and there is
currently no setting to disable this.
But I did not fully understand the rationale behind this question, is this for
your high-availability setup or something like this?

Best regards,

Henning

--
Henning Westerholt
https://skalatan.de/blog/