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 > Prefer to see ID vs name, since both are strings don't see it being an issue. > 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 > maybe even 1 step further: newMsgs = msgcount oldMsgs = msgcount newUrgentMsgs = msgcount oldUrgentMsgs = msgcount [1] http://tools.ietf.org/html/rfc3842 Also, case should be camelCase, not snake_case. > 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. > > -- > Jonathan R. Rose > Digium, Inc. | Software Engineer > 445 Jan Davis Drive NW - Huntsville, AL 35806 - US > direct +1 256 428 6139 > > Check us out at: http://digium.com & http://asterisk.org > > > _______________________________________________ > asterisk-app-dev mailing list > asterisk-app-dev at lists.digium.com > http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev > -- Paul Belanger | PolyBeacon, Inc. Jabber: paul.belanger at polybeacon.com | IRC: pabelanger (Freenode) Github: https://github.com/pabelanger | Twitter: https://twitter.com/pabelanger