<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi,<br>
    <br>
    <b>About me</b><br>
    I'm new to Asterisk. I've compiled 13.6 and I've been using that.
    I've managed to get a bunch of different functionality working and
    I'm quite pleased with it so far. Thanks to everyone who has
    contributed to it!<br>
    <br>
    Here are some things I noticed, comments/problems/suggestions, which
    may be useful?<br>
    <br>
    <b>file convert ... g726-32 problems:</b><br>
    `file convert foo.bar foo.g726-32` is extremely fussy about what
    files it will convert.<br>
    It seemed to work fine converting the example file: `file convert
    tt-weasels.ulaw tt-weasels.g726-32`<br>
    <br>
    But when it came to converting an actual piece of music (for moh) I
    had problems converting from these filetypes: wav wav16 mp3 ogg ilbc
    ulaw alaw g722<br>
    I started with a normal mp3 file (44khz 160kbps mpeg1 layer 3
    stereo), then converted it to wav as follows:<br>
    sox foo.mp3 -e signed-integer -c 1 -r 8000 out.wav<br>
    sox foo.mp3 -e signed-integer -c 1 -r 16000 out16.wav && rm
    out16.wav out.wav16<br>
    From these 2 files, I was able to convert to every other format
    (that I've tested with Asterisk), except g726-32<br>
    These are the errors I got trying `file convert foo.bar foo.g726-32`
    where bar is one of (wav wav16 mp3 ogg ilbc ulaw alaw g722)<br>
    format_g726.c:143 g726_write: Invalid data length 39, should be
    multiple of 40<br>
    format_g726.c:143 g726_write: Invalid data length 39, should be
    multiple of 20<br>
    format_g726.c:143 g726_write: Invalid data length 45, should be
    multiple of 40<br>
    format_g726.c:143 g726_write: Invalid data length 128, should be
    multiple of 40<br>
    <br>
    In some cases I was able to convert mp3 to g726-32 but it was very
    fussy with how the mp3 was encoded.<br>
    For example, when an mp3 was encoded like this, it was accepted:<br>
    lame --noreplaygain -b 560 foo.wav foo.mp3<br>
    This mp3 was rejected:<br>
    lame --noreplaygain -b 560 -q 0 foo.wav foo.mp3<br>
    But even once the mp3 that it would accept was converted
    "successfully" with file convert, the music was all messed up.<br>
    <br>
    The only source format that was *successfully* converted by `file
    convert` to g726-32 was gsm.<br>
    However asterisk has no problem encoding a slin file to g726-32
    during a call.<br>
    <br>
    -------------------------<br>
    <br>
    <b>Feature request: Filetypes for speex and speex16</b><br>
    The speex and speex16 codecs do not have any associated file formats
    and thus cannot be read from disk and must be converted during the
    call. `core show file formats` speex/spx/speex16/spx16 is missing.<br>
    I have loaded the speex codec module and `core show codecs` shows I
    have speex, speex 16khz and speex 32khz loaded.<br>
    I don't know much about the Asterisk code but I would imagine adding
    a filetype association for speex would be trivial to implement?<br>
    <br>
    I might be on the wrong track, but I just thought that my MOH, which
    is about 5 mins long, should be pre-encoded so that I don't waste
    CPU encoding it into the caller's format on every call?<br>
    <br>
    Thanks for reading<br>
    <br>
    Kind Regards<br>
    Lope<br>
  </body>
</html>