I’m running a very simple IVR application over SIP on open-source Asterisk 1.6.0.3. I perform an Originate() specifying the “outgoing” extension whereby the script enters a DTMF PIN, then sits in a loop playing a number followed by silence:
<extensions.conf>
exten => outgoing,1,UserEvent(CallPlaced,TestUser: ${participant_number},Channel: ${CHANNEL})
exten => outgoing,2,Wait(3)
exten => outgoing,3,SendDTMF(${participant_pin})
exten => outgoing,4,SendDTMF(#)
exten => outgoing,5,Playback(silence/5)
exten => outgoing,6,SayNumber(${participant_number})
exten => outgoing,7,Goto(5)
I am running this script in two different configurations: one using a G.711 mu-law codec and one using the iLBC codec. I have complete sets of sound files for both G.711 and iLBC. When I run the script using G.711 mu-law I am able to support over 1000 channels. When trying to run with iLBC, I can support less than 200 channels. I added some debug logging to the Asterisk source that indicates translation is occuring on all input and output frames, even though I’ve got sound files in the appropriate format and the correct format files are being played according to Asterisk logging.
Here is my SIP.conf (when configured for iLBC):
<sip.conf>
[general]
context=phones
disallow=all
allow=ilbc
dtmfmode=rfc2833
[9999]
type=friend
host=dynamic
default-user=9999
fromuser=9999
secret=conference
canreinvite=yes
accountcode=bridge
insecure=invite
All of the Originate() calls are dialing 9999.
Any thoughts on why Asterisk would be transcoding when I wouldn’t think it would need to? Does iLBC always translate because of its internal PLC?
Any help is greatly appreciated…
-Matt