3. Why voice ?
❖ Many more people have phones than PCs/
internet!
❖ Many people prefer voice communications
over other channels!
❖ Voice provides interesting use-cases that
text and images alone can’t!
❖ Integrating computers with phones sounds
like magic !
5. What is Adhearsion ?
❖ Framework for voice apps!
❖ Business layer of telephony stack!
❖ Adhearsion = “adhesion” + “hear”!
❖ Glues voice layer to rest of the world
7. What is Adhearsion ?
❖ Written in Ruby!
❖ Open Source!
❖ Easy to use DSL!
❖ Powerful eventing!
❖ Plugins for common problems!
❖ Helpful community!
❖ Democratising telephony
8. Who is it for ?
❖ Voice app developers!
❖ Voice service providers!
❖ Telephony network providers!
❖ Ruby developers!
❖ Web developers!
❖ Anyone who doesn’t know ABC of telecom
Not just for the telecom guys
9. Where is it used ?
❖ IVRs!
❖ Call Center/Sales Force Automation!
❖ Surveys!
❖ Directory/Translation services!
❖ Automated reminders!
❖ Tele-marketing!
❖ Shopify (http://vimeo.com/33038589)!
❖ Your app ?
25. Punchblock
❖ Middleware library for telephony
applications!
❖ Similar to Rack for Rails/Sinatra!
❖ Consistent API over third-party call control
protocols - Rayo, Asterisk, FreeSWITCH!
❖ Frameworks/Apps can leverage
Punchblock’s APIs!
❖ Not a framework in itself!
❖ https://github.com/adhearsion/
punchblock
28. SIP (Session Initiation Protocol)
❖ Communications protocol!
❖ Controls media communication sessions!
❖ e.g. Voice/Video calls over IP!
❖ Standardised as RFC 3261 under IETF!
❖ Application layer protocol!
❖ Independent of underlying transport - TCP/UDP/SCTP/
SMTP!
❖ Uses other protocols - SDP/RTP/SRTP!
❖ Similar to HTTP’s request/response model
29. DID (Direct Inward Dialing)
❖ DID numbers purchased from carrier
website!
❖ IP Address/FQDN of voice network
provided to carrier!
❖ Same or different carrier provides out
bound dialling!
❖ Calls are routed to single FS server or
OpenSIPS proxy
30. TTS (Text-To-Speech)
❖ Adhearsion itself does not provide a TTS engine!
❖ Works with various TTS engines via VOIP platforms like Asterisk,
FreeSWITCH etc!
❖ TTS Engines - Festival, Cepstral, Lumevox, Nuance, AT&T Speech API,
Google Translate!
❖ CallController#say
31. ASR (Automatic Speech Recognition)
❖ Adhearsion supports third-party ASR engines!
❖ ASR Engines - PocketSphinx, Lumevox, Nuance, Vestec, AT&T Speech API!
❖ Plugin - https://github.com/adhearsion/adhearsion-asr!
❖ More insights - http://adhearsionconf.com/events/adhearsion-mania/
39. Remember
❖ There is lots of fraud in telephony!
❖ Be very careful when exposing your server to the public internet!
❖ Use access control lists to reject all SIP / XMPP traffic from untrusted IPs!
❖ Do not use default usernames and passwords in example configuration!
❖ Encrypt traffic between FS and Adhearsion - if not in same LAN!
❖ Be careful about letting customers dial expensive countries!
❖ Block dialing to premium numbers or non-market parts of the world!
❖ RTP is not encrypted if using SIP!
❖ Use SRTP with SSIP for encrypted audio