[ANN] Sipper 2.0.0 Released

N

Nasir Khan

Project : http://http://rubyforge.org/frs/?group_id=3D7001

Homepage : http://sipper.agnity.com

June 23, 2009

Overview
=3D=3D=3D=3D=3D=3D=3D=3D

The downloads are available from Rubyforge Sipper project website for 2.0.

The downlaods are in the form of platform specific gems for RH Linux,
Windows and Solaris.

This is so because there is a native library that is not bundled as a
native extension to leverage

multi-core, multi-cpu boxes that are so prevalent in telecom labs.

If your platform is not listed above then you can check out the source
from SVN and build SipperMedia binary under /media/ and copy the
binary to /bin. Then build the gem using "gem build sipper.gemspec" or
rake task



Installation
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

The installation is just a gem installation. "gem install
SipperXXXX.gem" where the gem file is your platform gem file.

If you are using an older version of SIPr you can safely uninstall
older version using "gem uninstall Sipper" and also remove any Sipper
installation from windows using \programFiles\Sipper\uninstall.exe

Please refer to the latest Sipper book from
http://sipper.agnity.com/http://sipper.agnity.com/documents.php





Changes since last release
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D


1. Feature to pause and resume the load on Linux is added. CTRL^z is
the key used to pause and resume the load.[June 23 2009]

2. The default log directory for non project executables like ssmoke
etc has been shifted to a temporary file

3. If Session is attached to a transport, IP and Port (created using
the right Session type and IP and Port provided e.g
create_udp_session(ip, port)) then it (the transport/ip/port tuple) is
used for all purposes and never changed unless user changes IP and
Port from the controller. If the session is detached (e.g
create_session() or create_udp_session()) then the destination is
ascertained by normal SIP rules taking into account SIP URI, pre
existing routes, Route headers etc and is also changed/modified as a
result of SIP signaling like remote target update during the call
establishment or subsequent to call establishment. [June 12 2009]

4. Changes done to simplify SIPr installation. Now SIPr is just one
gem install. [June 9 2009] Note the details below.



5. <a>For new projects after the gem install it works out of the box
<b>.For old projects (backwards compatibility), just copy the new
Rakefile in the project directory root and everything should work
fine. (To get the new Rakefile, just create a blank new project and
copy the Rakefile).

6. For running from the source directly. (Developers only), assuming
no Sipper gem installed on that machine, just Rubyforge SVN checked
out and also no sipper in windows ProgramFiles. <a>.You shall need the
SIPPER_HOME env var and point to the root of your SVN check out (one
dir above "sipper" or "sipper_test") <b>.Also need to copy the
commands in your ruby/bin or /usr/local/bin for sgen, srun, sproj and
ssmoke. Take the example for sgen as reference "ruby
$SIPPER_HOME/bin/sgen "$@" <c>.Both old and new projects should work
without any change with source installation.



7. Fix for =96n 1 in bulk. In new scheme if rate was 1, with RunLoad
option, controller was not running. [May 24 2009]

8. Modified SDP class. Added the ability to add media attributes other
than "a". So far using add_media_attribute_at() function always added
a=3Dxxx parameter. Now for all media attribute functions add/remove/get
media_attribute(s)_at functions we have an optional third argument
that takes the type of attribute, one of :m, :i, :c, :b, :k, :a. The
default is :a. So in order to add a "b" attribute on the first media
line (index 0) you would do - sdp.add_media_attribute_at(0,
"AS:12600", :b) [May 24 2009]



9. Bug fix for #22249. Recording name now rolls over while bulk
testing [May 24 2009]

10. Fix for bug #23943. Added the bin dir in the gemspec. Also
included /usr/local/bin in the search path for media (for backwards
compatibility). [May 11 2009]



11. If protocol compliance is set to lax then early media can even be
established with non reliable provisional response. Of course only
answer will work here, offer cannot be made with non-reliable
provisional response anyway. [May 11 2009]

12. emit_console is also made a controller directive now. So you can
set "emit_console true" in the controller and ALL messages will be
printed. This is useful for UAS case when setting on session could be
done only when first message was received and so it was not printed.
[May 11 2009]



13. Simplified load testing without any modification to the test or
controller. In order to run the test in bulk mode, all you need is a
new configuration option :RunLoad set to true, or alternatively have a
=96l (minus lowercase L) flag passed on to srun. You can optionally pass
=96b <number of calls to run>or =96n <call rate in cps> option to srun in
addition to =96l as before to override the number of calls or call rate,
otherwise the defaults are picked from configuration from :NumCalls
and :CallRate [April 13 2009]

14. Fixed WaitForSignaling effect as the test was not exiting. [Mar 22 2009=
]



15. SIPr media API rehash to have simplified APIs for all media
access. Also included the past work for voice activity detection. [Mar
17 2009]

16. Added ability to exit from srun (from within the controller code)
using SIP::Locator[:Sipper].sipper_exit will also need to require
'util/locator' in controller. This is in addition to -rf <n> or run
for option from srun commandline. [Mar 17 2009]



17. Added the ability to print messages as the test progresss. Using
session.emit_console =3D true for a particular session. [Mar 17 2009]

18. Added the ability to alter the SDP body (session-lines,
owner-version, media-lines and media-attributes)after creating the
offer or answer.[Mar 17 2009]

19. Feature #24328. The ACK to non failure response is now delivered
to controller, such that it can clean up and perhaps more importantly
finish the test in some cases. [Mar 15 2009]



20. Fix for bug #24327, not sending cnonce when no qop in challenge,
also the ability to not send qop in the challenge. [Mar 12 2009]

21. Fix for bug #24439, ProxyController::create_proxy_request doesn't
handle Record-Route correctly. [Mar 12 2009]



22. Network Asserted Identity implemented as per RFC 3325. [Jan 05 2009]

23. Support for integrated webserver provided. Now the same controller
can also act like Webserver and handle HTTP and SIP requests. The
association of SIP and HTTP Sessions is automatic and seamless. A
pattern similar to SIP handling has been used to have same look and
feel in controllers. [Dec 24 2008]



24. Digest Server authentication added in SIPr. Earlier we just had
Digest client support. Now users can also challenge a request from a
UAS. Two levels of API added one purely directive based and other
gives complete control over challenge creation and response matching.
[Dec 21 2008]

25. PIDF generator implemented as per RFC 3863 and example test case
as per RFC 3856 added.

pidfdata =3D XmlDoc::pidfTuple.new("open", "sip:[email protected]",
"0.2", "Welcome to SIPr World !!")

r.content =3D session.create_pidf_doc("sip:[email protected]",pidfdata,
"Registration done !!").to_s

[Dec 19 2008]

26. SIP Registration Event - API to generate reginfo doc and example
test case as per RFC 3680.

r.content=3D session.create_reginfo_doc('sip:[email protected]',0).to_s

[Dec 18 2008]



27. Private header extensions implemented as per RFC 3455 [Dec 11 2008]

28. Privacy mechanism implemented as per RFC 3323, 3325 & 4244. One
can apply the complete privacy service by calling a simple API called
"apply_privacy()" in SIPr b2bua_controller.

request =3D apply_privacy(request)

[Dec 11 2008]



29. Sipper Load balancer - a SIP UDP load balancer to scale up the
Sipper load, implemented as external process [Dec 10 2008]

30. Included support for TCP transport according to RFC 3261 [Dec 03 2008]



31. Improved interface for verify_call_flow(), the direction is now
optional [Dec 03 2008]

[released as patch - 1.1.3.2 Sipper-1.1.3.2.gem Nov 11]



32. Handling of new headers for PUBLISH method and example test case
as per RFC-3903. [Nov 13 2008]

33. Fix to speed up the recvfrom_nonblock read from UDP socket on
Windows platform. [Nov 11 2008]



34. Service-Route Header implemented as Address Type header. Example
test case as per RFC-3608 added. [Nov 11 2008]

35. Helper methods for Replaces header creation and finding session
based on Replaces Header value. Rejection of improper Request with
replaces header as per RFC-3891 in strict mode. To create a replaces
header for a session and find the session from the replaces header.

request.replaces =3D session1.create_replaces_header

session1 =3D session2.find_session_from_replaces

[Nov 10 2008]



36. Session recorder file name fix to read the files in order of
creation in platform independent way.[Nov 9 2008]



37. Support for PATH Header (RFC-3327) [Nov 9 2008]



38. Support for Media keepalive to keep NAT binding open for media
channel when SDP negotiated to Inactive or RecvOnly state. [Nov 7
2008]

39. NAT discovery and traversal code based on config and/or controller
directive or session config, helper method for REGISTER [Nov 7 2008]



40. Enhanced HTTP API to support - Basic authentication, PUT request,
addition of custom header, arbitrary body [Nov 3 2008]



[released as patch - 1.1.3.1 Sipper-1.1.3.gem Oct 21]



41. Fix to add an empty header (without value) to a SIP message [Oct 21 200=
8]
 
E

Eleanor McHugh

Project : http://http://rubyforge.org/frs/?group_id=7001

Homepage : http://sipper.agnity.com

June 23, 2009

Overview
========

The downloads are available from Rubyforge Sipper project website
for 2.0.

The downlaods are in the form of platform specific gems for RH Linux,
Windows and Solaris.

This is so because there is a native library that is not bundled as a
native extension to leverage

multi-core, multi-cpu boxes that are so prevalent in telecom labs.

If your platform is not listed above then you can check out the source
from SVN and build SipperMedia binary under /media/ and copy the
binary to /bin. Then build the gem using "gem build sipper.gemspec" or
rake task


The overview would be more helpful if it started with a description of
what sipper is :)


Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,539
Members
45,024
Latest member
ARDU_PROgrammER

Latest Threads

Top