I noticed that PJSIP loads all endpoints from the database on startup. I found in a mailing list that there was no option to disable this behavior but that was from a couple of years ago, is this still not possible? In chan_sip only the peers that where used where loaded from the database. This behavior seems a lot better to me when you want to scale.
Loading all the endpoints results in expected behaviour and things working. For example if you are using qualify, you need to load everything to be able to know the state of the system, what to monitor, all of that. If you didn’t do that then it wouldn’t work.
PJSIP opts for that over vastly differing behaviour that you have to truly understand or doesn’t work for everything. You could still modify things to work that way if you really wanted, but I don’t think we have any options right now for it. I could be mistaken though. If there were any they’d be documented on the wiki.
It would be nice to have some sort of control on what or how many realtime endpoints are loaded. We don’t use Asterisk as our registrar server so I don’t think we need any endpoint loaded in from the database to have a smooth working system. Qualify and such are all done by the registrar server.