<Say>Hello</Say>



Tuesday, June 22, 2010
adam ballai



Tuesday, June 22, 2010
i like...



Tuesday, June 22, 2010
open source



Tuesday, June 22, 2010
Tuesday, June 22, 2010
Tuesday, June 22, 2010
Tuesday, June 22, 2010
open source software



Tuesday, June 22, 2010
Tuesday, June 22, 2010
Tuesday, June 22, 2010
community



Tuesday, June 22, 2010
plugins
                         aka m
                               odula
                                    r




Tuesday, June 22, 2010
OSS in telecom

                    • Asterisk - Modular
                    • Freeswitch - Modular
                    • ... its probably modular


Tuesday, June 22, 2010
asterisk
                         • fax
                         • audio codecs
                         • conferencing
                         • sip
                         • iax
                         • ... way more than fits on this page
Tuesday, June 22, 2010
apache httpd

                         • userdir
                         • rewrite
                         • php
                         • cgi
                         • ...

Tuesday, June 22, 2010
anatomy of a voice app

                    • <Gather> Digits
                    • <Play> or <Say> to the caller
                    • <Dial>
                    • <Sms> message
                    • <Conference>

Tuesday, June 22, 2010
hardware

                         bandwidth

                         sip provider
                         asterisk
                         dial plan

                         business logic


Tuesday, June 22, 2010
powered by OSS
                          your web app


Tuesday, June 22, 2010
giving back



Tuesday, June 22, 2010
Tuesday, June 22, 2010
openvbx



Tuesday, June 22, 2010
openvbx

                    • Users & Groups
                    • Drag and Drop Call Flows
                    • Voicemail


Tuesday, June 22, 2010
modular



Tuesday, June 22, 2010
open source



Tuesday, June 22, 2010
community



Tuesday, June 22, 2010
built with OSS

                    • CodeIgniter - http://codeigniter.org
                    • jQuery - http://jquery.com
                    • YUI Grids - http://developer.yahoo.com/yui/
                         grids/




Tuesday, June 22, 2010
how it works




Tuesday, June 22, 2010
Demo



Tuesday, June 22, 2010
developing on opevnbx



Tuesday, June 22, 2010
kinda like...



Tuesday, June 22, 2010
wordpress plugins



Tuesday, June 22, 2010
the apis

                    • drag ‘n drop applets
                    • user and admin pages
                    • custom navigation
                    • key value store
                    • css theming

Tuesday, June 22, 2010
applets
                    • reusable interface widgets

                    • three required files
                     • ui.php
                     • twiml.php
                     • applet.json

Tuesday, June 22, 2010
ui.php

                         <textarea name="msg">
                            <?= AppletInstance::getValue('msg') ?>
                         </textarea>




Tuesday, June 22, 2010
twiml.php

              <Response>
                  <Say><?= AppletInstance::getValue("msg"); ?></Say>
              </Response>




Tuesday, June 22, 2010
applet.json

                {
                         "name" : "Messenger",
                         "description" : "Don't shoot the messenger",
                         "type" : "voice"
                }




Tuesday, June 22, 2010
Pack it up

                    1. Make a unique directory in /plugins
                    2. Make the “applets” directory
                    3. Make a directory for your applet
                    4. Add ui.php, twiml.php, and applet.json



Tuesday, June 22, 2010
Demo



Tuesday, June 22, 2010
Configuration Page


                    • create a config.php
                    • enjoy :)


Tuesday, June 22, 2010
Tuesday, June 22, 2010
Create a page

                • Create a script in your plugin directory
                • Add a link object your plugin.json



Tuesday, June 22, 2010
plugin.json
                         {
                             "name" : "Demo Plugin",
                             "links" : [{
                                 "script" : "my-page.php",
                                 "label" : "My Page",
                                 "menu" : "My Menu"
                             }]
                         }


Tuesday, June 22, 2010
Your menu!




Tuesday, June 22, 2010
Your plugin!




Tuesday, June 22, 2010
Demo



Tuesday, June 22, 2010
http://openvbx.org



Tuesday, June 22, 2010
Tuesday, June 22, 2010
fix a bug?




Tuesday, June 22, 2010
We’re hiring
                         Want to work on OpenVBX or Twilio?
                                http://twilio.com/jobs




Tuesday, June 22, 2010
the future



Tuesday, June 22, 2010

Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group