Adhearsion: Confirming Appointments
Why we confirm all appointments
Life happens. We prefer to find out if the homeowner can’t make the appointment before we send somone out to see them. In our experience, calling to confirm as close to the appointment time as we can is the most accurate way to ensure the appointment can be met.Automating the call
Talkbox, our Adhearsion server, is constantly looking for upcoming appointments during business hours. When it detects any unconfirmed appointments coming up within the next few hours, it will make sure we have agents signed in to take calls and then initiate calls to those homeowners. Confirmation agents are signed in and waiting in a their own private audio conference room setup by Talkbox. This way the agent is instantly ready to talk. Otherwise, we waste time with Talkbox attempting to negotiate the call. When the homeowner answers the phone, Talkbox bridges the call with an available agent’s conference room. The homeowner’s name and number appears on the agent’s desk phone. The agent can see instantly who they are talking with. At the same time as the call is connected, Talkbox sends a message to Nitro to refresh the agent’s application window with the homeowner’s appointment info. This could take a few seconds so the desk phone display is useful because it’s quicker and offers confirmation that the information on the screen is the for the correct homeowner.What happens when we can’t reach the homeowner
We obviously can’t reach the homeowner directly one hundred percent of the time.- No answer: If the call isn’t answered at all, Talkbox will re-queue the appointment to call back in another twenty minutes before calling them back. We do this until about thirty minutes past the originally scheduled appointment time.
- Voicemail: Talkbox will leave an automated message asking the homeowner to call someone back to confirm their appointment. Alternate numbers will be called as with a no answer.
How does Talkbox know it reached a person or a machine?
There are a few behaviors that can be key in an application detecting whether a live person or an answering machine is answering a call. Nothing is one hundred percent accurate.- People typically answer the phone by saying something right away. So if there’s a delay in hearing any audio at all there’s a good chance it’s an answering machine.
- Most people answer the phone by saying “Hello”. Answering machines tend to respond with a sentence or two at least. So the length of the initial greeting is another indicator.
About Automating Outgoing Phone Calls
Federal Regulations
Back in 1991, the Telephone Consumer Protection Act was passed. It restricts phone solicitations and the use of automated dialing. It covers SMS messaging and faxing in addition to normal voice calls. Here are some of the primary restrictions. There are more, so don’t take this as a complete list.- Don’t call anyone before 8am or after 9pm. If you do business across time zones, you need to deal with that.
- You need to maintain you’re own do not call list. If someone asks to be put on it, add their number. You have to honor it for at least five years.
- Honor the National Do Not Call Registry. See section below
- Tell people who you are and your phone number or address.
- Don’t call emergency lines or anyone who’d be charged for your phone call.
- Don’t call cell phones without prior written consent. That’s right, you’re not allowed to make unsolicited calls to cell phones. Period.
- As I said above, there are a lot of other rules.
National Do Not Call Registry
The Do Not Call Registry allows anyone to register their phone number. Telemarketers are never supposed to call any registered number unless the person has given you permission. You can register to access this database, either via an API or as a downloadable list at the Do Not Call Registry Telemarketer site.Common Courtesy
Not all calls are unsolicited calls. You may just being trying to confirm a scheduled appointment. Regardless, you want to be courteous to the people you call.- Don’t make excessive calls.
- If you get voicemail, and leave a message, give the person some time to respond. Don’t call back every five minutes until you reach someone.
- If you talk to someone who requests a call back in three months, you should respect their request. Leave them alone for those three months.
More information
What is a Robocall?
Robocalls include automated phone calls made using autodialers. This includes calls that only contain pre-recorded messages and those where you speak to a live person.What is an Autodialer?
Any type of equipment or computer software that dials phone numbers without human intervention.How can you determine if a phone number is a landline or a cell phone?
A variety of sources exist to assist businesses and telemarketers to tell if a number is a mobile number. For example, NeuStar, as the North American Numbering Plan Administrator, the National Pooling Administrator, and the LNP Administrator, makes information available for the purpose of identifying phone numbers assigned to wireless carriers.Adhearsion: Click to Call
What the user experiences
From the user’s perspective within our application it goes down like this:- Click a phone number link in the web page.
- In a few seconds your phone extension will ring.
- You pick it up and you’ll hear your phone number being dialed.
What happens behind-the-scenes
You’re logged in, so the application (Nitro for us) knows who you are and you’re phone extension. This is what happens from the application’s point of view:- It shoots an API call with the user info and phone number to our Talkbox (i.e. Adhearsion) server.
- The phone call is initated with Asterisk.
- The user’s phone extension is rung.
- As soon as the user picks it up, the outgoing phone call is initated.
Our Adhearsion Environment
Environment
Our production environment lives on a number of virtual servers hosted in our corporate hosting center. Our current setup includes five web servers, five transaction servers and a single server which runs Asterisk and Adhearsion. The transaction servers run cron jobs, background processes and our call loop which feeds our phone system with numbers to be called. More on that in a future post. On our Asterisk/Adhearsion server we also have a separate application running on it we call Talkbox. This is a custom Adhearsion app with PowerHRG’s business logic. It runs as a service and communicates back and forth with our main Nitro application via API calls.So what does Power Home Remodeling Group do?
PowerHRG sells windows, siding, doors, roofing and a few other products. We make a lot of phone calls to do that. The majority are appointment confirmations and marketing calls. Around 48,000 outgoing calls every day. Yes. All with a single Asterisk/Adhearsion server.Adhearsion
Adhearsion is described as anopen-source voice application development framework.It actually does a bit more. We’ve tied it into our LDAP server so our phone systems and applications use the same info and security. Adhearsion can even integrate over XMPP (Jabber) to support stuff like instant messaging. In my next post, I’ll start talking about some of our specific uses of Adhearsion. Stay tuned.