- Shipped
- September 28, 2026 at 9:46 AM UTC
- Author
- Kamo
- Commit
- 103b741
The voicemail sweep runs inside syncInstance's database transaction and asked FreePBX extension by extension, each over a fresh AMI connect and login. A manager interface that accepted the connection and never answered cost a connect and read timeout once per extension (22 on K1M1), minutes with the Yugabyte snapshot held open. PhoneProvider.readMailboxes reads every mailbox before anything is written; its default asks getVoicemails per extension, and FreePBX overrides it with a single session: a session that cannot be opened fails the read once, one lost part-way keeps what it read and does not ask the rest, and a mailbox Asterisk refuses leaves the session in step.
