MWI/Mailboxes ARI specifications

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Asterisk SS7]     [Asterisk Announcements]     [Asterisk Users]     [PJ SIP]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Linux API]

  Powered by Linux