3, 2, 1… Tropo Solutions Launch!

Posted on by No comments yet

Tropo Solutions has launched and is live! Tropo Solutions is a showcase of finished, business-relevant applications, all powered by the Tropo Platform and ready for use at your company. The vendors represented on Tropo Solutions have created business-critical offerings that enhance or insert into existing workflows to deliver significant impact in the areas our partners and end customers care about.

The goal of Tropo Solutions is to make it easy for Cisco partners and customers to discover and identify third-party solutions that will drive meaningful line-of-business outcomes and solve challenges that their users and customers face. From applications in sales and marketing automation and healthcare to customer support, legal, and LOB, the number and types of apps included on Tropo Solutions provides a diversity that allows users to find solutions that meet their specific challenges. The solutions showcased on Tropo Solutions make use of various communication solutions, including:

  • Voice response apps
  • Two-factor authentication
  • Local phone number capabilities for campaigns
  • Appointment reminders
  • SMS notifications and alerts

And for customers looking to extend the value of their Cisco Spark solution, there are many apps that integrate with Cisco Spark rooms. Because when it comes to apps and integrations, why settle? Why try to fit a square peg in a round hole? Tropo Solutions is built to help you find the round peg easily.

What Solutions Will I Find on Tropo Solutions?

Tropo Solutions currently showcases lots of fantastic solutions, including Altocloud (watch the video), Qwasi (watch the video), Tagnos (watch the video), and many more!

How Do I Use Tropo Solutions?

Cisco Customers/Partners can go to the Tropo Solutions page and click-to-inquire about particular solutions. We will discuss your unique needs and help you find the solution that makes most sense for you.

Cisco ISV Developers who have worked on developing integrations with the Tropo API can get their applications featured on Tropo Solutions by contacting sparkintegrations@cisco.com.

We’re very pleased with this next phase in making it easy for our customers and partners to find the solutions they need.

Enjoy!

Announcing the availability of fallback URLs

Posted on by No comments yet

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

<code>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"
    }]
  }
);
</code>

 

WebAPI

<code>{
   "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!"
      }
      ]
    }
  ]
}
</code>

 

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

Getting Call Detail Records

Posted on by No comments yet

Call Detail Records (CDR) are useful for gleaning information about your account’s voice and SMS traffic. They contain the callerID, the calledID, duration, channel/network, disposition and more. Tropo provides the CDR information in your account logs, and they are available from the web portal or through FTP (ftp.tropo.com). However, since these logs also contain lots of additional information about the application session, they can be a little overwhelming, and too verbose to easily search through manually. We’ll show you how a simple program can solve that issue, and provide you with the full code to run it yourself. Some modifications may be desired, but this walkthrough will provide a good starting point to get all of the CDRs, for every application in your Tropo account, for the last sixty days.

This tool requires knowledge of the command terminal, and Python (~2.7) needs to be installed in order to run it out of the box; no additional Python packages are required. It will use ftp.tropo.com (using your tropo.com username and password) to download your account log files.

To start, the app will download your log files to a local folder. It will only retrieve the logs that changed since the last time the tool was run (by checking the names and file sizes on the FTP server vs those already downloaded), which means the first time you run it, it will download all of your account logs, but each time after will be incremental. As an additional measure of security, the app uses FTPS.

After the log files are downloaded, the app will extract any logs that are compressed (archived logs are compressed, active logs remain plain text), parse the content for just the CDRs and then save them to their own files, without the extra Tropo log content.

Last, the app gives you the option to create a CSV file that contains all of the CDRs for every file collected; this method is a bit easier to read and process than the pure JSON CDRs. For every file downloaded, new CDRs will be appended to the CSV – unless you change the name of the CSV each time you run it, in which case only the new CDRs since the last run would appear in the CSV.

By default, the downloaded and extracted logs are placed into a “workinglogs” folder, while the final parsed logs are separated and placed into a “parsedlogs” folder; these can be changed in the code. We also include a prompt to ask for your Tropo username and password; you can hardcode it if you prefer.

Download or clone the complete app from our Github repository and once downloaded (assuming you already have Python installed), open up your terminal, navigate to your newly created file, and then type:

python ftp_cdr_tool.py myoutputCSV.csv