libamsip  5.1.0
ChangeLog
See Also
http://www.antisip.com
$Id$
$Rev
30/10/2014 - 5.1.0
	* minor change: avoid using "and" as a variable (C++ compatibility)
	* fix possible crash in exosip/TCP/TLS with a connection lost during
	  an INVITE transaction.

21/10/2014 - 5.1.0
	* add support for QoS API (qwave.lib) for SIP on windows.
	* wasapi: better recovery upon lost sound card.

15/10/2014 - 5.1.0
	* a method with defined parameter can't be casted
	  to a variadic typdef method. (discovered on ios/arm64)

10/10/2014 - 5.1.0
	* keepalive in lock/unlock (possible ssl crash?)
	* update openh264 to v1.1
	* update g722
	* remove masquerading for VIA header (interop with SBC)

03/10/2014 - 5.1.0
	* updates for raspberry (H264/v4l2, compilation, mswebrtc for armv6)
	* improvements for VP8 and RTCP Feedback support.
	* fix when TIAS parameter is present with H264 negotiation.
	* send STUN INDICATION during DTLS init phase (if RTP can't be sent)

16/09/2014 - 5.1.0
	* do not call dscp API if not set.
	* stun: improve interop with restund.
	* improve detection of broken established TCP/TLS connections.
	* improve webrtc interop.
	* new: DTLS-SRTP added with fingerprint support.
	* wasapi: support for more samplerates and channels.
	* use CRLF by default for all keep alive...
	* update compilation of libvpx (error concealment, no realtime)
	* add HID devices (UC550MONOMS and SAVI4XX)
	* ability to set profile idc with CNG param for H264.
	* new API to allow callback for am_player
	* fix threaded version of alsa.
	* use SCHED_RR when available.
	* add ability to insert a reason header.
	* options to configure alsa at runtime.
	* option to disable ringback tone with RTP.
	* add SO_REUSEADDR for UDP.
	* update: webrtc compilation for arm linux.

13/06/2014 - 5.1.0
	* new: select video display at runtime
	* fix crash when TURN is used without crypto
	* new: mswebrtc compilation on linux (configure script)
	* experimental x-screensharing / x-dataevents new media

13/05/2014 - 5.1.0
	* fix arm64 ios build.
	* fix windows build for vp8 plugin on x64.

28/04/2014 - 5.1.0
	* fix resampler bug, inserting click in audio for high level audio.
	* fix buffer overflow when resampling to high frequency.
	* fix wasapi bug upon 24bit pcm usage. (windows/wasapi only)
	* saturation limit in msconf.c moved to standard value.

26/04/2014 - 5.1.0
	* fix when when g722 is involved in negotiation but not used.
	* fix/allow minimal jitter vaue for adaptative jitter: negative value in ms.

25/04/2014 - 5.1.0
	* faster TCP/TLS connection with non blocking socket.
	* use SO_KEEPALIVE where possible for TCP socket.
	* update to libvpx 1.3.0
	* update for arm64/x86_64 ios build.
	* faster startup for w8/vista/seven. (fix MME/directsound)
	* add openh264 support on windows/android/ios.
	* fix various warnings.

17/04/2014 - 5.1.0
	* fix missing connect with TCP which sometimes prevents reconnecting
	  after network loss.

07/04/2014 - 5.1.0
	* update to latest openssl 1.0.1g.
	* fix looking for old SDP in exosip API.

07/04/2014 - 5.1.0
	* improve re-using echo path for AECM webrtc module. (android)
	* new msopenh264 plugin. Encoder based on openh264 from cisco.
	  (available on windows and android)

29/03/2014 - 5.1.0
	* fix missing file in macosx build.
	* fix missing amsiptools.
	* fix static image loading using swscale.
	* fix registration with expires=0 upon deletionrequired step.
	  for outgoing tcp connection.
	* update logs from ortp to osip.
	* new AMSIP_OPTION_ENABLE_REUSE_TCP_PORT to reuse local tcp port

17/03/2014 - 5.1.0
	* improve (again) time compensation on android.
	* fix TCP and TLS new registration procedure to automatically
	  masquerade contact address for registration.
	* add option for TURN login/password.

28/02/2014 - 5.1.0
	* newer ffmpeg version.
	* interop: use local video AS only if a global AS param  exists.
	* improve ICE: faster process.
	* new threaded model for read() operation on rtp socket.
	* fix macosx camera format issue. (detected on a mac mini)
	* rename oRTP to a-oRTP project.
	* rename mediastreamer2 to a-mediastreamer2 project.
	* newer compilation procedure for linux.
	* newer compilation procedure for raspberry pi.
	* obsolete vs2005, windows mobile 6 and Windows CE.

25/02/2014 - 5.0.0
	* update vs2010 projects (opus/webrtc)
	* update macosx build (ipp)
	* add new API helper for URI to ease wrappers.
	* vbamsip usage of UTF8 for proof of concept.

04/02/2014 - 5.0.0
	* use different TCP port to avoid OS re-using TCP port.
	* improve wasapi plugin to allow more configuration and
	  reduce code to find out best format.

04/02/2014 - 5.0.0
	* fix arm64 compilation for c-ares on ios.
	* implement new registration procedure to automatically
	  masquerade contact address for registration.

28/01/2014 - 5.0.0
	* improve time compensation on android.

27/01/2014 - 5.0.0
	* reduce allocation for exosip/udp.
	* fix PLC acceleration.
	* update to opus 1.1
	* fix PLC with FEC for opus.

21/01/2014 - 5.0.0
	* fix PLC for non 20ms streams.
	* fix linux compilation (test program).

17/01/2014 - 5.0.0
	* fix initial (not used) work on apm webrtc processing.

15/01/2014 - 5.0.0
	* fix crash when receiving unknown payload type.

13/01/2014 - 5.0.0
	* fix crash for malformed incoming connectivity checks.

10/01/2014 - 5.0.0
	* improve SDP setup support.
	* fix crash if a TCP candidate appears in ICE list.

09/01/2014 - pre 5.0.0
	* fix missing amsiptools in archive.

16/12/2013 - pre 5.0.0
	* Improve/Fix PLC plugin (mswebrtc).
	* Improve adaptative audio jitter.
	* Improve jitter upon rate change.
	* Improve control over audio latency (wasapi, internal)
	* Implement TURN (full ICE).
	* Implement RTCP candidates and ICE for RTCP.
	* Add more RTCP definitions.
	* Fix to allow XP compilation using Visual Studio 2012
	* Fix G722 default payload if rtpmap is not provided.
	* Avoid restarting early-media for each unchanged 1xx.
	* Fix TCP/TLS for slow connection establishement.
	* Fix to use OPUS/48000/2 (channel=2 is mandatory).
	* Increase RTCP max size to 1500.
	* Add RTT based on RTCP in logs.
	* Add rtcp-mux support.
	* Add SAVPF profile.
	* Fix bug for alsa/linux.

27/11/2013 - 4.8.1 -cont-
	* osip: fix for large SDP re-alloc.
	* convert SRTP and ZRTP into modules instead of transport.
	* fix audio only compilation.
	* fix media port range assignement.
	* fix convert ICE foundation into char.
	* new API to allow SUBSCRIBE with a body.
	* fix spelling (and monothread osip version: not used)
	* use TCP_NODELAY for sip on all platform with support.
	* fix warnings, comments.

17/10/2013 - 4.8.1 -cont-
	* fix ICE to only pair candidate using same protocol. (udp vs tcp)
	* Improve Session Expires management.
	* Add Allow/Supported/Allow-Events in 200ok answers to INVITE.
	* VP8: general improvement for VP8 packetization.
	* VP8: Fix RTP depacketization with X bit set.
	* VP8: Use X extension packetization in encoder.
	* fix SIP vs sip.
	* Use Authorization header for 401 reply.


18/09/2013 - 4.8.1 -cont-
	* fix HID "hook" event for linux
	* add API to enable/disable filter on the fly.
	* upon "am_session_off_hold", update bandwidth AS.
	* send INFO each 10 seconds by default.
	* many improvements for H264 camera on linux. (C920)
	* fix for 3 H264 codecs in remote SDP.
	* use cropping for resizer to maintain ratio before encoders.
	* fix video timestamp when payload is different in offer and answer.
	* on linux with sched.h, use second CPU core for video graph.
	* fix compatibility with old UA for INVITE retransmission.
	* increase default size for max SIP message.

10/07/2013 - 4.8.1 -cont-
	* fix x264 plugin max keyframe interval
	* add delay of 3 seconds for sending INFO/fast picture update.

01/07/2013 - 4.8.1 -cont-
	* fix C compilation of stitcher.
	* missing uvc H264 include file.
	* fix .def windows file.

28/06/2013 - 4.8.1 -cont-
	* xv rendering improved: allow resize API
	* xv rendering: fix image stride/planes for uncommon window size.
	* add resizing window API (for xv/linux)
	* linux: add H264 input support for camera (msv4l2)
	* allow H264 input grabber. (usage on linux only)
	* fix linux grabber dropping frame for a long duration. (msv4l2)
	* load H264 best encoder for mode 0 and for mode 1
	* fix mode forced to 0 (amd) // update encoder priority (amd/nvidia)
	* fix attach/detach (multi-conference server only)

11/06/2013 - 4.8.1 -cont-
	* fix 64bit issue with video codec change on the fly.
	* add missing patch for mswebrtc WP8.
	* fix when previous PRACK hasn't been sent.

10/06/2013 - 4.8.1 -cont-
	* fix crash if x264 encoder cannot initialize.
	* add mswebrtc plugin on WP8 (ilbc/isac/PLC).
	* move ilbc to mswebrtc on windows.
	* fix SRTP b64 decoding binary key.
	* fix sequence number rollover for SRTP. (update libsrtp)
	* fix pin selection when moving participant. (multiconf mode)
	* add UNICODE;_UNICODE for Windows Phone compilation.

15/05/2013 - 4.8.1 -cont-
	* fix PLC overflow detected with 10ms ptime.
	* use __stdcall for amsiptools.dll to export HID.
	* experimental TSC (acme packet tunnel) support.
	* add jabra SPEAK 510 hid support (linux)
	* add jabra BIZ2400 UDB hid support (linux)
	* experimental hid support for linux. (2 devices only)
	* fix to allow sips route parameter.
	* remote USERNAME in STUN answers. (ICE)
	* experimental H264 hardware decoder (AMD SDK)
	* add lock/unlock when selecting a sound cards.
	* complete/improve support for XV/X11 accelerated
	  rendering on linux. (a few limitation exist)
	* automatic stop(+restart) of HID device.
	* option to skip automatic creation of BYE answer.

22/04/2013 - 4.8.1 -cont-
	* add jabra SPEAK 510 hid support (windows)
	* add jabra LINK360 hid support (windows -broken?-)
	* allow RTP negotiation if SRTP is configured
	* allow SRTP negotiation if RTP is configured (and SRTP compiled)
	* move h264 decoder into msffmpeg plugin
	* automatic stop of hid if device is disconnected
	* add option to allow non-automatic BYE.
	* refresh will be detected minimum 6s before expiration.
	* fix version id for incoming INVITE without SDP. (incr vid)
	* apply AMR mode-set before starting AMR streams.
	* improve accessor APIs to retreive more headers.
	* copy call-info into subscribe refresh.

20/03/2013 - 4.8.1 -cont-
	* fix version id for incoming INVITE without SDP.
	* windows phone 8 audio support seems ready! - ask about it!

14/03/2013 - 4.8.1 -cont-
	* enable again PLC/mswebrtc plugin // bug found on android+neon.
	* complete cseq detection of late/lost packet for more PLC reconstruction.
	* fix SDP issue with sdp answer offering no codec in common.
	* h264 / fix ipp plugin latency (num_ref_frame=1)
	* allow more TLS error when verification is disabled.

05/03/2013 - 4.8.1 -cont-
	* avoid to reserve a pin when an audio only call is inside a conference.
	* support for mode-set parameter in amr-wb. (plugin audio ipp)
	* windows phone 8 experimental support - ask about it!

05/03/2013 - 4.8.1 -cont-
	* **experimental** opencl/openvideo amd hardware h264 encoder.
          encoder is NOT yet complete.
          decoder is NOT yet working.
	* fix return code for duplicate calls.
	* fix directsound plugin in 64bit port.
	* fix NO-NAPTR version of exosip.
	* T2 can be redefioned in osip.
	* fix: audio graph access if no audio OR no decoder and no encoder.
	* fix check if decoder[0]==NULL (no decoder) in recvonly session.
	* increase number of video pin (additionnal participant are listeners)
	* resync after SSRC change

22/01/2013 - 4.8.1 -cont-
	* improve to accept only first audio media/reject other.
	* improve to accept only first video media/reject other.
	* update for compilation with UNICODE flag and visual studio 2012.
	* remove AMR interleaving option.
	* update VP8
	* remove binaries for OPUS (now in the compilation project under windows)
	* update binaries to be compatible with visual studio 2012.

22/01/2013 - 4.8.1 -cont-
	* new option: AMSIP_OPTION_ENABLE_DNS_CACHE to disable
	  internal exosip DNS cache.
	* extend usage of exosip DNS cache for TCP and TLS.
	* add codec parameters for amr*/g729*/opus in OPTIONS answers.
	* upgrade demo for macosx (upgrade to 4.8.1 API)
	* revert to use non-threaded ffmpeg h264 setting (currently broken)

22/01/2013 - 4.8.1
	*************************  API CHANGE *************************
	*
	* Previous API was not consistent and easy to use for setting
	* an outbound proxy. Thus, all API which build and send a SIP
	* message out of a dialog has been updated to include a Route
	* parameter which will only be used for setting the outbound
	* proxy to be used.
	*
	* Affected APIs:
	*   am_register_start
	*   am_register_start_with_parameter
	*   am_register_send_star
	*   am_publish_send
	*   am_service_pickup
	*   am_subscription_start
	*
	* It's important to note that if your "proxy" can't be
	* resolved with DNS (which should never happen...), you must
	* use the following to solve the issue:
	*
        *  struct am_option_dns_cache dns_cache;
        *  memset(&dns_cache, 0, sizeof(dns_cache));
        *  snprintf(dns_cache.host, sizeof(dns_cache.host), "%s", account->proxy);
        *  snprintf(dns_cache.ip, sizeof(dns_cache.ip), "%s", account->proxy_ip);
        *  am_option_set_option(AMSIP_OPTION_SET_DNS_CACHE, &dns_cache);
	*
	***************************************************************
	* new hid device: C610M plantronics support (windows)
	* xp fix: add delay load option for compiling mswasapi.

11/01/2013 - 4.8.0 -cont-
	* remove non complete FUA (on packet loss)
	* add mising file for vb
	* update/revert IPP compilation to not use openmp. (for stability of h264)

08/01/2013 - 4.8.0 -cont-
	* use OleInitialize to allow usage of some webcam.
	* fix bug with loading jpeg image with odd size.
	* update to latest libyuv // all platform.
	* fix one leak on ios with mutex.

20/12/2012 - 4.8.0 -cont-
	* update webrtc (PLC crash on android // update resolved the issue).
	* fix return codes for amsip audio options.
	* update ffmpeg for macosx.
	* call res_init on DNS failure (no answer) for getaddrinfo.
	* fix default value for initial port option.

12/12/2012 - 4.8.0 -cont-
	* fix AM_OPTION_SET_DNS_CACHE option.
	* fix AM_OPTION_AUDIO_SET_VOLUME_PLAYBACK_GAIN and
	  AM_OPTION_AUDIO_SET_VOLUME_CAPTURE_GAIN options API.

11/12/2012 - 4.8.0 -cont-
	* fix background color in mediastreamer2 and stitcher.
	  affect N-way conference & windows background with no image.

07/12/2012 - 4.8.0 -cont-
	* fix default value for video screen size 0x0 + vbamsip (VB demo).
	* fix new user-agent settings.

20/10/2012 - 4.8.0
	************************* ENUM CHANGE *************************
	*
	* UPDATE OF EXOSIP AND OSIP: official 4.0.0 API
	*  THE OBSOLETE EVENT HAS BEEN REMOVED AND THE ENUM IS NOW
	*  MODIFIED. THIS MEANS THAT WRAPPER NEEDS TO BE UPDATED. FOR
	*  EXAMPLE EXOSIP_REGISTRATION_SUCCESS is now 0.
	*
	*  Application using C/C++ only need to be recompiled. However,
	*  your wrapper using VB, Java, Delphi... should be updated. The
	*  new Android demo has been updated: see new AmsipTask.java
	*
	*************************  API CHANGE *************************
	*
	* amsip 4.8.0 has large API changes for configuration (am_option_*
	* methods and minor API changes for a few others.
	*
	* Upgrading is rather easy. However, if you wish to delay the upgrade
	* you can still compile with old APIs as only a very few has been
	* totally removed.
	*
	* To access old API compile:
	*    1/ AMSIP with -DUSE_AMSIP_OBSOLETE
	*    2/ YOUR APPLICATION with -DUSE_AMSIP_OBSOLETE
	*
	* You will still need to:
	*    1/ Update to use the new EXOSIP_EVENT_* ENUMs.
	*    2/ replace am_session_get_audio_statistics
	*       by am_session_get_audio_bandwidth
	*    3/ remove any call to am_session_add_external_rtpdata
	*
	*************************  API CHANGE *************************
	*
	* Obsolete method removed:
	*     am_session_get_audio_statistics
	* REPLACED by: am_session_get_audio_bandwidth
	*
	* Obsolete method removed: (never used)
	*     am_session_add_external_rtpdata
	*
	*************************  API CHANGE *************************
	*
	* Obsolete method removed:
	*     am_session_start_text_conversation
	*     am_session_start_file_transfer
	* REPLACED by
	*     enum am_media_type media_table[3] = {AMSIP_MEDIA_TEXT, AMSIP_MEDIA_NONE}
	*     am_session_start_media(..., media_table);
	* OR:
	*     enum am_media_type media_table[3] = {AMSIP_MEDIA_UDPFTP, AMSIP_MEDIA_NONE}
	*     am_session_start_media(..., media_table);
	*
	* You can also update your am_sesion_start and am_session_start_with_video:
	*     enum am_media_type media_table[3] = {AMSIP_MEDIA_AUDIO, AMSIP_MEDIA_NONE}
	*     am_session_start_media(..., media_table);
	* OR:
	*     enum am_media_type media_table[3] = {AMSIP_MEDIA_AUDIO, AMSIP_MEDIA_VIDEO, AMSIP_MEDIA_NONE}
	*     am_session_start_media(..., media_table);
	*
	*************************  API CHANGE *************************
	*
	* Most am_option_* API has been obsoleted and replaced with 3 new methods
	* use to set amsip options: audio and video options has an additionnal conference
	* parameter that should be set to 0.
	*  int am_option_set_option (int opt, void *arg);
	*  int am_option_conference_set_audio_option (int conf_id, int opt, void *arg);
	*  int am_option_conference_set_video_option (int conf_id, int opt, void *arg);
	*
	*
	* For all "opt" value, refer to <amsip/am_options.h> and all #define AMSIP_OPTION_...
	*
	* Example for am_option_set_option:
	*
	*   i = am_option_set_user_agent(name);
	*   i = am_option_enable_stun_server(stun_server);
	*   int dscp_value=0x28;
	*   i = am_option_set_audio_dscp(dscp_value);
	*
	* replaced by:
	*   i = am_option_set_option(AMSIP_OPTION_SET_HEADER_USER_AGENT, (void*)name);
	*   i = am_option_set_option(AMSIP_OPTION_SET_STUN_SERVER, (void *)stun_server);
	*   int dscp_value=0x28;
	*   i = am_option_set_option(AMSIP_OPTION_SET_AUDIO_DSCP, (void*)&dscp_value);
	*
	* Example for am_option_conference_set_audio_option:
	*
	*   int rate=16000;
	*   i = am_option_set_rate(16000);
	*   i = am_option_enable_echo_canceller(enable, 128, 2048);
	*   int denoise_level=30;
	*   i = am_option_set_denoise_level (int denoise_level);
	*
	* replaced by:
	*   int rate=16000;
	*   i = am_option_conference_set_audio_option(conf_id, AMSIP_OPTION_AUDIO_SET_RATE, (void*)&rate);
	*   struct am_option_aec val;
	*   memset(&val, 0, sizeof(val));
	*   val.enable = enable;
	*   val.frame_size = 128;
	*   val.tail_length = 2048;
	*   i = am_option_conference_set_audio_option (0, AMSIP_OPTION_AUDIO_ENABLE_AEC, (void*)&val);
	*   int denoise_level=30;
	*   i = am_option_conference_set_audio_option (conf_id, AMSIP_OPTION_AUDIO_ENABLE_DENOISE_LEVEL, (void*)&denoise_level);
	*
	* Example for am_option_conference_set_video_option:
	*
	*   char tmp_val[1024];
	*   snprintf(tmp_val, sizeof(tmp_val), "%s", "fullpathtonowebcaminUTF8/nowebcamCIF.jpg")
	*   i = am_option_set_nowebcam(tmp_val);
	*   i = am_option_set_input_video_size(MS_VIDEO_SIZE_CIF_W, MS_VIDEO_SIZE_CIF_H);
	* #if defined(WIN32)
	*   i = am_option_set_window_display(NULL, windows_handle, MS_VIDEO_SIZE_CIF_W, MS_VIDEO_SIZE_CIF_H);
	* #else
	*   i = am_option_set_window_display(NULL, 0, MS_VIDEO_SIZE_CIF_W, MS_VIDEO_SIZE_CIF_H);
	*   i = am_option_set_image_callback(on_new_image_cb);
	* #endif
	*   i = am_option_select_camera (10);
	*   i = am_option_enable_preview(1);
	*
	* replaced by:
	*   struct am_option_video_setup video_setup;
	*   memset(&video_setup, 0, sizeof(video_setup));
	*
	*   video_setup.enabled=1;
	*   video_setup.windows_handle=0;
	*   video_setup.screen_width=MS_VIDEO_SIZE_CIF_W;
	*   video_setup.screen_height=MS_VIDEO_SIZE_CIF_H;
	*   video_setup.prefered_input_width=MS_VIDEO_SIZE_CIF_W;
	*   video_setup.prefered_input_height=MS_VIDEO_SIZE_CIF_H;
	*   video_setup.video_display_mode=AMSIP_VIDEO_MODE_NOCALLBACK;
	*   video_setup.mode_callback_format=MS_YUV420P;
	*   video_setup.camera=10;
	*
	*   video_setup.background_color[0]=0;
	*   video_setup.background_color[1]=0;
	*   video_setup.background_color[2]=0;
	*
	*   char tmp_val[1024];
	*   snprintf(tmp_val, sizeof(tmp_val), "%s", "fullpathtonowebcaminUTF8/nowebcamCIF.jpg")
	*   i = am_option_conference_set_video_option(0, AMSIP_OPTION_VIDEO_SET_NOWEBCAM_FILE, (void*)tmp_val);
	*
	*  #if defined(WIN32)
	*   video_setup.windows_handle = windows_handle;
	*  #else
	*   i = am_option_conference_set_video_option(0, AMSIP_OPTION_VIDEO_SET_IMAGE_CALLBACK, (void*)on_new_image_cb);
	*  #endif
	*   i = am_option_conference_set_video_option(0, AMSIP_OPTION_VIDEO_ENABLE_VIDEO, (void*)&video_setup);
	*
	***************************************************************
	* fix PRACK in eXosip2.

12/10/2012 - 4.7.0 -cont-
	* fix am_quit/am_init/am_reset improvements.

08/10/2012 - 4.7.0 -cont-
	* API to replace log method.
	* increase buffer recv size for video (windows)
	* am_quit/am_init/am_reset improvements.

06/10/2012 - 4.7.0 -cont-
	* binary change/iOS only: add PITCH parameter for camera image.
	* fix crash if changing sound card with an active call being on hold.
	* API change: am_session_adapt_video_bitrate: parameter changed to percent
	  to be equivalent to audio API.
	* fix dead lock with msipph264 encoder and am_session_adapt_video_bitrate.
	* improve general behavior for am_session_adapt_video_bitrate.

30/10/2012 - 4.7.0 -cont-
	* fix patch for webrtc code on ios.
	* API to move a call to a specific video pin on stitcher.
	* stitcher now include empty space for all connected pins
	  even if they are inactive.
	* fix index for video calls.

29/10/2012 - 4.7.0 -cont-
	* new webrtc PLC plugin on ios and macosx.
	* update to latest IPP 7.1 (libmsipph264, libmsippyuv, libmsippg7xx) (macosx)

26/10/2012 - 4.7.0 -cont-
	* add support for PLC plugin.
	* new webrtc PLC plugin on windows and android.
	* improve h264 threading on ios & android.
	* improve vp8 threading on ios & android.
	* improve image quality on h264 on ios & android (for dual core).
	* MODIFICATION: 44100 sample rate is not allowed any more.
	  (This restriction comes with the PLC plugin).
	* add native PLC for all IPP codecs.
	* default jitter is now RTP adaptative. (required for PLC)

17/10/2012 - 4.7.0 -cont-
	* update to latest isac version (all platforms) // webrtc revision.
	* update to latest ilbc version (android/ios) // webrtc revision.
	* avoid restart of audio if SDP checksum is kept over re-INVITE.

17/10/2012 - 4.7.0 -cont-
	* add time compensation on android. (take into account deep sleep interval)
	* improve/reduce logs.
	* ipp/h264 do not remove preventing bytes.
	* fix stitcher with no webcam image for 2 calls conference.
	* use connection's TCP/TLS port in outgoing connection in Contact headers.

10/10/2012 - 4.7.0 -cont-
	* update to latest IPP 7.1 (libmsipph264, libmsippyuv, libmsippg7xx)
	* new async model for msipph264 by default.
	* fix conference bug (answer calls into a conf_id).
	* add missing ffmpeg includes (previous version)

05/10/2012 - 4.7.0 -cont-
	* improve video packet loss for H263-1998
	* update to latest ffmpeg (all platform)
	* API change: use tid as return code when building
	  sip message out of dialog. (like MESSAGE)
	* fix pin controller selection in stitcher

01/10/2012 - 4.7.0 -cont-
	* update to latest Xcode 4.5 (for ios6+armv7s)
	* update to latest Xcode 4.3 with IPP 7.1 (macosx)
	* add dtx support for opus.
	* add opus support on android & ios.

26/09/2012 - 4.7.0 -cont-
	* improve PLC for several codecs.
	* fix VP8 issue upon packet loss.
	* add opus (windows only // other platforms coming)
	* fix ARM/AMR-WB sdp issue introduced in previous version.

18/09/2012 - 4.7.0 -cont-
	* improve jitter after a payload change with a different rate happens.
	  (loss of conversation for a few seconds)
	* add PLC for some codecs with PLC feature
	* add basic PLC for all codecs

14/09/2012 - 4.7.0 -cont-
	* add SILK codec on windows/ios
	* fix bug with ptime:100
	* add automatic bandwidth control with SILK.
	* allow up to 10 audio codecs instead of 5.

06/09/2012 - 4.7.0 -cont-
	* fix android/ios video graph upon multiple active video calls.
	  ** please make sure to load msnoimage on android and ios with newer
	  amsip versions on ios & android. ie: call libmsnoimage_init() **
	* fix MUTE API
	* fix location of b:AS paramter in SDP for audio. (low bitrate mode)
	* reduce log size.
	* initial work on video encoder re-usage: (test with
	  #define ENCODER_REUSE)

28/08/2012 - 4.7.0 -cont-
	* compilation issue on windows.
	* fix if 0 is used for bitrate with IPP H264
	* experimental code for re-using video encoder in conference.

06/08/2012 - 4.7.0 -cont-
	* support for 2 h264 payloads
	* fix race condition for audio on macosx
	* improve image overhead on macosx
	* experimental threaded encoding with IPP/H264 plugin.
	  (compile with ENABLE_H264_ASYNC)
	* remove address if interface is not UP (macosx/ios)
	* add rotation capabilities for iOS - set bits on image
	  data/mblkt_t this way:
	  mblk_set_payload_type(buf, 1); //ask for 90 rotation
	  mblk_set_payload_type(buf, 2); //ask for 180 rotation
	  mblk_set_payload_type(buf, 3); //ask for 270 rotation
	* stop ICE extra negotiation if ice is already concluded.
	* failover using frequent OPTIONS request.
	* remove full path for osip logs.

30/07/2012 - 4.7.0 -cont-
	* fix to retreive inactive SDP with am_session_off_hold.
	* fix to maintain mute state accross re-INVITE.
	* fix stream direction when user has required "hold" and
	  receive "sendrecv" re-INVITE after.
	* add userdata parameter for eof audio callback

05/07/2012 - 4.7.0 -cont-
	* add MS_BGRA support in libyuv/libmsippyuv/libmsswscale
	  plugins.
	* use MS_BGRA for fastest performance using GDI/windows.
	* fix nvidia minimal buffer size for encoding to allow
	  higher bitrate.

03/07/2012 - 4.7.0 -cont-
	* bcg729 (additionnal commercial license required)
	  added for iOS and android
	* priority bits to use best plugin/codec encoder/decoder.
	* new plugin msippall: contains all IPP plugins
	  linked in multithread mode.
	* some performance logs

15/06/2012 - 4.7.0 -cont-
	* memory leak with sdp calls (since 25/05/12)
	* memory leak in h264 IPP plugin
	* memory leak in AMR/ARM-WB IPP plugin
	* resource leak in jpipe/windows.
	* new plantronics device DA45/C610/C320/D100

14/06/2012 - 4.7.0 -cont-
	* update IPP to latest version // fix to allow
	  using h264 with IPP multithread version.
	* fix compilation for iOS/xcode 4.5/clang4
	* improve ICE negotiation and compliance.
	* add isac support on android and windows.

08/06/2012 - 4.7.0 -cont-
	* fix crash with h264 wrong decoder output format.
	* fix when gateway address can't be resolved.

30/05/2012 - 4.7.0 -cont-
	* fix audio buffer growing on macosx playback.
	* fix stream direction when user has required "hold" and
	  receive "sendrecv" re-INVITE after.
	* fix to keep stream active after a 491 (incoming call).

29/05/2012 - 4.7.0 -cont-
	* re-create udp socket when ios destroy it.
	* enable jitter by default on android.

18/05/2012 - 4.7.0 -cont-
	* fix no video compilation.
	* move default sound card in first position on windows.

16/05/2012 - 4.7.0 -cont-
	* allow to use speex mode between 0-10 instead of 0-6
	* support for adaptative bitrate for AMR and AMR-WB (ipp plugin)

10/05/2012 - 4.7.0 -cont-
	* fix extra CRLF in SDP on ICE/candidate line (version 03/05)

07/05/2012 - 4.7.0 -cont-
	* update android video to original video module.
	* move ZRTP as optionnal plugin.
	  (not compiled by default // ask support)

03/05/2012 - 4.7.0 -cont-
	* initial version with conference API to allow
	  several video conference with several webcams.
	* improve multi conference audio support.
	* API change: a new parameter is required for
	  video callback image. The first argument must
	  be an integer to indicate the conference room.
	* SRTP configuration (crypto suite) are now
	  used for all media.
	* new API for starting calls with list of media.
	* msnosound: a wasapi plugin producing silence
	  with timer based on a real microphone sound card.

25/04/2012 - 4.7.0 -cont-
	* if audio bitrate is set to 30, sdp answer will keep
	  only one of the lowest bitrate codec from the offer.
	  This is to be used with 3G network to force usage of
	  low bitrate codec when the offer contains high bitrate
	  codecs as prefered codecs.
	* improve usage of ICE if one side has no ICE support.
	* update to latest ZRTP
	  (not compiled by default // ask support)

20/04/2012 - 4.7.0 -cont-
	* fix osip/exosip time // use sytem time instead
	  of day time.
	* improve symmetric RTP when one side don't have
	  ICE enabled and a delay occur in stream
	  establishment.
	* fix when profile-level-id is missing in remote
	  SDP offer.
	* initial version with conference API to allow
	  several audio conference with several sound cards.

18/04/2012 - 4.7.0 -cont-
	* fix srand for ssrc generation.
	  windows: replace with windows native API.
	  other platforms: improve seed generation.

11/04/2012 - 4.7.0 -cont-
	* add API for non-adaptative RTP buffer configuration.
	* fix macosx compilation project for no-IPP workspace.

04/04/2012 - 4.7.0 -cont-
	* improve osip mutex.
	* avoid RTP failure when ZRTP is choosen but not compiled.
	* add SRTP overhead for bitrate when ZRTP is used.

04/04/2012 - 4.7.0 -cont-
	* optionnal ZRTP support available on windows.
	  (not compiled by default // ask support)
	  ZRTP support requires a 3rd party license from zfone.
	* API to control ZRTP support (if available)
	* new plantronics device (windows): Savi Office 7xx
	* add API to get RTCP statistics on audio stream.

28/03/2012 - 4.7.0 -cont-
	* update the RtpTransport model for future improvements.
	* fix/improve background colors.
	* send STUN Binding Indication when no RTP video is sent.
	* add API to enable/disable or set the denoiser level.
	* add a webcam plugin with no output image.
	* add H264 hardware encoder based on CUDA.
	  Note: IDR are too large to fit into MTU. Thus,
	  packetization-mode is forced in the encoder and
	  this may introduce interop issue with other devices.
	* fix usage of asymetric video negotiation.

20/03/2012 - 4.7.0 -cont-
	* new plantronics device (windows/macosx): BT300,
	  A478USB and C420 v2.
	* new jabra device (macosx): UC550MONO UC550DUO
	  BIZ2400MONOUSB PRO930 PRO9450.
	  UC250, UC150MONO, UC150DUO are broken (audio is also
	  broken with itunes).

16/03/2012 - 4.7.0 -cont-
	* new jabra device (windows): UC250 UC550MONO UC550DUO
	  UC150MONO UC150DUO BIZ2400MONOUSB PRO930 PRO9450
	* fix time issue on windows with timeGetTime on some host
	  with several processor.
	* update osip & eXosip2 to 4.0.0 // multireg version
	  (compile amsip with -DEXOSIP4)
	* new model with ffmpeg outside mediastreamer2 as
	  libmsffmpeg and libmswscale plugins.
	* new jpeg-turbo alternative for JPEG support.

22/02/2012 - 4.6.0 -cont-
	* update mediastreamer2 .def file to compile VP8/windows.
	* fix when am_quit/am_reset is called with active ICE
	  video call still pending.
	* update to latest libyuv r180

21/02/2012 - 4.6.0 -cont-
	* add missing vp8 headers for windows.
	* add new API to provide TLS certificates and keys.
	* add new API to remove a username/password entry.

15/02/2012 - 4.6.0 -cont-
	* add VP8 video on android & windows.
	* use macosx certificate store for TLS validation.
	* ignore all TLS errors if no verification is configured.
	* add missing macosx video driver.

08/02/2012 - 4.6.0 -cont-
	* fix mslibyuv conversion (all platforms)

03/02/2012 - 4.6.0 -cont-
	* update libyuv and compile with all adequate optimisation.
	  performance test show high benefit on iOS and android.
	* add g729d/g729e/g7291 codecs (Intel Performance Library)
	* improve AMR/AMR-WB detection of octet-align/band-efficient
	  (Intel Performance Library only)
	* minor fix for video on macosx (msv4m2.m)
	* add macosx workspace to compile without Intel Performance
	  Library.

26/01/2012 - 4.6.0 -cont-
	* fix jitter buffer when a live change of codec with different
	  sample rate occurs on ios.
	* fix sampling rate conversion when incoming/outgoing codec
	  use different sampling rates.
	* add g722 codec.

24/01/2012 - 4.6.0 -cont-
	* new libyuv plugin for fast conversion // already usable
	  on iOS, android, windows and macosx.
	* remove 0.0.0.0 from discovered local IP (iOS//ice issue)
	* fix osx video format for "nowindow display" mode.
	* improve macosx build workspace.

30/12/2011 - 4.6.0 -cont-
	* modification: do not display selfview in main view any more.
	* srtp: add all standard crypto suite including AES 256bit.
	* add configurable srtp support // improve negotiation.

22/12/2011 - 4.6.0
	* new API to make setup sdp parameter optionnal.
	* fix linux video filter // update to latest structure.
	* improve/fix when image size change on the fly (iphone)
	* allow broken Route/Record-Route in incoming INVITE.
	  (best effort is usefull in re-INVITE/UPDATE...)
	* full macosx framework updated & ready for xcode 4.2
	  with latest IPP plugins compiled with Intel C++ Composer.
	* fix to encode any size for H263-1998.
	* improve rotation code.
	* avoid most stretching in display/outgoing image (iphone).
	* add support for receiving any video size from an encoder.
	* allow dynamic update for video device list. (updated each
	  time "am_option_find_camera with camera.card=0" is called)
	* sip dscp API.
	* better quality for iphone/android video.
	* ready for video on iphone.
	* fix previous subscription modification.
	* new API to reject all video negotiation.
	* minor improvements for SUBSCRIBE support.
	* fix to allow authentication for un-subscribe & TCP/TLS mode.
	* "nowindowdisplay": 2 image on windows.
	* "nowindowdisplay": 1 image with selfview inside on macosx.
	* use adaptative jitter on iphone.
	* fix srtp with '\' interop issue.
	* add TLS fragmentation support.
	* add "nowindowdisplay" replacement (#define NOWINDOW_DISPLAY)
	* fix srtp for apple/iphone.
	* improve RTCP support.
	* allow stitcher to use yuv IPP plugin.
	* update to latest IPP 7.x.
	* fix HID for x64 on windows.
	* fix videostitcher for 9th participant.
	* improve RTCP content.
	* improve usage of expires header for registration.
	* fix DNS bug with SRV record.
	* add support for x64 build on windows.
	* add callback support for volume energy on iphone.
	* fix race condition for reliable (TCP/TLS) BYE authentication.
	* fix to escape username for contact header in some NAT case.
	* fix compilation with ndk r5b on android.
	* fix packetization-mode parameter for h264 for outgoing call.
	* add support for more video size in mediastreamer2.
	* remove many warnings for vs2010 compilation.
	* escape username in contact of in-dialog request/response.
	* use mode=0/1 to control h264 SDP for "packetization-mode".
	* add NV21 support in mediastreamer2.
	* update ffmpeg (git 25/01/2011), theora and ogg.
	* add c-ares (asynchronous DNS for NAPTR/SRV record)
	* fix support for extension bit in RTP.
	* fix interop with RTP packets with timestamp=0 and seq=0
	* fix TCP/TLS re-connection for "in-progress" use case.
	* fix TCP/TLS connection failure without keep alive mode.
	* basic failover upon no answer for REGISTRATION (naptr/srv only)
	* visual studio 2010 support.

14/12/2010 - 4.5.1
	* add new video size for lifesize 656*368
	* complete multitask support for iphone.
	* add TLS support for android.
	* add automatic support for rfc5168 (INFO to request SPS/PPS).
	* add dscp support with TC api. Needs admin rights (XP/vista/w7).
	* allow stitcher, camera and h264 to be used with 1280x720 (720P)
	* fix for macosx compilation.
	* improve echo limitation.
	* update for iphone echo canceller
	* update TCP & TLS. Add multitasking support for iphone for TLS.
	* fix for JABRA GO670 on a java app.
	* fix mute HID API for bua200 & c420. (wrong code used)
	* replace application/sipfrag by message/sipfrag for NOTIFY.
	* add support for NAPTR/SRV record on iphone.
	* fix ACK retransmission upon receiving 200ok retransmission.
	* fix usage of NAPTR/SRV record for ACK.
	* enable jitter for ENABLE_NOCONF_MODE.
	* fix bug showing up after receiving a 422 for an INVITE.
	* add a msconf.c replacement without conference capabilities.
	  You need to compile amsip with #define ENABLE_NOCONF_MODE.
	* improve de-packetization support for H263. (sbit/ebit support)
	* fix for linux/macosx/iphone: loop for playing wav file by default.
	* add HID support for plantronics device: MCD100/BUA200/C420.(win32)
	* update windows mobile 6 compilation and uncomplete support for MX31.
	* add HID support for GO670 new firmware.
	* add support for private extension: P-AM-ST.
	* remove obsolete authentication header in SUBSCRIBE after a stale.
	* fix missing authentication in some rare TCP case.
	* new API for NOTIFY within calls & SUBSCRIBE refresh (flexibility)
	* fix maximum authorized delay when VAD is disabled or noisy env.
	* handle packet loss within the last 10 packet in file transfer.
	* fix when video is restarted and no images has been processed.
	* fix wrong payload number when sending dtmf in some use-case.
	* fix bug with speex/16000 and speex/32000
	* fix race condition when closing directx video grabber on windows.
	* fix SUBSCRIBE with expire 0 retries if not receiving NOTIFY.
	* fix bug for large TCP/TLS packets.
	* fix file transfer issue for 0kb file.
	* fix dead lock in previous change for UDP file transfer.
	* add more plantronics and jabra devices on macosx.
	* add support for settings DSCP in TOS on vista and above.
	* new API for DSCP in TOS for audio/video/text/udpftp RTP streams.
	* avoid sending rfc2833 when remote side don't indicate support for telephone-event.
	* fix crash in mswasapi & directsound when deactivating sound cards.
	* improve file transfer over UDP.
	* add volume control in AudioUnit for macosx.
	* add HID support for link280, link350OC, GO6470, BI2400USB jabra on macosx.
	* fix audio on macosx (switch to Audiounit)
	* remove method parameter when building non standard SIP requests.
	* replace AudioQueue with AudioUnit on macosx.
	* new password API
	* fix for hard drive serial detector.
	* add HID support for more jabra devices.
	* fix compilation without video for linux.
	* improve macosx video grabber performance.
	* use UTF8 path for loading static video images.
	* return 200 ok after a re-INVITE when no common video codec are found
	* add HID support for some plantronics and jabra devices.
	* change API for amsiptools from boolean to integer/extend API to support for control.
	* HID new architecture.
	* windows: improve HID support for CS60, CATALINA, and Jabra A330.
	* macosx: new HID support for CS60, CATALINA, and Jabra A330.
	* update all IPP plugins to IPP 6.1.
	* fix default ptime for g729 (from 10ms  to 20ms)
	* fix wasapi support for some device with same input & output names.
	* fix hardware resizing with SDL.
	* prefer YUYV to MPEG format for webcams on linux. (much faster/reduce CPU)

23/02/2010 - 4.5.0
	* change SSRC threshold parameter from 50 to 5 for audio.
	* add API to accept expired or self signed certificates with TLS.
	* add swsscale API to replace libswscale. (new IPP option based plugin available)
	* fix memory leak with video display.
	* fix wasapi driver for cards with same input & output name.
	* new APIs for video background color and FPS for webcam.
	* update to newer architecture for video module for all platforms.
	* new APIs for selfview mode, position and scale factor.
	* add/improve APIs for Allow/Allow-Events/Supported headers
	* improve display & self view quality on windows
	* improve random key generation support for SRTP, remove MKI parameter.
	* improve support for expires in 200 ok for SUBSCRIBE.
	* improve player and recorder to support UTF-8 arguments for filenames.
	* update to newer architecture for video module.
	* add delay between rfc2833 dtmf RTP packets according to duration.
	* fix TLS when remote server break connection.

04/12/2009 - 4.4.2
	* fix sleep value (extra CPU usage) issue with file transfer.
	* fix MME/DirectSound deadlock after long call time.
	* remove jitter/delay when receiving video stream with wrong timestamp.
	* interoperate with server sending empty realm.
	* new masquerading option: update contact by re-using received & rport even
	   when stun is not used. (call am_network_masquerade AFTER am_network_start).
	   static masquerading is still possible if you call am_network_masquerade BEFORE
	   am_network_start.
	* improve TLS and TCP support by adding support for non-blocking socket.
	* improve TLS to use "Windows Certificate Store" for keys and certificates.
	* fix when receiving additionnal CRLF on reliable transport.
	* preserve ratio in windows video display.
	* fix when switching codec with a different sample rate on the fly.
	* fix SDP memory leak on incoming calls.
	* use unicode logs on windows mobile.
	* update to allow using libv4l2.

14/10/2009 - 4.4.1
	* fix windows mobile compilation.
	* AudioQueue/macosx: support for several device. Volume support.
	* initial JPEG/90000 video codec support.
	* fix setting echo canceller tail_length.
	* update all configure script to latest autotool (mac/linux).
	* increase buffer size for RTP socket on video&t140
	* handle new camera size/do not detect camera with no pins.
	* add sustain parameter support echo limiter/fixe initial version.
	* add support for AMR/AMR-WB
	* handle interoperability with linksys announcing g729a instead of g729.
	* fix live switching between static image & real video.
	* zero data when playing wav with msfileplayer.c (non-windows)
	* add built-in session-timer support.
	* support for the sprop-parameter-sets.
	* fix postiion of bandwidth parameter in SDP answers for video.
	* allow the first 8th calls to have audio enabled/allow video mixing for 8.
	* keep same SSRC after audio media modification.
	* dynamic update for MME/DirectSound device.
	* fix input volume control for MME & Directsound.
	* add noise-gate support on microphone/echo limiter.
	* add equalizer support on output & microphone.
	* fix wrong uri format in registration API.
	* adapt bitrate/fps values for static image in h263/h264.
	* fix h264 encoder to accept large image.
	* fix IDR/SPS/PPS delay with h264 encoder when using static image.
	* fix issue with wav size shown by windows media player.
	* fix loading large jpg image for static image. (stack overflow)
	* fix loading jpg image in format other than YUV420P.
	* fix to load default jpg when image can't be loaded.
	* add API to add contact-param in Contact header of REGISTER.
	* add HID control for CS50/CS60, A330 and GN9350 headsets.

17/06/2009 - 4.4.0
	* new API to support echo limiter.
	* new API to boost capture/playback level. (only playback implemented)
	* new API to enable AGC.
	* new API to enable NAPTR+SRV, SRV only, or none.
	* new wasapi driver for audio on vista: remove other on vista.
	* new directsound driver for audio on XP with aec effect from microsoft.
	* new dynamic update of sound cards list on vista.
	* new default jpg image compiled into exe when jpg is not loadable.
	* new relative time in log information on linux/windows.
	* new experimental "half duplex" simulation mode.
	* new masquerading option: do not use with STUN/ICE/TURN enabled.
	* new volume control using mediastreamer2 API: volume & mute controls.
	* new amsiptools library containing webcam settings
	* update ICE to latest draft-19.
	* update player to support any sample rate/any sound filter.
	* fix Contact header in request within dialog for non-UDP transport.
	* fix NAPTR support for vista platform.
	* fix bug when there are more than 10 SRV records in DNS answers.
	* fix bug when there is no common video codec in answer and offer.
	* fix: unescape last uri parameters.
	* fix: initial work on TCP fragmentation. (TODO in TLS).
	* fix to be able to start without audio support.
	* fix to avoid sending ICMP between initial INVITE and SDP negotiation.
	* fix to manage change in image size in the stitcher on the fly.
	* fix to allow adding uri parameter in REGISTER To uri.
	* remove 481 auto answer for unsolicited NOTIFY.

27/01/2008 - 4.3.3
	* remove all HTTP options
	* upgrade STUN to latest rfc.
	* try to fix video features introduced in 4.3.2/4.3.1

12/12/2008 - 4.3.2
	* fix to get video statistics.
	* re-introduce self view window.
	* reduce a little the number of charactere in SIP & SDP messages.
	* add video codec in OPTIONS's "2xx" answers.
	* decrease CPU on windows by reducing the fps to 15 on video driver.

30/11/2008 - 4.3.1
	* allow changing display window during an active video call.
	*     usefull when going to full screen mode.

27/11/2008 - 4.3.1
	* fix memory leak when using player in "play once" mode.
	* fix to avoid switching ssrc when receiving two RTP streams on same port.

01/11/2008 - 4.3.0
	* allow changing sound cards when a call is active.
	* fix when no active audio is used when closing a call.
	* windows sound & video improvements.
	* video mixing capabilities (4 participants).
	* ultra wide band support.
	* replace libresample with speex resampling.
	* fix when realm is 0 length.
	* file transfer over UDP/RTP (non standard implementation).
	* fix various sound issue when using resampling.
	* update for speex and ffmpeg (compiled with mmx).
	* mtu detection.
	* several fix for h264 support, now stable using IPP.

04/02/2007 - 4.1.1
	* add support for WM6.0
	* fix expires header in 200ok for REGISTER and PUBLISH.
	* add some interop. fixes (hold/inactive/offhold and other...)
	* fix hold behavior: stream sound (sendonly) and stop video (inactive).
	* add capability to start call with video enabled.
	* add some new YUV formats for video.
	* video is now complete on macosx.

04/02/2007 - 4.1.0
	* improve quality of sound and use of echo canceller.
	* improve & fix for player quality.
	* use directshow driver for video on windows.
	* fix DTMF timestamp & cseq value.
	* interop. fixes.
	* update version number in SDP offers.
	* fix using ICE with TCP.
	* add TLS and SRTP support.
	* add method to stop video.

04/02/2007 - 4.0.7
	* minor interoperability fix.

04/02/2007 - 4.0.6
	* update vbamsip to support 4 calls.
	* fix authentication when qop is present in 401/407
	* transparent handling of OPTIONS request outside calls.
	* add feature to maintain fake DNS entries.
	* complete REFER related APIs.
	* new sound card selection API based on capture/playback capabilities.
	* fix for TCP handling.
	* video improvements on windows/linux.
	* sound improvements on windows.
	* fix dead lock under heavy load.

15/12/2006 - 4.0.5
	* fix broken (application locked) method to receive dtmf.
	* most video capability working (H263, theora, MPV4-ES)
	* fix several player issue: now reported to work. 
	* improve echo canceller with cards that can't provide data each 20ms
	* improve interoperability when Mime-Version is omitted.
	* improve conference manager by doing VAD on incoming streams.
	* add support for resampling between narrowband and wideband.
	* add support for audio streaming in wideband.
	* add support for switching codecs on the fly.
	* allow replacement of audio drivers and RTP manager.
	* initial video support.

06/11/2006 - 4.0.4
	* improve audio scheduling on windows/wince
	* fix bugs when SDP is in 200ok/ACK
	* new player feature to play files locally on sound card.

18/10/2006 - 4.0.3
	* restart played files after call modification (INVITEs/UPDATEs)
	* add capability to load plugins from a given directory. (windows)
	* windows mobile/smartphone support with VS2005 mostly working.
	* Visual Basic test application for windows CE: vbamsipua
	* Visual Basic test application for windows: vbamsip

8/09/2006 - 4.0.2
	* add capability to load plugins from a given directory. (linux)
	* partial windows mobile/smartphone support with VS2005.

8/09/2006 - 4.0.1
	* audio quality is back to normal.

8/09/2006 - 4.0.0j
	* API should now be frozen very soon.
	* echo canceller is working.
	* hold/offhold API is renamed.
	* RTP telephone-events are working.
	* Pre-Route set does not appear any more in message out of dialog.
	* version is candidate for beta.
	* lots of other changes.

XX/08/2006 - 4.0.0h
	* fix bug when receiving SDP answer with unsupported codec as first codec.
	* add preprocessor to echo canceller.
	* add capability to enable/disable echo canceller.
	* add capability to stop recording before end of call.
	* add more flexible API for incoming/outgoing subscriptions.
	* complete API for sending/answering request within/without calls.