Page 2 of 3
Re: <menu> and <catch> elements
Posted: Fri Oct 06, 2017 1:43 pm
by support
Hello,
That error indicates that you have an <audio> tag without the required attributes (src, expr or stream). In order for an audio tag to function you have to specify the URL for that audio. Typically this would either be a src (statically defined URL) attribute or an expr attribute (dynamically defined URL). If you are just using Text-to-Speech only you should not be providing an <audio> tag. For example the following will throw a run-time error:
Code: Select all
<?xml version="1.0"?>
<vxml version="2.1">
<form>
<block>
<prompt>
<audio>This is some text-to-speech.</audio>
<prompt>
</block>
</form>
</vxml>
While this code will run without issue:
Code: Select all
<?xml version="1.0"?>
<vxml version="2.1">
<form>
<block>
<prompt>
This is some text-to-speech.
<prompt>
</block>
</form>
</vxml>
Regards,
Plum Support
Re: <menu> and <catch> elements
Posted: Mon Oct 09, 2017 2:43 pm
by averlan
Hi,
Thanks for your explanation, but I don't see any <audio> tags without the required attributes (src, expr or stream). Also, I used the "validate" button in Application Configuration and it didn't return any error for the URL below. Do you mind to take a look at the URL below and let me know which line number I should change? Thanks
http://63.88.109.202/DebugIVRSessionsLo ... 6778/8.xml
Re: <menu> and <catch> elements
Posted: Mon Oct 09, 2017 3:06 pm
by support
Hello,
There are three sections in your code where you have an <audio> tag with no attributes, one such example is:
Code: Select all
<form id="PresentPastDueBalance">
<block>
<audio maxage="0" src = "audio\QQQ\F_E_PastDueBalance.wav">
<sentence>Your account currently has a past due balance in the amount of</sentence>
</audio>
<audio><say-as interpret-as="currency">$50.00</say-as></audio>
<goto next ="#PresentLastPayment" />
</block>
</form>
The second <audio> tag does not contain any attributes. The sole purpose of the audio tag is to reference an external audio file, if that file is not available then the contents of the <audio> tag will be played as text-to-speech. However, in this case since you are only using text-to-speech the <audio> tag is not appropriate. Instead you should be using the <prompt> tag which is required in order to use the <say-as> tag. For example your code should look like this:
Code: Select all
<form id="PresentPastDueBalance">
<block>
<audio maxage="0" src = "audio\QQQ\F_E_PastDueBalance.wav">
<sentence>Your account currently has a past due balance in the amount of</sentence>
</audio>
<prompt><say-as interpret-as="currency">$50.00</say-as></prompt>
<goto next ="#PresentLastPayment" />
</block>
</form>
As we mentioned previously there are three sections in that link that follow this similar pattern of using an <audio> tag with no attributes for text-to-speech when a <prompt> tag should be used instead. You will need to correct all three sections for this application to execute correctly.
Regards,
Plum Support
Re: <menu> and <catch> elements
Posted: Tue Oct 10, 2017 2:38 pm
by averlan
Thanks again, I was able to fixed it. One more question...I've noticed that the log entry shows full credit card number (please check below). Since we must be in compliance with PCI Security Council standards, we should not allow any sensitive data to be stored in the logs. We used <voxeo:logcontrol mode="disable"/> for this purposes, but I had to remove it because I was getting an error for this tag. Is there any solution you can offer us?
Log:
dtmf input: 4111111111111111
Found grammar match
hypothesis #0: 4111111111111111 (0.9990)
VXI::assign_element(name="application.fldCreditCardNumber" expr = "CreditCardNumber")
Re: <menu> and <catch> elements
Posted: Tue Oct 10, 2017 2:45 pm
by support
Hello,
Yes we offer a similar approach using the <property> tag in VoiceXML. Here is the link to our documentation on the topic:
http://www.plumvoice.com/docs/dev/voice ... es:logging. Essentially you will need to set a <property name="logging" value="private"/> at any scope where the data needs to be kept private.
Regards,
Plum Support
Re: <menu> and <catch> elements
Posted: Tue Oct 17, 2017 1:48 pm
by averlan
Hi,
We found another issue, it looks like our application stopped logging [session.id] and [session.telephone.ani] values.
We use <var name = "fldSession" expr = "session.id" /> in global.vxml file. Can you please help to resolve this issue. Thanks
Re: <menu> and <catch> elements
Posted: Wed Oct 18, 2017 7:48 am
by support
Hello,
Could you provide us with a bit more context for this? It would be helpful to have some sample code as well as the expected / experienced results? It is difficult to determine the issue without these additional details.
Regards,
Plum Support
Re: <menu> and <catch> elements
Posted: Wed Oct 18, 2017 11:13 am
by averlan
We are getting the error below "Failed to find any SessionID info" in the log file. Thanks
IVR web.config
Code: Select all
<appSettings>
<add key="CallerIDPath" value="session.telephone.ani"/>
<add key="SessionIDPath" value="session.id"/>
<appSettings>
Code: Select all
if (!string.IsNullOrEmpty(HttpContext.Current.Request[sessionIDPath]))
{
sessionID = HttpContext.Current.Request[sessionIDPath];
if (log.IsDebugEnabled)
{
log.Debug(string.Format("Setting sessionID based on [{0}]", sessionIDPath));
}
}
if (log.IsInfoEnabled & string.IsNullOrEmpty(SessionID))
{
log.Info("Failed to find any SessionID info.");
}
Re: <menu> and <catch> elements
Posted: Fri Oct 20, 2017 1:54 pm
by averlan
Any thoughts? Your assistance will be very much appreciated.
Re: <menu> and <catch> elements
Posted: Fri Oct 20, 2017 3:01 pm
by support
Hi,
We're not certain what you're actively configuring when you say "IVR web.config". The code snippets you provided do not run on the Plum IVR system.
We reviewed a couple call logs and we do see you gettings the session IDs via the
session.id. We also see you sending that information via a GET variable:
Code: Select all
http://[IP]/MainIntro.aspx?Payee=QQQ&fldSession=000025%3B006%3B1508263930&languageChoice=1&selectedLanguage=English
http://[IP]/MainIntro.aspx?Payee=QQQ&fldSession=000025%3B010%3B1508263315&languageChoice=1&selectedLanguage=English
http://[IP]/MainIntro.aspx?Payee=QQQ&fldSession=000025%3B001%3B1508265529&languageChoice=1&selectedLanguage=English
Each of these session IDs correlate to calls that we see in your session logs:
Code: Select all
[17/Oct/2017:14:14:17 -0500] [DNIS] 000025;006;1508263930
[17/Oct/2017:14:35:34 -0500] [DNIS] 000025;010;1508263315
[17/Oct/2017:14:39:37 -0500] [DNIS] 000025;001;1508265529
Regards,
Plum Support
Re: <menu> and <catch> elements
Posted: Tue Oct 24, 2017 11:13 am
by averlan
Hi,
So this is basically,
Code: Select all
HttpContext.Current.Request[session.id]
For some reason with Plum this returns an empty string or null. Do you know why it could be empty?
Re: <menu> and <catch> elements
Posted: Tue Oct 24, 2017 3:14 pm
by support
Hi,
You would reference the session.id within the VMXL application. Outside of that, you would use whatever value you stored the session ID in, which appears to be fldSession based upon the sample URLs we found.
Regards,
Plum Support
Re: <menu> and <catch> elements
Posted: Wed Oct 25, 2017 9:44 am
by averlan
Hi,
We do reference the session.id within the VMXL application
Code: Select all
<var name = "fldSession" expr = "session.id" />
Outside of that we want to log session id using HttpContext.Current.Request to get it. So far I've tried without any luck ....
Code: Select all
HttpContext.Current.Request[session.id]
Code: Select all
HttpContext.Current.Request[fldSession]
Code: Select all
HttpContext.Current.Request.QueryString[session.id]
Code: Select all
HttpContext.Current.Request.QueryString[fldSession]
For example, with Voxeo we use this code below to get it
Code: Select all
HttpContext.Current.Request[session.parentsessionid]
Please advise,
Thanks
Re: <menu> and <catch> elements
Posted: Wed Oct 25, 2017 10:10 am
by support
Hi,
Have you verified that you are sending the fldSession variable or have access to that variable (potentially via a session) to the script that is attempting to log the session ID? We would expect that fldSession would be correct if you are attempting to log this value within MainIntro.aspx.
Regards,
Plum Support
Re: <menu> and <catch> elements
Posted: Thu Oct 26, 2017 3:09 pm
by averlan
Hello,
Please check below the information from our debugger about the raw request we are getting from you when call starts. We don't see any session id in there. Can you please let us know where we should look for it?
Code: Select all
payee=QQQ
ASP.NET_SessionId=hshrt2azyeugtovu2dpkjhpb
ALL_HTTP=HTTP_CACHE_CONTROL:max-age=0
HTTP_ACCEPT:*/*
HTTP_HOST:63.88.109.203
HTTP_USER_AGENT:PlumVoicePortal/3.2
ALL_RAW=Cache-Control: max-age=0
Accept: */*
Host: 63.88.109.203
User-Agent: PlumVoicePortal/3.2
APPL_MD_PATH=/LM/W3SVC/4/ROOT/Autoscribe.PayIVR
APPL_PHYSICAL_PATH=C:\source\PayIVR\Autoscribe.PayIVR\
AUTH_TYPE=
AUTH_USER=
AUTH_PASSWORD=
LOGON_USER=
REMOTE_USER=
CERT_COOKIE=
CERT_FLAGS=
CERT_ISSUER=
CERT_KEYSIZE=
CERT_SECRETKEYSIZE=
CERT_SERIALNUMBER=
CERT_SERVER_ISSUER=
CERT_SERVER_SUBJECT=
CERT_SUBJECT=
CONTENT_LENGTH=0
CONTENT_TYPE=
GATEWAY_INTERFACE=CGI/1.1
HTTPS=off
HTTPS_KEYSIZE=
HTTPS_SECRETKEYSIZE=
HTTPS_SERVER_ISSUER=
HTTPS_SERVER_SUBJECT=
INSTANCE_ID=4
INSTANCE_META_PATH=/LM/W3SVC/4
LOCAL_ADDR=192.168.110.130
PATH_INFO=/Autoscribe.PayIVR/MainIntro.aspx
PATH_TRANSLATED=C:\source\PayIVR\Autoscribe.PayIVR\MainIntro.aspx
QUERY_STRING=payee=QQQ
REMOTE_ADDR=69.25.74.73
REMOTE_HOST=69.25.74.73
REMOTE_PORT=42666
REQUEST_METHOD=GET
SCRIPT_NAME=/Autoscribe.PayIVR/MainIntro.aspx
SERVER_NAME=63.88.109.203
SERVER_PORT=80
SERVER_PORT_SECURE=0
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=Microsoft-IIS/10.0
URL=/Autoscribe.PayIVR/MainIntro.aspx
HTTP_CACHE_CONTROL=max-age=0
HTTP_ACCEPT=*/*
HTTP_HOST=63.88.109.203
HTTP_USER_AGENT=PlumVoicePortal/3.2