Checked the screen shot - er, you can't do it that way!!
The GS,Server,V microapp is special - no params are passed that way.
Make sure you put it on your customer or it won't function. Make sure the timeout exceeds the maximum time any user will be in Audium.
When you fill in your ToExtVXML with "application=FooBar", you also have the opportunity to pass data to the application as name=value pairs. If you have more elements in your array you could set ToExtVXML to "ANI=1234567890" and the application will automatically create a Session Variable called "ANI" and will assign the value "1234567890".
Obviously you want to use their real ANI - so you need the ICM concatenate() function, and the Call.Calling_Line_ID variable to make it work.
If you don't have any elements in the ToExtVXML array, make sure  is long enough and concatenate the name=value pairs together with semicolons to separate. The query string can be checked in Call Server as it goes towards the VXML Server. If you make a mistake, it will be obvious.
Now, you don't call the class from ICM. You call the Application and it uses the Session variable you created, holding the value of the CLID, and passes it to your class using "Substitution". You need to get that bit going.
And on your way back ... you can create ECC variables with different names if you like. Seems like icing on the cake - I would slow down a bit if I were you and get the basics working.
When you create a custom Action Element it is a different ball game to attaching Java code in line to an application. To be honest, I never do that.
If you are really making a Custom Action Element - you need to copy the class file into something like plugins\com.audiumcorp.studio.library.common_5.1.0\classes. Then restart Studio and look for your element in the Element Map.
Just like the Audio Element, Database Element etc. your should be there under the folder you have named. The idea is that the element is reusable, and through different settings can be configured to do different things in different apps. Even if I am using it the once, I tend to make an Action Element this way.
Add your element to your app, configure the settings and save and deploy. On the server, as I said, your custom Action Element goes in VXMLServer\common\classes. Either restart the VXMLServer or call admin\updateCommonClasses.bat.
If you are not doing it this way, just deploy the application - you will see your class get on the server with all the other files.
- In the ICM script, do something like call.FirstName=Call.user.microapp.FromExtVXML and call.SecondName=Call.user.microapp.FromExtVXML (I will have populated FromExtVXML using the results from the javaclass in the cvp stdio and call the class whenever a call comes in.)
So this is data for the way out. I don't know what "call.FirstName" is - but if you put data in a session variable in your Studio app, and return the value of the session arg in FromExtVXML - you must do this by substitution - then ICM can see it, copy it into a peripheral variable etc.