<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=koi8-r">
<META content="MSHTML 6.00.6000.20753" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>We had a question:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&gt; With which application and API is possible to 
keep full content of RTP audiostream to a file?<BR>&gt; Our FreeSWITCH is 
configured in such manner that RTP-traffic directing throw FreeSWITCH,<BR>&gt; 
but not between UAs.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>And took answer on it:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&gt; <A 
href="http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_record_session">http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_record_session</A></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>-------------------------------------------------------------------</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>On it&nbsp;HELP&nbsp;we have mase 
such&nbsp;extension :</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&lt;extension name="ext-record"&gt;<BR>&nbsp; 
&lt;condition field="destination_number" 
expression="^4010$"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;action application="set" 
data="RECORD_TITLE=Recording ${destination_number} ${caller_id_number} 
${strftime(%Y-%m-%d %H:%M)}"/&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;action 
application="set" data="RECORD_COPYRIGHT=(c) 2008, Altron Inc." 
/&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;action application="set" 
data="RECORD_SOFTWARE=FreeSwitch" /&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;action 
application="set" data="RECORD_ARTIST=Registration" /&gt;<BR>&nbsp;&nbsp;&nbsp; 
&lt;action application="set" data="RECORD_COMMENT=!!!" 
/&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;action application="set" 
data="RECORD_DATE=${strftime(%Y-%m-%d %H:%M)}"/&gt;<BR>&nbsp;&nbsp;&nbsp; 
&lt;action application="set" 
data="RECORD_STEREO=true"/&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;action 
application="record_session" 
data="$${base_dir}/recordings/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}.wav"/&gt;<BR>&nbsp;&nbsp;&nbsp; 
&lt;action application="set" 
data="ringback=${us-ring}"/&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;action 
application="bridge" data="<A 
href="mailto:sofia/nat/${dialed_ext}@localhost:5062">sofia/nat/${dialed_ext}@localhost:5062</A>" 
/&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;action application="answer" /&gt;<BR>&nbsp; 
&lt;/condition&gt;<BR>&lt;/extension&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>This&nbsp;draft works already, but there 
are&nbsp;new questions:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>1. It's seems, that record of&nbsp;RTP session can 
occur only when&nbsp;RTP stream is routed through FS: UA-&gt; FS-&gt; UA, 
instead of directly (in LAN) UA-&gt; UA.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>For this purpose, as we understand, it is necessary 
to&nbsp;set values in variables of FreeSWITCH:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&lt;action application="set" 
data="bypass_media=..."/&gt;<BR>&lt;action application="set" 
data="proxy_media=..."/&gt;<BR>&lt;action application="set" 
data="inbound_late_negotiation=..."/&gt; ( for SIP&nbsp;profile nat&nbsp;for 
extension ext-record).</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>What values need to be&nbsp;set in variables that 
all&nbsp;RTP traffic passed through FreeSWITCH?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>2. At extension ext-record we set record_session 
then we do bridge to leg B.&nbsp;<FONT face=Arial size=2>As it is possible 
to</FONT> configurate registration from another extension, for 
example:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&lt;extension name="XXXX"&gt;<BR>&nbsp; 
&lt;condition field="destination_number" 
expression="^XXXX$"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
...<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="execute_extension" 
data="ext-record XML public "/&gt;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
...<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="bridge" 
data="sofia/nat/YYYY" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; ...<BR>&nbsp; 
&lt;/condition&gt;<BR>&lt;/extension&gt;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>- where own extension not call any leg B, but only 
record session XXXX-&gt;YYYY.<BR>How we are able to do this???</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thankful in advance, 
Evgeniy.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT></DIV></BODY></HTML>