Tuesday, January 13, 2009

I always have clients who want to be able to more easily record their DR messages. Or, at least the main one at the top level. So, I set out on a quest to figure out how to do this. Obviously, long term, it will make more sense for 3CX to make this a real extension we can record from the IVR for...but at the moment it is not...so here we go.....

I will preface this with my usual...I like to do things that are completely unsupported to my PBX:) If you break your PBX doing this, 3CX is not going to support you nor will I. You use these instructions at your own risk.

Alrighty then!.....

  1. Create a voicemail enabled extension in 3cx. Let's call mine 9997.
  2. Call in and record your greeting annoucement for this extension. In the directory "C:\Program Files\3CX PhoneSystem\Data\Ivr\Voicemail\Data\extnum" you will find the file SaveVMGreeting.wav. This is the recording you just made.
  3. Now, create your digital receptionist. When you upload the wav file select the recording from the previous step. in my case this is located here "C:\Program Files\3CX PhoneSystem\Data\Ivr\Voicemail\Extensions\9997"
  4. Now, delete the SaveVMGreeting.wav file from the "C:\Program Files\3CX PhoneSystem\Data\Ivr\Voicemail\Data\extnum" directory.
  5. After creation of the digital receptionist in step 3, you will notice this file has been uploaded here..."C:\Program Files\3CX PhoneSystem\Data\Ivr\Prompts". Make a backup copy of this directory just in case you mung it up ;)
  6. Download junction from http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx
  7. Extract junction.exe and put it somewhere on your PC
  8. Go to a command prompt and CD to the location you put Junction.exe
  9. Run the command.. junction.exe "C:\Program Files\3CX PhoneSystem\Data\Ivr\Voicemail\Data\extnum" "C:\Program Files\3CX PhoneSystem\Data\Ivr\Prompts" making sure to replace extnum with your extension number from step 1.

OK, now the voicemail greeting directory for the extension you created (for me 9997) is symbolically linked to your prompts directory and the wav file in use for the digital recptionist is SaveVMGreeting.wav and is located inside the prompts directory. This basically tricks the file system so that whenever you record your VM greeting for the extension your created you are really overwriting your Digital Receptionist message.


Whats the result of this? Whenever the voicemail prompt in direct extnum is re-recorded it is actually replacing the SaveVMGreeting.wav file in the prompts directory and hence allowing you to record your digital receptionist message very easily.

This will only work for 1 level of your digital receptionist since all VM recordings have the same file name.

Is this a total hack? Yes! But it's beautiful isn't it? :)

Happy 3CXing!!!!




Anonymous said...

If the "foe" can do this trick on your own system then it can do much more then you describe...

Is there a real problem or it is hypothetical?

If something is equal for all installation it doesn't mean that it is not secure...

I'm not an expert. It just my opinion.

Anonymous said...

Hey Mike -

Let me share our process with you - it is quite easy.
1. Call my number/extension
2. Wait for VM to answer
3. Record the new DR message
4. 3CX emails this to me per my extension preferences.
5. Open the email and save the attachment to my computer (rename if necessary)
6. Remotely connect to the 3CX admin via the web-based tool
7. select the DR and upload the new file

Note: if you do not allow access to the admin externally - this can all be done via remote desktop.

Mike Harris said...

Hi Mike. Thanks for the comment.

Yes, that makes sense and we do the same. This is more geared towards allowing a receptionist to simply do the entire process from the phone and have the message become immediately activated without any further intervention. in this scenario, as soon as the receptionist records the message, it is activated for the digital receptionist.