Hello list.

I have the next problem with my Freeswitch.  I’m using a Sangoma D100 transcoding card, but ‘im having problems with G729.  This is my scenario.

 

GatewayA ---------> FreeSwitch+D100 -----------> GatewayB

(10.0.0.220)                    (10.0.0.148)                              (10.0.0.222)

 

Gateway A is calling through Freeswitch to Gateway B.  The problem is with the “200 - OK” message that goes from FreeSwitch to Gateway A.  The “200 - OK”  coming from Gateway B has the parameter “a=fmtp:18 annexb=no” in the SDP, but Freeswitch is not attaching this parameter to the “Leg A” and this is causing a one-way audio in the call.  (please see the attached sdp-problem.jpg file).

The weird thing is when i unload the “mod_sangoma_codec” and load the “mod_g729”, this time the “200 OK” message from the Freeswitch is using the “a=fmtp:18 annexb=no” to the Leg A, and the call is successfully established without one way audio problem.

I really don’t know what could be happening, I ask the Sangoma support but thay said that this is a Freeswitch bug.

Can someone help me here?

 

These are part of my configuration files.

 

“default.xml”

 

    <extension name="to_prueba2">

      <condition field="network_addr" expression="^10\.0\.0\.220$">

                  <action application="set" data="call_timeout=50"/>

                  <action application="set" data="hangup_after_bridge=true"/>

                  <action application="export" data="nolocal:absolute_codec_string=G729,G723"/>

                  <action application="set" data="sip_invite_domain=10.0.0.222"/>

                  <action application="export" data="sip_append_audio_sdp=a=rtpmap:18 G729/8000,a=fmtp:18 annexb=no"/>

                  <action application="bridge" data="sofia/$${domain}/${destination_number}@10.0.0.222"/>

                  <action application="answer"/>

      </condition>

    </extension>

 

    <extension name="to_prueba1">

      <condition field="network_addr" expression="^10\.0\.0\.222$">

                  <action application="set" data="call_timeout=50"/>

                  <action application="set" data="hangup_after_bridge=true"/>

                  <action application="set" data="sip_invite_domain=10.0.0.220"/>

                  <action application="bridge" data="sofia/$${domain}/${destination_number}@10.0.0.220"/>

                  <action application="answer"/>

      </condition>

    </extension>

 

 

Part of the  “interior.xml” file:

    <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->

    <param name="inbound-late-negotiation" value="true"/>

    <!--set to 'greedy' if you want your codec list to take precedence -->

    <param name="inbound-codec-negotiation" value="generous"/>

 

Y finalmente en los codec preferentes tengo (vars.xml)

  <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G729,G723,PCMU,PCMA"/>

  <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=G729,G723"/>

 

 

 

Thanks in advance.

Regards,

Ricardo.-