Hello, I believe I found a pretty important bug. I want to describe the steps I had taken to discover and produce the bug I found. This resulted in various trunks I had across multiple tenants getting improper pjsip.conf configurations resulting in sip trunk connectivity loss.
I would change a setting with a device profile or create a new device profile to be applied to a new trunk I was creating. After saving and applying config multiple trunks lost their connectivity. But not every trunk for every tenant.
After hours of debugging I discovered that when saving the device profile it seemed to be generating improper configuration in the trunk pjsip.conf settings. Here is what I found specifically:
The brackets [] around the config fatal_retry_interval is incorrect and was being put into the pjsip.conf for different trunks but not for others. Even though they were all defaulted to a null setting. The ones with the correct format were fine. The ones without could not register to sip provider due to it causing a gap in configuration. Anything below that config line was invalid causing an incomplete trunk configuration. This seems highly likely a bug with how vitalpbx generates the configuration from the webgui.
for trunk 1
grep -Rni -A25 -B2 --include='*.conf' '^\[obfuscated\]' /etc/asterisk | grep -viE 'password|secret'
/etc/asterisk/vitalpbx/pjsip__50-5-trunks.conf-58-[fatal_retry_interval] <------ incorrect
/etc/asterisk/vitalpbx/pjsip__50-3-trunks.conf-57-fatal_retry_interval=0 <------ correct
OR
/etc/asterisk/vitalpbx/pjsip__50-3-trunks.conf-57-fatal_retry_interval=60 <------ also correct
trunk 2
grep -Rni -A25 -B2 --include='*.conf' '^\[obfuscated\]' /etc/asterisk | grep -viE 'password|secret'
/etc/asterisk/vitalpbx/pjsip__50-2-trunks.conf-57-[fatal_retry_interval] <----incorrect
trunk 3
grep -Rni -A25 -B2 --include='*.conf' '^\[obfuscated\]' /etc/asterisk | grep -viE 'password|secret'
/etc/asterisk/vitalpbx/pjsip__50-3-trunks.conf-57-fatal_retry_interval=60 <---correct
trunk 4
grep -Rni -A25 -B2 --include='*.conf' '^\[obfuscated\]' /etc/asterisk | grep -viE 'passwo
rd|secret'
/etc/asterisk/vitalpbx/pjsip__50-11-trunks.conf-58-fatal_retry_interval=60
trunk 5
grep -Rni -A25 -B2 --include='*.conf' '^\[obfuscated\]' /etc/asterisk | grep -viE 'password|secret'
/etc/asterisk/vitalpbx/pjsip__50-18-trunks.conf-58-[fatal_retry_interval] <----incorrect
I will reach out to support for this but I am hoping I can get a response here for the community and maybe a planned update to fix this. It caused me quite the outage yesterday.