<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Hello--<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I'm looking at another upgrade done to chan_sip, and how we might do the same for pjsip.<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Namely, an upgrade was performed on chan_sip, to skip the "poking" of all the phones when a reload of chan_sip was done via the CLI. The reason for this: the GUI we have would trigger reloads whenever the configuration was changed. Since we are multi-tenanted, this could potentially mean several reloads per second at times. Since chan_sip scheduled these OPTIONS packets, it could results in several thousands being scheduled many times, resulting in a temporarily overloaded channel driver.<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I see similar code in chan_pjsip... (in the module load function):<br><br> /* since endpoints are loaded before the channel driver their device<br> states get set to 'invalid', so they need to be updated */<br> if ((endpoints = ast_sip_get_endpoints())) {<br> ao2_callback(endpoints, OBJ_NODATA, update_devstate, NULL);<br> ao2_ref(endpoints, -1);<br> }<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Wrapping this in an "if" would be trivial, but what are the conditions? "pjsip reload" as a CLI command is aliased in configs/samples/cli_aliases.conf via:<br><br>pjsip reload=module reload res_pjsip.so res_pjsip_authenticator_digest.so res_pjsip_endpoint_identifier_ip.so res_pjsip_mwi.so res_pjsip_notify.so res_pjsip_outbound_publish.so res_pjsip_publish_asterisk.so res_pjsip_outbound_registration.so<br></div><br><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">The chan_sip conditional we used was based on the difference between being called by the CLI, or via a module load. There is no such difference as far as I can tell in the chan_pjsip world. Is there any way to get equivalent results in the pjsip world? And, really, do I need to worry about the same "piling on" happening in the pjsip environment?<br><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">murf<br></div><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br>Steve Murphy<br>✉ murf at parsetree dot com<br><br></div></div></div></div></div></div></div></div>
</div>