SipUnit Archive – Release Notes and TODOs

The SipUnit project has moved to a new home!

Please visit SipUnit at this new location: http://code.google.com/p/commtesting/ for Release 2.0.0 and later information.

For archival purposes, this page lists past SipUnit releases starting with Release 2.0.0 and going back.

The TODOs section describes what things were planned at one time for upcoming releases.

SipUnit R 2.0.0

This is a stable release with extensive testing performed. Here is what was done in this release:

  1. MESSAGE handling has been added, including support for authentication and MESSAGE with or without an existing dialog.
  2. JUnit 4 support was added with static assertions in new SipAssert class.
  3. SipUnit is now mavenized!
  4. Convenience methods were added to get the contact URI as javax.sip.address.URI from SipContact, the call ID from SipCall, and retransmission count from SipStack. Also, support was added for deregistration using wildcard Contact Header and a new waitForAuthorisation() method for when the far end should send 401 or 407.
  5. TLS support has been verified.
  6. JAIN SIP stack was updated.

SipUnit R 1.0.0

This is a stable release with extensive testing performed. Here is what was done in this release:

  1. Support was added for outbound REFER and implicit subscription handling. In- and Out-of-dialog REFER is supported.
  2. The JAIN SIP stack was upgraded to rev. 1.2.119 and the JUnit library upgraded to JUnit Release 4.7.
  3. JAIN SIP objects (transaction, dialog) can now be obtained from high level SipUnit classes (SipCall, etc.).
  4. A number of bugs were fixed.

SipUnit R 0.0.7b

This is a beta release. Here is what was done in this release:

  1. Added support for CANCEL.
  2. Updated JAIN-SIP stack/sdp to version: 1.2.72 (June 16, 2008).
  3. Bug Fix: Use Dialog.createAck(long) to create the Ack.
  4. Fix initialization to allow multiple stacks to run in a single application.

SipUnit R 0.0.6b

This is a beta release. Here is what was done in this release:

  1. Added support for running SipUnit tests from behind a NAT firewall or router while communicating with a SIP server on the internet. See SipSession.setPublicAddress(host,port) comments and TestWithStun.java for an example.
  2. Deprecated getLocalViaHeaders(), getLocalContactInfo() in favor of getViaHeaders(), getContactInfo().
  3. Incorporated enhancement allowing multiple SIP stacks to be created independent of IP address.

SipUnit R 0.0.5b

This is a beta release. Here is what was done in this release:

  1. Added additional high level class method signatures to take extra parms (body/headers) for request/response message sending.
  2. Incorporated the final release (version 1.2) of the SIP stack Reference Implementation kindly made available by National Institute of Standards and Technology (NIST).
  3. Fixed miscellaneous bugs.

SipUnit R 0.0.4b

This is a beta release. Here is what was done in this release:

  1. Incorporated the latest version (1.2) of the SIP stack Reference Implementation made available by National Institute of Standards and Technology (NIST).
  2. Added some SIP messaging enhancements (RE-INVITE, other misc.).
  3. Added an ant script for grouping tests together and overriding default test class parameters.
  4. Minor bug fixes.
  5. Moved to beta status.

SipUnit R 0.0.3a

This is an alpha release. Here is what was done in this release:

  1. Added client-side SUBSCRIBE/NOTIFY handling (Type II).
  2. Added an utility class to simulate a presence server for the purpose of testing a Type II client.
  3. Added an asynchronous version of makeCall() and more SipTestCase methods: assertAnswered(), assertResponseReceived(x), etc.
  4. Fixed example directory structure in binary distribution packaging.
  5. Fixed miscellaneous bugs:
    - [ 1231719 ] SipRequest.isXXX() is bugus
    - incorrect Request URI in outbound REGISTER
    - incorrect routing of ACK when proxy sets LR param in record route header
    - added authentication challenge handling to SipCall.disconnect() (for callee BYE through proxy)
    - corrected ‘is it for me?’ check in SipSession.processRequest()
    - fixed SipSession synchronization problems.
  6. Known Limitations: some scenarios not tested, for example: a SipPhone with both a call and buddy list active.

SipUnit R 0.0.2a

This is an early alpha release. Here is what was done in this release:

  • Software changes for authentication/authorization:
    • fixed registration authentication handling shortcomings
    • added support to handle challenge(s) at unregistration
    • outbound calling authentication support
  • Documentation:
    • Updates for authentication (diagrams, new sub-section).

SipUnit R 0.0.1a

This is the initial alpha release of SipUnit. Here is what was done in this release:

  • SIP User Agent Client (UAC), User Agent Server (UAS), and basic UAC/UAS Core functionality – REGISTRATION, de-REGISTRATION, INVITE, ACK, etc.
  • SIP assert test class and methods
  • Low and high level APIs
  • Authentication and authorization.

TODOs

The list of SipUnit TODOs as of Release 2.0.0:

  • add PRACK support
  • add UPDATE support
  • add OPTIONS support
  • add INFO support
  • add PUBLISH and watcher info package support.
  • add SDP-related assertions and convenience classes/methods.
  • eliminate JAXB – write a PIDF parser and reduce footprint/overhead
  • allow more than 1 SipCall per SipPhone (partial support is there).
  • Add a new method SipCall.endCall() which will be very similar to SipPhone.makeCall() in that it will take parameter response code, and block until the user-specified response code has been received. It will be the same as SipCall.disconnect() but with authentication challenge handling included and the blocking just mentioned. For both SipCall.endCall() and SipPhone.makeCall() usage: add incoming call and incoming BYE “auto-respond” capability so that a test program can handle both sides of a call while making use of makeCall() and endCall(), both of which block, without having to use a separate thread – ie, something like SipCall.sendIncomingCallResponse() with the same parameters but it can be called in advance (before calling makeCall() on the outgoing side), and do the same for disconnect.
  • figure out what other functionality is needed to make SipUnit really useful.

 

VN:R_U [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Leave a Reply