Hello,

just pushed a patch to allow enabling/disabling registration feature for all records at ones:

  - https://github.com/kamailio/kamailio/commit/49f354276df3cfc2cdb0f85b5a1839f86733aead

I haven't tested it yet, maybe you get a chance to give it a try and report the results.

Cheers,
Daniel


On 13.08.18 21:23, Joel Serrano wrote:
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/



_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference -- www.kamailioworld.com
Kamailio Advanced Training, Nov 12-14, 2018, in Berlin -- www.asipto.com