= Release Notes v 1.5 = ==General== ===New features=== * Experimental support for linking against c-ares instead of the resip ares variant * updated a lot of svn:ignores ===Bug fixes=== * fixed a lot of license blocks that had been damaged by overly aggressive search/replace ==Build system== ===New features=== * better detection of location of bdb headers * made clean target more thorough * experimental SunPro toolchain support * added superclean target to make distclean without reverting all build configuration ===Bug fixes=== * fixing various build problems on cygwin * fixed shared library builds on OS X (.dylib instead of .so) * fixed build for NetXX tfm dependency under gcc >=4.3 * fix for VS2005 compiler warnings * fixes for Solaris build with gnu toolchain * clean target now cleans reflow and recon * cleancontrib target now cleans contrib openssl if present ==rutil== ===New features=== * start using the tr1 hash implementation (with gcc >= 4.3) ===Bug fixes=== * various windows fixes to network-related code ==stack== ===New features=== * added support for History-Info header * added support for Privacy headers * allow InterruptableStackThead to be subclassed for an application to get inserted into the process loop * support both "text" params (one from 3326, and the other from 3840) * added ability for an application to handle unknown datagrams received on UdpTransport * stop retransmitting INVITE if TU cancels the transaction prior to receiving a response * AfterSocketCreationFunc now called for DTLS, TCP and TLS transports * ignore invalid 'a=fmtp' line in SDP * added passing of source Tuple to ExternalUnknownDatagramHandler ===Bug fixes=== * fixed an invalid initialization of a Data in logging statements in TlsConnection and ConnectionBase * fixed a bug where an empty single-valued header would require an empty() check before access * fixed a heap-corruption bug that could be caused by a SIP message failing basicCheck inside ConnectionBase * fix assert bug caused by transaction id collision between an INVITE and a previous NIT * fixes to comment handling in XmlCursor ==DUM== ===New features=== * moved InviteSession::myAddr, peerAddr and remoteTarget dialog property access fns to DialogUsage class so that they can be accessed by other usages * make ServerSubscription::getTimeLeft public so that apps can access * add support for asynchronous database queries during registration * add an option to force all requests to go through an outbound proxy ===Bug fixes=== * fixing a compile problem with gcc 4.2.3 in MergedRequestKey * better handling of glare when InviteSession is waiting for an ACK * fixed an assert in ClientAuthManager that could be caused when registration retries occurred * fixed a bug where the Content-Type header could be set in a UPDATE Session Refresh to application/sdp, but the content length would be 0 * fixed a bug in ClientInviteSession::reject() when it is called after receiving an UPDATE with an SDP offer in an "early" state * allow reception of INFO and MESSAGE requests before connected * fixed outbound decorator code for responses * fixed an assert in cases where an application ends a call leg, then later cancel's the entire INVITE ==repro== ===New features=== * allow HTTP hostname (for cert server) used in Identity headers to be specified on command line, otherwise it is queried from OS, as before ===Bug fixes=== * stop forwarding NIT 408s * fix bug in command line parsing: use the --dtls, not the --tls, value to configure the DTLS transport * fix for removing expired contacts - could cause web admin to show expired contacts with very large expiry times ==reTurn== ===New features=== * updated to RFC5389 * updated to behave-turn-12, including new CreatePermission method * update local asio copy to version 1.2.0 * added stun test vectors from draft-ietf-behave-stun-test-vectors-04 * allow command line option to configure independent port for STUN/TURN over TLS * allow starting server with no command line parameters * added ability for client API's to automatically handle channel binding refreshes. Note: This is done at an interval that will be frequent enough to also refresh permissions * added server certificate hostname validation support for clients * draft-ietf-behave-turn-15 support ===Bug fixes=== * ensure if an attribute appears more than once, then the duplicates are ignored * ensure encoding/decoding of attribute padding is RFC5389 compliant * fixed some ipv6 parsing problems * corrected message integrity calculations to be RFC5389 compliant * fixed some bugs in unknown attribute parsing and encoding - modified to use RFC5389 padding * add Software header to client requests * changed TCP request timeout to 39500ms as per RFC5389 * added checking for unknown comprehension-required attributes and sending 420 response * modified BindRequest handling on server to look for StunMagic cookie and add XOR mapped address vs Mapped Address appropriately * fixed insert and compare of StunMagicCooke * fixed finger print crc calc - final XOR should be 0xFFFFFFFF before STUN final XOR is applied - this is not obvious from text in RFC5389 * fixed bug in long term authentication * fixed bug in server logic that caused it always send DataInd instead of Channel data messages * reTurn async client fix to ensure we do a framed receive on TCP and TLS client transports ==recon== ===New features=== * rewrite of sdp containers into resip style, and bring directly into recon project to remove dependency on sipXsdpLib for SDP handling * added logging for all new MiNotification events * allow recon to be started with no local audio support * enable sipXtapi OsSysLog logging ===Bug fixes=== * fixed DTMF event routing, now that connectionId is properly passed from sipXtapi * fixed some bugs with forking logic - a crash and incorrect mixing bridge results * change to query speaker/mic location on BridgeMixer instead of hardcoding it * reduced priority of speex-5 (5kbs) in recon SDP, since its quality is poor * ensure codec path is set in Release builds (move setting outside of assert block) * bug fix for refer failure recovery after receiving refer with no-Subsystem