[asterisk-dev] asterisk 1.4 sent T.38 UDPTL only if DONT_OPTIMIZE is used

Kevin P. Fleming kpfleming at digium.com
Wed Jan 20 10:18:07 CST 2010


Kristijan Vrban wrote:
> Hello, the 1.4 issue, that the new SDP handling code broke T.38 was
> fixed by mnicholson and me here:
> https://issues.asterisk.org/view.php?id=16318
> 
> But today i realized, that it's only working when DONT_OPTIMIZE is
> used. (what i usually do) Without DONT_OPTIMIZE (default settings)
> asterisk dont send
> UDPTL. It only receive UDPTL (udptl debug)
> 
> Perhaps this is also interesting, that asterisk 1.4 start MoH on both
> channels without DONT_OPTIMIZE?!
> 
>    -- SIP/faxserver-00000001 answered SIP/BTNGN2-00000000
>     -- Packet2Packet bridging SIP/BTNGN2-00000000 and SIP/faxserver-00000001
>     -- Started music on hold, class 'default', on SIP/BTNGN2-00000000
>     -- Started music on hold, class 'default', on SIP/faxserver-00000001
> 
> This does not happen with DONT_OPTIMIZE is used.
> 
> I'am entirely puzzled that this happen. But it's 100% reproducible. Is
> DONT_OPTIMIZE doing something more then -O0 for gcc ?

No, it does not make any other changes. This sort of symptom is
indicative of code that is relying on undefined behavior (using
uninitialized variables, for example), and the behavior changes when the
 optimizer reorganizes the code.

-- 
Kevin P. Fleming
Digium, Inc. | Director of Software Technologies
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
skype: kpfleming | jabber: kpfleming at digium.com
Check us out at www.digium.com & www.asterisk.org



More information about the asterisk-dev mailing list