OK - sorry to make such a meal of this.
I am still encountering a problem getting my configuration right, having followed the advice I received previously.
What I am observing is that if more than one flavour of SPEEX is enabled in vars.xml, then only the first one in the list is offered to phone B in the SDP section of the INVITE if transcoding is required by Freeswitch.
i.e. In vars.xml I have:
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=SPEEX@16000h,SPEEX@32000h,SPEEX@8000h,G722,G7221@32000h,G7221@16000h,PCMA,PCMU,GSM"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=SPEEX@16000h,SPEEX@32000h,SPEEX@8000h,G722,G7221@32000h,G7221@16000h,PCMA,PCMU,GSM"/>
If I then try to make a call from Phone A (using PCMA) to Phone B (using SPEEX/8000), the call fails and the log shows an incompatible destination. The SDP of the INVITE from Freeswitch to Phone B offers SPEEX/16000 but not SPEEX/8000 or SPEEX/32000, so there is no compatible codec offered to Phone B.
If however both Phone A and Phone B both use SPEEX/8000, the call works fine - as my default configuration is that the codec preferred by Phone A goes to the top of the list of codecs offered to Phone B
Could anyone help with what I need to do to resolve my problem when transcoding is required though please?
I am did "make current" last night so am using the latest snapshop.
many thanks again,
Bruce
Please ignore this last email. I think I have missed out something I hav already been told. Sorry for the waste of bandwidth.
regards
BruceOn 16 March 2010 10:30, Bruce Hopkins <jbrucehopkins@gmail.com> wrote:
Hi,
I am having trouble getting my configuration right so that I can have a call transcoded to Speex wideband from another codec (alaw or g.722).
If both phones use Speex wideband with no transcoding required by FS, the call succeeds though.
My codecs are listed in vars.xml as follows:
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=speex@32000@20i,speex@16000h@20i,G722,G7221@32000h,G7221@16000h,PCMA,PCMU,GSM"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=speex@32000@20i,speex@16000h@20i,G722,G7221@32000h,G7221@16000h,PCMA,PCMU,GSM"/>
However if I make a call from a phone A using, say, g.722 to a phone using Speex wideband, the SDP in the invite from phone A to phone B does not include Speex wideband. In fact the SDP includes speex/8000 even though speex/8000 is neither enabled in vars.xml, not in either of the phones. Here is the codec listing in the SDP of the INVITE from Freeswitch to phone B (from Wireshark) :
Media Attribute (a): rtpmap:9 G722/8000
Media Attribute (a): rtpmap:99 SPEEX/8000
Media Attribute (a): rtpmap:115 G7221/32000
Media Attribute (a): fmtp:115 bitrate=48000
Media Attribute (a): rtpmap:107 G7221/16000
Media Attribute (a): fmtp:107 bitrate=32000
Media Attribute (a): rtpmap:8 PCMA/8000
Media Attribute (a): rtpmap:0 PCMU/8000
Media Attribute (a): rtpmap:3 GSM/8000
Media Attribute (a): rtpmap:101 telephone-event/8000
Media Attribute (a): fmtp:101 0-16
Media Attribute (a): rtpmap:13 CN/8000
Media Attribute (a): ptime:20
Could anyone tell me what I am doing wrong please?
Many thanks
Bruce