On Wed, Dec 18, 2013 at 5:25 PM, Jonathan Rose <jrose at digium.com> wrote: > ARI Mailboxes resource > > I'm currently starting on some basic implementation of the mailboxes > resource described at > https://wiki.asterisk.org/wiki/display/AST/Blinky+Lights+API > > Data Model: > > name: string name of the mailbox > new_messages: int count of messages that have not been marked as old > old_messages: int count of messages that have been marked as old > > As such, I'm currently writing stub functions for the following commands > > Method URL Return type > GET /mailboxes list(mailbox) > POST /mailboxes mailbox > GET /mailboxes/{mailboxName} void > PUT /mailboxes/{mailboxName} void > DELETE /mailboxes/{mailboxName} void > > GET /mailboxes > List all mailboxes in Asterisk > > POST /mailboxes > Create an empty mailbox > query parameters: > mailboxName - name for the mailbox > > GET /mailboxes/{mailboxName} > Get the current state of a mailbox > path parameters: > mailboxName - name of the mailbox > error responses: > 404 - Mailbox not found > > PUT /mailboxes/{mailboxName} > Change the state of a mailbox > path parameters: > mailboxName - name of the mailbox to be modified > query parameters: > new_messages - count of new messages in the mailbox > old_messages - count of old messages in the mailbox > error responses: > 404 - Mailbox not found > 409 - Mailbox not in a stasis application > > DELETE /mailboxes/{mailboxName} > Delete an existing mailbox > path parameters: > mailboxName -name of the mailbox to be deleted > error responses: > 404 - Mailbox not found > 409 - Mailbox not in a stasis application > > Events: > MailboxStateChanged > The contents of a mailbox have changed > mailbox - name of the mailbox that was changed > > MailboxUpdateRequested > When Asterisk starts, it has no mailbox state from the external > application. This event requests that the external voicemail > application put the current mailbox state back into Asterisk. > mailbox - name of the mailbox Asterisk > > I'm still a little hazy on some details, such as whether or not > mailbox data will be persisted. There was something of a debate > over the topic that I couldn't quite tell whether it reached a > concensus and the wiki proposal contained conflicting information. > I'm unsure how that will affect the ARI work. > > If anyone has any input into this, I'd appreciate hearing it before > getting too deep into the coding of it. > > Also, it's worth noting that the Mailboxes resource will not be > released with Asterisk 12.0, and will likely be a new feature > slightly down the road (targeting 12.1). > > If all of this seems appropriate, I'll go ahead and start trimming > the more generic topics proposal and getting the details fleshed > out on the wiki page. > So, I had a list of replies I was going to type out, but the more I did, the more I asked why are mailboxes in ARI, opposed to an ARI application. I think I am not seeing the big picture, however when I envision mailboxes, I see an application, like app_voicemail. In fact, after we get our ARI queue application working, the next one on the list was a app_voicemail replacement on ARI. Would'nt this be a perfect example of building a mailbox ARI application on top of Asterisk, then using the exposed MWI to notify phones of a new message? This would all the information to truely live outside of asterisk and if asterisk was to disappear not take away all the information at the same time. -- Paul Belanger | PolyBeacon, Inc. Jabber: paul.belanger at polybeacon.com | IRC: pabelanger (Freenode) Github: https://github.com/pabelanger | Twitter: https://twitter.com/pabelanger