Tropo is part of CiscoLearn More

Announcing the availability of fallback URLs

Posted on August 25, 2016 by Ralf Schiffert

As you may know with Tropo you get powerful call recording capabilities free of charge. Often these are used for voicemail type applications, to ensure your employees and customers act professionally, or maybe even to do advanced voice analytics via our partner VoiceBase.

Tropo can either record the whole call for you, or just segments. The latter is often used when you want to suppress private data from the call recording (think social security or credit card data or the name of your psychic).

This is where the magic of Tropo comes into play:  Not only do we allow you to start and stop recording as often as you want during a call, we also never store your audio recordings on our servers, ever. Instead we have opted to let you fully control what should happen with the audio recordings by posting them to a URL of your choice. These URL’s can point to http(s), ftp(s) or Amazon S3 buckets and we will safely deposit your audio data there.

Now where things sometimes fall apart is when this URL cannot be reached. Your designated server may be overloaded or you didn’t pay your ISP bill or for whatever other reasons your server may not respond in time. In any case, since we don’t keep your private data these files had been lost.

There are architectural strategies available today to mitigate risks of loss, like Amazon Elastic Beanstalk and other load balancing approaches, but really, we start talking about serious deployment architectures here and not everyone wants to invest in this practice.

Instead we make achieving full redundancy really easy for you. With every application record request (Scripting or WebAPI) you can now specify up to 3 recording URLs. Tropo will try to post your recordings to each in turn until either a post was successful or all 3 of them failed.  How does that sound?

We believe every application should make use of it. Since we support fully encrypted Amazon S3 storage there is no reason to ever not introduce this fallback mechanism. You can go over your current application and just add your secret S3 bucket to the list and voila: 100% redundancy.

Signing up with Amazon S3 is easy and they follow the same pay-as-you-go model that Tropo customers also enjoy.

Now the fine print.

As mentioned earlier we only support 3 URLs. The primary and up to 2 fallback URLs. http method can be POST and PUT with POST being the default. We won’t retry an individual URL, although nothing prevents you from reusing an URL in the retry list to achieve this functionality.

Last but not least some examples.

Scripting API

say("Speed dating part six! We will send your answer to all prospects");
record("What embarrassing incident would you absolutely refuse to tell me about? Tell us in 15s or less!",
  {
    beep:true,
    maxTime:15,
    recordURL: [
    {
      url: "http://example.com/recording.js"
    },
    {
      url: "http://example2.com/recording.js",
      username: "johndoe",
      password: "1234",
      method: "put"
    },
    {
      url: "http://s3.amazonaws.com/bucket",
      username: "access key id",
      password: "access key secret"
    }]
  }
);

 

WebAPI

{
   "tropo":[
    {
      "startRecording":
      { 
        "name":"myrecording",
        "url": [
          {
            "url": "http://example.com/recording.js"
          },
          {
            "url": "http://example2.com/recording.js",
            "username": "johndoe",
            "password": "1234",
            "method": "put"
          },
          {
            "url": "http://s3.amazonaws.com/bucket",
            "username": "access key id",
            "password": "access key secret"
          }
        ]
      }
   },
   {
    "say":[
      {
        "value":"I am now recording!"
      }
      ]
    }
  ]
}

 

Have fun with this new feature and if there is anything you need from us, please open a support ticket with support@tropo.com

Leave a Reply