Sending Data When Starting CCXML via HTTP Requests

I'd like to reveal a secret: an easier way to get at GET variables inside CCXML 1.0 scripts.

As described in detail elsewhere, when you can start a CCXML script by using

http://servername:9999/CCXML10.start?tokenid=scriptname

If you want to send some information along, the typical method is to tack the information along as a GET request and then use PHP to extract that information into the script.

In other words, the URL looks like

http://servername:9999/CCXML10.start?tokenid=scriptname&foo=bar

and you include PHP code that looks like

<?php echo ($_GET["foo"]) ?>

to access the foo variable.

However, there's a secret extension to the session variables called "session.external". The GET variables are available as

session.external.foo

as well as

session.external['foo']

This is aside from the other undocumented variable URL1, which contains the entire URL that started the CCXML document.

By the way, session.external also works for Voxeo's hosted CCXML 1.0 scripts — this is tremendously important if you need to start a hosted script with a token and you want to host the script at Voxeo's servers as well.