Unable to find a codec translation path from (slin192) to (gsm|ulaw|alaw)

I am new FreePBX/linux and recently tried installing on a RedHat 6.5 box using the following script:
http://wiki.freepbx.org/display/HTGS/Converting+Stock+Centos+to+a+FreePBX+Distro

There were no errors in the installation. However, when I try and test one of the system sound files with Playback, the following error is reported in the logs:

Launching Playback(en/silence/1) on Local/[email protected];1 [2014-03-26 01:38:53] WARNING[17643][C-00000001] channel.c: Unable to find a codec translation path from (slin192) to (gsm|ulaw|alaw) [2014-03-26 01:38:53] WARNING[17643][C-00000001] file.c: Unable to open en/silence/1 (format (slin192)): No such file or directory

The following sound files exist:

/var/lib/asterisk/sounds/en/silence/1.alaw
/var/lib/asterisk/sounds/en/silence/1.gsm
/var/lib/asterisk/sounds/en/silence/1.ulaw

Checking “core show translation paths …” seems to confirm the error:

slin192 To ulaw : No Translation Path
ulaw To slin192 : No Translation Path

My google-fu is failing me on this one. Any ideas on how to resolve it or if it is related to RedHat vs CentOS?

Any thoughts would greatly appreciated.

Asterisk SIP Settings (default):

* ulaw
* alaw
* gsm

SipStation Module:

Codec Priorities:  ulaw

Trunk settings:

disallow=all
allow=ulaw

you will need the *.slin files for that to tramnslation path to work, the script you used seems to only install ulaw alaw and gsm from rpm’s, I would suggest you recompile asterisk from scratch, make sure you menuselect all the sound files and extra sound files are selected.

I can see in the script where it installs alaw,ulaw and gsm sound files.

yum -y install asterisk-sounds-core-en-alaw-1.4.21 asterisk-sounds-core-en-ulaw-1.4.21 asterisk-sounds-core-en-gsm-1.4.21 asterisk-sounds-extra-en-alaw-1.4.9 asterisk-sounds-extra-en-ulaw-1.4.9 asterisk-sounds-extra-en-gsm-1.4.9 moh-sounds

Are you saying the default settings creating by that script are looking for something the script does not install? That does not make make sense … unless something went wrong in the install or maybe there is an omission in the script? What setting(s) control this translation?

When you do that, what happens the existing install created by the script?

It will overwrite all the asterisk bits, but not the FreePBX stuff don’t run “make samples” just ./configure, make menuselect (choose what you want), make, make install, service asterisk restart, Thatshould get you there if you have all the needed bits, if not the compile process will bitch and disallow until you do.

I can’t answer that I have never run that script, just read it.

just run “make install” and watch the screen output, you will see it will complain about chan_sip.so and I assume a whole bunch of other things unless you screwed up and are using the wrong asterisk modules directory. “updatedb;locate can_sip” to see where they all are.

If you are watching the screens it will inform you if anything needs attention

I looked at the messages and did not see anything obvious. But I’m new to linux, so it’s entirely possible I missed something. Maybe I missed it, but I don’t see anything about cleaning out/removing the /usr/lib/asterisk/modules/* directory in the two links above. So I don’t make the same mistake twice… where does it mention that?

I didn’t choose RH specifically. It’s the environment I was given to work with, so for now I’m stuck with it :wink:

If you are watching the screens it will inform you if anything needs attention,I guess you missed the bit about previous modules existing after 'make install" you need to clean the modules directory out before that step.

May I ask why Fedora? IMHO you will do better with Debian, it is comfortably multi-architecture so no need to worry about 32/64bit incompatibilities and tends to support newer kernels and hardware quicker.

From the error message it sounds like some sort of “translation matrix” is missing, rather than sound files. How are those are installed? I only found one thread with a guy asking the same question, but … no answers.

I tried installing the .sln files first. No change. Then downloading the 11.8 source and recompiling. No compile errors that I could tell, but afterwards the logs contained lots of warnings like:

... loader.c: Module 'chan_sip.so' was not compiled with the same compile-time options

Also tried these instructions as well:

http://blogs.digium.com/2012/11/05/how-to-install-asterisk-11-on-centos-6/

… which mentioned something about 64bit installs not included in the official instructions.

Use this command if you are installing Asterisk on 64bit CentOS. ./configure --libdir=/usr/lib64 && make menuselect && make && make install

I’m out of ideas :slight_smile:

That did the trick! Thanks for saving my sanity :wink:

This time around it did complain about incompatible modules, followed by: “Warning Warning Warning”. I do not remember seeing that message last time around, and it is pretty hard to miss. So I definitely screwed up somewhere. The missing instructions for 64 bit is probably where I got turned around.

Anyway, I used the suggestions above to:

  • Locate the modules directory and removed all *.so files
  • Installed prerequisite yum install sqlite-devel
  • Then followed the instructions, but used ./configure --libdir=/usr/lib64 … instead of ./configure

And it compiled fine. Thanks again for your help!