Follow CDYNE Blog on WordPress.com
Header Image -

Tag Archives

16 Articles

Conference Calling with Phone Notify! API

With over 50 programming methods, you can build powerful applications with Phone Notify! that will handle complex phone scripts, send immediate or scheduled phone calls, respond to call actions in real time, and manage call lists. One of the features included in Phone Notify! is the ability to create a conference, add a call to a conference, and cancel the conference. This tutorial will show the programming methods used along with sample call scripts.

This tutorial uses C# in Visual Studio 2010. You can find additional source code examples and download code examples from the Phone Notify! developer’s wiki.

Phone Notify! Operations Used

Step 1: Consuming Phone Notify! Web Service

  • Open a new or existing project in Visual Studio 2010
  • From the top tool bar, go to Project>Add Service Reference, which will open up the following screen:

  • Click on the Advanced button in the lower left-hand corner, which will open up another screen:

  • Click on the Add Web Reference button, which will open up a third screen:

  • Add the Phone Notify WSDL URL: http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?wsdl to the URL box, and click on the green arrow. This will pull up the Phone Notify! Web Service Description as shown in the next screen:
  • Name the web reference. In this case, we named it WSDL. Then click the Add Reference button.

Step 2: Start Conference

The following example uses the NotifyPhoneAdvanced method to receive an incoming phone call, and the SetIncomingCallScript method to set the call script which will initiate a conference call. A dedicated phone number assigned to your account license key is required to receive phone calls.

The script in the code above uses advanced Notify commands that are available with Phone Notify! API. The following list includes notes on these commands:

~statuschangepostURL(“User’s specified URL”)~
This posts information about the call to a URL you specify. Using this method is highly suggested if you have a server to postback to on the web. The posturl must be in lower case. In this instance, when an inbound call is placed a conference key is posted to the URL specified here.

~ActOnDigitPress(false)~
Turns off Message Interruption for digit commands (i.e., 1 for repeat). This is useful for a message that, for example, says “enter your zip code” and it won’t jump around in the Dial Plan when the digits are pressed.

~ClearDTMF()~
Provides a clean slate for Acting on DTMF Commands. This will clear the default of “press 1 to repeat.”

~Label(MainMenu)~
Sets the label, “MainMenu,” which states in TTS “Thank you for calling CDYNE Corporation. Please choose a selection from one of the following options.”

~AssignDTMF(1|Join)~
Assigns 1 on the dial pad to go to the label “Join.” In this script, the star (*) is subsequently assigned to the label “MainMenu” and the pound sign (#) is assigned to go to the label “EndCall.”

~WaitForDTMF(5)~
This function will wait 5 seconds for a DTMF Command ( it accepts only one digit). Make sure that ActOnDigitPress(true) is set (It is true by default).

~Goto(MainMenu)~
This will go to a label defined by the Label command. In this instance, if the recipient does not press a designated digit within 5 seconds, the Goto command instructs the script to go to the MainMenu.

~Label(Join)~
Sets the label, “Join,” which states in TTS “Please wait while you are connected to the conference call.”

~Conference()~
Provides a way to conference multiple Notifies together. The first Notify that uses the conference command will return a ConfKey variable (you must use StatusChangePostURL to get it). You can then start other Notifies with the same ConfKey to join the person to the same room using the ~SetVar(ConfKey|the confkey guid)~ command.

~Label(Unavailable)~
Sets the label, “Unavailable,” which states in TTS “We’re sorry no one is available at this time.”

~Label(EndCall)~
Sets the label, “EndCall,” which will end the call.

Step 3: Add a Caller to Conference

In the example below, an outbound call to an operator or representative is initiated to let them know that the caller in Step 2 is in queue. This is done with the NotifyPhoneAdvanced method. If the operator or representative accepts the call, both calls will be joined in a conference.

~SetVar(ConfKey|”Conference Key”)~
The conference key is placed here. In most cases the servers handling the process will know to grab the conference key generated and posted to the URL during the phone call in Step 2.

Step 4: Cancel Conference

The CancelConference operation cancels the conference if the inbound call (from Step 2) is not accepted by the operator or representative in Step3. It will play the message, “We’re sorry no one is available at this time.” This is specified in Step 2 to play in the event the conference is cancelled.

For more information about CDYNE Phone Notify! API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Phone Notify! API.

Developers find CDYNE Phone Notify! API integration details on the CDYNE developer’s wiki.

11 views

Building an Appointment Reminder with CDYNE Phone Notify! Web Service

Phone Notify! Web Service supports 50 operations to build customizable and scalable voice applications. It’s designed to enable any business application to send or receive up to 5,000 tier-1 quality phone calls per minute using text to speech, recorded files, or both. This article will take a look at 2 operations to build a basic voice application that will use text to speech and a recorded sound file to send out an appointment reminder.

This tutorial uses  C# in Visual Studio 2010. You can find additional source code examples and download code examples from the Phone Notify! developer’s wiki.

Phone Notify! Operations Used

Step 1: Consuming Phone Notify! Web Service

  • Open a new or existing project in Visual Studio 2010
  • From the top tool bar, go to Project>Add Service Reference, which will open up the following screen:

  • Click on the Advanced button in the lower left-hand corner, which will open up another screen:

  • Click on the Add Web Reference button, which will open up a third screen:

  • Add the Phone Notify WSDL URL: http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?wsdl to the URL box, and click on the green arrow. This will pull up the Phone Notify! Web Service Description as shown in the next screen:
  • Name the web reference. In this case, we named it WSDL. Then click the Add Reference button.

Step 2: Setting Up a Basic Notify

The example below shows the code used to send a Basic Notify using the NotifyPhoneBasic method.

A few notes about using the NotifyPhoneBasic method:

  • This method will call any phone number in the US/Canada and read the TextToSay to that phone number
  • PhoneNumberToDial and CallerID must be filled in (they can be in any format as long as there is 10 digits)

When the program below is run with a license key, CDYNE Corporation will call 3215554757 with a text to speech message stating, “John Williams has an appointment with Dr. Smith on Tuesday, May 13 at 3pm.” The strings written in red in the screenshot is made up of the following components:

  • Phone number to dial – “3215554757”
  • Script –  “John Williams has an appointment with Dr. Smith on Tuesday, May 13 at 3pm.”
  • Caller ID – “7575449510”
  • Caller ID Name – “CDYNE Corporation.”
  • Voice ID – “4”
  • License Key – this is required to send or receive phone calls with Phone Notify! Web Service.

This notify uses voice ID 4, named Callie, and represents a US English female voice, age 30.You can invoke all voices available with Phone Notify! with the getVoices method. You may also listen to the voices at http://cepstral.com/demos/. Please note that the Cepstral website may contain voices not currently available with the Phone Notify! Web Service.

WSDL.PhoneNotify pn = new WSDL.PhoneNotify();

WSDL.NotifyReturn nr = pn.NotifyPhoneBasic(“3215554757”,

“John Williams has an appointment with Dr. Smith on Tuesday, May 13 at 3pm.”,

“17575449510”, “CDYNE Corporation”, “4”, “LicenseKey”);

Step 3: Request a Phone Call to Record a Sound File

One way to make automated phone reminders more personal is to use a recorded voice. Although text to speech can be very useful in some applications, it is a mechanical and impersonal sounding messaging tool for some customer interactions. In this step, we will use the RecordSoundViaPhoneCall method to call a designated phone number and record a sound file. The sound file recording states, “has an appointment with Dr. Smith on,” and leaves out the customer’s name, and the date and time of the appointment. These three values will remain as text to speech when we put the script together in Step 4.

A few notes about the RecordSoundViaPhoneCall method:

  • SoundfileIDs can only be lowercase and contain normal file characters
  • The CallerIDName will be the SoundFileID
  • The CallerID will be an 800 or 866 number

When this program is run with a license key, the phone number designated in the code (3215554757) will receive a phone call with instructions to record sound file “smith1.” Once recorded, the file will play back and the user has the option to accept or rerecord the message. We’ll access this file in the next step.

WSDL.PhoneNotify pn = new WSDL.PhoneNotify();

WSDL.RecordSoundViaPhoneCall(“3215554757”, “smith1”, “LicenseKey”);

Step 4: Putting Together the Script

In the final step, we’ll use the NotifyPhoneBasic method to combine the text to speech and recorded file, which we named smith1.

When the program below is run with a license key, CDYNE Corporation will call 3215554757 with a recorded message combined with text to speech variables. The variables include, “John Williams” and “Tuesday, May 13 at 3pm.”

WSDL.PhoneNotify pn = new WSDL.PhoneNotify();

WSDL.NotifyReturn nr = WSDL.NotifyPhoneBasic(“3215554757”,

“John Williams ~^smith1~ Tuesday, May 13 at 3pm.”,

“17575449510”, “CDYNE Corporation”, “4”, ” LicenseKey”);

For more information about CDYNE Phone Notify! API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Phone Notify! API.

Developers find CDYNE Phone Notify! API integration details on the CDYNE developer’s wiki.

0 views

CDYNE PostBackURL for Phone Notify! and SMS Notify! APIs

PostBackURLs allow Phone Notify! and SMS Notify! API customers to instantly know when an end user responds to a message or notification.  When a notification is sent out, CDYNE servers send a message back to the company’s designated PostBackURL noting the message has been sent.  When an end user responds, the results are also posted to the PostbackURL.

PostbackURL Assignment

A PostBackURL can be assigned to SMS Notify! and/or Phone Notify! request by using the advanced methods.  The advanced method for each service will have a property called StatusPostBackURL which is set with a link to the webpage created to handle a post back.  In addition, for incoming calls and text messages to a dedicated line that are not responses to previous messages, a StatusPostBackURL can be assigned directly to a customer’s DID (Phone number) allowing all end user generated traffic to go directly to the post back page.  This can be set up by contacting an account representative at 1-800-984-3710, sending an email inquiry or initiating a chat.

Using a PostBackURL with Phone Notify!

PostBackURLs can be very useful with the Phone Notify! API. It prevents the need to use the GetQueueIDStatus or GetMultipleQueueIDStatus methods. When using these methods, the customer’s server calls the methods multiple times as the customer would not know when the call has finished. With a PostBackURL in place, this allows the customer to have a webpage that will accept a POST from the Phone Notify! API when a call is placed, the call status has changed, the call is finished, or when a call is received (if using an Incoming DID).

When sending notifications, the PostBackURL can be set by using either the ~StatusChangePostURL()~ script command at the beginning of the call script (especially when using NotifyPhoneBasic), or the StatusChangePostURL parameter in the NotifyPhoneAdvanced operation. When using an Incoming DID with the Phone Notify! API, a CDYNE account representative can assign a PostBackURL to that Incoming DID assigned to the customer’s account.

All available operations for the Phone Notify! API can be found here: http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx, and advanced scripting commands can be found here: http://wiki.cdyne.com/index.php/Phone_Notify!_TextToSay_Advanced_Commands

Using a PostBackURL with SMS Notify!

With SMS Notify! There are several advantages to setting a StatusPostBackURL.  When a user responds to a message, CDYNE will immediately notify the SMS Notify! API customer via a post to the StatusPostBackURL. This eliminates the need for the customer to constantly query CDYNE servers for responses.

SMS Notify! API customers will receive a sent post with a PostBackUrl set in the request. The sent Post simply states the status of the SMS message at that time, and whether or not there were any minor errors in the request.  When this request is properly formatted, then the SMS message will be queued in the CDYNE system awaiting processing by the carrier.

If the recipient responds after the message has been sent, CDYNE will post the response post as well. The response post contains the recipient’s message and can be handled however your business model demands (i.e. storing the information in a database, or responding with another message).

The StatusPostBackURL can also be used with a dedicated line. A CDYNE representative can assign a customer’s designated StatusPostBackURL to their DID. Then, any incoming traffic to that number will result in a post to the designated StatusPostBackURL.  This is the preferred way to accommodate business models that want to make use of mobile originated messages.

There are two methods in SMS Notify! that makes use of a StatusPostBackUrl: http://sms2.cdyne.com/sms.svc/help/operations/AdvancedSMSsendhttp://sms2.cdyne.com/sms.svc/help/operations/SimpleSMSsendWithPostback.

11 views

Say It in Spanish, Canadian French, and German: CDYNE Phone Notify! API Features Three New Text-To-Speech Voices

CDYNE has upgraded its existing text-to-speech (TTS) voices, as well as added three new voices to the text-to-speech engine. With the addition of TTS voices Miguel, Jean-Pierre, and Matthias, your business can add scalable, multilingual, and customizable voice calls to your application. All voices have an 8kHz sampling rate. This is best suited to telephony applications because it eliminates the overhead that is incurred when using voices of a higher sampling rate.

New voices details:

  • Miguel (Americas Spanish), Male, Age 30 –  sample
  • Jean-Pierre (Canadian French) , Male, Age 30 – sample
  • Matthias (German) , Male, Age 30 – sample

All voices may be found here.

CDYNE’s text-to-speech engine converts raw text to written-out words, and then assigns phonetic transcriptions to those words. Text-to-speech can also be combined with recorded .wav files to create relevant call scripts according to your phone messaging web service needs. Call 704-323-7777 to listen to a sample recorded file and text-to-speech example.

Request a trial key to test Phone Notify! API for free by calling 1-800-984-3710, inquire or initiate a chat.

9 views

What is the Difference between CDYNE Phone Verification and CDYNE Phone Notify!?

CDYNE Web Service
CDYNE Phone Verification (Data Quality)
CDYNE Phone Notify! (Communication)
Description
CDYNE Phone Verification is a hosted, programmable XML Web Service that verifies area code and prefix (1st three digits) for U.S. and Canadian phone numbers and identifies if it is a landline or cellular number. Phone Notify! is a hosted, programmable XML Web Service that can send or receive up to 4,000 Tier-1 quality phone calls per minute using text to speech, recorded files, or both.
Uses
  • Identify a phone number as a land line or cellular number
  • Point of entry website verification
  • Triple geo-code incoming applications or leads in conjunction with CDYNE Postal Address Verification and IP2Geo Web Services
  • Returns latitude and longitude, area code, and time zone
  • Identify the phone numbers in your list that have new area codes following a NANPA split and replace incorrect area codes.
  • Identify and append incorrect or missing area codes
  • Emergency Alert Calls and School Closing Calls
  • Automated Appointment and Payment Reminders
  • Product Delivery Status Notifications
  • Credit Card Verifications and Password Resets
  • Automated Courtesy Holiday or Birthday Greeting Calls
  • Political Campaign Messages
  • Event Planning (Clubs, Sports, Churches)
  • Phone Call Blasts (1 Day Sales, VIP Reservations, Job Notifications)
Links
WSDL

WSDL

Testing URL – Demo no longer allowed due to FTC regs. Please sign up for a trial key by calling 1-800-984-3710, email or initiating a chat.
0 views

Press Release: Web Services Help Medical Practices Upgrade to Healthcare 2.0.

FOR IMMEDIATE RELEASE
Web Services Help Medical Practices Upgrade to Healthcare 2.0.
Appointment Reminder and Verification Features Go Fully Automatic
Chesapeake, VA (March 1, 2009) – From efficiency in patient contact to real-time identity theft prevention, Web Services can quickly improve the bottom line for medical management software developers and healthcare practices. Veteran API provider CDYNE Corporation is working with health IT developers to create usable solutions for fraud and communications issues that are a major part of health technology initiatives – for compliance and progress.
With simple add-ons to medical management software, appointment reminders and patient screening integrate with existing software to increase customer retention and attrition for the manufacturer and benefits for the health practice – without a system overhaul. Web Services help hospitals and practices improve patient communication and automate routine tasks. With patient validation at sign-in, Web Services can enhance identity theft prevention plans required by the FTC.
“For medical management software makers, the easiest way to add value and stay flexible with their offering is to plug new services into the current application,” said Christopher Chenoweth, CIO of CDYNE Corporation. “Automated phone and SMS messages and data quality Web Services add function and increase customer satisfaction with short development time, and manufacturers can profit from reselling additional services as a premium to their customers.”
CDYNE hosts secure, high-quality APIs that software developers and in-house staff can use to maximize practice efficiency. Phone and SMS Notify help decrease appointment no-shows and late bill payments and improve service. Death Index, 411, and other data services reduce fraud, aid compliance, and keep records up to date.
CDYNE offers free trial keys. A dedicated healthcare IT page focuses on appointment reminder features, and developers that sign up for Phone/SMS Notify receive fraud prevention Web Services with $0 monthly fee and reduced transaction rates.
About CDYNE Corporation
Since 1999, CDYNE has provided enterprise data quality and communications XML Web Services. APIs include Phone and SMS Notify!; Postal Address, Phone and Email Verification; Demographics; CDYNE 411; Death Index; and IP2Geo. CDYNE APIs reduce fraud in real-time, scrub and enhance data, and simplify contact. Programmed into client applications, CDYNE Web Services automatically process information from our vast databases in milliseconds. There are no contracts or hidden fees. For more information, visit www.cdyne.com/healthcare, live chat with staff, view our blog, or call 1-800-984-3710.
0 views