On Fri, Aug 27, 2004 at 11:11:59AM -0700, Brett Schwarz wrote:

> Sure, I didn't elaborate before, because I was trying to keep the OT
> noise down.

Actually, I think this sort of discussion, while not PRECISELY on
topic for the AOLserver list, is more than close enough for
discsussion.  In fact, I'd like to encourage it.

Your question is basically one example of, "I know that AOLserver does
X really well, I'd like to understand how, so that I can do something
similar to X with a different program.".  I think those sorts of
engineering design questions are likely to teach many of us something
useful.

> Anyways, there is an open source PBX system (asterisk) that has an
> programming interface that is very similar to CGI (in fact it is
> called AGI). Right now, it forks off a process everytime an AGI is
> called (just like CGI). I would like to change that so that Tcl
> scripts are loaded in ahead of time, and are executed in process (no
> forking). Pretty much how aolserver runs tcl procs and tcl pages.

You might also consider something like FastCGI.  Maybe that approach
would be easier to integrate into the Asterisk codebase than
AOLserver's in-process interpreter approach, I dunno.

Now, I've never done it, but my understanding is that anytime you want
to combine Tcl and C, your first thing to decide is which language is
in charge?  In AOLserver the C code is in charge, and that's the way
Ousterhout originally envisioned embedding Tcl.  The other way, more
popular lately, is to make Tcl in charge, and embed all your C
functionality into tclsh as new Tcl commands.

I imagine that depending on how the Asterisk code is organized, one or
both of those approaches should be feasible.  But of course, unless
the whole codebase is already organized as a library for easy
embedding into other code, the AOLserver style "C is in charge" way
sounds more likely.

> http://linuxjournal.com/article.php?sid=6769 which

http://www.asterisk.org/

--
Andrew Piskorski <[EMAIL PROTECTED]>
http://www.piskorski.com/


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.

Reply via email to