Revision history for Net::SIP
0.39
- work around missing support for non-blocking sockets in IO::Socket
on MSWin32 platform
- fix http://rt.cpan.org/Ticket/Display.html?id=30691 where the same realm
was authorized again and again if the given user/pass where wrong
0.38
- fix dns lookup problem for SRV records. Instead of using the
IP it used the service name (e.g. _sip._udp....) as the target
of the packet
- bin/answer_machine.pl - crude attempt to create filenames
which don't have chars special to windows ('<',...)
0.37
- Endpoint::close_context now cancel all outstanding deliveries
for this context in the dispatcher. Extented queue objects
and Dispatcher::cancel_delivery to make this possible
- tests for file descriptor leaks (09_fdleak.t,10_fdleak.t)
- some more Scalar::Util::weaken for callbacks in Simple::Call
to stop circular references
0.36
- small performance improvements for Net::SIP::Simple::RTP
and samples/bench
- fixed race condition on Net::SIP::Dispatcher::Eventloop (e.g
one callback disabled fd, but it tried to call callback for the
disabled fd)
- added Net::SIP::Simple::cleanup and made some references to the
objects within callbacks weak, so that no objects and file
descriptors would leak if properly used
0.35
- Net::SIP::Simple::Call - close call context in $call->cleanup,
otherwise it could leak file descriptors if the call wasn't
closed clean (with BYE or CANCEL).
- new test applications for simple benchmarks in samples/bench
- documentation: new file samples/README describes the files in
samples/
0.34
- Net::SIP::Simple: handle OPTIONS requests. These are for
instance used by Asterisk to determine if the registered
party accepts incoming calls.
0.33
- fix rt#29153 in StatelessProxy.pm ($1 from prev regex
used after call of user function, which could change it)
- Endpoint::new_response - make sure that 2xx responses to
INVITE carry a contact header
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