SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Intranet UniEE:
Interface de voz

IES Uni Eibar-Ermua y eFaber


          Noviembre de 2007, Ermua-Eibar
¿Qué es VoIP?
Ejemplos




           ... y 1000s más
La voz como interface


 Ventajas
 Popularidad
 Innovación
¿Como es posible?

Web stack (SO, BD, RoR)
VoIP (Asterisk)
Ancho de banda
Los IVR dejan mucho que desear
Asterisk (conceptos)
                   http://asterisk.org


Centralita Open Source
(PBX)
Protocolos: SIP, IAX
Proveedores
Componentes
Clientes VoIP                                DID

                SIP, IAX   SIP, IAX




           ZAP                    SIP, IAX


  Red PSTN                            Terminación
Cliente softphone
Cliente hardware
Números públicos
DID y SIP URI
Demo


 Acceso con el número público: 943 xxxxxx
Aspectos técnicos


Arquitectura
Proveedores
Stack de software
AGI y AMI


      Asterisk Gateway Interface
      Asterisk Manager Interface
Telegraph
     http://telegraph.rubyforge.org



             MVC
             respond_to
Telegraph y AGI

exten => 105, 1, AGI(agi://127.0.0.1/my_route?param1=value)



wants.voice do
 render_voice do |voice|
    voice.play “hello-world”
    voice.link_to_dtmf 'bank-lineitem-menu' do
      link 1, :action=>"new"
      link 2, :action=>"list"
      link 3, :action=>"index"
    end
 end
end
Demo
Ejemplo de voice view

def show_notas
      @alumno = Alumno.find_by_dni(params[:dni])
      @notas = @alumno.notas_ultima_evaluacion
end




                  <% @notas.each do |nota| %>
                    <tr>
                      <td class="list"><%= nota.asignatura %></td>
                      <td class="list"><%= nota.nota %></td>
                    </tr>
                    <% end %>
Uso de Telegraph
$ script/plugin install svn://rubyforge.org/var/svn/telegraph/trunk




en /etc/asterisk/extensions.conf:
exten => 777,1, AGI(agi://192.168.1.1:4574/alumnos/index)




en app/controllers/alumnos_controller.rb:
def index
      respond_to do |wants|
        wants.html { render }
        wants.voice {
          render_voice { |voice| voice.play_sound "hello-world" }
        }
      end
end
Telegraph: configuración

$ vi config/telegraph.yaml


  development:
    agi_server: 127.0.0.1
    agi_port: 4574
    ami_server: druby://localhost:9000
    outgoing_call_path: /var/spool/asterisk/outgoing
    wakeup_call_path: /var/spool/asterisk/wakeups
    sound_path: /var/lib/asterisk/sounds
    recording_path: /var/lib/asterisk/sounds



$ script/agi_server
respond_to

         def index
           respond_to do |wants|
             wants.html { render }
             wants.voice { render_voice }
           end
         end


       $ vi app/views/alumnos/index.voice


       voice.play_sound "hello-world"
index

# index.rhtml
<h1>Consultas</h1>
<ul>
  <li> <%= link_to "Faltas", :action=>"faltas" %> </li>
  <li> <%= link_to "Notas",   :action=>"notas" %> </li>
</ul>




                     # index.voice
                     voice.play_sound 'thank-you-for-calling'
                     voice.link_to_dtmf 'presione1-2' do
                       link 1, :controller => "alumnos", :action => "faltas"
                       link 2, :action => "notas"
                     end
formulario

# notas.rhtml
<h1>Consultar notas</h1>
<% form_tag '/alumnos/show_notas' do %>
  DNI: <%= text_field_tag 'dni' %>
  <%= submit_tag 'Ver notas' %>
<% end %>




                           # notas.voice
                           voice.form :url=>{:controller =>
                           'alumnos', :action=>'show_notas'} do |form|
                            form.numeric_input 'dni', 'dni', :max_digits=>8
                           end
resultados
# show_notas rhtml
<h3>Notas de <%= @alumno.nombre %></h3>
<table class="list">
  <% @notas.each do |nota| %>
  <tr>
    <td class="list"><%= nota.asignatura %></td>
    <td class="list"><%= nota.nota %></td>
  </tr>
  <% end %>
</table>


                                      # show.voice
                                      @notas.each do |nota|
                                          voice.play nota.asignatura.to_slug
                                          voice.play nota.nota
                                      end
                                      sleep 2.seconds
                                      voice.play "vm-goodbye"
No hay que pasarse


     Web vs Mobile web vs Voz
     ej: 466453.com
Links
 http://www.iesunibhi.com

 tel: 943 560009

 http://asterisk.org

 http://www.rubyonrails.org

 http://www.voip-info.org

 http://telegraph.rubyforge.org

 http://telegraph.rubyforge.org/wiki/wiki.pl?UsingAGI
Contacto:

IES Uni EE BHI              eFaber S.L.
Avenida Otaola, 29          Máximo Aguirre 11, 5 izq
20600 EIBAR                 48011 Bilbao
Telf: 943-20.84.44          Telf: 94 4723589
Fax: 943-20.31.96           E-mail: info@efaber.ney
E-mail: uni@iesunibhi.com   http://www.efaber.net
http://www.iesunibhi.com

Bº Ongarai s/n
48260 ERMUA (Bizkaia)
Telf: 943-17.62.57
Fax: 943-17.64.50
E-mail: uni@iesunibhi.com
http://www.iesunibhi.com

Más contenido relacionado

Similar a Interface de voz

Twig, el nuevo motor de plantillas de Drupal 8
Twig, el nuevo motor de plantillas de Drupal 8Twig, el nuevo motor de plantillas de Drupal 8
Twig, el nuevo motor de plantillas de Drupal 8
Javier Eguiluz
 
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grailsCambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Fátima Casaú Pérez
 
Construyendo tu ecosistema de desarrollo web
Construyendo tu ecosistema de desarrollo webConstruyendo tu ecosistema de desarrollo web
Construyendo tu ecosistema de desarrollo web
Alfredo Fernández López
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey
Vortexbird
 

Similar a Interface de voz (20)

Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)
 
Twig, el nuevo motor de plantillas de Drupal 8
Twig, el nuevo motor de plantillas de Drupal 8Twig, el nuevo motor de plantillas de Drupal 8
Twig, el nuevo motor de plantillas de Drupal 8
 
Introducción a DJango
Introducción a DJangoIntroducción a DJango
Introducción a DJango
 
Desymfony 2011 - Twig
Desymfony 2011 - TwigDesymfony 2011 - Twig
Desymfony 2011 - Twig
 
Guiapractica de bd completa
Guiapractica de bd completaGuiapractica de bd completa
Guiapractica de bd completa
 
Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 0...
Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 0...Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 0...
Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 0...
 
Symfony: Domesticando las Vistas - decharlas
Symfony: Domesticando las Vistas - decharlasSymfony: Domesticando las Vistas - decharlas
Symfony: Domesticando las Vistas - decharlas
 
Symfony: Domesticando las Vistas
Symfony: Domesticando las VistasSymfony: Domesticando las Vistas
Symfony: Domesticando las Vistas
 
XML - Introducción
XML - IntroducciónXML - Introducción
XML - Introducción
 
Tecnologias Web Semantica
Tecnologias Web SemanticaTecnologias Web Semantica
Tecnologias Web Semantica
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
Introducción a Flask
Introducción a FlaskIntroducción a Flask
Introducción a Flask
 
Espacios de nombres en XML
Espacios de nombres en XMLEspacios de nombres en XML
Espacios de nombres en XML
 
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones webGroovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
 
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grailsCambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
 
Construyendo tu ecosistema de desarrollo web
Construyendo tu ecosistema de desarrollo webConstruyendo tu ecosistema de desarrollo web
Construyendo tu ecosistema de desarrollo web
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey
 
Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RS
 
Sesión Virtual
Sesión VirtualSesión Virtual
Sesión Virtual
 

Más de Svet Ivantchev

Learning Analytics and Online Learning: New Oportunities?
Learning Analytics and Online Learning: New Oportunities?Learning Analytics and Online Learning: New Oportunities?
Learning Analytics and Online Learning: New Oportunities?
Svet Ivantchev
 
Libros electrónicos IV: ePub 2
Libros electrónicos IV: ePub 2Libros electrónicos IV: ePub 2
Libros electrónicos IV: ePub 2
Svet Ivantchev
 
Libros electrónicos III
Libros electrónicos IIILibros electrónicos III
Libros electrónicos III
Svet Ivantchev
 
Libros electrónicos II - ePub
Libros electrónicos II - ePubLibros electrónicos II - ePub
Libros electrónicos II - ePub
Svet Ivantchev
 
Libros electrónicos I
Libros electrónicos ILibros electrónicos I
Libros electrónicos I
Svet Ivantchev
 
Cloud Computing: Just Do It
Cloud Computing: Just Do ItCloud Computing: Just Do It
Cloud Computing: Just Do It
Svet Ivantchev
 
Cloud Computing: What it is, DOs and DON'Ts
Cloud Computing: What it is, DOs and DON'TsCloud Computing: What it is, DOs and DON'Ts
Cloud Computing: What it is, DOs and DON'Ts
Svet Ivantchev
 
Los mitos de la innovación
Los mitos de la innovaciónLos mitos de la innovación
Los mitos de la innovación
Svet Ivantchev
 

Más de Svet Ivantchev (20)

Machne Learning and Human Learning (2013).
Machne Learning and Human Learning (2013).Machne Learning and Human Learning (2013).
Machne Learning and Human Learning (2013).
 
Big Data: 
Some Questions in its Use in Applied Economics (2017)
Big Data: 
Some Questions in its Use in Applied Economics (2017)Big Data: 
Some Questions in its Use in Applied Economics (2017)
Big Data: 
Some Questions in its Use in Applied Economics (2017)
 
Introducción a Elixir
Introducción a ElixirIntroducción a Elixir
Introducción a Elixir
 
Gaztea Tech Robotica 2016
Gaztea Tech Robotica 2016Gaztea Tech Robotica 2016
Gaztea Tech Robotica 2016
 
Gaztea Tech 2015: 4. GT Drawbot Control
Gaztea Tech 2015: 4. GT Drawbot ControlGaztea Tech 2015: 4. GT Drawbot Control
Gaztea Tech 2015: 4. GT Drawbot Control
 
Gaztea Tech 2015: 3. Processing y Firmata
Gaztea Tech 2015: 3. Processing y FirmataGaztea Tech 2015: 3. Processing y Firmata
Gaztea Tech 2015: 3. Processing y Firmata
 
Gaztea Tech 2015: 2. El GT DrawBot
Gaztea Tech 2015: 2. El GT DrawBotGaztea Tech 2015: 2. El GT DrawBot
Gaztea Tech 2015: 2. El GT DrawBot
 
Gaztea Tech 2015: 1. Introducción al Arduino
Gaztea Tech 2015: 1. Introducción al ArduinoGaztea Tech 2015: 1. Introducción al Arduino
Gaztea Tech 2015: 1. Introducción al Arduino
 
Learning Analytics and Online Learning: New Oportunities?
Learning Analytics and Online Learning: New Oportunities?Learning Analytics and Online Learning: New Oportunities?
Learning Analytics and Online Learning: New Oportunities?
 
How Machine Learning and Big Data can Help Us with the Human Learning
How Machine Learning and Big Data can Help Us with the Human LearningHow Machine Learning and Big Data can Help Us with the Human Learning
How Machine Learning and Big Data can Help Us with the Human Learning
 
Vienen los Drones!
Vienen los Drones!Vienen los Drones!
Vienen los Drones!
 
Data Science
Data ScienceData Science
Data Science
 
Libros electrónicos IV: ePub 2
Libros electrónicos IV: ePub 2Libros electrónicos IV: ePub 2
Libros electrónicos IV: ePub 2
 
Libros electrónicos III
Libros electrónicos IIILibros electrónicos III
Libros electrónicos III
 
Libros electrónicos II - ePub
Libros electrónicos II - ePubLibros electrónicos II - ePub
Libros electrónicos II - ePub
 
Libros electrónicos I
Libros electrónicos ILibros electrónicos I
Libros electrónicos I
 
Cloud Computing: Just Do It
Cloud Computing: Just Do ItCloud Computing: Just Do It
Cloud Computing: Just Do It
 
Cloud Computing: What it is, DOs and DON'Ts
Cloud Computing: What it is, DOs and DON'TsCloud Computing: What it is, DOs and DON'Ts
Cloud Computing: What it is, DOs and DON'Ts
 
BigData
BigDataBigData
BigData
 
Los mitos de la innovación
Los mitos de la innovaciónLos mitos de la innovación
Los mitos de la innovación
 

Último

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (10)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Interface de voz

  • 1. Intranet UniEE: Interface de voz IES Uni Eibar-Ermua y eFaber Noviembre de 2007, Ermua-Eibar
  • 3. Ejemplos ... y 1000s más
  • 4. La voz como interface Ventajas Popularidad Innovación
  • 5. ¿Como es posible? Web stack (SO, BD, RoR) VoIP (Asterisk) Ancho de banda Los IVR dejan mucho que desear
  • 6. Asterisk (conceptos) http://asterisk.org Centralita Open Source (PBX) Protocolos: SIP, IAX Proveedores
  • 7. Componentes Clientes VoIP DID SIP, IAX SIP, IAX ZAP SIP, IAX Red PSTN Terminación
  • 11. DID y SIP URI
  • 12. Demo Acceso con el número público: 943 xxxxxx
  • 14. AGI y AMI Asterisk Gateway Interface Asterisk Manager Interface
  • 15. Telegraph http://telegraph.rubyforge.org MVC respond_to
  • 16. Telegraph y AGI exten => 105, 1, AGI(agi://127.0.0.1/my_route?param1=value) wants.voice do render_voice do |voice| voice.play “hello-world” voice.link_to_dtmf 'bank-lineitem-menu' do link 1, :action=>"new" link 2, :action=>"list" link 3, :action=>"index" end end end
  • 17. Demo
  • 18.
  • 19.
  • 20. Ejemplo de voice view def show_notas @alumno = Alumno.find_by_dni(params[:dni]) @notas = @alumno.notas_ultima_evaluacion end <% @notas.each do |nota| %> <tr> <td class="list"><%= nota.asignatura %></td> <td class="list"><%= nota.nota %></td> </tr> <% end %>
  • 21. Uso de Telegraph $ script/plugin install svn://rubyforge.org/var/svn/telegraph/trunk en /etc/asterisk/extensions.conf: exten => 777,1, AGI(agi://192.168.1.1:4574/alumnos/index) en app/controllers/alumnos_controller.rb: def index respond_to do |wants| wants.html { render } wants.voice { render_voice { |voice| voice.play_sound "hello-world" } } end end
  • 22. Telegraph: configuración $ vi config/telegraph.yaml development: agi_server: 127.0.0.1 agi_port: 4574 ami_server: druby://localhost:9000 outgoing_call_path: /var/spool/asterisk/outgoing wakeup_call_path: /var/spool/asterisk/wakeups sound_path: /var/lib/asterisk/sounds recording_path: /var/lib/asterisk/sounds $ script/agi_server
  • 23. respond_to def index respond_to do |wants| wants.html { render } wants.voice { render_voice } end end $ vi app/views/alumnos/index.voice voice.play_sound "hello-world"
  • 24. index # index.rhtml <h1>Consultas</h1> <ul> <li> <%= link_to "Faltas", :action=>"faltas" %> </li> <li> <%= link_to "Notas", :action=>"notas" %> </li> </ul> # index.voice voice.play_sound 'thank-you-for-calling' voice.link_to_dtmf 'presione1-2' do link 1, :controller => "alumnos", :action => "faltas" link 2, :action => "notas" end
  • 25. formulario # notas.rhtml <h1>Consultar notas</h1> <% form_tag '/alumnos/show_notas' do %> DNI: <%= text_field_tag 'dni' %> <%= submit_tag 'Ver notas' %> <% end %> # notas.voice voice.form :url=>{:controller => 'alumnos', :action=>'show_notas'} do |form| form.numeric_input 'dni', 'dni', :max_digits=>8 end
  • 26. resultados # show_notas rhtml <h3>Notas de <%= @alumno.nombre %></h3> <table class="list"> <% @notas.each do |nota| %> <tr> <td class="list"><%= nota.asignatura %></td> <td class="list"><%= nota.nota %></td> </tr> <% end %> </table> # show.voice @notas.each do |nota| voice.play nota.asignatura.to_slug voice.play nota.nota end sleep 2.seconds voice.play "vm-goodbye"
  • 27.
  • 28.
  • 29. No hay que pasarse Web vs Mobile web vs Voz ej: 466453.com
  • 30. Links http://www.iesunibhi.com tel: 943 560009 http://asterisk.org http://www.rubyonrails.org http://www.voip-info.org http://telegraph.rubyforge.org http://telegraph.rubyforge.org/wiki/wiki.pl?UsingAGI
  • 31. Contacto: IES Uni EE BHI eFaber S.L. Avenida Otaola, 29 Máximo Aguirre 11, 5 izq 20600 EIBAR 48011 Bilbao Telf: 943-20.84.44 Telf: 94 4723589 Fax: 943-20.31.96 E-mail: info@efaber.ney E-mail: uni@iesunibhi.com http://www.efaber.net http://www.iesunibhi.com Bº Ongarai s/n 48260 ERMUA (Bizkaia) Telf: 943-17.62.57 Fax: 943-17.64.50 E-mail: uni@iesunibhi.com http://www.iesunibhi.com