Archive for February, 2010

Tropo Jam Session Recording

Thursday, February 25th, 2010

Miss the Tropo Jam Session yesterday? We’ve got the recording up online now. Watch it embedded below, or on our Blip.tv channel.

In this developer jam session, we present the newly released Tropo Web API. Tropo makes it easy for you to quickly add voice, instant messaging (IM), and SMS to your applications, using the programming languages and tools you already know using a web services API and JSON. We cover how the API works as well as provide examples of how to use this in your communications with robust speech recognition, text to speech, transcription, conferencing, instant messaging, and SMS to your applications.

Using the Tropo Web API behind a firewall with Tunnlr

Wednesday, February 24th, 2010

Many times we find ourselves sitting behind networks without the ability to open a TCP port to hack on our web services. This may be at a coffee shop, a corporate network or that guest network you just connected to at your developer meetup. We have a solution for that.

In steps Tunnlr, a great little service by the folks at ElevatedRails. With Tunnlr, you are able to create a reverse SSH tunnel to a port on your computer. While they do have a plug-in for Ruby on Rails, this may be used to redirect traffic to any application running on a port. In this example I will walk you through how to do this using another Ruby web framework, Sinatra.

The first step is to sign-up for a Tunnlr account. You may select a single plan for USD$5 per month, but you get a 90-day free trial with no credit card required at sign-up. Once you have signed-up and verified your account, they will then provide you with a URL to use to access your tunnel. You will also need to provide them with your public SSH key in your account.

Tunnlr

Once you have this setup, then you need to create the tunnel from your computer. I created a shell script that I may run each time I want to have a tunnel.

create_tunnel.sh

Then, fire up your tunnel in a terminal window. Terminal — ssh — 80×24

Now that the hard part is over, write a Sinatra (or any others) app using our Tropo-WebAPI-Ruby gem and run it on the port you specified in your shell script above.

tunnlr_sample.rb

Thats it, now your Tropo WebAPI app is ready to run behind any firewall. Now you may demonstrate Tropo at that next developer meetup!

How-To: Distinguish PSTN, Skype, iNum, and SIP in your Tropo applications

Tuesday, February 23rd, 2010

Here at the secret layers of Tropo Support we often see similar questions raised by our developer base. We pay attention to these trends, since they often indicate that something may be lacking in our documentation.   If we do find something is lacking we of course want to address by expanding on concepts or adding additional examples to help shore up our doc sets and help out our developers.

Recently I have started to notice a trend of developers asking how to determine the source of callers dialing into their applications (Skype, PSTN, SIP, or iNum).  We’ll since we are often asked this question I figured I would provide a nice Ruby example for the ‘class’ =), I do hope this help!

Regards,
John Dyer
Customer Engineer
Voxeo Support

# -----------
# route based on DNIS
# John Dyer
# Voxeo Support
# -----------
log "@"*10 + $currentCall.inspect   # List some headers
log "@"*10  + $currentCall.getHeader("x-voxeo-to")  # log to header

module SipRegex
  def evaluate_sip_header(header)
    case header
      when /^<sip:990/            # SKYPE
        "SKYPE"
      when /<sip:999/              # SIP
        "SIP"
      when /^<sip:883/            # iNUM
        "INUM"
      when /<sip:|[1-9]\d\d/      # PSTN
        "PSTN"
      else
        "OTHER"
    end
  end
end
include SipRegex

toHeader = evaluate_sip_header($currentCall.getHeader("x-voxeo-to"))

if toHeader == 'PSTN'
    answer
    log "@"*10 + toHeader
    hangup
  elsif toHeader == 'SKYPE'
    answer
    log "@"*10 + toHeader
    hangup
  elsif  toHeader == 'SIP'
    answer
    log "@"*10 + toHeader
    hangup
  elsif  toHeader == 'INUM'
    answer
    log "@"*10 + toHeader
    hangup
  elsif toHeader == 'OTHER'
    answer
    log "@"*10 + toHeader
    hangup
  else
    log "@"*10 + "SOMETHING BAD HAPPENED" 
end

Tropo Jam Session

Monday, February 22nd, 2010

Want to learn more about the new Tropo Web API? Then sign up for our upcoming Tropo Jam Session.

Voxeo’s Jam Sessions are live sessions for developers, demonstrating the latest Voxeo technology. You can join our web conference session and watch and listen as Voxeo’s developers talk about how to get the most out of our products.

This month’s Jam Session is on Tropo and the new Web API. Join Tropo’s Jason Goecke and Jose de Castro February 24th at 11am Eastern to get an overview of how Tropo’s Web API works and what you can do with it.  In the session, Jose and Jason will show how to add multi-channel communications with robust speech recognition, text to speech, transcription, conferencing, IM, and SMS to your apps using the programming languages and tools you already know. They’ll even be providing examples of how to use this in your own applications.

There’s no cost to attend, but you will need to register in advance so we can send you the call-in details

Register now.

Free at 12noon US Eastern today? Join a VoIP Users Conf call about Tropo

Friday, February 19th, 2010

If you are free today, February 19th, at 12noon US Eastern, please feel free to join in to the weekly “VoIP Users Conference” call where Jason Goecke and I (Dan York) will be discussing what’s new with Tropo. Information here:

http://www.voipusersconference.org/2010/voxeo/

The key info is that you can call in at noon to any of these numbers:

sip:200901@login.zipdx.com
skype:vuc.com
+1 567 252 2286
iNum: +883 5100 123 94882

I listed SIP and Skype first because if you can use them, you will wind up with a wideband audio connection that’s much clearer.

If you are on IRC, you can also join the “#vuc” channel on freenode.net.

If you can’t join us today, the call will be recorded and available for listening later at the same URL as above.

The VUC crowd is always a fun one to chat with so it should be an enjoyable call… talk to (some of) you at noon!

Tutorial – Adding Tropo to Google Wave

Tuesday, February 16th, 2010

There is another great tutorial that Zhao Lu (aka – @zlu) has done, showing how to use Tropo with Google Wave. Zhao takes JRuby, the Rave gem (created by Jason Rush, aka @diminish7) and creating a Google Wave Robot that allows you to create a callable conference in a Wave.

The complete tutorial and code example is available on Github @ http://github.com/zlu/tropo-wave-tutorial. Thanks again to Zhao!

Ruby on Rails Example for Tropo Web API without port forwarding!

Friday, February 12th, 2010

Zhao Lu (aka @zlu) has shared a tutorial he has done using Ruby on Rails and our recently released Tropo Web API. The tutorial shows how to add, or build, the Tropo features to your Rails application in 15 minutes using our REST/JSON API. All of this deployed to Heroku for easy application deployment.

Another great thing that Zhao goes on to show, is the ability to use the Tropo Web API behind a firewall where you can not open or forward ports. For this he shows using Tunnlr to establish a remote SSH tunnel. With this tunnel you obtain a port on Tunnlr’s public IP address that forwards via your SSH tunnel to your application inside your firewall. This is great when you are on a company or university network where opening and forwarding a port through a firewall is not an option.

For more details have a look at the README. The full source code example is available on Github @ http://github.com/zlu/tropo-tutorial. A big thanks to Zhao for showing how easy it is to use the Tropo Web API!