Summary:ASTERISK-01122: [patch] integrated moh supporting both mp3 and ogg
Reporter:sbingner (sbingner)Labels:
Date Opened:2004-02-29 04:32:09.000-0600Date Closed:2011-06-07 14:05:20
Versions:Frequency of
Description:With this patch applied, asterisk supports integrated MP# and OGG playback for music on hold.  It has been working good for me for a while, but there may be some bugs lurking in there somewhere.


To install,
* Download patch from http://www.bingner.com/asterisk
* extract tar file into asterisk directory, then apply the patch contained in "moh_integrated.diff"

Requires libvorbis, libvorbis-devel, libogg, and libogg-devel to play oggfiles - available at http://www.vorbis.com/download_unix_1.0.1.psp
Comments:By: Brian West (bkw918) 2004-02-29 13:36:40.000-0600

I know the integrated MP3 part won't make it.  But if we can have ogg integrated and have it resample properly.

By: sbingner (sbingner) 2004-02-29 18:18:25.000-0600

arg I found problem yea... The decoding functions provided in LAME use the mpglib decoding engine which is under the GPL.

Can we have the code check to see if it's GPL release, and if so go ahead and link to lame... if not, not link?  

Anyways... the current code will work without the librarty there, but attached is one that won't even try to use lame...  also put in a moh sample oggfile -- thats why it's so much bigger.

By: sbingner (sbingner) 2004-03-28 23:06:29.000-0600

You can get a new version from me that supports ogg and mp3, using all LGPL code.  My code can be considered disclaimed for asterisk integration, as I have already submitted my disclaimer.  mpglib and libresample is the only code I did not write.


1. extract into top level of current cvs-head
2. patch -p0 < asterisk-moh.diff
3. make
4. add "default => normal:/directory/to/mp3/or/oggs,-Z" to /etc/asterisk/musiconhold.conf so it knows where to find files.  mp3:dir didn't seem appropriate anymore

By: zoa (zoa) 2004-03-29 06:27:17.000-0600

cool !

By: sbingner (sbingner) 2004-04-16 03:33:13

I fixed a few problems, and I believe I've corrected my segfault issues.  Current version can be obtained from: http://www.bingner.com/asterisk


By: raiden (raiden) 2004-04-17 02:54:57

I just tried your latest fixes from your website and it works nicely here. Of course their are some very small pauses in the audio stream but still...Excellent Work!!!!

By: Steve Murphy (murf) 2004-04-18 20:12:26

I like this! I've been having a problem on RH9, with the 'old' mp3 player
program having tons of zombies left around after a long enough time.

So, I fetched the latest tarfile from the website, and installed it.

Had some problems with compilation. I don't know which compiler you've been
using, but it did not appear to be gcc! If so, there must be some magic
option to allow C++ type declarations scattered thru the code, that must
be missing. At any rate, syntax errors came up for about 3 or so programs
in the libdecode dir, if memory serves me right. All of them were fixed by
moving (intelligently) a declaration up to the top of a block, instead of
between executable statements.

Once I got it compiled, the config file updated, ran a simple test, and seems
to work fine. Since the mp3/ogg stuff is internal to asterisk, no ugly
mp3 player processes are left zombie in the process table.

I vote for inclusion!

By: sbingner (sbingner) 2004-04-18 21:22:08

Please let me know what the problems you saw in the code were -- I'm using gcc, I don't know why you would have had those problems...  sam@bingner.com

By: sbingner (sbingner) 2004-04-20 03:10:18

new version 0.0.5 on website, with murf's fixes and a few other corrections...

By: Olle Johansson (oej) 2004-04-20 03:30:24

Do we still have license problems? What about the vorbis libraries?

By: sbingner (sbingner) 2004-04-21 17:08:46

the vorbis libraries are BSD license, and the mpglib library is LGPL (it's not from the LAME project, it's version is still GPL but mpg123's author changed his license to LGPL)

By: Brian West (bkw918) 2004-04-30 00:51:53

lets talk to kram tommorow and get this in asterisk-addons if possible or atleast a README in the contrib about it ..... msg me and we will talk.