In asterisk 14.6.0, I’m trying to test the sound formats.
My asterisk server has 5 sound files.
- thankyou.ogg. This is an unmodified file recorded in Amazon Polly at 22,0050 Hz.
- thankyou.mp3. This is an unmodified file recorded in Amazon Polly at 22,050 Hz.
- thankyou.ulaw. This is converted using sox from the .ogg file.
- options.ogg.
- options.sln48, converted from the above file.
I have tested a variety of clients and it all works as expected except for .gsm and .G729.
Here are results from the console for the various clients.
Skype -> Twilio - ulaw
-- Executing [3674442211@RL-IVR:6] BackGround("PJSIP/twilio0-00000000", "/srv/asterisk/sounds/thankyou") in new stack
-- <PJSIP/twilio0-00000000> Playing '/srv/asterisk/sounds/thankyou_rubylane.ulaw' (language 'en')
-- Executing [3674442211@RL-IVR:7] BackGround("PJSIP/twilio0-00000000", "/srv/asterisk/sounds/options") in new stack
-- <PJSIP/twilio0-00000000> Playing '/srv/asterisk/sounds/options_rubylane.slin48' (language 'en')
Linphone - G722
-- Executing [3674442211@RL-IVR:6] BackGround("PJSIP/mark-00000000", "/srv/asterisk/sounds/thankyou") in new stack
[Aug 4 09:33:22] WARNING[26788][C-00000001]: mp3/interface.c:218 decodeMP3: Junk at the beginning of frame 49443304
– <PJSIP/mark-00000000> Playing ‘/srv/asterisk/sounds/thankyou.slin’ (language ‘en’)
– Executing [3674442211@RL-IVR:7] BackGround(“PJSIP/mark-00000000”, “/srv/asterisk/sounds/options”) in new stack
– <PJSIP/mark-00000000> Playing ‘/srv/asterisk/sounds/options.slin48’ (language ‘en’)
Linphone - gsm
[Aug 4 09:34:53] NOTICE[26734]: res_pjsip_sdp_rtp.c:399 set_caps: No joint capabilities for ‘audio’ media stream between our configuration((g722|g729|opus|slin|ulaw)) and incoming SDP((gsm))
Linphone - opus 48000
-- Executing [3674442211@RL-IVR:6] BackGround("PJSIP/mark-00000001", "/srv/asterisk/sounds/thankyou") in new stack
[Aug 4 09:36:14] WARNING[26956][C-00000002]: mp3/interface.c:218 decodeMP3: Junk at the beginning of frame 49443304
– <PJSIP/mark-00000001> Playing ‘/srv/asterisk/sounds/thankyou.slin’ (language ‘en’)
– Executing [3674442211@RL-IVR:7] BackGround(“PJSIP/mark-00000001”, “/srv/asterisk/sounds/options”) in new stack
– <PJSIP/mark-00000001> Playing ‘/srv/asterisk/sounds/options.slin48’ (language ‘en’)
Cisco SPA303 - G729
thankyou.ulaw - set_format: Unable to find a codec translation path: (slin|ulaw) -> (g729)
options.sln48 - set_format: Unable to find a codec translation path: (slin48) -> (g729)
Here is my config.
/usr/lib/asterisk/modules (/etc/asterisk/modules.conf has autoload = yes)
-rw-r–r-- 1 asterisk asterisk 629 Sep 7 2016 codec_g729a.manifest.xml
-rwxr-xr-x 1 asterisk asterisk 130600 Sep 7 2016 codec_g729a.so
-rwxr-xr-x 1 asterisk asterisk 69248 Jul 26 15:58 codec_gsm.so
-rwxr-xr-x 1 asterisk asterisk 10744 Jul 26 15:58 format_g729.so
-rwxr-xr-x 1 asterisk asterisk 18936 Jul 26 15:58 format_gsm.so
asterisk*CLI> core show file formats
Format Name Extensions
slin mp3 mp3
slin48 ogg_opus opus
slin192 sln192 sln192
slin96 sln96 sln96
slin48 sln48 sln48
slin44 sln44 sln44
slin32 sln32 sln32
slin24 sln24 sln24
slin16 sln16 sln16
slin12 sln12 sln12
slin sln sln|raw
g729 g729 g729
adpcm vox vox
g719 g719 g719
siren7 siren7 siren7
g723 g723sf g723|g723sf
slin16 wav16 wav16
slin wav wav
gsm wav49 WAV|wav49
g726 g726-16 g726-16
g726 g726-24 g726-24
g726 g726-32 g726-32
g726 g726-40 g726-40
ilbc iLBC ilbc
h263 h263 h263
siren14 siren14 siren14
h264 h264 h264
g722 g722 g722
ulaw au au
alaw alaw alaw|al|alw
ulaw pcm pcm|ulaw|ul|mu|ulw
gsm gsm gsm
32 file formats registered.
asterisk*CLI> core show codecs
30 image png png (PNG Image)
5 audio g726 g726 (G.726 RFC3551)
3 audio alaw alaw (G.711 a-law)
1 audio g723 g723 (G.723.1)
19 audio speex speex (SpeeX)
20 audio speex speex16 (SpeeX 16khz)
21 audio speex speex32 (SpeeX 32khz)
23 audio g722 g722 (G722)
24 audio siren7 siren7 (ITU G.722.1 (Siren7, licensed from Polycom))
31 video h261 h261 (H.261 video)
32 video h263 h263 (H.263 video)
7 audio adpcm adpcm (Dialogic ADPCM)
40 audio silk silk8 (SILK Codec (8 KHz))
41 audio silk silk12 (SILK Codec (12 KHz))
42 audio silk silk16 (SILK Codec (16 KHz))
43 audio silk silk24 (SILK Codec (24 KHz))
27 audio g719 g719 (ITU G.719)
33 video h263p h263p (H.263+ video)
34 video h264 h264 (H.264 video)
18 audio g729 g729 (G.729A)
8 audio slin slin (16 bit Signed Linear PCM)
9 audio slin slin12 (16 bit Signed Linear PCM (12kHz))
10 audio slin slin16 (16 bit Signed Linear PCM (16kHz))
11 audio slin slin24 (16 bit Signed Linear PCM (24kHz))
12 audio slin slin32 (16 bit Signed Linear PCM (32kHz))
13 audio slin slin44 (16 bit Signed Linear PCM (44kHz))
14 audio slin slin48 (16 bit Signed Linear PCM (48kHz))
15 audio slin slin96 (16 bit Signed Linear PCM (96kHz))
16 audio slin slin192 (16 bit Signed Linear PCM (192kHz))
2 audio ulaw ulaw (G.711 u-law)
17 audio lpc10 lpc10 (LPC10)
26 audio testlaw testlaw (G.711 test-law)
39 audio none none (<Null> codec)
36 video vp8 vp8 (VP8 video)
4 audio gsm gsm (GSM)
35 video mpeg4 mpeg4 (MPEG4 video)
22 audio ilbc ilbc (iLBC)
37 text red red (T.140 Realtime Text with redundancy)
38 text t140 t140 (Passthrough T.140 Realtime Text)
28 audio opus opus (Opus Codec)
29 image jpeg jpeg (JPEG image)
6 audio g726aal2 g726aal2 (G.726 AAL2)
25 audio siren14 siren14 (ITU G.722.1 Annex C, (Siren14, licensed from Polycom))