
For testing purposes I am initiating outbound calls from the browser via the following form:
<form action="http://outbound.plumgroup.com/webservice/queuecall.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="login" value="[my login]">
<input type="hidden" name="pin" value="[my pin]">
<input type="hidden" name="start_url" value="http://[my test server]/plum_vxml.cfm">
<input type="text" size="10" name="phone_number">
<input type="hidden" name="call_parameters" value="Nancy">
</form>
plum_vxml.cfm dumps the ColdFusion "form." scope into the body of an email and sends it to me. I can see at this point that CF has received 7 variables, with values for CALLEE_TYPE, CALL_ID, and PHONE_NUMBER. CALL_PARAMETERS is set to [empty string]. So my code in plum_vxml.cfm:
<cfif IsDefined("form.call_parameters")>
This is a call from My App
<cfif Len(form.call_parameters)>
for #form.call_parameters#
</cfif>.
<cfelse>
Welcome to My App.
</cfif>
always says "This is a call from My App" but never finishes the sentence.
As a side note, as far as I can tell this variable is the only thing required to be dynamic in my my vxml doc (all other dynamic info is requested using <data> tag) ... so I would be just as happy to know how to access the call_parameters variable from within the vxml doc so that it can be static/cached.
(A second question: for every outbound call my CF server receives two requests -- one from "PHP/4.2.3" that posts no variables at all, and one from "PlumVoicePortal/2.5" that does (albeit with [empty string]s where there shouldn't be). Is this expected behavior or a symptom of something I'm doing wrong?