|
RELEASE NOTES
Version 0.5.7 2006/07/18
HIGHLIGHTS:
-
Improved stability and quality (meaning LOADS of bug fixes).
-
Tested against denial of service attacks.
-
Increased performance.
-
TCP support is getting more mature (it's still alpha quality though).
DETAILS:
PJLIB:
-
Add the canonical error name into the error messages generated by
pj_strerror().
-
Fixed bug: ioqueue should return error when send()/sendto() is called while
previous operation on the same op_key has not finished.
-
Fixed bug in sockaddr_in: the sin_zero part of the sockaddr_in is not zeroed,
causing SIP transport hash table to behave erraticly.
-
Fixed bug in ioqueue IOCP: accept() callback is called with new socket handle
already reset to -1.
-
Fixed more bugs in ioqueue IOCP: (1) accept() does not return correct
addresses, (2) handle error condition when accept() returns -1 as the new
socket.
-
Added PJ_INT64() and PJ_UINT64() macro to construct 64bit constants in portable
manner.
-
PJLIB will print the exception name when there is an unhandled exception.
-
Fixed bug in pool_caching.c that prevent pool from being reused if the capacity
has changed when the pool is released.
-
Improve the search for correct size in caching pool.
-
Added feature to report peak memory used in caching pool.
-
Attempted to resurrect ioqueue epoll backend.
PJLIB-UTIL:
-
Fixed bug in scanner: pj_cis_match() takes int argument, so when ASCII char
acter above 127 is given, it will access the array with negative index.
-
Fixed bug in scanner: pj_scan_get_newline() may incorrectly eat two newlines
when the second newline is a header continuation.
PJMEDIA
-
Added memory/buffer based playback and capture port.
-
Fixed bug: RTCP statistic returning fraction lost instead of total lost
-
Fixed bug with pending RTP write operation in UDP media transport.
-
WAV port API was changed slightly (removed user_data from argument).
-
Changed default codec quality to 5 (from 10).
-
Fixed bug in RTCP: out-of-order status was raised when incoming sequence
number is random.
-
Changed RTCP to only calculate jitter when the RTP timestamp of the packet is
different than previous one (needed to calculate video jitter).
-
Changed RTP to randomize initial sequence number.
-
Support for RFC 3605 (RTCP attribute in SDP).
-
Fixed bug: RTCP session not fully cleared when it is initialized (should b zero
everything), causing incorrect stats when it is reused for next call.
-
Configurable telephone-event payload type.
-
Split ulaw/alaw algorithm from g711.c to alaw_ulaw.c to break circular
dependencies between g711 codec and silence detector.
-
Set the SDP parser to allow blank newline at the end of the message
PJSIP (Core, Ua, and SIMPLE)
-
Fixed bug in sip_transport_udp: socket is closed after unregistered from
ioqueue.
-
Renamed pjsip_transport_unregister() to pjsip_transport_destroy().
-
Support for TCP transport (involves bug fixing in transaction etc.).
-
pjsip-test is back alive.
-
Removed mutex protection in pjsip_endpt_create_pool() since the pool factory is
thread-safe.
-
Application may specify NULL address when creating the UDP transport, to allow
the transport to choose arbitrary port.
-
Fixed bug in SIP UDP transport: receive data buffers were not freed when UDP
transport is closed (when application quits).
-
Fixed bug in SIP transaction: transaction should verify that the method
specified in CSeq header in the incoming request matches the method of the
request (otherwise it will trigger assertion failure in dialog later).
-
Various performance improvements in PJSIP: (1) optimizing for common case to
minimize stricmp() calls (header names, method, URI schemes), (2) added
functionality in scanner to parse and unescape in-place, (3) etc..
-
Fix minor bug in displaying invalid message (previously the whole TCP packet
was printed while it should only print the message chunk).
-
Added PJSIP_MAX_NET_EVENTS configuration to pjsip.
-
Fixed bugs with the parsing (re: allowable chars): (1) Parameters in URI and
header should have different spec. URI should use paramchar spec while header
should use token spec (thanks Jeroen van Bemmel) (2) The same rule applies when
escaping the parameters during printing process (3) While we're on it, also
fixed the tel-URI parser to automatically unescape the parameter values.
PJSUA-LIB, PJSUA, and samples etc.
-
Added dq command in pjsua to dump current call quality.
-
Fixed bug: 1st response time not initialized for UAS call in pjsua.
-
Fixed minor bug in the display of packet loss percentage.
-
Disconnect call when failed to start media when sending 200/OK response in
pjsua.
-
Fixed assertion error in pjsua: it should not try to force terminate dialog
after sending 500 response.
-
Fixed bug in PJSUA API re: account selection and Contact header for accounts.
-
PJSUA now responds to incoming OPTIONS request.
-
Added command in pjsua to send arbitrary request.
-
Added INVITE request verification in siprtp before incoming call is
established.
-
Added pjsip-perf in the samples collection.
-
Added get-footprint.py script, source file, and makefile to calculate
PJSIP/PJMEDIA footprint
Go to the Download page to get
the version 0.5.7!
|