RELEASE 6.51 KB
Newer Older
Pekka Pessi's avatar
Pekka Pessi committed
1 2 3
==============================================
Release notes for current version of Sofia-SIP
==============================================
Pekka Pessi's avatar
Pekka Pessi committed
4 5 6 7

Changes since last release
--------------------------

Pekka Pessi's avatar
Pekka Pessi committed
8 9 10 11 12 13 14 15
Updated NAT traversal features: refactored STUN, added outbound, GRUU.

Updated DNS resolver: now it works with IPv6 and on Win32.

Added gobject bindings as a separate library.

Building library as a DLL.

Pekka Pessi's avatar
Pekka Pessi committed
16 17 18
<changes since last written in freshmeat.net "Changes:" style;
 and in less than 10 lines />

Pekka Pessi's avatar
Pekka Pessi committed
19

Pekka Pessi's avatar
Pekka Pessi committed
20 21 22
API/ABI changes and versioning
------------------------------

Pekka Pessi's avatar
Pekka Pessi committed
23 24 25 26 27 28
<see previous release notes at
 http://sofia-sip.sourceforge.net/relnotes/ for examples ;
 - should include all changes to public headers, and 
   other important information to developers; 
 - and should be updated _continuously_! />

29 30 31 32 33 34 35 36
- Building a DLL on win32
 - Added SOFIAPUBFUN/SOFIAPUBVAR/SRESPUBFUN to each public identifier
 
- Added GRUU and simple NAT traversal support in nua:
  - Using rport to detect NAT
  - See libsofia-sip-ua/nua/outbound.[hc]
    and nua_register() documentation

37
- Revised sresolv interface and added:
Pekka Pessi's avatar
Pekka Pessi committed
38
    sofia-resolv/sres.h
39
    sofia-resolv/sres_config.h
Pekka Pessi's avatar
Pekka Pessi committed
40 41 42
    sofia-resolv/sres_async.h
    sofia-resolv/sres_cache.h
    sofia-resolv/sres_record.h
Pekka Pessi's avatar
Pekka Pessi committed
43
    utils/sip-dig.c example program
44 45 46 47 48 49
  - Removed sres_resolver_add_mutex()
  - Renamed cname_record to cn_record in sres_cname_record_t
  - Changed code of SRES_TIMEOUT_ERR and SRES_RECORD_ERR 
    (they were overlapping with signature errors)
  - Added sres_search(): sres_query() does not query subdomains anymore
  - Added sres_search_cached_answers() and sres_blocking_search()
Pekka Pessi's avatar
Pekka Pessi committed
50

Pekka Pessi's avatar
Pekka Pessi committed
51 52 53 54 55 56 57 58 59
- Added string manipulation functions:
  - su_strcat_all()
  - su_strlst_create_with(), su_strlst_vcreate_with()
  - su_strlst_create_with_dup(), su_strlst_vcreate_with_dup()
- Added sip utility functions:
  - sip_contact_string_from_via(), sip_transport_has_tls()

- tport, nta: initial support for dynamic transport additions / updates for
  NAT traversal.
60
  - Added <sofia-sip/tport_plugins.h>
Pekka Pessi's avatar
Pekka Pessi committed
61

62 63 64 65 66
- Major changes in stun:
  - Added the stun_dns_lookup.*() interface to sofia-sip/stun.h.
  - stun_handle_() functions are replaced by stun_() functions in 
    <sofia-sip/stun.h>.
  - Discovery context pointer and callback added to stun_bind()
67 68 69 70
  - Removed all request-specific states of stun_state_t from
    the public interface.
  - Modified signature for stun_nattype(), added stun_nattype_str().
    The stun_nattype_t enum is now part of the public header.
Pekka Pessi's avatar
Pekka Pessi committed
71

72 73
- Added handling of a single warning into the soa and nua modules

Pekka Pessi's avatar
Pekka Pessi committed
74 75
- Removed old rtsp-related nua functions and events not used anymore.

Pekka Pessi's avatar
Pekka Pessi committed
76
- Removed nutag_sip_parser (using ntatag_mclass instead)
Martti Mela's avatar
Martti Mela committed
77

78 79
- Now returning 9XX errors from inside NUA

Pekka Pessi's avatar
Pekka Pessi committed
80 81
- Added --enable-sctp to configure; fixed some SCTP problems,
  (but not all)
82

83 84 85
- On win32 platform, clients need to link against the "advapi32" 
  system library.

86 87
- Removed utf8 functions and sofia-sip/utf8.h header file.

Pekka Pessi's avatar
Pekka Pessi committed
88 89 90
Contributors to this release
----------------------------

Pekka Pessi's avatar
Pekka Pessi committed
91 92 93 94 95
<list of people who contributed to _this_ release
 - update as people's patches are added, or when
   you commit stuff
 - name of the contributor should be enough
/> 
Pekka Pessi's avatar
Pekka Pessi committed
96

97 98 99 100 101
- Dimitri E. Prado: Initial patch for win32 DNS 
  server discovery.

Notes on new features
---------------------
102

103 104 105 106 107
<information about major new features
 - new/changed/removed functionality
 - links to further documentation
/> 

108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
- The nua module now has support for NAT traversal using SIP outbound. 
  Because rather limited support for SIP outbound by SIP proxies (nada), a
  rport-based NAT traversal was also added. There is also a registration
  probe and registation keepalive using OPTIONS request. The NAT traversal
  can be disabled by either giving the Contact header explicitly to the
  nua_register() call or by setting NUTAG_OUTBOUND() option to NULL. 

- The nua module now supports GRUU, too. The GRUU is a special Contact URI,
  which is generated by the registrar/home proxy. The requests sent to the
  GRUU Contact URI are routed through the registrar/home proxy towards the
  user agent. An User-Agent wanting to use GRUU needs to enable it. It has
  to generate an unique instance identifier (for instance, by calling
  nua_generate_instance_identifier()), store the identifier to permanent
  storage (config file) and always include the same identifier in
  NUTAG_INSTANCE() when calling nua_create(). Stack generates GRUU when it
  receives a "gruu" parameter in an response to REGISTER request, and uses
  the GRUU as Contact in INVITE, UPDATE, SUBSCRIBE and NOTIFY transactions.

126 127 128 129 130
- DNS server discovery support added for win32. Sofia-SIP is now able
  to get a list of configured nameservers from the Windows
  registry database (similar to /etc/resolv.conf on UNIX systems). Closes
  sourceforge.net ticket #1445560.

131 132
- The 'sip_options', 'sip_dig' and 'stunc' tools have been added to 
  VC6/win32 workspace as an example applications for the library.  
Pekka Pessi's avatar
Pekka Pessi committed
133

134 135 136 137 138 139 140 141
- The STUN NAT type check algorithm has been refactored. Terms used by 
  the IETF BEHAVE working group are now used to classify NAT/FW features. 
  Now a distinction is made between NAT mapping (which IP:port is allocated 
  for requests) and filtering behaviour. The 'stunc' test tool has been 
  updated to support the changes. Note that the type check mechanism
  is not 100% reliable -- future mappings may not be of same type, due
  to indeterministic NAT behaviour, or network changes.

Pekka Pessi's avatar
Pekka Pessi committed
142 143 144
Bugs fixed in this release
--------------------------

Pekka Pessi's avatar
Pekka Pessi committed
145 146 147 148 149
< notable bugs fixed in this release
 - check the sf.net bug tracker; see closed bugs,
   sorted by closing date
 - other bugs as fixed in CVS/darcs
/>
Pekka Pessi's avatar
Pekka Pessi committed
150

151
- Fixed memory management problems in iptsec, reported by Colin Whittaker.
152 153
- Fixed some locking problems in sresolv, reported by Thomas Rosenblatt
- Fixed nua_handle_t leaks in various cases, reported by Colin Whittaker
Pekka Pessi's avatar
Pekka Pessi committed
154 155 156 157 158 159 160 161 162 163 164 165 166
- Fixed #1468407 nua_unregister() crashing when called without preceding
  register (and other crash-prone problems with request message in nua)
- Fixed #1473936 - resolving SIP URIs required active IP4 transports in nta
- Fixed #1472683 - ACK did not have rport, even if INVITE did
- Fixed double branch problem in CANCEL
- Fixed problem with client certificate handling in tport module
- Fixed problem creating error record in sresolv module
- Fixed handling route in re-SUBSCRIBE
- Fixed handling headers in re-PUBLISH. Fixed error reporting in the case
  ESC returns 200 OK response to PUBLISH without Expires header.
- Problem with auth-int and nua is fixed: now the correct MD5 sum of 
  message body is calculated.
- Fixed #1465023 (NUTAG_CERTIFICATE_DIR() handling problem).