Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [vtp-dev] VXI* VoiceXML browser, OpenVXML and Tomcat does UTF-8 in URL cause problem?

The codes you find strange are not UTF-8 codes. For normal
English letters and punctuation, UTF-8 encodings are exactly the same as
ASCII encodings. For lesser-used characters beyond x080 in ASCII, UTF-8
begins to employ 2- and 3-byte encodings, which can lead to some very
strange appearances as ASCII - but not as "%xx".  The "%xx" notation is
everyday URL encoding (Percent-encoding) of characters. See:
http://en.wikipedia.org/wiki/Percent-encoding for some background.
Percent-encoding has the ASCII code of each character displayed as 2 hex
digits with a '%' in front. In this case %3B is the ASCII code for ';' with a '%' prepended, and %3D is likewise the ASCII code for '='.

A URL sent to a web server should be able to be completely percent-encoded or partially percent-encoded and the web server should not care. http://foo.com/AAA and http://foo.com/%041%041%041 should produce the same result, but the form with 'AAA' is shorter.

I recommend http://www.joelonsoftware.com/articles/Unicode.html to you
as a good tutorial on characters and encodings. Joel Spolsky explains
things very well.

It is hard to see why those percent encodings would cause a problem.
Sorry, I cannot help any more.

-- Mike

Rajah Kalipatnapu wrote:
I've created an ivr web app using OpenVXML studio. The process is smooth. I exported it as a webapp and deployed with Tomcat.

I'm using vxml browsers VoiceGlue (open source) and VXI* VoiceXML demo versions to prototype and evaluate the solution for our application.

The  problem we are facint is observed with both the browsers.

This is the problem.

1. When the call started the initial/root vxml is downloaded and parsed fine.
2. The next URL sent to Tomcat
3.  Tomcat sends 404/402.
4. Call drops.

Observations:

1. Actual URL - http://localhost:9090/mediaivrapp/-/next;jsessionid=B75CD6DCECB6A1202F1D29155C23B5F7?cbb0fc79382a4f039e6f8eb5fef8b1cd=success.filled&ANI=781871222&DNIS=617428444 <http://localhost:9090/mediaivrapp/-/next;jsessionid=B75CD6DCECB6A1202F1D29155C23B5F7?cbb0fc79382a4f039e6f8eb5fef8b1cd=success.filled&ANI=781871222&DNIS=617428444>

2. URL logged at Tomcat /mediaivrapp/-/next%3Bjsessionid%3DB75CD6DCECB6A1202F1D29155C23B5F7?cbb0fc79382a4f039e6f8eb5fef8b1cd=success.filled&ANI=781871222&DNIS=617428444

The problem seems to be due to the fact that Tomcat does not support UTF-8 by default. For example VoiceGlue and i6.net <http://i6.net> voicexml browsers both sending the URL in the form shown in 2.

As you see the ";' and "=" characters are converted to UTF-8 Ascii codes by the voice xml browser and this seems to be causing the Tomcat not to map it to the right resource and return 404.

Where as if I manually treverse through the VXML using IE it works fine and IE sends the URL in ISO-8859-1 format and does not convert them to UTF-8.

This is the peice of information, I found.

"ISO-8859-1 to UTF-8. ISO-8859-1 is the default character encoding for servers and browsers according to the HTTP specification section 3.4.1. <http://3.4.1.>"

And it seems Tomcat is also by default using ISO-8859-1.

I've modified Tomcat server.xml to add UTF-8 encoing in the Connector. But still it didn't work.

This is blocking our validation of OPenVXML and VoiceGlue. I appreciate and help.

Thanks in Advance,

Rajah
------------------------------------------------------------------------

_______________________________________________
vtp-dev mailing list
vtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/vtp-dev





Back to the top