Author Message
qqiao
Joined: Jan 14, 2015
Messages: 24
Offline
Hi everyone,

Now there is a requirement that EDP makes calls to user and records the user's voice message as an new announcement and also saves it.

I find this post on forum (http://www.devconnectprogram.com/forums/posts/list/17686.page) which is quite similar to my issue. It is pointed that "VoiceXML with a Real-Time Speech license is the only way that you can record anything from a call traversing Collaboration Environment. "

But what I need is just to record a voice message from users through a call, and to play this voice message to some other users. Actually a Real-Time Speech license is kind of too much for this requirement. Is there any update about this kind of recording function in EDP JAVA API now?

Or VoiceXML Interface with a Real-Time Speech license is still the only way for recording?

Thanks,
Qian
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
Hi Qian, at this point, the VoiceXML option is still the only one available to you. Recording of announcements is on our feature candidate list for our next release. I'll pass along to our product manager that we had a DevConnect member inquiring about this capability so that he can factor that into his prioritization decisions.
qqiao
Joined: Jan 14, 2015
Messages: 24
Offline
Thanks for reply.

I am learning how to use the Real-Time Speech function. Is it correct that I need to install Real-Time Speech Snap-in and its license on EDP environment if I want to use the VoiceXML function for recording ?
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
You will need to have a license, but you don't actually have to have the Real-Time Speech snap-in installed.
qqiao
Joined: Jan 14, 2015
Messages: 24
Offline
Another question:

Where are these recording files saved?
The setVoiceXMLScript(in the interface com.avaya.collaboration.call.speech.voicexml.VoiceXMLDialogItem) function can give the voiceXMLDialogItem an URL for accessing, but how does the URL come from?

We have a project which makes call to users through EDP, and EDP will record the user's audio stream. The user can use digits inputs to control when to start the record and when to end. (i.e. press 1 for starting, press # for ending). Then we want the record vxml file can be accessed by URL.

Base on my understanding of EDP API, the VoiceXMLDialogListener, CallListener and MediaListener should work together for the above functionality, is it right?

Thanks, any explanation will be much helpful.
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
I believe that you can store the recording files on an HTTP server of your choosing, or in the AMS Content Store (though I'm not 100% certain on that last point). If you think you'd be interested in leveraging the Content Store for this purpose, let me know and I can look into it further.
qqiao
Joined: Jan 14, 2015
Messages: 24
Offline
Hi,

Those recording files are .vxml format, however the audio file which can be used as announcement for a call is .wav format.
It means those files recorded by real time speech voiceXML interface cannot be played for other calls, is it right?

Thanks,
Qian
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
No, they can be played. Just set the wav file URL in the PlayItem and all will be good. In fact, wav is the only audio file format that we support for playing.
liu159
Joined: Jan 19, 2015
Messages: 96
Offline
Hi Joel,

So the wav file will be saved and stored together with the voiceXML file, correct ? Then how can we get the URL for the wav file after we recorded the audio ?

And when we use the real speach api to record, how can we intercept the recording and save the wav file ? For example, here is a possible scenario:

We place a call to the user first. After the user picks up the call, we play an announcement and ask the user to record the speech after they hear a signal sound ("Beep"). Then we start the real speech recording and user starts to speak. After they are done they might press "#" to save the audio. And we might also play another announcement and ask the user to choose to replay the audio, record again, or hangup. How can we intercept the real speech with the media listener (when they press "#", how would the real speech part be notified and save file) ?

Thanks !
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
Your VoiceXML script would have to tell the AMS where to store the recorded file. This could be the same HTTP server as contains your VoiceXML script or it could be a different server. You'd probably want to do all of your prompting using VoiceXML as well, rather than mixing the MediaService play and collect operations with the VoiceXML. If you wanted to constrain the VoiceXML only to recording, however, you could do that. In the digtsCollected method of your MediaListener, you would invoke SpeechService.startVxmlDialog().
qqiao
Joined: Jan 14, 2015
Messages: 24
Offline
Hi Joel,

We installed the RealTimeSpeech license on our EDP server, but the following error message throws when it comes to the code about SpeechService in our project:

java.lang.IllegalArgumentException: Please verify that RealTimeSpeech is loaded or installed and licensed
at com.avaya.commons.lang.ArgAssert.assertTrue(ArgAssert.java:48)
at com.avaya.collaboration.call.util.RequestFactoryDataImpl.assertLicenseToken(RequestFactoryDataImpl.java:135)
at com.avaya.collaboration.call.speech.search.SpeechServiceImpl.startVoiceXMLDialog(SpeechServiceImpl.java:175)

Should we loaded or installed RealTimeSpeech?
Is it the Real Time Speech Snap-in or something else?

Thanks,
Qian
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
Yeah, looks like I may have been mistaken about not needing to install the snap-in in addition to the license. Please try installing the Real-Time Speech snap-in and see if things improve for you. Sorry about the misinformation.
qqiao
Joined: Jan 14, 2015
Messages: 24
Offline
Thanks.

After we install the Real Time Speech Snap-in on EDP server, an auto message is played in the call, saying "A severe error occurred accidently".

There is try/catch chunk for the speech service function in my code, but no exception has been caught.

I find a document which indicates Avaya Media Server and Speech Search Engine must be configured before install the Real-time Speech Snap-in. Is this the reason for getting the error alert announcement?
BobBraudes
Joined: Dec 19, 2013
Messages: 34
Offline
Hi Qiao,

This error message is typically due to a problem in the VoiceXML script execution rather than configuration. Do you have access to the logs on the AMS?

Thanks,
Bob
BobBraudes
Joined: Dec 19, 2013
Messages: 34
Offline
Hi Qiao,

This error message is typically due to a problem in the VoiceXML script execution rather than configuration. Do you have access to the logs on the AMS?

Thanks,
Bob
Go to:   
Mobile view