<DIV>
<DIV>That is probably possible and not too difficult.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I learned what AGI was about 30 minutes after&nbsp;I&nbsp;was finished </DIV>
<DIV>with the last revision of app_perl where I&nbsp;added support to </DIV>
<DIV>launch a perl function in a thread&nbsp; </DIV>
<DIV>&nbsp;</DIV>
<DIV>(BTW I am suspicious that you</DIV>
<DIV>may&nbsp;ironically need perl with no threads compiled&nbsp;for it to work right </DIV>
<DIV>in asterisk&nbsp;despite the fact that you gain thread functionality via asterisk)</DIV>
<DIV>&nbsp;</DIV>
<DIV>I have not really carefully looked at&nbsp;AGI yet but from what I remember </DIV>
<DIV>It communicates with the ext process via STDIN and looks at the ENV</DIV>
<DIV>for information.&nbsp; so what I think you would need would be&nbsp;a fake ENV and a special variable to contain the same info that would have been sent to STDIN created&nbsp;uniquely for each execution.&nbsp; This of course would be limiting the AGI to perl code so another method would be to make </DIV>
<DIV>a function via the app_perl&nbsp;or a dedicated C module to run all the agi app </DIV>
<DIV>&nbsp;at startup and leave them open speaking back and forth over IO stream.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I do notice I started stepping on the toes of AGI because I never heard of</DIV>
<DIV>it while I was coding my module so I think some of the things that AGI does can also be accomplished on app_perl </DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>The&nbsp;3 things I was dreaming of when&nbsp;I was working on it were:</DIV>
<DIV>&nbsp;</DIV>
<DIV>1) If the module has the power to create extensions then you can use </DIV>
<DIV>&nbsp;&nbsp;&nbsp; it to fetch that data from a database on startup or in mid run.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>2) If the module can run threads It could implement </DIV>
<DIV>&nbsp;&nbsp; an external&nbsp;listener of some sort and communicate with </DIV>
<DIV>&nbsp;&nbsp; a partner thread over shared&nbsp;memory and with&nbsp;the world </DIV>
<DIV>&nbsp;&nbsp; over&nbsp;sockets, tcpip etc (web server)&nbsp;&nbsp; I had a demo working</DIV>
<DIV>&nbsp;&nbsp; where you could go to the asterisk on a web browser an see </DIV>
<DIV>&nbsp;&nbsp; a readout like "number is 0" then if you dial into a certain ext</DIV>
<DIV>&nbsp;&nbsp; with a phone the number increments and when you reload the </DIV>
<DIV>&nbsp;&nbsp; web page it said "number is 1" and so on.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>3) Despite the fact that anything I can possibly dream up&nbsp; </DIV>
<DIV>&nbsp;&nbsp;&nbsp; can be implemented with ease because of the&nbsp;robustness&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; of asterisk &nbsp;(adding plug ins is like doing a child's jigsaw puzzle</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; as you can see because I don't even know how to work it yet can&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; build a module for it) </DIV>
<DIV>&nbsp;&nbsp;&nbsp; By integrating perl I felt more of those ideas could be brought to life</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; faster (1 module can open several doors) and It would allow me</DIV>
<DIV>&nbsp;&nbsp;&nbsp; to&nbsp;&nbsp;bridge the gap between asterisk and&nbsp;a ton of perl stuff I have</DIV>
<DIV>&nbsp;&nbsp;&nbsp; made along the years.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV></DIV><p><hr SIZE=1>
Do you Yahoo!?<br>
<a href="http://pa.yahoo.com/*http://rd.yahoo.com/evt=1207/*http://promo.yahoo.com/sbc/">SBC Yahoo! DSL</a> - Now only $29.95 per month!