We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics

possible solution to answering machine recognition

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
magicsoft
Posts: 44
Joined: Wed Aug 25, 2010 8:57 am

possible solution to answering machine recognition

Post by magicsoft »

I'm posting this here on a separate, new topic in the hope that others will see it easier and that it might help them.

This is regarding the problems that many people have with determining if a person or answering machine picks up, and either transitioning to a normal routine or leaving a voicemail accordingly. Using this approach, you can turn off the callee type detection, which many have complained adds too much dead air at the beginning of a call anyway.

The idea behind this is that as soon as someone (or something) picks up the phone, the <record> tag starts processing and the prompt is played. If a person picked up, they'll press 1 (or any other number), which will be interpreted as the "termchar", be processed by the <filled> tag and control will pass to the "#person" section of the script. If no one presses a key, the <else> tag comes into play, once 3 seconds of silence has occurred, and control is passed to the "#machine" section. If a person's outgoing greeting is particularly short, their voicemail might still pick up a bit of the original prompt, but mine is on the short side and I did not have this problem. If their greeting is average or long in length, the <record> tag simple waits it out until the 3 seconds of silence, discards the recording and then the machine message is left.

This worked for me on both my cell phone (iPhone) and my home phone (magicJack), both of which I was having a problem with before trying this method. I'm curious to know what the PLUM guys think of this solution, and if it helps anyone else out there.

Andrew

Code: Select all

<form id="patienttest">
		<record name="answer" beep="false" modal="false" type="audio/x-wav" dtmfterm="true" finalsilence="3s" maxtime="60s">
			<prompt>
				Hello, this is Continuing Care calling with an important message.  Please press one.
			</prompt>
			<filled>
				<if cond="answer$.termchar==1 || answer$.termchar==2 || answer$.termchar==3 || answer$.termchar==4 || answer$.termchar==5 || answer$.termchar==6 || answer$.termchar==7 || answer$.termchar==8 || answer$.termchar==9 || answer$.termchar==0">
					<goto next="#person"/>
				<else/>
					<goto next="#machine"/>
				</if>
			</filled>
		</record>
	</form>

Post Reply