A E [Gmail]
2011-May-02 13:59 UTC
[asterisk-users] Retrieving/Streaming audio/video files from DB using over AGI
On Mon, May 2, 2011 at 3:15 AM, A E [Gmail] <all.eforums at gmail.com> wrote:> Hello All, > > Probably a silly question, but we're wondering if people have had any > experience and have data to demonstrate if the performance of the Asterisk > system might suffer in terms of latency etc. if we're to have it retrieve > sound files from a database using odbc as opposed to storing them locally on > the filesystem. Note, these are not prompts...these are sound files that are > being created through a web-app and being stored in the DB as BLOB or > similar datatype that's good/efficient to store audio/video files in a DB. > We need these be made available through the asterisk system to play over the > phone. Although the DB uses a SAN, the Asterisk System has no connectivity > to the SAN but is connected on the same physical ethernet switch with a > multi-Gbps backplane. > > The way the system is being designed, it's possible for us to end up with > 000s of these sound files stored in the DB, not to mention several asterisk > systems in a pool/cluster/farm requesting these files, so using the local > filesystem might not be scalable or efficient. > > Any advice/comments/suggestions welcome :) > > > Just realised that this can better be described another way:What we're essentially trying to do is be able to do any one of these a) stream an audio/video file stored in the DB via AGI into the current channel so that it plays on the phone OR b) Do something like what Realtime Voicemail does, where it gets the file from the DB, saves as a temp file in the user mailbox directory and then plays it to the caller but this needs to happen through AGI, something along the lines of readsql (a la func_odbc) inside of AGI OR c) Anything else that's better than a) and b) above that someone can suggest. P.S> I do know about the AGI AddOn of PUT SOUNDFILE and GET SOUNDFILE which seems to be the only solution we can think of right now, other than of course having the DB machine exporting the SAN volume as an NFS share for the Asterisk server to mount, but that sounds like it'll be bad for performance? Thanks again -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20110502/71a94561/attachment.htm>
A E [Gmail]
2011-May-02 18:23 UTC
[asterisk-users] Retrieving/Streaming audio/video files from DB using over AGI
> > >> Just realised that this can better be described another way: > > What we're essentially trying to do is be able to do any one of these > > a) stream an audio/video file stored in the DB via AGI into the current > channel so that it plays on the phone > > OR > > b) Do something like what Realtime Voicemail does, where it gets the file > from the DB, saves as a temp file in the user mailbox directory and then > plays it to the caller but this needs to happen through AGI, something along > the lines of readsql (a la func_odbc) inside of AGI > > OR > > c) Anything else that's better than a) and b) above that someone can > suggest. > > P.S> I do know about the AGI AddOn of PUT SOUNDFILE and GET SOUNDFILE which > seems to be the only solution we can think of right now, other than of > course having the DB machine exporting the SAN volume as an NFS share for > the Asterisk server to mount, but that sounds like it'll be bad for > performance? > > Thanks again > >No takers? :( -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20110502/6173fa8c/attachment.htm>
Thorsten Göllner
2011-May-03 08:41 UTC
[asterisk-users] Retrieving/Streaming audio/video files from DB using over AGI
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body text="#000000" bgcolor="#ffffff"> Am 02.05.2011 15:59, schrieb A E [Gmail]: <blockquote cite="mid:BANLkTim3j8kbxuC6XxakHNe7H2f=39ifOw@mail.gmail.com" type="cite"> <div dir="ltr"> <div class="gmail_quote">On Mon, May 2, 2011 at 3:15 AM, A E [Gmail] <span dir="ltr"><<a moz-do-not-send="true" href="mailto:all.eforums@gmail.com">all.eforums@gmail.com</a>></span> wrote:<br> <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> <div dir="ltr"><font color="#663366"><font face="trebuchet ms,sans-serif">Hello All,</font></font> <div><font color="#663366"><font face="trebuchet ms,sans-serif"><br> </font></font></div> <div><font color="#663366"><font face="trebuchet ms,sans-serif">Probably a silly question, but we're wondering if people have had any experience and have data to demonstrate if the performance of the Asterisk system might suffer in terms of latency etc. if we're to have it retrieve sound files from a database using odbc as opposed to storing them locally on the filesystem. Note, these are not prompts...these are sound files that are being created through a web-app and being stored in the DB as BLOB or similar datatype that's good/efficient to store audio/video files in a DB. We need these be made available through the asterisk system to play over the phone. Although the DB uses a SAN, the Asterisk System has no connectivity to the SAN but is connected on the same physical ethernet switch with a multi-Gbps backplane.</font></font></div> <div><font color="#663366"><font face="trebuchet ms,sans-serif"><br> </font></font></div> <div><font color="#663366"><font face="trebuchet ms,sans-serif">The way the system is being designed, it's possible for us to end up with 000s of these sound files stored in the DB, not to mention several asterisk systems in a pool/cluster/farm requesting these files, so using the local filesystem might not be scalable or efficient. </font></font></div> <div><font color="#663366"><font face="trebuchet ms,sans-serif"><br> </font></font></div> <div><font color="#663366"><font face="trebuchet ms,sans-serif">Any advice/comments/suggestions welcome :)</font></font></div> <div><font color="#663366"><font face="trebuchet ms,sans-serif"><br> </font></font></div> <div><font color="#663366"><font face="trebuchet ms,sans-serif"><br> </font></font></div> </div> </blockquote> </div> Just realised that this can better be described another way: <div><br> </div> <div>What we're essentially trying to do is be able to do any one of these</div> <div><br> </div> <div>a) stream an audio/video file stored in the DB via AGI into the current channel so that it plays on the phone</div> <div><br> </div> <div>OR </div> <div><br> </div> <div>b) Do something like what Realtime Voicemail does, where it gets the file from the DB, saves as a temp file in the user mailbox directory and then plays it to the caller but this needs to happen through AGI, something along the lines of readsql (a la func_odbc) inside of AGI</div> <div><br> </div> <div>OR </div> <div><br> </div> <div>c) Anything else that's better than a) and b) above that someone can suggest. </div> <div><br> </div> <div>P.S> I do know about the AGI AddOn of PUT SOUNDFILE and GET SOUNDFILE which seems to be the only solution we can think of right now, other than of course having the DB machine exporting the SAN volume as an NFS share for the Asterisk server to mount, but that sounds like it'll be bad for performance?</div> <div><br> </div> </div> </blockquote> <br> Mediafiles are stored on SAN and the DB stores references to the files in the SAN. I do not see a problem doing it this way. It's scaleable and efficient. Where do you suppose to run into problems?<br> </body> </html>
Reasonably Related Threads
- Menu using Scriptaculous Effects = OnMouseOver bug
- Icecast start up script for icecast
- [cfe-dev] [Openmp-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
- Asterisk how to setup alarm too many outgoing calls from same user
- RFC: Representing unions in TBAA