<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<div>
<div>Hi,</div>
<div><br>
</div>
<div>I am developing a call recording application on Asterisk 11.2 and have this configuration in my dialplan:</div>
<div><br>
</div>
<div>[macro-ccdev2-rec]</div>
<div>exten =&gt; s,1,MixMonitor(${ARG1},b)</div>
</div>
<div><br>
</div>
<div>
<div>[outgoing-originate]</div>
<div>exten =&gt; _X.,1,NoOp(Will send call to ${EXTEN})</div>
<div>exten =&gt; _X.,n,Dial(SIP/${EXTEN}@x.y.z)</div>
</div>
<div><br>
</div>
<div>
<div>[outgoing-originate-rec]</div>
<div>exten =&gt; h,1,Agi(agi://localhost/ajpbx.agi?path=uploadrec&amp;callid=${CC_CALLID})</div>
<div><br>
</div>
<div>exten =&gt; _X,1,NoOp(Will send call to&nbsp;${EXTEN}, CC_CALLID is ${CC_CALLID}, CC_FILENAME is ${CC_FILENAME})</div>
<div>exten =&gt; _X,n,Dial(SIP/${EXTEN}@x.y.z,60,M(ccdev2-rec^${CC_FILENAME})e)</div>
</div>
<div><br>
</div>
<div>If I want to make a recorded server callout from&nbsp;077777777 to&nbsp;0888888888&nbsp;I then originate a call via AMI to Local/077777777@outgoing-originate with context set to&nbsp;outgoing-originate-rec and extension to&nbsp;0888888888.</div>
<div>The result will be something like this:</div>
<div><br>
</div>
<div>
<div>&nbsp; &nbsp; -- Executing [s@macro-ccdev2-rec:1] MixMonitor(&quot;SIP/upps-ccm-tq01-0000003f&quot;, &quot;cbrec-15605.wav,b&quot;) in new stack</div>
<div>&nbsp; == Begin MixMonitor Recording SIP/upps-ccm-tq01-0000003f</div>
<div>&nbsp; &nbsp; -- Executing [h@outgoing-originate-rec:1] AGI(&quot;SIP/upps-ccm-tq01-0000003e&quot;, &quot;agi://l4574/ajpbxtest.agi?path=uploadrec&amp;callid=15605&quot;) in new stack</div>
<div>&nbsp; &nbsp; -- &lt;SIP/upps-ccm-tq01-0000003e&gt;AGI Script agi://localhost/ajpbxtest.agi?path=uploadrec&amp;callid=15605 completed, returning 0</div>
<div>&nbsp; &nbsp; -- Executing [h@outgoing-originate-rec-dev2:1] AGI(&quot;SIP/upps-ccm-tq01-0000003f&quot;, &quot;agi://4574/ajpbxtest.agi?path=uploadrec&amp;callid=&quot;) in new stack</div>
<div>&nbsp; &nbsp; -- &lt;SIP/upps-ccm-tq01-0000003f&gt;AGI Script agi://localhost/ajpbxtest.agi?path=uploadrec&amp;callid= completed, returning 0</div>
<div>&nbsp; == MixMonitor close filestream (mixed)</div>
<div>&nbsp; == End MixMonitor Recording SIP/upps-ccm-tq01-0000003f</div>
</div>
<div><br>
</div>
<div>Unfortunately I get two different calls to the h extension, but this I can cope with. The one without called is not interesting.</div>
<div>The uploading will fail since the MixMonitor is still on when I try to upload the file. The file will not have a duration. It works when I schedule the uploading a while after from my agi application but I would rather not rely on a timeout.&nbsp;</div>
<div><br>
</div>
<div>When I tried to run StopMixMonitor before the Agi call in the h extension, the first call fail and I never get any uploading with callid.</div>
<div><br>
</div>
<div>
<div>&nbsp; &nbsp; -- Executing [s@macro-ccdev2-rec:1] MixMonitor(&quot;SIP/upps-ccm-tq01-00000043&quot;, &quot;cbrec-15607.wav,b&quot;) in new stack</div>
<div>&nbsp; == Begin MixMonitor Recording SIP/upps-ccm-tq01-00000043</div>
<div>&nbsp; &nbsp; -- Executing [h@outgoing-originate-rec-dev2:1] StopMixMonitor(&quot;SIP/upps-ccm-tq01-00000042&quot;, &quot;&quot;) in new stack</div>
<div>&nbsp; == Spawn extension (outgoing-originate-rec-dev2, h, 1) exited non-zero on 'SIP/upps-ccm-tq01-00000042'</div>
<div>&nbsp; &nbsp; -- Executing [h@outgoing-originate-rec-dev2:1] StopMixMonitor(&quot;SIP/upps-ccm-tq01-00000043&quot;, &quot;&quot;) in new stack</div>
<div>&nbsp; == MixMonitor close filestream (mixed)</div>
<div>&nbsp; &nbsp; -- Executing [h@outgoing-originate-rec-dev2:2] AGI(&quot;SIP/upps-ccm-tq01-00000043&quot;, &quot;agi://localhost/ajpbxtest.agi?path=uploadrec&amp;callid=&quot;) in new stack</div>
</div>
<div><br>
</div>
<div>Am I missing something here? I also looked at the possibility to specify a command to execute when MixMonitor stops but I would rather handle the file uploading in my agi application.</div>
<div><br>
</div>
<div>I also have another case: I want to dial out a call and record it. It will be a &quot;oneway-call&quot; from the server to a mobile. Do I need to get AGI-control of it and record with an AGI command or how can I hack it directly in the dial plan using MixMonitor?</div>
<div><br>
</div>
<div>
<div style="font-family: Consolas; font-size: medium; ">Best Regards,</div>
<div style="font-family: Consolas; font-size: medium; ">Henrik</div>
<div style="font-family: Consolas; font-size: medium; ">
<div style="font-family: Calibri, sans-serif; font-size: 14px; ">
<div style="font-family: Consolas; font-size: medium; "></div>
</div>
</div>
</div>
</body>
</html>