50
<Say>Hello</Say> Tuesday, June 22, 2010

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

  • Upload
    minddog

  • View
    1.978

  • Download
    3

Embed Size (px)

Citation preview

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

<Say>Hello</Say>

Tuesday, June 22, 2010

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

adam ballai

Tuesday, June 22, 2010

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

i like...

Tuesday, June 22, 2010

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

open source

Tuesday, June 22, 2010

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

Tuesday, June 22, 2010

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

Tuesday, June 22, 2010

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

Tuesday, June 22, 2010

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

open source software

Tuesday, June 22, 2010

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

Tuesday, June 22, 2010

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

Tuesday, June 22, 2010

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

community

Tuesday, June 22, 2010

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

pluginsaka modular

Tuesday, June 22, 2010

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

OSS in telecom

• Asterisk - Modular

• Freeswitch - Modular

• ... its probably modular

Tuesday, June 22, 2010

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

asterisk

• fax

• audio codecs

• conferencing

• sip

• iax

• ... way more than fits on this page

Tuesday, June 22, 2010

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

apache httpd

• userdir

• rewrite

• php

• cgi

• ...

Tuesday, June 22, 2010

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

anatomy of a voice app

• <Gather> Digits

• <Play> or <Say> to the caller

• <Dial>

• <Sms> message

• <Conference>

Tuesday, June 22, 2010

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

business logic

dial plan

asterisk

hardware

sip provider

bandwidth

Tuesday, June 22, 2010

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

your web app

powered by OSS

Tuesday, June 22, 2010

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

giving back

Tuesday, June 22, 2010

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

Tuesday, June 22, 2010

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

openvbx

Tuesday, June 22, 2010

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

openvbx

• Users & Groups

• Drag and Drop Call Flows

• Voicemail

Tuesday, June 22, 2010

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

modular

Tuesday, June 22, 2010

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

open source

Tuesday, June 22, 2010

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

community

Tuesday, June 22, 2010

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

built with OSS

• CodeIgniter - http://codeigniter.org

• jQuery - http://jquery.com

• YUI Grids - http://developer.yahoo.com/yui/grids/

Tuesday, June 22, 2010

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

how it works

Tuesday, June 22, 2010

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

Demo

Tuesday, June 22, 2010

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

developing on opevnbx

Tuesday, June 22, 2010

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

kinda like...

Tuesday, June 22, 2010

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

wordpress plugins

Tuesday, June 22, 2010

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

the apis

• drag ‘n drop applets

• user and admin pages

• custom navigation

• key value store

• css theming

Tuesday, June 22, 2010

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

applets• reusable interface widgets

• three required files

• ui.php

• twiml.php

• applet.json

Tuesday, June 22, 2010

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

ui.php

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

Tuesday, June 22, 2010

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

twiml.php

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

Tuesday, June 22, 2010

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

applet.json

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

Tuesday, June 22, 2010

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

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

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

Demo

Tuesday, June 22, 2010

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

Configuration Page

• create a config.php

• enjoy :)

Tuesday, June 22, 2010

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

Tuesday, June 22, 2010

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

Create a page

• Create a script in your plugin directory

• Add a link object your plugin.json

Tuesday, June 22, 2010

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

plugin.json

{ "name" : "Demo Plugin", "links" : [{ "script" : "my-page.php", "label" : "My Page", "menu" : "My Menu" }]}

Tuesday, June 22, 2010

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

Your menu!

Tuesday, June 22, 2010

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

Your plugin!

Tuesday, June 22, 2010

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

Demo

Tuesday, June 22, 2010

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

http://openvbx.org

Tuesday, June 22, 2010

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

Tuesday, June 22, 2010

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

fix a bug?

Tuesday, June 22, 2010

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

We’re hiring

Want to work on OpenVBX or Twilio?

http://twilio.com/jobs

Tuesday, June 22, 2010

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

the future

Tuesday, June 22, 2010