Voice Biometrics Partners > PerSay
PerSay allows a developer to integrate their VocalPassword product
either with SOAP web service calls or with VoiceXML
<data> tags. For the examples here, we’ll use
<data> tags. When enrolling or verifying a caller,
you simply <record> the caller and use a
<data> element to post the recording and caller
information to the PerSay server.
The steps to using PerSay to authenticate callers are:
- Sign up for a PerSay account
- Establish a PerSay session in your VoiceXML
- Recording the caller’s passphrase several times
- Enroll the caller by submitting the recordings to PerSay
- To authenticate, record the caller speaking their passphrase
- Submit the recording to PerSay
- Check the PerSay result
To start using PerSay Vocal Password contact PerSay for a trial account.
An application using PerSay starts out by creating a session for
the caller. It can then enroll, re-enroll, delete previous
enrollments, check if a user has already been enrolled, and verify a
user. For the purposes of this simple application sample, we’ll
assume that a caller is not previously enrolled and simply enroll
them. Then we’ll verify their authenticity. In a real application,
you’d want to check to see if a caller was already enrolled,
then either remove their existing enrollment or skip enrollment, but
such detailed call flows are beyond the scope of this guide.
The sample application will greet the caller with a VoiceXML
prompt, then load a locally-hosted subdialog that will generate the
session. The session ID is stored in a global variable so it’s
accessible to all the other subdialogs.
Once a session has been generated, the application will attempt
enrollment by launching a locally hosted enrollment subdialog. The
subdialog asks the caller to repeat their password (0123456789) three
times, records the audio, and uses a <data> element
to send the recording to the PerSay server. The subdialog checks for
error conditions and plays error messages to callers as appropriate.
Once enrollment is complete, a result flag is set to either
“trained” or “error” and call flow returns to
the main VoiceXML document.
After enrollment, the application will launch another local
subdialog for verification. This subdialog will ask the caller to say
their password and then records the audio, submitting it as a post
request through a <data> element to the PerSay
server. Again, variables are set indicating the result of the
verification and common errors like silence are handled by the
subdialog.
Call flow once again is returned to the main VoiceXML document,
where you can read the results and make decisions about what to do. In
our sample app, we thank the caller for a successful verification or
admonish the caller of their error and then hang up.
You can get
the sample VoiceXML application from Voxeo’s GitHub
account.
|