<div dir="ltr"><div dir="ltr"><div dir="ltr">Eric,<div><br></div><div>As I mentioned before that does not seem to work with PHP<br><br><div>  == Using SIP RTP CoS mark 5</div><div>    -- Executing [my_test_test@from-external:1] NoOp("SIP/fpp-55559999-000009ca", "") in new stack</div><div>    -- Executing [my_test_test@from-external:2] AGI("SIP/fpp-55559999-000009ca", "fast_agi_wrapper,my_test,cnum=10000009&cname=Dovid Bender") in new stack</div><div>    -- Launched AGI Script /opt/dovid/fastagi/fast_agi_wrapper</div><div> fast_agi_wrapper,my_test,cnum=10000009&cname=Dovid Bender: We are the parent. Let's die!</div><div> fast_agi_wrapper,my_test,cnum=10000009&cname=Dovid Bender: We are child here. Taking a nap !</div><div> fast_agi_wrapper,my_test,cnum=10000009&cname=Dovid Bender: That nap was goooood!</div><div>    -- <SIP/fpp-55559999-000009ca>AGI Script /opt/dovid/fastagi/fast_agi_wrapper completed, returning 0</div><div>    -- Executing [my_test_test@from-external:3] Playback("SIP/fpp-55559999-000009ca", "tt-monkeys") in new stack</div><div>    -- <SIP/fpp-55559999-000009ca> Playing 'tt-monkeys.slin' (language 'en')</div><div>    -- Remote UNIX connection</div><div>    -- Remote UNIX connection disconnected</div></div><div><br></div><div><br></div><div>My code:</div><div><div><?PHP</div><div><br></div><div><br></div><div>$pid = pcntl_fork();</div><div>if ($pid != 0) {</div><div>     // we are the parent</div><div>     // do parent stuff</div><div>        $fastagi->verbose("We are the parent. Let's die!");</div><div>     exit;</div><div>}</div><div><br></div><div>// we are the child, detatch from terminal</div><div>$sid = posix_setsid();</div><div>if ($sid < 0) {</div><div>     die;</div><div>}</div><div>// do child stuff</div><div><br></div><div>        $fastagi->verbose("We are child here. Taking a nap !");</div><div>        sleep(5);</div><div>        $fastagi->verbose("That nap was goooood!");</div><div><br></div><div>?></div></div><div><br></div><div><br></div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 19, 2019 at 2:16 PM Eric Wieling <<a href="mailto:ewieling@nyigc.com">ewieling@nyigc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In PHP something like:<br>
<br>
$pid = pcntl_fork();<br>
if ($pid != 0) {<br>
     // we are the parent<br>
     // do parent stuff<br>
     exit;<br>
}<br>
<br>
// we are the child, detatch from terminal<br>
$sid = posix_setsid();<br>
if ($sid < 0) {<br>
     die;<br>
}<br>
// do child stuff<br>
<br>
On 04/19/2019 02:00 PM, Mark Wiater wrote:<br>
> On 4/19/2019 1:49 PM, Dovid Bender wrote:<br>
>> Mark,<br>
>><br>
>> I am using PHP agi and when forking the call does not continue util <br>
>> the forked process is done. Am I doing it wrong?<br>
>><br>
>><br>
>> On Wed, Apr 10, 2019 at 4:27 PM Mark Wiater <<a href="mailto:mark.wiater@greybeam.com" target="_blank">mark.wiater@greybeam.com</a> <br>
>> <mailto:<a href="mailto:mark.wiater@greybeam.com" target="_blank">mark.wiater@greybeam.com</a>>> wrote:<br>
>><br>
>>     On 4/10/2019 3:54 PM, Dovid Bender wrote:<br>
>>>     I have an AGI that can sometimes take time complete. I don't want<br>
>>>     the dialplan to be held up by the agi. Is there any way to call<br>
>>>     it and have Asterisk continue with the dialplan?<br>
>>><br>
>><br>
>>     Is there a reason you can't fork in the AGI and just return to the<br>
>>     dialplan in the parent?<br>
>><br>
> Dovid,<br>
> <br>
> I'm not much of a PHP person, but in perl, i check the process id that's <br>
> returned from fork() and exit if it's 1 (parent) and keep processing if <br>
> it's the child (greater than 1).<br>
> <br>
> I think php uses pcntl_fork().<br>
> <br>
> Is that how you're doing it?<br>
> <br>
> <br>
> <br>
<br>
-- <br>
<a href="http://help.nyigc.net/" rel="noreferrer" target="_blank">http://help.nyigc.net/</a><br>
<br>
-- <br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
Check out the new Asterisk community forum at: <a href="https://community.asterisk.org/" rel="noreferrer" target="_blank">https://community.asterisk.org/</a><br>
<br>
New to Asterisk? Start here:<br>
      <a href="https://wiki.asterisk.org/wiki/display/AST/Getting+Started" rel="noreferrer" target="_blank">https://wiki.asterisk.org/wiki/display/AST/Getting+Started</a><br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" rel="noreferrer" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a></blockquote></div>