[Freeswitch-users] PCMU fallback for T.38

Gabriel Kuri gkuri at ieee.org
Fri Mar 20 14:28:35 PDT 2009


hey folks, I'm trying to configure PCMU fallback for T.38.

The originating endpoint (Linksys SPA-2102) sends an INVITE to FS with
G729 and PCMU in the sdp. the INVITE to the provider includes G729 and
PCMU as part of the sdp as well (absolute_codec_string=G729,PCMU) ...

m=audio 16458 RTP/AVP 18 0 100 101
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:100 NSE/8000
a=fmtp:100 192-193
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20

once the FAX tone is detected on the PSTN side, FS receives a T.38
re-INVITE from the provider and FS sends back a 488/Not Acceptable
(proxy_media=false). at that point the provider than attempts fallback
to PCMU with another reINVITE ...

m=audio 16816 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20

immediately after the PCMU reINVITE, FS closes the channel and the text
below is in the FS logs. given the SPA-2102 included PCMU in the
original INVITE, even though it was the second preferred codec,
shouldn't FS fallback to using PCMU if it was re-INVITEd with PCMU by
the provider? It seems like it's not passing the PCMU Re-INVITE back to
the endpoint (SPA-2102), since it originally negotiated G729 with the
SPA2102 as that was the 1st codec in the sdp, but trying to transcode
between the two (G729 and PCMU)?


2009-03-20 01:19:58 [DEBUG] sofia_glue.c:2407 sofia_glue_negotiate_sdp()
Audio Codec Compare [PCMU:0:8000]/[G729:18:8000]
2009-03-20 01:19:58 [DEBUG] sofia_glue.c:2371 sofia_glue_negotiate_sdp()
Set 2833 dtmf payload to 101
2009-03-20 01:19:58 [DEBUG] sofia_glue.c:2407 sofia_glue_negotiate_sdp()
Audio Codec Compare [telephone-event:101:8000]/[G729:18:8000]
2009-03-20 01:19:58 [DEBUG] sofia_glue.c:2407 sofia_glue_negotiate_sdp()
Audio Codec Compare [PCMU:0:8000]/[PCMU:0:8000]
2009-03-20 01:19:58 [DEBUG] sofia_glue.c:1550
sofia_glue_tech_set_codec() Changing Codec from G729 to PCMU
2009-03-20 01:19:58 [DEBUG] sofia_glue.c:1601
sofia_glue_tech_set_codec() Set Codec
sofia/cedarwireless.net/1XXXXXXXXXX at 1.1.1.1 PCMU/8000 20 ms 160 samples
2009-03-20 01:19:58 [DEBUG] sofia_glue.c:1811 sofia_glue_activate_rtp()
Audio params are unchanged for sofia/cedarwireless.net/1XXXXXXXXXX at 1.1.1.1.
2009-03-20 01:19:58 [DEBUG] sofia.c:2896 sofia_handle_sip_i_state()
Processing Reinvite
2009-03-20 01:19:58 [DEBUG] sofia.c:2542 sofia_handle_sip_i_state()
Channel sofia/cedarwireless.net/1XXXXXXXXXX at 1.1.1.1 entering state
[completed]
2009-03-20 01:19:58 [DEBUG] switch_core_io.c:655
switch_core_session_write_frame()
sofia/cedarwireless.net/1XXXXXXXXXX at 1.1.1.1 receive message
[SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY]
2009-03-20 01:19:58 [ERR] mod_g729.c:145 switch_g729_decode() This codec
is only usable in passthrough mode!
2009-03-20 01:19:58 [ERR] switch_core_io.c:723
switch_core_session_write_frame() Codec G.729 decoder error!


Thanks,

Gabe




More information about the FreeSWITCH-users mailing list