When I open the webpage, it is expected that a LIST of all the voice mails currently in the specified folder be displayed, NOT just the counts.
If the mailbox being queried has 2 folders called “INBOX” and “Saved” with 3 msgs in 1 and 1 in the other then something like:
-------------------------------------------------------------
| Folder: INBOX |
-------------------------------------------------------------
| 1 | From Shawty | 123 | 04/08/22 | 13:00 | [play][delete] |
-------------------------------------------------------------
| 2 | From Sam | 321 | 04/08/22 | 13:00 | [play][delete] |
-------------------------------------------------------------
| 3 | From Paul | 400 | 04/08/22 | 13:00 | [play][delete] |
-------------------------------------------------------------
| Folder: Saved |
-------------------------------------------------------------
| 1 | From Shawty | 123 | 04/08/22 | 13:00 | [play][delete] |
-------------------------------------------------------------
If another user has 4 folders EG: INBOX, Old,Important,Tasks
Then the list should show those 4 folders and the messages listed in them.
If a user is not at their desk, but phones in and moves a message in their VM to another folder, then the list should be updated to reflect that move, as their may be more than one person monitoring a specific mailbox.
Now I could hit the server every time a page is rendered, but that could conceivably be several users, and quite a few hits per hour depending on how busy they are.
THUS: Poling that data once, saving it locally on the app server, then getting asterisk to tell me when the changes occur so I can make local updates, is in my opinion the best way to do this.
I cannot however do things that way, so I have to resort to reading files off of the server, which if I’m careful I can keep the number of hits on the server down to a minimum poling say every 5 or 10 mins and mirroring that data on the application server, for fast access by the web application.
If it were useful, I could add them for you, but I’m still not understanding why you need to sync data, rather than use AMI to retrieve on demand, per above.
As I commented previously, you’ve given me food for thought there, I’m not beyond adding them myself, I just don’t have the scope and bandwidth now and in time for this project to do things this way, I may however have time in the future to look at at asterisk code base, add this feature, contribute it back to the community, then in a future update change the project code to use the new functionality.
Thank you for the offer though.