Author Message
nirfar
Joined: Dec 3, 2014
Messages: 61
Offline
Hi,

I'm trying to play audio url in https without success.

i have installed the certificates in the OD and when i have tested it from the pharse set external audio i was manage to fetch the
right voice file.
when i tried to play the from the simulator or in run time (app server). the file was not played.

when i use http, everything works fine.

i'll Appreciate your advise and any suggestion

Thanks
Nir Miara
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
What I would do to investigate this is to first get a clear understanding of where the audio files are - on the app server or somewhere else. Then try to access the audio file using https from a web browser on the machine that is running the voice browser (simulator or mpp). That would verify if ssl is configured properly on the server that serves the audio file. The certificate that pops up is the certificate that the simulator or mpp needs to talk to the machine the serves the audio files. The certificate can be installed in the OD simulator in the Preference, and the mpp/voice browser uses certificate configured through EPM.
nirfar
Joined: Dec 3, 2014
Messages: 61
Offline
Hi Wilson,

I'm Trying to play the files from tomact application server.

i generated a certificate from the tomcat and installed it in the epm "Trusted Certificates" Tab
i also installed that certificate in OD. when i'm testing it i OD i can play the file, when i'm trying to play this audio file in the OD application, the file is ignored.

for run time i also installed in the app server, the EPM root certificate and its acting the same.

i can play the file in my browser without a problem.

is there any other certificate needed ?

when i'm running the file in curl command, i get this message.
"curl https://ccccccccccccccccc:8443/VoiceFiles/General/GEN1005.wav"



curl: (60) Peer certificate cannot be authenticated with known CA certificates
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.



Thanks
Nir



WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
I have to take it back about the simulation part. I wasn't thinking clearly. There is no support for using https. The certificate setting in the Preferences is not really for the voice browser.
For EPM, you should install the certificate in the Trusted Certificates tab instead of the Root. Are you also accessing the app using https i.e. setting the https://ip:port/app/Start start url with https?
nirfar
Joined: Dec 3, 2014
Messages: 61
Offline
Hi wilson

Thank you for your help,

i forgot to update the mpp hosts file with the application servers detail,
and for that reason the mpp didn't play the prompts.

Best regarads
Nir
nirfar
Joined: Dec 3, 2014
Messages: 61
Offline
Hi Wilson,

I have one more question.

I'm trying to work with external phrase set using variable in OD 7.

i have found that the full prefix url is changing

for some reason all directories in the path are ignored.

For Example i sent this prefix url
https://myurl:8443/folder1/folder2/ > pharse file 1111.wav

in the mpp logs there an error " HTTPStatusDescription = Not found"
and path is
https://myurl:8443/1111.wav without "/folder1/folder2/" like in the full url i sent

this way i can only play file in tomcat ROOT directory.

how can i send the full url including the sub directories in the path ?

Thanks
Nir
NeilGoldsmith
Joined: Nov 6, 2013
Messages: 902
Offline
How are you setting the external path? Can you show your app log with VXML output enabled?
nirfar
Joined: Dec 3, 2014
Messages: 61
Offline
Hi Nell,

I have assigned the url into a variable
in the pharseset "audio file location" i chose external and than chose the variable option in
"use variable value"

I have attached the logs for clear text url and for variable url.



Thanks
Nir
NeilGoldsmith
Joined: Nov 6, 2013
Messages: 902
Offline
Let me setup a test app and see if there is a bug there.
nirfar
Joined: Dec 3, 2014
Messages: 61
Offline
Hi,

any news ?

do you have any suggestion for workaround ?

i want to work with external pharseset using two app's servers.

Thanks
Nir
NeilGoldsmith
Joined: Nov 6, 2013
Messages: 902
Offline
Sorry, I thought I responded earlier.

There's a bug there. I have filed a bug report on it and we will have to resolve it. Are you able to work around it in the short term?
nirfar
Joined: Dec 3, 2014
Messages: 61
Offline
Hi Neil,

i want to work with two app's servers

do you have any suggestion how to work with two differnt url's using pharseset?

the workaround that i can think of, is to work with phrarse url and to build all pharses url's without using phraseset.

my prefare is to work with phrase set in order to orgenized and manage the pahrses.

Thank's
Nir

NeilGoldsmith
Joined: Nov 6, 2013
Messages: 902
Offline
You can work around it in Java code by going to your pset java file in your web-inf/source/english.phrasesets dir and override this method:
@Override
public Phrase hookGetPhrase(String phraseName, Phrase phrase) {
String audioURL = "http://myserver.mycompany.com:8080/audioFiles/english/mainmenu.wav";
Phrase staticExternal = new ExternalPhrase(audioURL);
staticExternal.setText("This is the main menu...");
return staticExternal;
}

This example will build and ext phrase and pass it back.

If you want to use info from the phrase passed in just build the audioURL variable using
phrase.getFileName() instead of hardcoding the filename in place as is done in this example.
nirfar
Joined: Dec 3, 2014
Messages: 61
Offline
Hi Nell,

thank you

with the "hookGetPhrase" method i can handle only one pharse each time right ?
if i have a prompt with a number of pahrses how can i use this method?

is there any change to get a patch for fixing the variables issue ?

i'm working on a big project with tens of modules and a lot of phrases and i'm looking for best way to handle the pharses.

Thank
Nir
NeilGoldsmith
Joined: Nov 6, 2013
Messages: 902
Offline
The hook method will work for every phrase in your prompt.

Not sure on a patch just yet. We have to look into the issue. I'll let you know.
Go to:   
Mobile view