Asterik 1.8.2.x Voicemail Transfer

I’ve spent more than two weeks researching this before posting.

I have an AsteriskNow 1.7.1 installation that I modified and installed Asterisk 1.8 in place of Asterisk 1.6. I spent a lot of time customizing it the way I like it.

I have one important issue that I am getting a lot of heat about and that is the bug with voice mail transferring on Asterisk 1.8.x. I have the user log into their mailbox, press 8 to forward a message and enter the extension of the user they wish to forward too. I don’t prepend a audio message and press # to send the message to the other user. From a debug perspective I don’t see any errors. An email goes out to the recipient but the message is never copied to their voice mail. The spool directory is empty.

This ends up being a known issue and has already been patched. See issues.asterisk.org/view.php?id=18358

The problem that I have is I do not know how to incorporate the patch or the fix into my installation. My asterisk installation was installed with yum repositories and not complied from source on my system. From what I understand, the fix will be incorporated into the final 1.8.3 when the yum repositories are updated with this version. Since that could be weeks or months away, I’ve been trying to patch this earlier.

First, I’ve tried to apply the patch with “wget ‘https://issues.asterisk.org/file_download.php?file_id=27928&type=bug’ -O - | patch -p0” This patch fails but I am not sure why. It could be that the patch is for an older 1.8.x versions and I am attempting to use it with 1.8.2.2. I spent quite a while trying to get this patch to apply with no luck.

Next, I downloaded all the source code, worked out the dependencies, went into the source code for app_voicemail.c and manually changed it to match what the patch is supposed to do. I recompiled just the app_voicemail.so module by deselecting everything else in the menu select options and tried to use it with my current installation by copying the .so file out to where the modules are installed. When I do this the module won’t load and gives “Module ‘app_voicemail.so’ was not compiled with the same compile-time options as this version of Asterisk.”

So, this leave me with not being able to use the patch and not being able to compile the fix. I haven’t attempted to recompile all of asterisk from the source because I really don’t have that much experience and did not want to ruin my current installation entirely. I’ve read where you have to recompile other various add-on modules that may be troublesome.

I am hoping that:

  1. Someone can tell me how to apply the patch to my current version or what I need to do so - or;
  2. Someone can tell me how to compile the voice mail module with the correct run-time options to match those of the yum installed version.
  3. Give me some other idea that doesn’t involve starting completely over to fix this one issue.

Any help would be greatly appreciated. PLEASE!

P.S. I know this started with is AsteriskNow but I did not post in that forum because I am hoping to get a more tech-savvy crowd in this forum that probably can fix my issue in seconds. I’m still too new at this.

Thanks in advance,

Jim

Looks like 1.8.3 is out now. Problem fixed…

I still would like to know if it is possible to compile individual modules and mix them with a repository installed version.

About compiling and replacing individual module - it’s certainly possible.

I have two ways.

First one.

  1. Modify some source file (let it be app_voicemail.c). I prefer to be this a starting point =).
  2. With “diff” (of alike) we make some kind of patch-file.
  3. With all preparations done now we build package with “rpmbuild -bb my.patch”, it’s better to refer to manpages for details.
  4. Then just go into rpm package we built and take needed module (in our case app_voicemail.so).
  5. In asterisk console we need to run “module unload app_voicemail”, so not to fully stop running asterisk.
  6. Just replace old app_voicemail.so in asterisk directory with new one.
  7. In asterisk console: “module load app_voicemail”.

Second way.
Just get sources of asterisk, modify it and compile it at whole. Then take needed module and do with replacement as in first case.

Second way may be done with less cpu-time consuming if take needed compilation string from makefile of source code and compile needed module alone.

All detail information can be found in manpages of OS and in asterisk administration guide, I think it will be quite enough.