<div dir="ltr">Ok thanks.<br>It looks promising !<div>I'll dig into mod_vlc.</div><div><br></div><div>Best </div><div><br></div><div>Vincent</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 5, 2016 at 10:04 AM, Sergey Safarov <span dir="ltr"><<a href="mailto:s.safarov@gmail.com" target="_blank">s.safarov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Think is requred streaming feature of freeswitch.<div>Look at <a href="https://freeswitch.org/confluence/display/FREESWITCH/mod_esf" target="_blank">mod_esf</a> and <a href="https://wiki.freeswitch.org/wiki/Mod_vlc" target="_blank">mod_vlc</a></div><div>Instruction to compile mod_vlc on provided link is to old but helpfull to undestand how to stream media to http server.</div><div><br></div><div>For compiling mod_vlc please use <a href="https://freeswitch.org/stash/projects/SD/repos/vlc/browse" target="_blank">vlc repo</a> and <a href="https://freeswitch.org/confluence/display/FREESWITCH/Creating+RPM+repositary" target="_blank">centos instruction</a>.</div><div>After you intall vlc, then you can enable mod_vlc module in freeswitch sources(SPEC file) and compile freeswitch.</div><div><br></div><div>Sergey</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">вт, 5 апр. 2016 г. в 10:31, Vincent Gire <<a href="mailto:vincent.gire@gmail.com" target="_blank">vincent.gire@gmail.com</a>>:<br></div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">webdav, mod_http_cache or mod_httapi all results in sending the recording only <b>after</b> it is complete.<div>They all write the <span style="color:rgb(0,0,0);font-family:sans-serif;font-size:12.8px;line-height:19.2px">recording to a file, wait for the recording to complete and the file to close and then send it over HTTP.</span></div><div><font color="#000000" face="sans-serif"><span style="font-size:12.8px;line-height:19.2px"><br></span></font><div>I would like to start sending the recording to the remove server as soon as it starts (max 1 sec latency).</div><div>mod_http_cache or mod_httapi would be perfect if they were streaming the recording like mod_shout.</div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 4, 2016 at 8:50 PM, Sergey Safarov <span dir="ltr"><<a href="mailto:s.safarov@gmail.com" target="_blank">s.safarov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Input/output latency is not problem. I use Kazoo on my servers and call recording is stored to database during 5 seconds after hangup.<br>
What is broken in your case if save file using webdav or http_cache?</p><div><div>
<br><div class="gmail_quote"><div dir="ltr">On Mon, Apr 4, 2016, 21:10 Vincent Gire <<a href="mailto:vincent.gire@gmail.com" target="_blank">vincent.gire@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello Sergey,<div><br></div><div>Thank you for your answer.</div><div>I've looked into webdav mounted filesystem.</div><div><br></div><div>Unfortunately, most WebDav clients (especially davfs2 on debian) do a lot of buffering, caching and even lock-null requests (lock a non existent resource before writing to it). I also suspect that they wait for the end of the write operation.</div><div>The result is a latency of a few seconds witch is not much better than what I achieve with mod_shout if I transcode the MP3.</div><div><br></div><div>Any other idea ?</div><div><br></div><div>Thank you !</div><div><br></div><div>Best regards</div><div><br></div><div>Vincent</div><div><div class="gmail_extra"></div></div></div><div dir="ltr"><div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Apr 3, 2016 at 7:30 PM, Sergey Safarov <span dir="ltr"><<a href="mailto:s.safarov@gmail.com" target="_blank">s.safarov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><p dir="ltr">Please look at webdav mounted filesystem.</p>
<br><div class="gmail_quote"><div><div><div dir="ltr">On Sun, Apr 3, 2016, 19:17 Vincent Gire <<a href="mailto:vincent.gire@gmail.com" target="_blank">vincent.gire@gmail.com</a>> wrote:<br></div></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div><div dir="ltr"><div><div><span style="white-space:pre-wrap">Hi all,</span></div><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap">Thank you to all contributing to FreeSWITCH !</span></div><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap">I'm working on a IVR project where logic is implemented on a HTTP server.</span></div><div><span style="white-space:pre-wrap">We are leaving Twilio because we now need to record and live stream the session to the HTTP server in WAV format (chunked transfer encoding).</span></div><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap"><b>mod_httapi</b> looks great (HT TAPI very similar to Twilio's) but it seems that the records are first saved to disk before there are sent to the server as chunked data. </span></div><div><span style="white-space:pre-wrap">We need the transfer to start as soon as the recording starts.</span></div><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap"><b>mod_shout</b> does start the request almost as the records starts but it does not support WAV file and shout:// is not exactly a HTTP request (SOURCE method instead of PUT).</span></div><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap">Is there a way to use these modules to achieve our goal ?</span></div><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap">If not, we are willing to author a specific module or rather contribute to the existing ones.</span></div><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap">We've identified two approaches:</span></div><div><ol><li><span style="white-space:pre-wrap">From <b>mod_httapi</b>
</span>Modify mod_httapi to directly stream the record instead of completely saving it to disk before the HTTP chunked transfer starts.<br>This seems the most logical but with more than 3000 lines, mod_httapi does not seem to be the easiest module to build upon for newcomers!<br><span style="white-space:pre-wrap"><br></span></li><li>From <b>mod_shout</b></li><ol><li>Modify libshoot to replace the custom SOURCE method with standard HTTP PUT method</li><li>Modify mod_shout to support wav files</li><li>Implement our IVR in script (javascript/lua)</li></ol></ol></div><div><span style="white-space:pre-wrap">What do you think ?</span></div><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap">Thank you for your help.</span></div><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap">Cheers,</span></div><div><span style="white-space:pre-wrap">Vincent</span></div></div>
</div></div></div>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a></blockquote></div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br><br clear="all"><div><br></div></div></div></div><div dir="ltr"><div><div class="gmail_extra">-- <br><div><div dir="ltr">Vincent Gire<br></div></div>
</div></div></div>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a></blockquote></div>
</div></div><br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Vincent Gire<br></div></div>
</div>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a></blockquote></div></div></div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Vincent Gire<br></div></div>
</div>