Revision history for Net::SIP 0.32 - Net::SIP::Registrar checks on non-REGISTER requests if the target it registered with itself and then rewrites the URI in the packet. This can be used for a combined Registar+Proxy, see samples/test_registrar_and_proxy.pl - samples/invite_and_*.pl have now option -L|--leg to specify a local address 0.31 - make it usable for perl5.9, tested with 5.9.5 0.30 - Option cb_preliminary for Simple::Call:reinvite to specify callback which will be triggered when preliminary response is received more parameter for cb_create in Simple::listen, so that it can create a response (like 180 Ringing) to the peer see documentation and the adapted t/02_listen_and_invite.t 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