Realtime requires reload for sending options

Hi all,

We have a realtime setup with pjsip on Asterisk 18.5.1, everything works fine and endpoint etc seem to update when changed. The only issue is when adding a new aor/id_ip we still have to call a reload in the CLI for it to start sending options. From my understanding unless specified caching is not enabled by default, is there a reason we must reload for options to start sending?

extconfig.conf

[settings]
ps_endpoints=>odbc,db,ps_endpoints
ps_auths=>odbc,db,ps_auths
ps_aors=>odbc,db,ps_aors
ps_contacts=>odbc,db,ps_contacts
ps_endpoint_id_ips=>odbc,db,ps_endpoint_id_ips

sorcery.conf

[res_pjsip]
endpoint=realtime,ps_endpoints
auth=realtime,ps_auths
aor=realtime,ps_aors
contact=realtime,ps_contacts

[res_pjsip_endpoint_identifier_ip]
identify=realtime,ps_endpoint_id_ips

To replicate the issue we simply add a new endpoint+aor+id_ip in the database and require to reload before options send (please note the other side is NOT always sending options).

Before reloading using commands like all work fine, we can see the new rows added:

pjsip list endpoints / pjsip lisp aors / pjsip list identifies

Thanks in advance!

Yes, because Asterisk doesn’t constantly query the database looking for changes. It has to get told the change has happened, and thus a reload is required.

Ah thanks for that, I thought it would poll or lookup when needed.

Can I set an interval using sorcery caching? And do you know why it picked up that these rows were added, but not to send options?

From testing if I update the endpoint allow codecs for example that change is immediate.
I suppose then I am trying to understand what is truly realtime and what requires a reload.

Things that are stateless query when needed (CLI commands, actually placing calls, other things). OPTIONS is stateful, thus it has to maintain state and be told to reload.

I don’t believe there’s any built in mechanism to have OPTIONS update regularly. Generally it has to be told, or it reacts to events (such as a device registering).

1 Like

Appreciate the help and fast response, this makes sense and marking it as the solution.
Keep up the good work!