Call Control [RELEASE NOTES & UPDATES]

23, Feb 2021

Call Control Updates And Release Notes

At Telnyx we’re always improving and iterating on our Voice API (Call Control), we make changes regularly based on feedback we receive from users like you.

Recent Updates to Call Control include:



23 February 2021

More Recording Options for TeXML

We're adding more flexibility when recording calls using TeXML, allowing you to choose between single- or dual-channel call recording more easily.


How to specify Single-Channel Recording via TeXML

Recording calls using the TeXML <Record> verb produces a dual-channel recording by default.

Now, users can specify an additional channels attribute with the <Record> verb to produce a single-channel recording:

<Response>
  <Record channels="single" action="/test/callback/on-record" method="POST" recordingStatusCallback="/test/callback/recording" />
</Response>

The channels attribute can have a value of "single" or "dual". The default value is "dual", so if you're already using TeXML to record dual-channel calls, your integration won't be affected.


How this change affects webhook information passed by Telnyx

Telnyx passes information about recordings in the form of a webhook sent to the recordingStatusCallback and action URLs specified in the <Record> verb. With this change, the information in the webhooks will include a new "RecordingChannels" field. The "RecordingChannels" field can have a value of "1" for single-channel recordings or "2" for dual-channel recordings.

The webhook example shown below describes a single-channel call recording:

{
  "AccountSid": "9fd26e62-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "CallSid": "v2:Yl-sKJ4znm3N7v9-nstE9oJNH48s4PfWVJ1UB5nsJMKHS9RqQ6gNdg",
  "CallSidLegacy": "v2:Yl-sKJ4znm3N7v9-nstE9oJNH48s4PfWVJ1UB5nsJMKHS9RqQ6gNdg",
  "From": "+1555XXXXXXX",
  "RecordingChannels": "1",
  "RecordingDuration": "4",
  "RecordingSid": "f1099038-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "RecordingStatus": "completed",
  "RecordingUrl": "url",
  "To": "+1555XXXXXXX"
}

This change will be in effect from Monday, March 1, 2021. Want to learn more about recording calls with TeXML? Visit our API reference to explore the docs!



10 February 2021

Bug Fix: Improving Custom Audio Playback Behavior

We've implemented a bug fix to prevent audio playback from being interrupted on calls.

When gathering user inputs using the TeXML <Gather> verb or the gather_using_audio Call Control command, audio can be played to prompt the user. In this situation, a user's keypad button presses will interrupt the audio playback.

However, when playing custom audio on a call, using either the TeXML <Play> verb or the playback_start Call Control command, and without specifying any input gathering, audio could unintentionally be interrupted by a user pressing the * key on their phone keypad.

Now, when custom audio is being played on a call using the TeXML <Play> verb or the Call Control playback_start command, and no input gathering is active, the audio will not be interrupted by any button presses unless the call is hung-up.

Find out how your fellow developers have been using custom audio playback - join our Developer Slack Community today!



04 December 2020

Webhook Logging for in-depth API Debugging

Webhook Logging

If you're a Telnyx API user, you can now retrieve detailed information about webhooks for your account with our new Webhook Logging tools.


What is a webhook?

A webhook (also referred to as a web callback or a HTTP push API) is a way for an app to deliver data to other apps in real-time. Webhooks provide Telnyx API users with notification and context on communications events as they happen, enabling real-time communications applications.

For example, webhooks are sent by a Telnyx Call Control application when a call is initiated (call.initiated), answered (call.answered) or hung up (call.hangup). The Telnyx API sends webhooks to notify your application of a wide variety of events, including phone calls and numbers, text messages, SIP configuration settings, and many more as detailed in our API Reference.


What can I do with Webhook Logging?

Webhook Logging allows you to retrieve webhooks that have already been delivered by Telnyx about events in your voice and messaging applications.

Granular filtering options allow you to refine your search with several webhook parameters, including status, time-frame, and text strings contained in the webhook. These filtering tools enable advanced debugging use-cases:

  • Locate and analyze specific webhooks using their webhook ID.
  • Verify the delivery of a webhook.
  • Verify the contents of a webhook.
  • Analyze all webhooks sent in a certain timeframe or containing a certain text string (e.g., call.initiated) to find anomalies.
  • Analyze all webhooks with "failed" status.

Webhook Logging is the newest addition to our growing suite of advanced communications API debugging tools. With granular debugging and reporting, it's easier than ever to build next-generation communications apps on our voice and texting APIs.


How can I get started with Webhook Logging?

Webhook Logging tools can be accessed via the Telnyx API's /webhook_deliveries endpoint.

The Telnyx API Reference contains documentation and usage examples for listing webhook deliveries and filtering results, and for finding webhook delivery details by webhook ID.



23 November 2020

Call Transfer with SIP REFER

sip-refer release-notes

We’re excited to announce that Telnyx Voice API users can now transfer calls using the SIP Refer method. SIP Refer enables greater control over your communications by providing a reliable means of transferring calls between parties within your organization, or to the PSTN.

Sending a REFER message via Call Control programmable voice API

Customers can request that a call be transferred by using Call Control, our programmable voice API. Refer commands can be sent from a Call Control application at any time during a call. This will initiate a transfer of one of the parties from the initial Telnyx call onto a new call to an external destination, without Telnyx in the call path.

This transfer method can also be used to establish a new call between the two parties from the initial Telnyx call, without Telnyx in the call path. This use-case is especially useful for calls on which sensitive information is disclosed - by removing itself from the call path, Telnyx adds an extra layer of protection to these calls.

Initiating a transfer on any Telnyx call using the Refer command adds a $0.10 surcharge to the cost of the call.

Include context with transferred calls via SIP UUI header

Context can be passed along with transferred calls in the form of SIP UUI headers. For example, a support agent who collects information from a customer can attach this information in SIP UUI headers when transferring the call to another support agent, ensuring the customer only needs to provide their information once.

For more information on transferring calls using SIP REFER, check out our docs. Note that this new functionality is not supported in V1 of our API.

Curious about using SIP REFER to build greater functionality into your comms? Talk to our SIP experts to learn more.



13 February 2020

Outbound Call Parking Released

outbound-call-parking

We’re excited to announce a new Voice feature: Park Outbound Calls. This feature is now available in the Mission Control Portal and Telnyx API.

The Park Outbound Calls feature provides a simple mechanism for users to “park” their outbound calls instead of connecting them to their destination. The call then awaits further orders from its connected application.

Parked calls provide a ringback to the caller, waiting for a command via the Telnyx Call Control API to define the call action. Typical commands include answer, play audio, bridge to another call, and transfer to another number. You can learn more about Call Control commands in our Developer Docs.

Benefits Of Outbound Call Parking

  • Custom calling experiences: Enhance your customer experience with call flows that are as sophisticated and responsive as you need them to be.
  • Cost control: Prevent users from making outbound calls to any destination. Instead, have a Call Control application process your calls appropriately.
  • Always connect emergency calls: Rest assured that outbound calls to emergency services are not parked, so you can connect when you need it most.

Setup For Outbound Call Parking

By default, this new feature is not enabled on Connections. To enable Park Outbound Calls for your Connections, follow the steps below:

  1. Sign in to the Telnyx Mission Control Portal.
  2. Click on Connections in the navigation menu on the left-hand side of the portal.
  3. Click the “Basic Options” button [✎] for the connection you want to modify.
  4. Please note that Park Outbound Numbers cannot be configured on Connections of type Call Control, please use Credentials, IP Address or FQDN instead.
  5. Under “Events,” ensure your webhook URL is set to point to your application server.
  6. Check the box next to “Park Outbound Calls.”
  7. Click Save All Changes.

To use our Park Outbound Calls feature, head to the Mission Control Portal or check out our support docs learn more.



22, August 2019

Answering Machine Detection

answering-machine-detection

We’re delighted to announce the launch of Telnyx Answering Machine Detection, now available with the programmable voice API — Call Control. Using Answering Machine Detection, you can deliver a better calling experience, at the same time gathering valuable data about how often your outbound calls are picked up by humans or machines.

Outbound calling is a critical communication channel for many businesses, whether you’re following up on potential sales leads, providing customers with important updates, or collecting customer data via voice surveys.

The first step in delivering a great experience is understanding who’s answering the call. Telnyx Answering Machine Detection will tell you in real-time whether your call has been answered by a human or machine, so you can tailor your experience accordingly.

What Is Answering Machine Detection?

Answering Machine Detection (AMD) is a feature that determines whether a machine or a human answered a call. It can be applied to any automated outbound call, including outbound IVRs, text-to-speech, pre-recorded calls and click-to-call.

How Answering Machine Detection Works

When initiating a call using the Telnyx voice API, simply choose an answering machine detection configuration. Then, once the call is answered our AMD algorithm will automatically detect in real-time if a human or machine has picked up the call. Telnyx will automatically send you webhooks when:

  • A human or machine is detected, so you can use call progress analysis to determine the next step in your call flow.
  • If a machine is detected, we’ll let you know when the machine greeting ends, so you can leave a complete message rather than frustrating customers with half-messages left on their voicemail.

Choose one of our out of the box configurations, or build your own configuration using our flexible parameters.

What types of businesses use Answering Machine Detection?

AMD can be used by any business using automated outbound calling. Answering Machine Detection adds value to these channels by differentiating messages when they’re picked up by an answering machine or voicemail. Some of the most common use cases include:

  • Outbound IVRs_: engage customers with a personalized experience, driving high-value inbound calls or deflecting avoidable calls by proactively providing important information.
  • Text-to-speech: dynamically merge fields into a voice broadcast message i.e. appointment reminders.
  • Click-to-call: create an easy way to connect customers with sales or support teams, directly from your website.

What are the benefits of using Answering Machine Detection?

Did you know that 80% of phone calls go straight to voicemail? And, sales reps spend an average of 25 hours a month leaving voicemail messages. Answering Machine Detection brings with it a host of benefits, boosting agent productivity, increasing agent talktime, and driving sales conversions— all by ensuring agent time is spent on live calls with prospective customers.

Answering Machine Detection also enables businesses to improve their customer experiences (CX), automating the proactive distribution of critical information, and automating callbacks, so customers are guaranteed to receive the call they’ve requested.

How much does Answering Machine Detection cost?

Telnyx Answering Machine Detection is free of charge with the Telnyx Programmable Voice API - Call Control, so you only pay for the call cost, starting at just $0.002 per minute. Twilio’s equivalent is charged at $0.0075 per call, on top of a minimum of $0.004 per minute for the call. So, Telnyx is a far more cost-effective option if you want to use this feature.

You can view detailed Telnyx pricing information here.

How do I get starting using Answering Machine Detection?

To get started using Telnyx Answering Machine Detection, the first step is to sign up for a free portal account. Then, follow the steps in the quickstart guide to get set up to make outbound calls. Finally, check out the Answering Machine Detection API docs for specific information about how to configure AMD with your application.

Answering Machine Detection enhances an extensive suite of features already available on the Telnyx programmable voice API. Other available features include the ability to record and conference calls, play audio, fork call media, capture caller inputs and more.

Questions? Join our 24/7 developer slack channel or get in touch with our team of experts.