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
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?
_______________________________________________ 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