File: ChangeLog

package info (click to toggle)
resiprocate 1%3A1.9.7-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 36,456 kB
  • ctags: 27,123
  • sloc: cpp: 195,346; xml: 12,515; sh: 11,986; ansic: 6,807; makefile: 2,182; php: 1,150; python: 300; objc: 91; sql: 85; perl: 21; csh: 5
file content (369 lines) | stat: -rw-r--r-- 27,671 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
= Release Notes v 1.9 =
==1.9.7 Changes==
rpm: Indicate that b2bua package is obsolete
resip/stack: TlsConnection: correctly handle OpenSSL error queue after SSL_read
resip/stack: fix for forced target routing in TransactionState - thanks to John Gregg for this
rutil: enhance command line parsing exceptions with additional details - thanks to John Gregg for initial contribution
rutil: if a v6 address is passed to the GenericIPAddress sockaddr constructor, ensure the entire v6 address is copied over properly.  Note:  sockaddr is smaller than sockaddr_in6 - Thanks to Bjorn A for this fix
rutil: accept case insensitive log level strings
resip/dum: fix obscure bug in basicClient where if we don't use a threaded stack processing does not function correctly - required PollGrp to be passed to SipStack constructor
resip/stack: fix for a use-after-free bug when adding multi-headers to a list that has been copied, and then one of the headers is accessed (but not necessarily parsed) - thanks to Byron Campen for this fix!
resip/stack: Added accessor for TransactionUser FIFO so to obtain stats
resip/stack: additional OpenSSL cleanup fn - reordered functions to match order used in this post: http://openssl.6102.n7.nabble.com/Cleanup-procedure-missing-some-calls-td37441.html
reTurn: modified asio and boost include file ordering to avoid multiply defined symbol errors on linking
resip/recon: remove extra sleep definitions
resip/stack: fix a bug with Keepalive processing that causes transaction state leakage and potential traps
rutil: syslog: use LOG_PID, avoid sending redundant data in log string.

==1.9.6 Changes==
*resip/recon: fixes a bug that makes it impossible to use codecs with RTP clock rates other than 8000, makes Opus support possible
*autotools: minor tweaks to reduce warnings during build/linking

==1.9.5 Changes==
*resip/recon: do not send DTMF as inband audio, can be troublesome as sipXtapi echoes it back to caller (note: requires latest sipXtapi code with startChannelTone patch)
*resip/recon: SipXHelper: map log entries from sipXtapi to reSIProcate logger
*resip/recon: safety checks when using dynamic_cast with ConversationProfile
*resip/recon: avoid changing payload IDs in the default ConversationProfile

==1.9.4 Changes==
*resip/recon: ensure libraries link with sipXtapi libs
*resip/recon: fix for case where DialogSet Profile is not an instance of ConversationProfile
*resip/recon: per-participant tone support
*resip/recon: clarify DTMF API: tones represented by event code, API-user durations in milliseconds

==1.9.3 Changes==
*reTurn: TurnAsyncSocket: fix for sending when not using TURN
*resip/stack: added allowed events to 489 errors
*resip/stack: Support for dtmf-relay content parsing for SIP INFO messages
*resip/recon: call onDtmfEvent when SIP INFO received, just as for RFC2833 DTMF
*resip/recon: call acceptNIT()/rejectNIT() after handling INFO message
*resip/recon: support for changing internal sample rate of sipXtapi
*resip/recon: allow UserProfile and extension headers to be specified when creating a new remote participant

==1.9.2 Changes==
*rutil/dns: fix for Windows DNS Server use.  Ignore Link Local DNS Server entries.
*rutil: add extra ParseBuffer constructor for const char*
*rutil: Data: ust strncmp in comparisons with const char*

==1.9.1 Changes==
*adapt to work with asio v1.10.1 (still works with v1.4.x too)
*fix for spinning in DnsThread
*ensure mPollGrp is set before accessing it in AresDnsPollItem::resetPollGrp
*fix RegSyncClient so that it detects breaks in the socket connection to the server - by using keepalives
*made EGAIN and EWOULDBLOCK processing the same in a few additional spots
*add WinLeakCheck header to some new Websocket class files to aid in leak detection on windows
*stop trying to write cert files in various places
*repro:
**WebAdmin: catch and log exceptions when starting
**fix issue with CommandServerList being deleted when not newed if startup fails due to transport exception
**fixed up StackStatistics handling for when multiple command servers are running (ie: v4 and v6 CommandServers)
**ensure we use the ServerText config setting to set the server text headers in requests that traverse repro
*use threadsafe variant of localtime (localtime_r) on non-windows based platforms

==1.9.0 Changes since 1.8.0==
==Highlights==
*Session/registration accounting
*SIP over WebSocket support for WebRTC, with cookie authentication option
*Python scripting for repro routes
*repro dynamically-loaded routing plugins
*UAS PRACK
*Improvements to daemon processes for UNIX/Linux users
*Android support
*Multiple users in reTurn
*Many stability/bug fixes
 
==General Changes==
===New features===
*added CAJUN (header file only library) source to contrib for JSON encoding/decoding support - now also a Debian/Ubuntu/Fedora package
*added last release of GPLed opensigcomp project to contrib tree, since it can't be found on internet any longer
*updated libSRTP drop to latest 1.4.4 version
*updated to asio 1.4.8

==Build system==
===New features===
*VS2010 project file enhancements
**Modified project settings to allow x86 and x64 builds in the same source tree
**Output Directory for all projects and for all configuration/platform combinations changed to $(SolutionDir)$(Platform)\$(Configuration)\
**Intermediate Directory for all projects changed to $(Platform)\$(Configuration)\
**Added _CRT_SECURE_NO_WARNINGS to projects where it was still missing in order to reduce the amount of warnings. There are less than 30 warnings now, so one can concentrate on those warnings that might really matter instead of just ignoring a large warning list
**Removed Manifest Tool Command Line additional option "validate_manifest" for [repro-x64-Debug-SSL]. This switch makes the MT.exe only parse the input but does not generate output and can lead to a build error. 
**Removed all Property Pages Upgrade from VC 7.1. The sole purpose of this is to introduce the preprocessor directive "_VC80_UPGRADE=0x0710" which has no practical use at all
**Theres a bug in Visual Studio 2010 when Visual Studio 2012 is installed also. As a result, the Setup projects detect a dependency on the .NET Framework for a C++ project even if it does not use .NET. It can be cured by adding <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences> to the project file. After doing so I could remove the incorrectly added LaunchCondition in the setup projects. Details can be found here: http://connect.microsoft.com/VisualStudio/feedback/details/746328/after-installing-vs-11-rc-vs-10-setup-projects-require-the-net-framework 
**Added a new file VisualStudioReadme.htm with some information about the Visual Studio build
**reTurn: Changed boost include folder from ./contrib/boost_1_34_0 to ./contrib/boost
*add 64-bit VS2010 project settings for reTurn
*added configure-android.sh for building with Android NDK
*rend: added autotools support
*rpm: various fixes for RHEL6 and Fedora builds


==rutil==
===New features===
*avoiding truncating the log file
*add directory create API to rutil/FileSystem
*WIN32 - added better logging to WinCompat::determineSourceInterfaceWithoutIPv6
*Data: add fromHex method
*Data: import capacity of pre-allocated buffers
*Data: improve buffer size allocation in base64encode
*dns/ares: add support for DNS server discovery on Android
*add support for Android logging / logcat utility
*add FileSystem::Exception, check stat() return value
*FileSystem: check results of readdir calls
*Add support for FreeRADIUS client (radiusclient-ng is deprecated but still supported for now)
*Tuple: provide method for copying out sockaddr
*ConfigParse: add support for reading sets
*ConfigParse: give precedence to options on command line
*ConfigParse: reject duplicate values from any given config source
*ConfigParse: throw exceptions rather than immediately exiting on error
*added preprocessor conditional compile option for Windows source interface selection to avoid using adapter addresses tagged as Transient.  Transient addresses include those that are used for Virtual IP addresses and tagged with SkipAsSource (also used in Windows Clustering solutions)
*added Sha1 implementation for when OpenSSL is not available
*ServerProcess: change logfile and PID file ownership when dropping privileges

===Bug fixes===
*WIN32 - WinCompat::determineSourceInterfaceWithoutIPv6: throw transport exception if new fails or if second call to GetIpAddrTable fails
**have seen one case where 2nd call to GetIpAddrTable returned 232 (ERROR_NO_DATA) for some unexplained reason, and Contact and Via headers would end up getting populated with 0.0.0.0 address
*WIN32 - WinCompat: make sure all IPHLPAPI fns are run from the runtime loaded library
*WIN32 - WinCompat: move static Mutex outside of WinCompat::instance() fn definition to avoid race conditions
*MD5 code: more checks for big endian environments (gcc __BYTE_ORDER__)
*Data::sizeEqualCaseInsensitiveTokenCompare: Fixing a goof that was causing later code to operate on unaligned data as if it were aligned, which was causing the code to malfunction on many non-x86 platforms.
*Android cross-compile: fix compile issues
*fix Data for big endian builds
*DnsUtil - handle potential truncation in gethostname()
*fix for build on GNU HURD
*DnsUtil: support HURD net device interface names with leading slash
*FileSystem: add support for full filename in iterator, fix problem with using stat() on relative path
*fixed up AresDns::checkDnsChange to be able to compare IPv6 DNS servers instead of just V4 servers
*WIN32 - ares_init: modified API used to retrieve DNS servers for Windows systems from GetNetworkParams to GetAdapterAddresses (supported on Windows XP / Server 2003 and above)
**will fallback to GetNetworkParams if unable to retrieve servers via GetAdapterAddresses (this will happen on Windows 98 and Server 2000 machines)
**GetNetworkParams issues: 
***does not support IPv6
***was exhibiting a MS bug that could cause 0 DNS servers to be returned if many ares instances where init'd at the same time (ie: could happen when creating many SipStack instances at the same time)
**more efficient lookup when ARES_FLAG_TRY_NEXT_SERVER_ON_RCODE3 ares option is used - no need to lookup the physical address of each DNS server separately 
*RADIUS: correctly distinguish access denied from server error
*RADIUS: don't behave badly if multiple calls to init() are made


==stack==
===New features===
*added WS (WebSocket) and WSS (Secure WebSocket) transport support for WebRTC compatibility 
**added WebSocket handshake cookie parsing and validation
*added build-in "cause" parameter parsing for Reason header (RFC3326) parsing
*added missing header parameters for RFC4244 and RFC4244-bis (index, rc, mp, and np)
*define max message size in a variable, allow compile time default with RESIP_SIP_MSG_MAX_BYTES and runtime config setting
*SipMessage: range check on addHeader
*added a MD5 hash comparison equals operator to Content class - needed by upcoming UAS Prack implementation
*TcpBaseTransport: ensure outgoing TCP-based connections originate from configured interface address
*DTLS support for certificate chains
*TLS: more verbose certificate errors
*add support for more aggressive garbage collection, MinimumGcHeadroom
*added option to control if the DNS resolver will allow sip:<ip-address> to resolve to UDP, TCP, or TLS, in that order of priority (existing behaviour) - vs - UDP only

===Bug fixes===
*Helper::getClientPublicAddress and isClientBehindNAT - don't create a Tuple out of a hostname if it isn't an IP address - can trap
*don't assert in Tuple constructors that take printable addresses, since these addresses can come from the wire or from configuration
*SigComp - fix memory leak in ConnectionBase: use delete[] for arrays
*ensure we can send a 100 Trying for NonInviteTransaction retransmissions after one has already been sent - previously an assert would be triggered
*Fixed issues with pre-mature TCP socket teardown: treat EGAIN and EWOULDBLOCK the same
*fixed incorrect placement of #ifndef RESIP_USE_STIL_STREAMS
*If TimerCleanup fires before Timer D for a cancelled ClientInvite transaction then we try to log out mNextTransmission regardless of the transaction state.  However the transaction state may have advanced to the Completed state and mNextTransmission will be null, so we shouldn't be trying to log it
*Tuple: fix mask comparison for some platforms with 64 bit long
*remove use of RSA_generate_key for newer OpenSSL versions
*Android cross-compile: fix compile issues / fcntl.h
*fix an issue with TCP connections on Windows when TCP socket buffer fills up.  Connection would have been terminated before - we were not properly handling WSAWOULDBLOCK response.  We were relying on errno / getErrno to be accurate a number of calls after the write failure.
*fix support for intermediate certificate chains
*fix some potential mem leaks found by coverity in DtlsTransport::_read


==DUM==
===New features===
*Added full support for PRACK - previously only supported UAC PRACK, UAS PRACK Support is added in this release
*added in support for UAC Prack to be able to send an offer in the first PRACK response (must call provideOffer from onAnswer callback)
*TlsPeerAuthManager: add support for statically configured mappings of TLS common names to permitted From: addresses
*ServerAuthManager: add new option to not challenge third parties ("From" header not a local domain)
*add additional accessor to ClientPagerMessage to retrieve the stored request message as a SharedPtr instead of a reference.  This allows the caller to adorn the message and then call DialogUsageManager::send safely (if queueing and/or message bodies are not desired when sending a SIP MESSAGE request)
*resip ClientPagerMessage - modified to allow onSuccess and onFailure callbacks even if queue of message contents is not used - allows you to call ClientPagerMessage::getMessageRequest, build the request yourself (even one without a body), send using DUM::send and still have your callbacks invoked
*Added ServerSubscriptionHandler::onNotifyAccepted callback.
*Profile: allow AllowEvents to be an advertised capability
*remove randomized addition of time to stale call timer - not sure why this was there in the first place
*RADIUSServerAuthManager: allow RADIUS client configuration file to be specified
*Deprecated addTransport on DialogUsageManager object:  SipStack has the exact same interface
*dum/test/basicClient - use stack in multi-threaded mode
*dum/test/basicClient - use EventStackThread instead of InterruptableStackThread - enables Epoll support on platforms that support it
*dum/test/basicClient - enabled UAS PRACK
*add support for statically configured auth realm

===Bug fixes===
*InviteSession: fixed recursive calls to refer (w/ sessionToReplace) when using referCommand and InviteSessionReferExCommand.
*TlsPeerAuthManager: explicitly skip authorization logic if TLS mode is optional or transport is not TLS
*ClientRegistration: modified whenExpires to return the number of seconds when the registration will actually expire, as opposed to the number seconds until our next refresh message is supposed to go out
*ClientRegistration: ensure that we don't try to unregister if ClientRegistration::end is called and we never successfully registered (or all current registrations are currently expired)
**also includes case where we need to wait for an operation to finish before we can end 
*ClientRegistration: no-op subsequent calls to ClientRegistration::end after initial call
*fixed issue with over active 1xx retransmissions
*ClientRegistration: If we are unregistering all contacts as the initial registration message then don't bother storing in mMyContacts - allows add Binding to be called later to add a registration
*fixed update glare handling for UAC prack
*fixed missing break in ClientInviteSession::dispatchReceivedUpdateEarly 
*RADIUSServerAuthManager: cease mangling usernames passed to RADIUS
*Security: stop trying to write PEM file in addDomainCertPEM
*dum/test/basicClient - ensure shutdown works if initial registration attempt is in progress
*fixed some transaction state memory leaks in DUM - resulting from race conditions in DUM Cancel handling
**Race#1 - DialogSet.cxx - if Dialogset is still around, but dialog is gone (potentially BYE'd).  Need to respond to CANCEL in order for transaction in stack to go away
**Race#2 - ServerAuthManager - if we are waiting for an async user auth info to arrive on an INVITE with credentials when a CANCEL arrives, we did not correctly respond to the CANCEL
***DialogUsageManager - needed a change to handle the User Auth info arriving after destroying the feature chain due to a CANCEL 

==repro==
===New features===
*added WS (WebSocket) and WSS (Secure WebSocket) transport support for WebRTC compatibility 
**add specific support for authenticating users based on HTTP cookies authenticated by a shared secret/HMAC scheme
*Add registration and call/session accounting
**configured/enabled via configuration file
**Session Accounting - When enabled resiprocate will push a JSON formatted events for sip session related messaging that the proxy receives, to a persistent message queue that uses berkeleydb backed storage.
**The following call events are logged:
***SessionCreated - INVITE passing authentiation was received
***SessionRouted - received INVITE was forward to a target
***SessionRedirected - session was 3xx redirected or REFERed
***SessionEstablished - there was 2xx answer to an INVITE (only generate for first 2xx)
***SessionCancelled - CANCEL was received
***SessionEnded - BYE was received from either end
***SessionError - a 4xx, 5xx, or 6xx response was sent to invitor
**Registration Accounting - When enabled resiprocate will push a JSON formatted events for every registration, re-registration, and unregistration message received to a persistent message queue that uses berkeleydb backed storage.
**The following registration events are logged:
***RegistrationAdded - initial registration received
***RegistrationRefreshed - registration refresh received / re-register
***RegistrationRemoved - registration removed by client / un-register
***RegistrationRemovedAll - all contacts registration remove / unregister received
**Consuming Accounting Events: Users must ensure that the message queues are consumed, or they will grow without bound.  A queuetostream consumer process is provided, that will consume the events from the message queue and stream them to stdout.  This output stream can be consumed by linux scripting tools and converted to database records or some other relevant representation of the data.  
*add plugin DSO support (non-Windows platforms only)
*add support for using Python scripts to perform routing
*made static instance of the GeoIP library
**allows static geoIPLookup method for other components of repro to access geoip library
**reduces memory in cases where multiple instances of GeoProximityTargetSorter are needed (take care if creating multiple instances since static initialization is not mutexed)
*print MaxMind GeoIP database information to resip logs
*StaticRoute: allow routing of messages when CertificateAuthenticator passed
*CertificateAuthenticator: add support for statically configured mappings of TLS common names to permitted From: addresses
**add CommonNameMappings config option to load CN mappings from a text file
*Added options to disable DIGEST challenge of third parties in DUM auth when mutual TLS in use
*added support for WebAdmin and CommandServer binding to specific IP addresses
*enable IPv6 by default
*allow specification of arbitrary domain cert/key PEM files
*make the CertificatePath optional with no default
*WIN32 -delay load libmysql.dll so that it is not required unless MySQL is enabled in repro 
*config: support non-consecutive transport numbering in advanced transport spec
*move authenticator creation code into a common factory class
*add TlsTrustedPeers config option
*send an alert to syslog when config parsing fails
*configure User-Agent header for registrar, set default value with PACKAGE_VERSION
*add TCPConnectionGCAge config option for garbage collection
*add support for TCPMinimumGCHeadroom
*add RADIUS support
*add config option ChallengeThirdPartiesCallingLocalDomains
*add StaticRealm config option to always challenge using a specified realm value
*reset logger / rotate log files when HUP received
*added ability to change log level from web admin
*take HttpAdminPassword out of repro.config, use a htdigest file
*rpm: configure repro and reTurn not to fork under systemd in Fedora

===Bug fixes===
*move TLS client auth feature/monkey after DIGEST, so that TLS client auth can know if the peer passed DIGEST
*CertificateAuthenticator: explicitly skip authorization logic if TLS mode is optional or transport is not TLS
*fixed CommandServer being created even though listener bind failed
*fix bug that causes assert if you try to configure repro registrar and authentication disabled 
*don't strip authorization headers if the request is going to spiral / loop back to us, only strip if routing outside our domain 
*if we receive a response that has messed with the vias and we don't have a stored bestResponse then send a 500 
*make sure multiple RegSync Servers can be added and dispatched to -fixes repro bug when starting both IPv4 and IPv6 regsync servers
*fixup reprocmd so that it works properly for commands with arguments ie: SetCongestionTolerances - now requires a '/' in front of the actual command
*respond with an error code when invalid pages requested
 
 
==reTurn==
===New features===
*reTurn Server: improved diagnostics in RequestHandler - print senders tuple with errors
*reTurn Server: detect port in use errors when creating relay
*reTurn Server: TurnAllocation/UdpRelayServer - added flags so that some errors only log a Warning level once, then will log at Debug level after - this helps to avoid flooding logs with Warning level messages
*reTurn Server: track allocations per connection - reduces map sizes and lookups when TCP/TLS client connections are used
*reTurn Server: read user/password data from a file specified by UserDatabaseFile
*reTurn Server: optimization to not calculateHmacKey multiple times
*reTurn Server: if return config file location contains a base path, then append this path to other filename settings if an absolute path isn't already specified
*reTurn Server: short term authentication makes no sense for a TURN server, since credential information needs to be exchanged out of band (ie. as with ICE) - remove short term auth option from return server - Long Term authentication is enabled by default
*reTurn Server: listen on IPv6 as well as IPv4
*reTurn Server: more verbose warning when user or realm unrecognised
*reTurn Server: add support for TLS private key in standalone file
*reTurn Server: periodically check for updates to the user database file
*reTurn Server: support for hashed passwords in user database file
*reTurn Server: add support for configuring software name header in STUN packets
*reTurn Server: reload users.txt and reset logger on HUP signal
*reTurn Client API enhancements 
**upped receive buffer size from 2048 to 4096
**OS level Udp socket receive buffer size set to 66560
**TurnAsyncSocketBase - use dispatch instead of post for send API for increased efficiency
**TurnAsyncSocket - new client side APIs
***setLocalPassword for checking integrity of incoming STUN messages
***connectivityCheck for ICE connectivity checks 
***setOnBeforeSocketClosedFp for QOS cleanup (windows)
***send API now split into send(To)Framed and send(To)Unframed
***Queue of guards modified to use a weak functor template instead
***onBindFailure and onBindSuccess now return the Tuple that failed or succeeded
***onChannelBindRequestSent - new
***onChannelBindSuccess - new
***onChannelBindFailure - new
**DataBuffer improvements
**StunMessage - added ice attributes
*TestRtpLoad change to use OS selected port for relay port instead of hardcoded 2000

===Bug fixes===
*reTurn Server: fix bugs with port allocation logic 
**properly detect wrap around when end of range is max ushort = 65535
**properly allocate even or odd port after wrap around from end of range
*TCP/TLS Server classes - ensure we try to accept future connections if we receive an error indicating we ran out of file descriptors
*TLS/UDP Servers classes - throw on errors in constructor
*fixup stunTestVectors.cxx now that ice parameters are parsed
*Client API: fix for requestTimeout - handle case where close is called in handlers and it is invalidated
*stunTestVectors: correct test case for network byte order
*reTurn Server: only try to start TLS transport when port is non-zero


==recon==
===New features===
*modified recon/reflow DtlsSocket to work with DTLS-SRTP from OpenSSL 1.0.1 - patched version of OpenSSL no longer required
*modified DTLS-SRTP fingerprint to be SHA-256 instead of SHA-1 for better web-rtc interop
*recon: look for dynamic codec modules in default location if none are statically linked
*improved error logging in RemoteParticipant::adjustRTPStreams
*reflow: emit warning when socket is not available

===Bug fixes===
*reflow: ensure proper initialization of policy structure


==tfm (repro)==
===New features===
*added VS2010 project files
*added ability for tfm repro to be run in interactive mode with a -i command line option
*added ability for tfm repro to be able to disable digest authentication if required for some test cases
*enabled over 60 additional tfm repro test cases that required digest auth to be disabled 
*enabled record routing on repro test instance in tfm repro and tfm dum
*modified tfm/Sequence and tfm/SequenceSet to support newer versions of boost 
*disable Invite loop test since all platforms will fail when record-routing is enabled - it causes  the message size to exceed 8k
	
===Bug fixes===
*update root CA cert and domain cert used in tfm repro TLS testing - old ones had expired 
*fixup some test cases  testAttendedExtensionToExtensionTransfer, testBlindTransferExtensionToExtensionHangupImmediately, testConferenceConferencorHangup  
*fix for testAck200ReflectedAsInvite test case - reflected INVITE wasn't tracked and it would use first request in map - which would sometime be the wrong invite 


==tfm (dum)==
===New features===
*added VS2010 project files 
*added 24 new tests cases to tfm dum for PRACK testing (dumTests.cxx)
*modified tfm dum TestSipEndPoint::Prack to be able to send PRACKS from TestSipEndpoint
*modified tfm dum TestSipEndPoint::Invite to be able to enable PRACK on outbound invites 
*modified tfm dum to be able to store relrespinfo on 18xrel for generating PRACKs
*added interactive mode (-i) flag to tfmdum so that tests can be run either automated or with a test selector menu 

===Bug fixes===
*fixed up TFM DUM test cases that required digest to be disabled and ones that required record-routing to be turned on, and ones that were looking for rinstance parameter (instance id is now used) 


==nICEr==
===Bug fixes===
*Fix some 32/64 issues and an edge case where no ICE attributes are provided
*Numerous improvements and fixes from Mozilla WebRTC project