<div dir="ltr"><div><div><div>Hi list,<br></div>I have an issue with the negociation codec in my Freeswitch.<br><br></div>I followed this doc: <a href="https://wiki.freeswitch.org/wiki/Codec_Negotiation">https://wiki.freeswitch.org/wiki/Codec_Negotiation</a><br><br></div>The call flow:<br><br>1) INVITE: UAC -- (G729, PCMA) --> FS -- (G729, PCMA) --> SVI Asterisk<br>2) 200OK UAC <-- (G729) -- FS <-- (PCMA) -- SVI Asterisk (HOMER)<br><div><br></div><div>I have inherit_codec=true in my dialplan and inbound-late-negotiation true in sip-profile.<br></div><div>But freeswitch do not force codec learned from leg B to leg A.<br><br></div><div><u>LEG B (200OK):</u><br><i>2016-04-01 11:28:16.453784 [DEBUG] switch_core_media.c:3194 Audio Codec Compare [PCMA:8:8000:150:64000]/[G729:18:8000:20:8000]<br>2016-04-01 11:28:16.453784 [DEBUG] switch_core_media.c:3194 Audio Codec Compare [PCMA:8:8000:150:64000]/[PCMA:8:8000:20:64000]<br>2016-04-01 11:28:16.453784 [DEBUG] switch_core_media.c:3248 Audio Codec Compare [PCMA:8:8000:20:64000] ++++ is saved as a match<br>2016-04-01 11:28:16.453784 [DEBUG] switch_core_codec.c:111 sofia/internal/06********@HOMER <b>Original read codec set to PCMA:8</b></i><br><br></div><div>LEG B is in G711A, OK, next:<br><br>2016-04-01 11:28:16.453784 [NOTICE] sofia.c:6727 Channel [sofia/internal/06*******@HOMER] has been answered<br>2016-04-01 11:28:16.453784 [DEBUG] switch_channel.c:3686 (sofia/internal/06*********@HOMER) Callstate Change DOWN -> ACTIVE<br>2016-04-01
11:28:16.473813 [DEBUG] switch_ivr_originate.c:412 <b>Setting codec string
on sofia/external/<a href="mailto:0326793005@1.1.1.1">0326793005@1.1.1.1</a> to PCMA@8000h@20i</b><br><br></div><div>We can see, FS set the correct codec to LEG A; good ! , next...<br><br><i>2016-04-01 11:28:16.473813 [DEBUG] switch_core_media.c:3194 Audio Codec Compare [G729:18:8000:20:8000]/[G729:18:8000:20:8000]<br>2016-04-01 11:28:16.473813 [DEBUG] switch_core_media.c:3248 Audio Codec Compare [G729:18:8000:20:8000] ++++ is saved as a match<br>2016-04-01 11:28:16.473813 [DEBUG] switch_core_media.c:3194 Audio Codec Compare [PCMA:8:8000:20:64000]/[PCMA:8:8000:20:64000]<br>2016-04-01 11:28:16.473813 [DEBUG] switch_core_media.c:3248 Audio Codec Compare [PCMA:8:8000:20:64000] ++++ is saved as a match<br>2016-04-01
11:28:16.473813 [DEBUG] switch_core_media.c:2139 <b>Set Codec
sofia/external/<a href="mailto:0326793005@1.1.1.1">0326793005@1.1.1.1</a> G729/8000 20 ms 160 samples 8000 bits</b><br></i><br></div><div>Why FS compare and re set a new codec (G729) ? <br><br></div><div>Next:<br><br><i>2016-04-01 11:28:16.613776 [ERR] mod_g729.c:145 This codec is only usable in passthrough mode!<br>2016-04-01 11:28:16.613776 [ERR] switch_core_io.c:1245 Codec G.729 decoder error!</i><br><br></div><div>normal ....<br></div><div><br></div><div><u>For informations:</u><br>- FreeSWITCH Version 1.5.8b+git~20140214T000311Z~fe2a4d6d47~64bit (git fe2a4d6 2014-02-14 00:03:11Z 64bit)<br><br></div><div>Is it a bug ? an configuration error ?<br><br></div><div>Thanks in advance<br><br><br></div><div>PS:<br><br></div><div><u>My dialplan:</u><br><i><condition field="${destination_number}" expression="^0([1-79][0-9]{8})$" break="on-true"><br><action application="export" data="codec_string=${ep_codec_string}"/><br><action application="set" data="inherit_codec=true"/><br><action application="bridge" data="sofia/internal/${destination_number}@HOMER"/><br></condition></i><br></div><div><br></div><div><br></div><div><div><div><div><br>-- <br><div class="gmail_signature"><div dir="ltr">Cordialement<br><br>HUBERT Mickaël<br>Ingénieur VOIP - Hexanet<br></div></div>
</div></div></div></div></div>
<br>
<img src="http://www.hexanet.fr/sites/files/hexanet/files/utilities/signature_hexanet.gif">