Unable to find a codec translation path


#1

Hi All,

extension.conf

exten => 567,1,Answer()
exten => 567,2,NoOp(${CALLERID(num)})
exten => 567,3,SayUnixTime(-1,UTC)
exten => 567,4,SayUnixTime(,CET,kMbdY)
exten => 567,5,Playback(vm-goodbye)
exten => 567,6,Hangup()

logs

channel.c: Unable to find a codec translation path from 0x200240000 (speex16|h261|h264) to 0x4 (ulaw) [Aug 10 23:06:17] WARNING[3582] channel.c: Unable to find a codec translation path from 0x200240000 (speex16|h261|h264) to 0x4 (ulaw) [Aug 10 23:06:17] VERBOSE[3582] pbx.c: -- Executing [567@test:2] NoOp("SIP/ivan-00000012", "ivan") in new stack [Aug 10 23:06:17] VERBOSE[3582] pbx.c: -- Executing [567@test:3] SayUnixTime("SIP/ivan-00000012", "-1,UTC") in new stack [Aug 10 23:06:17] WARNING[3582] channel.c: Unable to find a codec translation path from 0x200240000 (speex16|h261|h264) to 0x2 (gsm) [Aug 10 23:06:17] WARNING[3582] file.c: Unable to open digits/day-3 (format 0x200240000 (speex16|h261|h264)): No such file or directory [Aug 10 23:06:17] WARNING[3582] say.c: Unable to play message digits/day-3 [Aug 10 23:06:17] VERBOSE[3582] pbx.c: == Spawn extension (test, 567, 3) exited non-zero on 'SIP/ivan-00000012


#2

What happens if you install signed linear versions of the sound files.


#3

Thanks david55 for your reply,

install signed linear versions of the sound files ?
How to install it ?

BTW

  1. I am using asterisk 1.8.3 on Ubuntu 10.10
  2. I am using ekiga as softphone.
  3. It works fine if I used HelloManager.java to send request call to ekiga

HelloManager.java

package com.asterisk.example;

    import java.io.IOException;

    import org.asteriskjava.manager.AuthenticationFailedException;
    import org.asteriskjava.manager.ManagerConnection;
    import org.asteriskjava.manager.ManagerConnectionFactory;
    import org.asteriskjava.manager.TimeoutException;
    import org.asteriskjava.manager.action.OriginateAction;
    import org.asteriskjava.manager.response.ManagerResponse;

    public class HelloManager
    {
        private ManagerConnection managerConnection;

        public HelloManager() throws IOException
        {
            ManagerConnectionFactory factory = new ManagerConnectionFactory(
                    "localhost", "manager", "pa55w0rd");

            this.managerConnection = factory.createManagerConnection();
            System.out.println("Inside the constructor");
        }

        public void run() throws IOException, AuthenticationFailedException,
                TimeoutException
        {
            OriginateAction originateAction;
            ManagerResponse originateResponse;

            originateAction = new OriginateAction();
            originateAction.setChannel("SIP/ivan");
            originateAction.setAccount("ivan");
            originateAction.setContext("test");
            originateAction.setExten("567");
            originateAction.setPriority(new Integer(1));
            originateAction.setTimeout(new Integer(300000));
           
            // connect to Asterisk and log in
            managerConnection.login();
            System.out.println("successfully connectiong to asterisk");
            // send the originate action and wait for a maximum of 30 seconds for Asterisk
            // to send a reply
            originateResponse = managerConnection.sendAction(originateAction, 300000);

            // print out whether the originate succeeded or not
            System.out.println(originateResponse.getResponse());

            // and finally log off and disconnect
            managerConnection.logoff();
        }

        public static void main(String[] args) throws Exception
        {
            HelloManager helloManager;

            helloManager = new HelloManager();
            helloManager.run();
        }
    }

#4

Sounds like codec_speex isn’t installed, I think. Best to install libspeex (-dev, etc.) before compiling Asterisk, if you’re going to want to use Speex as a codec.


#5

Thanks malcolmd for your reply ,

BTW It works fine if I used HelloManager.java to send request call to ekiga !!!


#6

I believe he is one of the increasing number of binary package users. The fact that he didn’t know how to install standard sound files (I was assuming a bug preventing gsm - linear - speex, with only gsm files installed, but the lack of any speex codec would also have the effect, and would also make internally generated tones fail), and mentions Debian, strongly hints at this to me.

As such, he is at the mercy of the packager, and whilst including the runtime libraries, may help, having the -dev one won’t, as he won’t have the sources or know how to be able to compile them.

Incidentally, does Speex meet the core Debian licensing rules. If not, Asterisk might be a core package, but without Speex.


#7

I’m not up to speed on the Debian licensing rules. The Speex library is licensed under an advertise+BSD clause which is pretty negligible. Surely that’s not enough that they kick it out.


#8

It’s GPL incompatible. I couldn’t find anything clearly stating the position wrt DFSG.