Subject: RE: [IPTEL] CPL-03 Comments and Questions

From: Jonathan Rosenberg <[email-masked]>
Date: Wed, 15 Nov 2000 00:06:58 -0500

I'm only a novice at VoiceXML, so any experts out there, please feel free to
correct me. 

> -----Original Message-----
> From: Henning G. Schulzrinne [mailto:[email-masked]]
> Sent: Tuesday, November 14, 2000 10:42 PM
> To: Jonathan Rosenberg
> Cc: [email-masked]'; [email-masked]
> Subject: Re: [IPTEL] CPL-03 Comments and Questions
> 
> 
> In the "loading" of scripts via HTTP, is this "stacked"? 

No.

I.e., if the
> loaded script returns, what happens?

There is no "return".

> Does execution continue after the
> invocation of the http? Is there a namespace separation (VoiceXML has
> variables)?

There can be sharing of variables, but only if those variables are defiend
in the root voicexml document, and then only if the original doc, and the
one just loaded, both share the same root. Otherwise, variables defined
within script A are not in scope when script B is loaded.

> Can there be random jumps from a newly-loaded 
> routine to an
> existing subroutine?

There is a notion of sub-dialogs, which are like subroutine calls.
Sub-dialogs are always invoked by an absolute reference - that is, the URL
of the VoiceXML script plus the name of the form within the voiceXML
document. Its possible that this document is cached, but beyond that, there
is little difference as to whether the sub-dialog is in a new document or
one previously used.

> Can existing subroutines be replaced? 

Since sub-dialogs are referred to by absolute names, they can only be
"replaced" in the sense that the VoiceXML script at the given URI is
re-fetched (since it was not cached), and a different script is returned.

> What if the
> subroutine making the http "call" itself gets replaced?

Thats a good question. I don't know.

 What 
> happens to
> CPL predictability if there is a loop of endless retrievals?

I don't think VoiceXML interpreters have any facility for handing loops. I
guess its up to the http server that is returning these things.

> I have to admit to some queasiness to a model that looks suspiciously
> like the old "load a new segment" model in early Intel/DOS 
> versions. (It
> appears somewhat similar to the "load" statement in Tcl, say, 
> too, with
> potentially some of the same unpredictability.)

I suspect these issues were considered in the design of VoiceXML, but I
personally can't comment. Anyone?

-Jonathan R.

---
Jonathan D. Rosenberg                       72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[email-masked]                     FAX:   (973) 952-5050
http://www.cs.columbia.edu/~jdrosen         PHONE: (973) 952-5000
http://www.dynamicsoft.com

_______________________________________________
IPTEL mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/iptel

---

From: James Undery <[email-masked]>
Date: Wed, 15 Nov 2000 08:57:42 +0000

> personally can't comment. Anyone?

Whether these issues are addressed or not, I feel that something like SIP CGI
provides the functionality you are after, CPL serves a different niche where
(reasonably) untrusted users can upload scripts. The functionality I believe you
want requires a higher degree of trust and is probably best achieved through
other means. I personally think CPL is better situated towards the centre of the
network and CGI like services nearer (or preferably at) the edge. The reason
being you don't want proxies/gateways to be affected by rogue scripts, yet the
if an UA/phone is tied up you have less of a problem (if it isn't your phone).
Proxies/gateways should only be running CGI style scripts from trusted and
accountable entities.

James Undery

---

From: "Henning G. Schulzrinne" <[email-masked]>
Date: Wed, 15 Nov 2000 09:25:59 -0500

Jonathan Rosenberg wrote:

> > In the "loading" of scripts via HTTP, is this "stacked"?

Then I don't understand the model. What happens if the script loaded is
"finished"? Where does the point of execution go?

> guess its up to the http server that is returning these things.

The HTTP server has no clue about this. How could it know that the same
script, possibly by a different name, is loaded again and again?

Overall, unless the model is much cleaner than it currently looks to me,
this has the potential of negating one of the prime benefits of CPL,
namely predictability and provable correctness. 

-- 
Henning Schulzrinne   http://www.cs.columbia.edu/~hgs