[asterisk-app-dev] MWI/Mailboxes ARI specifications

Jonathan Rose jrose at digium.com
Wed Dec 18 16:25:12 CST 2013


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.

-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-app-dev/attachments/20131218/3f33e869/attachment.html>


More information about the asterisk-app-dev mailing list