Genesys CTI User Forum

Genesys CTI User Forum => Genesys CTI Technical Discussion => Topic started by: Earil on March 10, 2009, 04:59:10 PM

Title: VXML troubles
Post by: Earil on March 10, 2009, 04:59:10 PM
Hi all,

I have a very strange problem, in my VXML application. I'm on it for too long, and I can't think straight anymore, so I need your help ! :)

Let me explain :
I have GVP 7.5 (Behind), with Framework 7.6 and SIP Server 7.5.
The voice application runs with Apache2.2 & Tomcat6 and written with Studio.

The problem :
In a subcallflow, there is a Code block, writing down the value of some variables (Application Variables) in a log file and then we go to another subcallflow and come back. After this, a second Code block, with exactly the same code (to the letter!).

Here is the code in both Code blocks :
[code]setLog(localPageContext, 2, "sDAT_Month is '".concat(lookUp(localPageContext, "sDAT_Month")).concat("'") );[/code]

The result in the log file :
[code]{B53A5D4F-7591-4553-AAF9-32685CE91C66},006c01aafcfa3026,Tue Mar 10 17:39:18 CET 2009,sDAT_Month is '3'
{B53A5D4F-7591-4553-AAF9-32685CE91C66},006c01aafcfa3026,Tue Mar 10 17:39:18 CET 2009,sDAT_Month is ''[/code]
==> The value is empty in the second block !

I can assure that there is no way this variable is modified in the subcallflow, or anywhere else.
So my guess is that the value of "localPageContext" has to be modified somewhere. But where and how ?

Any of you had seen the same thing ?

Any advice will be very appreciated !
Thanks!


Edit : I've just done a test, where the second subcallflow is empty (like start and return blocks, nothing more). Same results.  ???
Title: Re: VXML troubles
Post by: Infinity on March 11, 2009, 01:15:02 PM
Hi Earil,

Just wanted to make sure if you are having issues with all the application variables or just this one. I would love to create a simple app and test it but unable to do so right now. BTW is setLog() the [b]only[/b] piece of code in both the code blocks? If possible can you paste the code that sets the value for this variable.

Thanks.
Title: Re: VXML troubles
Post by: Earil on March 12, 2009, 12:52:36 PM
Hi Infinity,

After checking every variables, I can say that all variables are re-set to default values.
Well.. not all, let me explain :

The main call flow calls a first sub call flow (let's say 'Sub1'), which calls a second ('Sub2'). The variables of 'Sub1' (including input parameters) are reset to default after the call of 'Sub2'.
But ! the variables of the main call flow stay the same..

Below is the code which sets the value of the variables in 'Sub1':[code] setPageItem(localPageContext, "sDAT_DayWTest", lookUp(localPageContext, "sDAT_DayW") );[/code]('sDAT_DayWTest' is a local variable, 'sDAT_DayW' is an input parameter)

The rest af the code in the Code blocks are only 'setLog()' lines.

Thanks for the help!
Title: Re: VXML troubles
Post by: Infinity on March 12, 2009, 08:07:42 PM
Weird. I just created a sample application (main->sub->sub) and when I return from the 2nd level sub-flow to the first level sub-flow, the variable values were preserved and I did not see any issue.  ???

Mine is a stand-alone 7.5 and tomcat 5.5.23.

Can you perform one more test. Can you remove the call to the sub-callflow and have the two code blocks one after the other and see if the problem occurs?

And the Tomcat logs (you may have checked this I guess).

Thanks.
Title: Re: VXML troubles
Post by: cavagnaro on March 12, 2009, 08:35:29 PM
In tomcat, how are global variables configured?
Title: Re: VXML troubles
Post by: Earil on March 13, 2009, 10:35:45 AM
Hi,

- Infinity :
Already did the test ==> everything's ok when there is no second sub.
Also, when I call this second sub directly from the main, there's no problem.
And I've done some tests with a different second sub, it's not working. So, it really looks like it's coming from going to a second sub, whatever it is.

- Cavagnaro :
What do you mean? I'm not very familiar with Tomcat...

Title: Re: VXML troubles
Post by: Earil on March 13, 2009, 02:25:26 PM
Hi !

I've looked into the code of the jsp pages, and adding some 'system.out.println' here and there. Two things appear :
- When a sub starts, the value of the variable ROOTDOCUMENT will say if all others 'local' variables will be set to default or not. The block calling a sub will set ROOTDOCUMENT to 'VOID'.
- The starting page of a sub is call many many times ! And one of this time is just after the subcalling page (so ROOTDOCUMENT = 'VOID' and all variables are reset).

I really don't know if it is normal to have the starting page called so many times.

From the PageCollector log, the jsp pages sequence is something like :
1. Sub1_Start.jsp
2. Sub1_Page1.jsp (code block)
3. Sub1_Start.jsp
4. Sub1_Page2.jsp (block calling the sub2)
5. Sub1_Start.jsp
6. Sub2_Start.jsp
7. Sub2_Page1.jsp (prompt block)
8. Sub1_Start.jsp
9. voxfile.vox
10. Sub2_Return.jsp
11. Sub1_Page3.jsp (code block)
12. Sub1_Start.jsp

Step 4 is erasing ROOTDOCUMENT, step 5 resetting variables. Steps 2 and 11 are copy/paste.
Title: Re: VXML troubles
Post by: cavagnaro on March 13, 2009, 02:35:44 PM
You will see, you have two kind of variables, local and global. Global are also called as sessions, the fact that you login on this site and while you travel between pages you remain logged is because a global (session) variable is enabled and working.
What I would try is to do a simple JSP application and in one page create a session and in a link in next page try to recover it, if this doesn't work then check your Tomcat configuration and see if sessions are enabled or not. What HTTP engine are you using?
Title: Re: VXML troubles
Post by: Earil on March 17, 2009, 12:50:09 PM
Hi Cavagnaro,

I'm using Genesys Studio, so I don't think I can modify the jsp code generated (and more, my client will never know how to do it other than with Studio).

What can I check inside the Tomcat configuration ? (I'm using Apache 2.2 & Tomcat6)
Title: Re: VXML troubles
Post by: Infinity on March 18, 2009, 01:29:05 PM
Have you had a chance to check your tomcat configuration? Can you install tomcat with minimal or no configuration changes (probably on a different machine) then provision and try this again? Tomcat configuration files are here :- <tomcat_dir>/conf

Thanks
Title: Re: VXML troubles
Post by: Infinity on March 18, 2009, 01:52:56 PM
Oops.. Sorry I misread the post as "where can I find tomcat configs"..

Here's the link to the tomcat configuration help page http://tomcat.apache.org/tomcat-5.5-doc/config/index.html
web.xml, server.xml, context.xml, catalina/manager.xml are the configuration files in <tomcat_dir>/conf unless you have any application specific configuration in your WEB-INF/ directory.

Installing tomcat anew and testing I think will be a decent idea - atleast you can single out tomcat if that works.

Hope this helps.

Thanks.
Title: Re: VXML troubles
Post by: Earil on March 20, 2009, 10:16:11 AM
Hi all,

I've done a few interesting tests and the results are quite surprising :
Remember, I tried first with GVP 7.5, Apache 2.2 and Tomcat 6.0.

1. GVP[b]7.2[/b], Apache 2.2 and Tomcat [b]5.5[/b] ==> Works perfectly.
2. GVP 7.5, Apache 2.2 and Tomcat 5.5 ==> Doesn't work.

I really now thinks it's related to the page sequence.
With GVP7.2, the starting page of a sub is called just one time (as it would logically be).
But, with GVP7.5, this page is called several times, which will erase the variables (and so, they are not lost by Tomcat).

Looks like it's a GVP7.5 bug...
Title: Re: VXML troubles
Post by: Infinity on March 26, 2009, 12:21:39 PM
Have you been able to resolve this issue? I tried in my test bed but to no avail.. I mean I wasn't able to reproduce  ???

Thanks.