SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Applicazioni VoIP Open Source con Ruby
   Ruby Social Club, 6 Maggio 2012

           Luca Pradovera
     Voice Application Developer




                                         PAGE
Perché Adhearsion?





    La telefonia è un ecosistema chiuso

    Voce come canale naturale

    Asterisk per primo: open source, API

    Framework moderno per realizzare Voice Application
Cos'è una Voice Application?





    Interagisce con la voce e i media

    Centralini e call-center, ma non solo

    Integrazione con qualunque servizio


    Servizio di traduzione simultanea

    Agende e reminder

    Siri, perché no?
Il Framework/1



    In sviluppo dal 2007

    Adhearsion Foundation e Mojo Lingo

    MIT License

    Versione 2.0 appena rilasciata

    Ruby 1.9

    gem install adhearsion
Il Framework/2



    Supporta Asterisk, Voxeo PRISM, Tropo e altri attraverso Rayo

    Funzionalità native XMPP

    API Ruby-like e DSL specifiche per la voce
Cosa mi fornisce?



    CallController per gestire le chiamate

    Funzioni semplici per la gestione media

    Monitoraggio di eventi

    Plugin facili da creare e da configurare

    Supporto al TDD/BDD

    Generatori
Un piccolo esempio/1


    MacBook-Pro-di-Luca-Pradovera:projects luca$ ahn create rsc
        create config
        create config/adhearsion.rb
        create config/environment.rb
        create lib
        create lib/simon_game.rb
        create script
        create script/ahn
        create spec
        create spec/spec_helper.rb
        create spec/call_controllers
        create spec/support
        create Gemfile
        create .gitignore
        create .rspec
        create Procfile
        create Rakefile
        create README.md
         chmod script/ahn
Un piccolo esempio/2


MacBook-Pro-di-Luca-Pradovera:rsc luca$ ahn generate controller RscController
    exist lib
      exist spec
      create lib/rsc_controller.rb
      create spec/rsc_controller_spec.rb
MacBook-Pro-di-Luca-Pradovera:rsc luca$ mvim
# Controller
class RscController < Adhearsion::CallController
  def run
    say "Hello to Ruby Social Club attendees!"
    people = ask "How many people are there?", :limit => 1
    say "Wow, #{people} people!"
  end
end
MacBook-Pro-di-Luca-Pradovera:rsc luca$ ahn start .
Da qui in poi?



    Sito web: http://adhearsion.com

    Mojo Lingo: http://mojolingo.com

    Twitter: @adhearsion, @lucaprado

    Mail/Jabber: lpradovera@mojolingo.com
GRAZIE A TUTTI!




Milano, RSC, 3 Maggio 2012




                             PAGE

Contenu connexe

Similaire à Adhearsion @ Ruby Social Club 3 Maggio 2012

[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8Wellnet srl
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8DrupalDay
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkGiovanni Buffa
 
Sviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaSviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaMarcello Teodori
 
Netbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHPNetbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHPGiorgio Cefaro
 
ConfSL: Sviluppo Applicazioni web con Symfony
ConfSL: Sviluppo Applicazioni web con SymfonyConfSL: Sviluppo Applicazioni web con Symfony
ConfSL: Sviluppo Applicazioni web con SymfonyLuca Saba
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfrescoMirco Leo
 
IBM Softwareland 2008 - Rational
IBM Softwareland 2008 - RationalIBM Softwareland 2008 - Rational
IBM Softwareland 2008 - Rationalfedericobotti
 
Iced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaIced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaVitalij Zadneprovskij
 
Rich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e JavaRich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e Javamarcocasario
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)jampslide
 
Software liberi
Software liberiSoftware liberi
Software liberimarcolinux
 
Javaday 2007: skype4java
Javaday 2007: skype4javaJavaday 2007: skype4java
Javaday 2007: skype4javaMatteo Baccan
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinFabio Cozzolino
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developerssparkfabrik
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On RailsLuca Mearelli
 
Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Francesco Baldassarri
 

Similaire à Adhearsion @ Ruby Social Club 3 Maggio 2012 (20)

[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un framework
 
Sviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaSviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con Java
 
Netbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHPNetbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHP
 
ConfSL: Sviluppo Applicazioni web con Symfony
ConfSL: Sviluppo Applicazioni web con SymfonyConfSL: Sviluppo Applicazioni web con Symfony
ConfSL: Sviluppo Applicazioni web con Symfony
 
Introduzione ros
Introduzione rosIntroduzione ros
Introduzione ros
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfresco
 
IBM Softwareland 2008 - Rational
IBM Softwareland 2008 - RationalIBM Softwareland 2008 - Rational
IBM Softwareland 2008 - Rational
 
Iced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaIced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java libera
 
Rich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e JavaRich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e Java
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
 
Software liberi
Software liberiSoftware liberi
Software liberi
 
Javaday 2007: skype4java
Javaday 2007: skype4javaJavaday 2007: skype4java
Javaday 2007: skype4java
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarin
 
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
 
Ubuntu Linux - Corso Base
Ubuntu Linux - Corso BaseUbuntu Linux - Corso Base
Ubuntu Linux - Corso Base
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developers
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On Rails
 
Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)
 

Adhearsion @ Ruby Social Club 3 Maggio 2012

  • 1. Applicazioni VoIP Open Source con Ruby Ruby Social Club, 6 Maggio 2012 Luca Pradovera Voice Application Developer PAGE
  • 2. Perché Adhearsion?  La telefonia è un ecosistema chiuso  Voce come canale naturale  Asterisk per primo: open source, API  Framework moderno per realizzare Voice Application
  • 3. Cos'è una Voice Application?  Interagisce con la voce e i media  Centralini e call-center, ma non solo  Integrazione con qualunque servizio  Servizio di traduzione simultanea  Agende e reminder  Siri, perché no?
  • 4. Il Framework/1  In sviluppo dal 2007  Adhearsion Foundation e Mojo Lingo  MIT License  Versione 2.0 appena rilasciata  Ruby 1.9  gem install adhearsion
  • 5. Il Framework/2  Supporta Asterisk, Voxeo PRISM, Tropo e altri attraverso Rayo  Funzionalità native XMPP  API Ruby-like e DSL specifiche per la voce
  • 6. Cosa mi fornisce?  CallController per gestire le chiamate  Funzioni semplici per la gestione media  Monitoraggio di eventi  Plugin facili da creare e da configurare  Supporto al TDD/BDD  Generatori
  • 7. Un piccolo esempio/1  MacBook-Pro-di-Luca-Pradovera:projects luca$ ahn create rsc create config create config/adhearsion.rb create config/environment.rb create lib create lib/simon_game.rb create script create script/ahn create spec create spec/spec_helper.rb create spec/call_controllers create spec/support create Gemfile create .gitignore create .rspec create Procfile create Rakefile create README.md chmod script/ahn
  • 8. Un piccolo esempio/2 MacBook-Pro-di-Luca-Pradovera:rsc luca$ ahn generate controller RscController exist lib exist spec create lib/rsc_controller.rb create spec/rsc_controller_spec.rb MacBook-Pro-di-Luca-Pradovera:rsc luca$ mvim # Controller class RscController < Adhearsion::CallController def run say "Hello to Ruby Social Club attendees!" people = ask "How many people are there?", :limit => 1 say "Wow, #{people} people!" end end MacBook-Pro-di-Luca-Pradovera:rsc luca$ ahn start .
  • 9. Da qui in poi?  Sito web: http://adhearsion.com  Mojo Lingo: http://mojolingo.com  Twitter: @adhearsion, @lucaprado  Mail/Jabber: lpradovera@mojolingo.com
  • 10. GRAZIE A TUTTI! Milano, RSC, 3 Maggio 2012 PAGE