Voice Biometric Partners
CSIDentity’s Voice Application Suite (VAS) offers several methods for integrating their biometrics engine with your application. Perhaps the simplest is with the
<subdialog> tag using VoiceXML subdialogs hosted by CSIDentity.
<subdialog name="dialogid" src="subdialogurl" namelist="customer userid ..." />
The steps to authenticating callers with VoiceVerified are
- Set up a VoiceVerified Account
- Enroll callers by directing your call flow to VoiceVerified’s enroll subdialog
- Check enrollment results and retry if neccessary
- Authenticate callers by directing your call flow to VoiceVerified’s verify subdialog
- Check authentication results
To start out with CSIDentity VoiceVerified, you’ll first need an account. Send an email to VASDevelopment@csidentity.com and they will help you get set up. As part of the provisioning process, CSIDenity will provide you with a sandbox URL that will be used in your application to load the subdialogs.
Your application will have two possible flows. First, a caller that you don’t already have in your system calls. Your application will call the enrollment subdialog and the caller will record their voiceprint. The second flow is when a caller you’ve already enrolled calls. Your application loads the verification subdialog and verifies their voiceprint. VAS will respond with “passed” or “failed” and your application then plays the proper response to the caller.
In the case of our sample application, we’re combining these two flows into a single call. We’ll enroll the caller and then verify them once enrollment is complete. In a production application, you’d use more detailed call flows, checking to see if a caller was already enrolled, then either remove their existing enrollment or skip enrollment.
Here’s how the sample application will work. After a greeting is played by our VoiceXML prompt, we’ll start enrollment by using a
<goto> tag pointed at a form containing the enrollment subdialog hosted by CSIDentity. The subdialog will set a few return variables, including a status of “passed” or “failed”, an error code, and a flag indicating whether VAS will allow the user to retry. We’ll take those variables and decide what to do next, either telling them to try again or announcing that they’ve passed or failed. If enrollment fails, we disconnect. If it succeeds, we will jump to the verification form.
In the verification form, we’ll call the VAS verification subdialog, also hosted by CSIDentity, which will set the same set of return variables. If the verification succeeds, we’ll thank the user and disconnect. If it fails, we’ll warn them and disconnect. In this case, we won’t bother retrying. If the caller can’t get the verification right on the first try, they’ll have to call back in.
With CSIDentity, we’ll encapsulate the verification and enrollment subdialogs in their own
<form> tags so we can easily jump to the start of either one. This is how the retry works, by
<submit>ting to the form ID when a retry needs to occur.