<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Hi,<br>
<br>
so if your are ok with the way you solved part 1... alright, lets
go to part 2..<br>
but again... hu.. I don´t understand..<br>
what do you mean with merging to a mobile phone?<br>
do you want do bridge the calls (three partys) or do you want to
play the just recorded file<br>
from your server-initiated call into a another running call?<br>
what is "by hand"?<br>
the more explicit you are, the more helpful will be the answer.<br>
<br>
you ask "but if there is a way to just
<div>dial out and then let the server side of the call "Keep the
channel up but do nothing forever until the call is hang up""<br>
<br>
of course you can...you could e.g.:<br>
call into a queue<br>
call into a meetme room<br>
call with the help of a local channel into a context where you
do nothing but answer / hold<br>
<br>
but as i said.... i did not quite catch what your objective
really is... i just dont understand<br>
your scenario or cant imagine its sense.<br>
<br>
if you are a java programmer, i think your using the
asterisk-java lib from s. reuter..<br>
if so, you have any freedom, you could also use ami connection
to listen to events<br>
to start and stop recordings and so on.<br>
</div>
<br>
regards,<br>
yves<br>
<br>
Am 09.03.2013 21:32, schrieb Henrik Westerberg:<br>
</div>
<blockquote
cite="mid:CD8853E93122E74B85034CCF2DB5C3735B2ED4@AURO-TIDAX-EX1.tidax.se"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div>
<div>Hi, </div>
<div><br>
</div>
<div>Thanks for your answer!</div>
<div><br>
</div>
<div>1.</div>
<div><span id="OLK_SRC_BODY_SECTION">
<div text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">> so you want to establish
a call (triggered by ami) between two partys, record the
conversation<br>
> and save the file to a(nother) server (afterwards),
right?<br>
</div>
</div>
</span>
<div><br>
</div>
<div>Yes this is correct, and I prefer to do the transferring
of the file to another server with my existing AGI.</div>
<div>
<div>My AGIs are written in java. Today I the upload is done
over http. </div>
<div>Today I schedule the upload in the AGI script a
couple of seconds after the channel is hang up. But the
two </div>
<div>lines might not be hung up at the same time.</div>
<div>Your suggestion of always fixing the file is wise, it
now seems to work fine after having been processed with
sox. </div>
<div><br>
</div>
<div>So now I think that this case 1 is ok for me :-)</div>
</div>
<div><br>
</div>
<div>2.</div>
<span id="OLK_SRC_BODY_SECTION">
<div text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">> and another task is to
establish (also ami triggered) a call to a mobile and
play, lets say a voicefile.<br>
> this "conversation" should also be recorded and
saved on a(nother) server (afterwards), right?</div>
</div>
</span></div>
<div><br>
</div>
<div>The idea is to perform a "probe call" with the only task of
recording what the other party says. </div>
<div>It will be merged "by hand" on a mobile phone to an ongoing
call with another party.</div>
<div>This could be done by calling out and letting AGI execute a
RECORD FILE but if there is a way to just</div>
<div>dial out and then let the server side of the call "Keep the
channel up but do nothing forever until the call is hang up"</div>
<div>Then I could easily use the MixMonitor and write the whole
conversation in the dialplan with uploading similar to the
first case.</div>
<div>Any suggestions?</div>
<div><br>
</div>
<div>
<div style="font-family: Consolas; font-size: medium; ">Regards,</div>
</div>
</div>
<div style="font-family: Consolas; font-size: medium; ">Henrik</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt;
text-align:left; color:black; BORDER-BOTTOM: medium none;
BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT:
0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid;
BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">Från: </span>"Yves A." <<a
moz-do-not-send="true" href="mailto:yves030@gmx.de">yves030@gmx.de</a>><br>
<span style="font-weight:bold">Svara till: </span>Asterisk
Users Mailing List - Non-Commercial Discussion <<a
moz-do-not-send="true"
href="mailto:asterisk-users@lists.digium.com">asterisk-users@lists.digium.com</a>><br>
<span style="font-weight:bold">Datum: </span>torsdag 7 mars
2013 20:10<br>
<span style="font-weight:bold">Till: </span>Asterisk Users
Mailing List - Non-Commercial Discussion <<a
moz-do-not-send="true"
href="mailto:asterisk-users@lists.digium.com">asterisk-users@lists.digium.com</a>><br>
<span style="font-weight:bold">Ämne: </span>Re:
[asterisk-users] Recording with MixMonitor and AGI<br>
</div>
<div><br>
</div>
<div>
<div text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">hi,<br>
<br>
hard to understand, what your objective is... at least for
me ;-)<br>
<br>
so you want to establish a call (triggered by ami) between
two partys, record the conversation<br>
and save the file to a(nother) server (afterwards), right?<br>
</div>
</div>
</div>
</span>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div>
<div text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">and another task is to
establish (also ami triggered) a call to a mobile and
play, lets say a voicefile.<br>
this "conversation" should also be recorded and saved on
a(nother) server (afterwards), right?<br>
<br>
let me know, if i understood you right, the solution is
not so hard to implement.<br>
In what language do you preferrably write your AGIs?
(although there is no absolute need for using an<br>
agi... you can all write down in your dialplan...)<br>
is there a special protocol requirement for
saving/transferring the recorded voicefile (e.g. ftps)?<br>
One obstacle is, that the recorded file is not fully
written _immediately_ after stopmixmonitor or hangup...<br>
this has to be taken care of and depending on your agi...
it might be interrupted, if the call is hungup...<br>
but as you did not show your agi... these are just hints..<br>
<br>
regards,<br>
yves<br>
<br>
<br>
<br>
Am 07.03.2013 16:21, schrieb Henrik Westerberg:<br>
</div>
<blockquote
cite="mid:CD8853E93122E74B85034CCF2DB5C3735B262E@AURO-TIDAX-EX1.tidax.se"
type="cite">
<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 => s,1,MixMonitor(${ARG1},b)</div>
</div>
<div><br>
</div>
<div>
<div>[outgoing-originate]</div>
<div>exten => _X.,1,NoOp(Will send call to ${EXTEN})</div>
<div>exten => _X.,n,Dial(SIP/${<a
moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:EXTEN%7D@x.y.z">EXTEN}@x.y.z</a>)</div>
</div>
<div><br>
</div>
<div>
<div>[outgoing-originate-rec]</div>
<div>exten =>
h,1,Agi(agi://localhost/ajpbx.agi?path=uploadrec&callid=${CC_CALLID})</div>
<div><br>
</div>
<div>exten => _X,1,NoOp(Will send call to ${EXTEN},
CC_CALLID is ${CC_CALLID}, CC_FILENAME is
${CC_FILENAME})</div>
<div>exten => _X,n,Dial(SIP/${<a
moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:EXTEN%7D@x.y.z,60,M">EXTEN}@x.y.z,60,M</a>(ccdev2-rec^${CC_FILENAME})e)</div>
</div>
<div><br>
</div>
<div>If I want to make a recorded server callout
from 077777777 to 0888888888 I then originate a call via
AMI to Local/077777777@outgoing-originate with context
set to outgoing-originate-rec and extension
to 0888888888.</div>
<div>The result will be something like this:</div>
<div><br>
</div>
<div>
<div> -- Executing [s@macro-ccdev2-rec:1]
MixMonitor("SIP/upps-ccm-tq01-0000003f",
"cbrec-15605.wav,b") in new stack</div>
<div> == Begin MixMonitor Recording
SIP/upps-ccm-tq01-0000003f</div>
<div> -- Executing [h@outgoing-originate-rec:1]
AGI("SIP/upps-ccm-tq01-0000003e",
"agi://l4574/ajpbxtest.agi?path=uploadrec&callid=15605")
in new stack</div>
<div> -- <SIP/upps-ccm-tq01-0000003e>AGI Script
agi://localhost/ajpbxtest.agi?path=uploadrec&callid=15605
completed, returning 0</div>
<div> -- Executing [h@outgoing-originate-rec-dev2:1]
AGI("SIP/upps-ccm-tq01-0000003f",
"agi://4574/ajpbxtest.agi?path=uploadrec&callid=")
in new stack</div>
<div> -- <SIP/upps-ccm-tq01-0000003f>AGI Script
agi://localhost/ajpbxtest.agi?path=uploadrec&callid=
completed, returning 0</div>
<div> == MixMonitor close filestream (mixed)</div>
<div> == 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. </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> -- Executing [s@macro-ccdev2-rec:1]
MixMonitor("SIP/upps-ccm-tq01-00000043",
"cbrec-15607.wav,b") in new stack</div>
<div> == Begin MixMonitor Recording
SIP/upps-ccm-tq01-00000043</div>
<div> -- Executing [h@outgoing-originate-rec-dev2:1]
StopMixMonitor("SIP/upps-ccm-tq01-00000042", "") in
new stack</div>
<div> == Spawn extension (outgoing-originate-rec-dev2,
h, 1) exited non-zero on 'SIP/upps-ccm-tq01-00000042'</div>
<div> -- Executing [h@outgoing-originate-rec-dev2:1]
StopMixMonitor("SIP/upps-ccm-tq01-00000043", "") in
new stack</div>
<div> == MixMonitor close filestream (mixed)</div>
<div> -- Executing [h@outgoing-originate-rec-dev2:2]
AGI("SIP/upps-ccm-tq01-00000043",
"agi://localhost/ajpbxtest.agi?path=uploadrec&callid=")
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 "oneway-call" 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>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.api-digital.com">http://www.api-digital.com</a> --
New to Asterisk? Join us for a live introductory webinar every Thurs:
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.asterisk.org/hello">http://www.asterisk.org/hello</a>
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a></pre>
</blockquote>
<br>
</div>
</div>
</span>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by <a class="moz-txt-link-freetext" href="http://www.api-digital.com">http://www.api-digital.com</a> --
New to Asterisk? Join us for a live introductory webinar every Thurs:
<a class="moz-txt-link-freetext" href="http://www.asterisk.org/hello">http://www.asterisk.org/hello</a>
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
<a class="moz-txt-link-freetext" href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a></pre>
</blockquote>
<br>
</body>
</html>