Revision history for Net::SIP

0.29
  - make sure that max-forwards is added to every Request from the
    endpoint and that all INVITE have a contact header because these
    are mandatory according to RFC
  - invoke 'filter' callback in Net::SIP::Simple::listen with the
    Request object as an additional argument, cb_create callback
    in listen needs to return TRUE or the call will be closed
    !!!! Warning: this might break code which did not return TRUE
    from cb_create !!!!!

0.28
  - Request.pm - make sure that nc-count is send when authorizing
    and qop was set. This is required according to rfc2617

0.27
  - Authorize.pm, Request.pm - support 'opaque' field in digest
    authorization (when authorizing or when requesting authorization)

0.26
  - SDP.pm - fix regex for IP4 which did not include all IPv4 addr

0.25
  - small fixes to SDP
  - added concept of chains, e.g. put an Authorize object in
    front of Registrar inside a ReceiveChain and all REGISTER
    requests will be authorized,
    see Net::SIP::{Authorize,ReceiveChain}
  - StatelessProxy can no longer have an internal Registrar.
    use ReceiveChain to put a Registrar in front of the proxy
    instead
  - new test t/08_register_with_auth.pl to test Authorize 
    and ReceiveChain
  - fix Request::authorize
    
0.24
  - make adding commands to NATHelper::Server easier
  - add user params for NATHelper::Session during activate_session
  - SDP: make sure that IP4/IP6 is valid IP
  - small fixes

0.23
  - fix memleak in NATHelper::Base
  - support for derived NATHelper::Base in NATHelper::Server 
  - update docu for NATHelper::Base::expire

0.22
  - enforce perl5.8 and prerequisite Net::DNS in Makefile.PL
  - NATHelper::Base - more controling of resource usage with
    max_sockets and max_sockets_in_group and/or by redefining
    (un)get_rtp_sockets

0.21
  - new sample samples/3pcc.pl for 3rd party call control
  - small fixes

0.20
  - enhancements on tests, new tests for reinvite and call on hold
  - lots of bugfixes: re-invites, NAT, call on hold, branch tag
    on via and 'tag' on to|from in responses, max-forwards handling,
    response caching in dispatcher....
  - set route from record-route in responses, use route header
    in dispatching outgoing requests
  - early loop detection for outgoing packets
  - new param call_on_hold for Net::Simple::Call to set call on
    hold on reinvite...

0.18
  - NATHelper::* changes in the return values of expire,
    close_session, activate_session to aid logging of
    sessions (see updated doc)
  - NATHelper::Local has smarter _update_callbacks
  - bugfixes, especially on Net::Simple regarding handling 
    of re-invites in existing call
  - new test t/06_call_with_reinvite.t

0.17
  - added documentation for Net::SIP::NATHelper::*
  - updated doc for Net::SIP::StatelessProxy regarding NAT
  - added HOWTO with some Q+A
  - added COPYRIGHT
  - new method 'method' in Net::SIP::Response
  - small bugfixes

0.16
  - lots of bugfixes
  - removed leg2proxy and domain2leg from Net::SIP::Dispatcher
    again because they do not fit into concept, see 
	bin/stateles_proxy.pl how to achieve similar things
  - lot of bugfixes, changes and enhancement on StatelessProxy
  - Net::SIP can now export useful things, see doc
  - a lot of enhancements for NAT, implementation of local
    (inside process) and remote NAT helpers which forward
	RTP data
  - Net::SIP::Dispatcher: lookup for A an SRV records now in
    seperate, callback oriented method (which are not asynchronous
	yet, but have an asynchronous interface)
  - moved real world usable programs from samples/ to bin/
  - more tests, samples/ and bins/

0.15
  - various bugfixes
  - limit Max-Forwards header to 70 while forwarding packets
    for security reasons (to avoid bad clients which will set
    it to something very high and then try to force loop)
  - do not add Record-Route header to REGISTER requests
  - major changes and enhancements on Net::SIP::StatelessProxy
  - rename Net::SIP::Dispatcher::Eventloop::addTimer to add_timer
    so that it is the same name like in the other modules
  - Net::SIP::Simple: way to add explicit Route headers#
  - new package Net::SIP::NATHelper do aid in the writing of 
    SIP proxies which do NAT (no documentation yet)
  - support for debug levels in Net::SIP::Debug
    sample scripts support various debug levels, see doc to
    Net::SIP::Debug for meaning of different levels
  - samples/stateless_proxy.pl as sample implementation for
    slightly complex stateless proxy (not fully tested yet)
  - new function sip_uri2parts in Net::SIP::Util
  - ways to specify custom headers in Net::SIP::Simple using
    option 'sip_header'
  - new keys domain2leg and leg2proxy in Net::SIP::Dispatcher
    which influence routing
  - new method resolve_uri in Net::SIP::Dispatcher to asnychronously
    resolve URI (was __resolve_uri, but now public with slightly
    different interface)
  - new test 03_forward_stateless which tests parts of routing
    for stateless proxy

0.14
  - forgot to include samples to MANIFEST, this is fixed now
    so that they get included into the distribution

0.13
  - samples/answer_machine.pl as a sample implementation
    of an answer machine
  - new methods peer in Net::SIP::Endpoint::Context and
    get_peer in Net::SIP::Simple::Call
  - fix inactivity timeout for media_recv_send in Net::SIP::Simple::RTP
  - media_send_recv, media_recv_echo in Net::SIP::Simple::RTP can use 
    callback for read/write data instead of filenames

0.12
  - samples/invite_and_send.pl as new sample client
    which can invite and send multiple voice file
    to peer (using re-invites)
  - various small bug fixes

0.11 
  - samples/invite_and_recv.pl as new sample client
    which can invite and record a message
  - various small features and bug fixes

0.1 - first public version