[asterisk-users] Retrieving/Streaming audio/video files from DB using over AGI

A E [Gmail] all.eforums at gmail.com
Tue May 3 03:54:13 CDT 2011


On Tue, May 3, 2011 at 4:41 AM, Thorsten Göllner <tg at ovm-group.com> wrote:

>  Am 02.05.2011 15:59, schrieb A E [Gmail]:
>
>  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?
>
>
> 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?
>
>
Well the problem as explained above is that the * machine does NOT have
direct access to the SAN. So we cannot mount the SAN volume on the * machine
as a shared drive. It'll have to either be shared by the DB server for the *
machine to read from, OR we can use the GET SOUNDFILE / PUT SOUNDFILE AGI
AddOn to copy the sound files from the DB machine to the * machine to play
it over the phone. Just wondering if that will have any major performance
impact
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20110503/5d15554f/attachment.htm>


More information about the asterisk-users mailing list