Author Message
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
The behavior customers are looking for is pressing # or any key
to skip recording and move to the next node.

Currently in OD if you terminate recording without any audio being
captured, per the VXML spec, the recording starts over.

The RecordExampleSilence show how to have the record
VXML item skip over recording IF you are using DTMF termination
and you terminate the recording immediately.


Unfortunately the termchar is not set in the VXI.

You could take this example and create a module that
takes parameters for beep, maxtime, final silence and etc.

In a future release this will be incorporated into OD.
Filename RecordExampleSilence.zip [Disk] Download
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
Another option that has also come to light is this:

/opt/Avaya/ExperiencePortal/MPP/config/mppconfig.xml was modified.

Setting: <parameter name="mpp.voip.record.trim_silence">false</parameter>
VishweshwarG
Joined: Dec 21, 2013
Messages: 107
Offline
Dear Ross,

The code which you have provided that I have checked. But the thing is that we have already recording node. I just want to know how we can incorporate with our existing recording node.

You have told that there is another option which we can also try. If we are modifying the file do we need to restart any service to get it effected.

Thanks.
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
You can take the example and use it as a submodule as I have previously stated. Alternatively you can try altering the mpp configuration.
GregWorm
Joined: Nov 13, 2013
Messages: 13
Offline
How do you get access to the recording that was captured using this method?
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
Look at the prompt in PlayResult. DoRecord:value has the url to the recorded audio.
GregWorm
Joined: Nov 13, 2013
Messages: 13
Offline
Just saw that you created a complex variable to mimic the one that gets created by the record node. I am good to go now thanks!
GregWorm
Joined: Nov 13, 2013
Messages: 13
Offline
On a related note? Is there a way to use the OD java objects to generate the vxml for a prompt in the VXML servlet?
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
Not in this particular case since we are adding

out.println("<block cond=\"wasfilled == 'false'\">");

If you alter the MPP config as mentioned then you do not need to do the custom vxml and can use the standard VXML transfer in the UI. That option was discovered after I had already created this example so I posted both options.
GregWorm
Joined: Nov 13, 2013
Messages: 13
Offline
I did not see that parameter in the xml so I added it and restarted the MPP. It did not change the behavior of the record step.
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
I never personally tried this. You would have to work with platform support on that parameter. It could be that is dependent on a certain version of EP. The platform VXI developer is out of the office this week so I cannot ask them.
GregWorm
Joined: Nov 13, 2013
Messages: 13
Offline
If anyone is curious I got the prompts to build using the OD jar code.

com.avaya.sce.runtime.vxml.OutputGenerator gen = new com.avaya.sce.runtime.vxml.OutputGenerator(mySession);
gen.out = out;
com.avaya.sce.runtime.IRuntimePrompt prompt = com.avaya.sce.runtime.internal.PromptFinder.load("Question", mySession.getCurrentLanguage(), mySession);
//english.prompts.Question prompt = new english.prompts.Question();
Collection counts = prompt.getLevelNumbers();
int index = 0;
for (Iterator iter = counts.iterator(); iter.hasNext(); index++)
{
Integer count = (Integer)iter.next();
gen.promptBegin(prompt, count.intValue(), false, index + 1, false);
gen.promptMiddle(prompt, count.intValue(), false, false);
gen.promptEnd(prompt, count.intValue(), false);
}
Go to:   
Mobile view