- Suitable for Debian Jessie and for Ruby >= 1.9.3 and Ruby 2.X.X.
- (437abd4) Remove Posix Message Queue dependency. OverSIP can now run in OSX.
-
(7befa37) RFC 6228 (199 response) implemented in
Proxy#drop_response(response)
. The method now allows passing theOverSIP::SIP::Response
instance to drop and, in case it is a [3456]XX response and the received request includes "Supported: 199" then a 199 response is sent upstream. -
(1159607) New
OverSIP::SIP::Request#ruri=(uri)
method which replaces the Request URI of the request by passing anOverSIP::SIP::Uri
instance or a string. Also allow passing a URI as string toUacRequest.initialize
and route based on it (if nodst_host
param is given to theUac
instance routing such a request). New class methodsOverSIP::SIP::Uri.parse(string)
andOverSIP::SIP::NameAddr.parse(string)
which generate instances of those classes. -
(a2971fc) New
OverSIP::ParsingError
exception which is raised when invalid data is passed toOverSIP::SIP::Uri.parse(uri)
orOverSIP::SIP::NameAddr.parse(name_addr)
. -
(2689e02)
OverSIP::SIP::Proxy
andOverSIP::SIP::Uac
instances now allow setting multiple callbacks (for events likeon_success_response
) and all of them will be executed sequentially. -
(4b7c47f) New method
OverSIP::SIP::Uri#has_param?(param)
. -
(774de3b) New instance methods
clear_on_xxxxxx()
andclear_callbacks()
to clear existing callbacks inOverSIP::SIP::Proxy
andOverSIP::SIP::Uac
. -
(e58974f) New design of
OverSIP::Modules::OutboundMangling
module:add_outbound_to_contact()
now requires passing anOverSIP::SIP::Proxy
as argument rather than a request, and it internally adds the callback to the 2XX response (for reverting the custom ;ov-ob param) soremove_outbound_from_contact()
is no longer required and has been removed. -
(31114a0) Added
OverSIP::SIP::Uri#clear_params()
which removes all the params from the URI. -
(c610d90) Add
advertised_ipv4
andadvertised_ipv6
configuration options for running OverSIP in NAT'ed boxes.
- (04b0882)
request.fix_nat()
works now for initial requests regardlessrequest.loose_route()
is not called (thanks to Vlad Paiu for reporting).
- (ac18ff2) Added
OverSIP.root_fiber
attribute which stores the rootFiber
.
-
(0a858b1) Encode the body in UTF-8 also when received via WebSocket.
-
s/2012/2013/g
.
-
(6ee6b8c) Fixed a bug in name_addr.rb that prevents the NameAddr to be printed until some URI field is modified.
-
(9b20db3) Add via_branch_id attr reader to UacRequest to avoid a bug in
OverSIP::SIP::Uac#route()
method.
-
(d9eee0d) Improved OverSIP security limits (Posix Message Queue) for Debian/Ubuntu (fixes bug #27).
-
(834462a) Use C binary syntax 0x1 instead of 0b00000001 (fixes bug #23 and bug #29).
- (3d7fa9e) Fixed a bug that writes an empty Record-Route header when an INVITE asking for incoming Outbound support comes from a TCP connection initiated by OverSIP.
- (042fdaf) Fixed an important bug in record-routing mechanism that makes OverSIP not to add Record-Route/Path headers.
-
(6afa5a6) All the callbacks in
server.rb
are now executed within a new Fiber allowing synchronous style coding by using em-synchrony libraries. -
(b950bba) New class
OverSIP::SIP::Uac
that allows OverSIP behaving as a UAC for generating and sending SIP requests. New classOverSIP::SIP::UacRequest
for generating requests to be sent viaOverSIP::SIP::Uac#route
method (also allows sending a receivedOverSIP::SIP::Request
instance). -
New methods
initialize()
,sip?
,tel?
andget_param()
forOverSIP::SIP::Uri
class (doc). -
New class
OverSIP::SIP::Client
, parent class ofOverSIP::SIP::Proxy
andOverSIP::SIP::Uac
. New methodadd_target_to_blacklist()
(doc). -
OverSIP::SIP::Client#on_error()
method is now called with a third argument: a Ruby symbol trat represents the exact (internal) error code. -
OverSIP::SIP::Client#on_target()
callback is now called with a single parameter: the instance ofOverSIP::SIP::RFC3263::Target
(API change). -
(7e9733e) New feature: automatic blacklists. When a destination (target) fails due to timeout, connection error or TLS validation error, the target is added to a temporal blacklist and future requests to same target are not attempted until the entry in the blacklist expires.
-
(c921687) Added
on_target()
andabort_routing()
methods forProxy
class. -
(7e54d1c) Don't raise an exception if the received STUN request contains an invalid IP family (vulnerability!).
-
(f7eefd6) If request.from or request.to (
NameAddr
instances) are modified before routing the request, changes are applied for the outgoing request and reverted when sending responses upstream. -
(0f9d3ec) If request.contact
NameAddr
fields are modified then changes are applied in the forwarded request. -
(df1389e) Added
SystemCallbacks
module for 3rd party modules to set custom callbacks when OverSIP is started, reloaded (HUP signal) or stopped. -
(9d310d6) Added
OverSIP::SIP::Uri#aor()
method which returns "sip:user@domain" for a SIP/SIPS URI (no port or params) and "tel:number" for a TEL URI (no params). -
(56e099b) Added a new method
OverSIP::SystemEvents.on_initialize()
useful for 3rd party modules configuration by the user. -
(aac4bad)
OverSIP::SIP::Modules::RegistrarWithoutPath
renamed toOverSIP::SIP::Modules::OutboundMangling
. -
(ce48977)
OverSIP::SIP::Modules::Core
moved toOverSIP::SIP::Core
. -
(98e5308)
OverSIP::SIP::Modules
moved toOverSIP::Modules
.