<Say>Hello</Say> Tuesday, June 22, 2010
May 12, 2015
<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
pluginsaka modular
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
business logic
dial plan
asterisk
hardware
sip provider
bandwidth
Tuesday, June 22, 2010
your web app
powered by OSS
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
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