I’ve got Yealink phones that register to a primary PBX and Warm spare. If voicemail ends up on the warm spare, the Yealinks will show the new voicemail alert, and increment the voicemail count, but when you press the message button to check it, the voicemail can’t be retrieved since the check voicemail call takes place on the primary.
To solve this, I figured I would mount an S3 bucket to /var/spool/asterisk/voicemail/default using s3fs. I tried this, but FreePBX wouldn’t recognize the mount. All voicemail showed as inactive in Voicemail admin. So, as a workaround I have a S3 bucket mounted on a different folder via s3fs on the primary and warm spare servers. Then, I use Unison to sync those mounts with /var/spool/asterisk/voicemail/default. Finally, I run unison to sync the mount and voicemail folder every 1 min on both PBXs. It’s a little ugly, and it only syncs every 1-2 minutes, so there is a small window where the 2 PBXs can get out of sync and cause errors when the cronjob runs Unison.
Ideally, I could mount an S3 bucket directly to the voicemail folder and do away with unison and the cronjob. Putting this out there in the event anyone else has solved this, or if the folks and Sangoma have any input.
I’d be happy to share my solution as well, but since it’s a bit brittle for the aforementioned reasons, I’m not sure it’s anyone else’s cup of tea.