Download‎ > ‎

History of changes

Rel 5.76

  * Corrected pause duration. Pauses were not that accurate and could be seconds off

  * Improved RTP streaming from a pcap file. Bug forced RTP streaming of codec supported. After the

    fix it is possible to stream from a file any recorded codec

  * Fixed a bug where audio was not locally played if scenario is re-ran multiple times in consecutively



Rel 5.74

  * Fixed echo RTP mode. Incoming RTP packets may have not be sent and incorrect detection of RTP packets as unexpected messages.

Rel 5.72

  * Fixed a problem where RTP was not sent over IPv4 when a call negotiated over IPv6


Rel 5.70

  * Implemented RTP over IPv4 when signalling is over IPv6

Rel 5.68

  * Fixed bug when RTP was not stopped when the scenario is over

  * If the program worked in TLS mode it did not properly echoed RTP stream

  * Fixed bug when dialling digits was interleaved with streaming RTP

  * Fixed In some cases last entry in the scenario was not executed

  * Optimized RTP stream handling

  

Rel 5.64

  Bug fixes:

  * If more than one pcap file is in a scenario only the first pcap file was

  played


Rel 5.62

  Bug fixes:

  * Improved logic when sending digits and live speech

  

Rel 5.60

  Bug fixes:

  * INVITE message is not processed for T.38 INVITE


Rel 5.58

  Bug fixes:

  * Thread deadlock issue which caused problems during stress testing scenarios.


Rel 5.56

  Bug fixes:

  * Fix for a scenario not ending properly.

<---- BYE

----> 200 OK

  * Changes made to support more advanced scenarios like gradual call increase.

  * Changed the way internal variable CCnt is referenced. Now have to use [CCnt] to get its value.

  * Minor changes to pause maintainer and corrected gradual call increase scenario.

  * Synchronized to fix outgoing/incoming message logging. For example it was happening that response to the 

      request was logged in a file before the request itself.

  * Fixed logic which dials outgoing digit. Increased inter-digit time and in some cases the 1st digit was omitted

  

Rel 5.54

  Bug fixes:

  * The following logic did not work well in case a variable was getting a value from a non-existing header

      xy=("Non-Existing-Header:","*")

      if (xy has anything) goto end


Rel 5.52

  Bug fixes:

  * Re-transmissions were not sent as expected

  * Looping within the same scenario should not increase call-id value

  * Now possible to compare variable to a two or more word value

  * When running in CLI mode the program did not always respect -tc N constraint

  * In some cases scenario was prematurely terminating (for example last 2 entries in a scenario are incoming messages)


Rel 5.50

  Bug fixes:

  * '-noCID' flag was not respected when ran from a CLI

  * long scenario enties were not limited to 35 characters in CLI mode and on Scenario proogress screen

  

Rel 5.48

  * Propagated 3.54 code changes to 5.xx


Rel 5.46

Bug fixes:

  * Fixed a timestamp problem when dialing digits. It should stay the same in all rtpevents for the same digit.

  * Propagated 3.52 code changes to 5.xx


Rel 5.44

Bug fixes:

  * Inability to explicitly set variable value to an arbitrary value (for example, Header field is empty and Expr:"=10")

  * Incorrect logic that sets a variable value for cases like this one:

      <--- 200

      ---- set toTag=("To:","tag=*")

      <--- NOTIFY

      where 200 and NOTIFY are coming in very close in time.


Rel 5.42

Bug fixes:

  * Inserting variable value from a file in form 50000+1 does not start from 50000 but from 50001

  * Call generation does not respect total number of calls generate if Call-ID has a constant value

  * Added information about which port fails to open

  

Rel 5.40

New features:

  * Condition operators are expanded. Beyond default (<, <=, ==, !=, >=, >, has) users can now add division and modulo.

    For example:

     a)     condition=if (Resp/100 == 4) goto end   // will go to the end for any 4XX response

     b)     condition=if (rndVal%5 == 0) goto end   // for every rndVal divisible by 5 scenario goes to the end

     NOTE: Conditions can be edited directly within GUI combo box, or edited in Scenario Entry Text section of the program

     --> See newly added scenario 'Client_reg_outgoing_call_advanced.txt' which illustrates new condition evaluation and

         waiting for an incoming RTP

   * Added new condition cases which waits on the RTP from the remote side before it moves to another scenario entry

Bug fixes:

  * Call generation does not respect total number of calls constraint.

  * Fixed GUI issues where custom values are added through combo boxes (applies to custom SIP messages and relational

    operators under conditions)


Rel 5.38

  * Fixed a bug which caused values increments not to work correctly if values file contains empty lines

  * When scenario other than default is loaded, modified and saved a scenario name on program's title bar was wrong

  * Fixed a bug where scenario can be only loaded once (after that the program had to be restarted to open another scenario)

  * Scenario could not start with random or regular variable

  * Timing of pauses is incorrect if scenario starts with a variable and Call-ID references the variable   


Rel 5.36

  * Fixed inability to add 'RTP echo' option through GUI

  * RTP echo mode did not work correctly

  * Added option to log scenario progress screen (before was always turned on, now it is turned off by default)

  * Added CLI option logScen to enable scenario progress logging at the end of scenario run

  * Improved logic where scenarios directory is looked for

  * Fixed inconsistency where log files are stored

  * Random variable was not available in a dropdown list on condition dialog screen


Rel 5.34

Bug fixes:

  * Calls are not generate if scenario starts with a pause and goes like this:

  ---- Pause[ms]=1000

  ---> INVITE

  ....

  * Inability to evaluate variable content against value which has multiple words

  condition=if (toTag has maybe this or that) goto end 

  condition=if (toTag has "maybe this or that") goto end 

  * Extra empty SIP log files are created when SIP logging checkbox is selected

  * 'lrtp' option set on CLI is not reflected in SDP


Rel 5.32

Bug fixes:

  * Corrected local IP address selection if multiple IP addresses available on the PC where program runs.

    (Before the bug fix, the program was not really picking what selected, rather it used the first IP listed)

  * Incorrect logic to play RTP from pcap file. Was causing problem where pcap file would not be playe entirely

  * Inability to edit and set 'Remote RTP Port' and 'Group RTP packets' fields under Options/Remote RTP... .


Rel 5.30

Bug fixes:

  * If '-to' switch is used, successful scenario completion was not reported until time-out expires


Rel 5.28

Bug fixes:

   * Fixed condition evaluation bug.

    ----------

condition=if (Resp > 200) goto End

Rel 5.26

Bug fixes:

   * If ephemeral port is used the value has to be used wherever [local_port] is referenced


Rel 5.24

Bug fixes:

   * Allow local SIP port to be set to 0. If that's the case, an ephemeral port is picked


Rel 5.22

Bug fixes:

   * Failure to process message with SDP if telephone-event is missing

   

Rel 5.20

New Features:

   * Added live speech option for RTP. Using a microphone and speakers it is possible talk and listen. Can act as a true SIP phone now. Supported speech codecs are: PCMU and PCMA

   * RTP command to inject arbitrary digits into a speech path

   * New scenario is added 'Client_speech_dials.txt'. It establishes a call, create a two audio and dials a random 7 digit number

Bug fixes:

   * GUI layout

   * Resizing issues

   * TLS connectivity issues when running the program from CLI. (Was filing to reuse the same port)

    

Rel 5.04

New Features:

   * Added support for DNS SRV. Under remote server now it is possible to enter values like this: _sip._udp.example.com

     The same is possible to enter from a command line for switch -rip (-rip _sip._udp.example.com)

Rel 5.02

   * Bug fix regarding call/second generation speed, total and concurrent calls


Rel 5.00 (Deluxe version)

New Features:

   * Command line interface. To get help use switch -h. Order of switches is not important.

   * New transport protocols: TLS and WSS

   * Public/Private key creation and management (RSA, EC, DH, DSA)

   * Self signed certificate creation

   * Localized keystore which keeps own certificate and private key

   * Localized trust store to keep remote servers' certificates.

   * Keystore and trust store keep material after program is closed. Meaning, certificates need to be added only once.

   * CLI mode provides ability to limit scenario execution time. After timeout, scenario is interrupted and short summary is displayed on the screen along with unexpected message summary

   * Option to check remote client's certificate

   * Option to display or not to display scenario progress while running in command line mode

   * New binary format *nix OSs allow user. No more typing 'java -jar...'

   NOTE: To ensure progress screen is working right on Windows it is required to download and install ANSICON libraries (http://adoxa.altervista.org/ansicon/). Once downloaded, unzip and from DOS prompt enter either 'x86' or 'x64' depending if you are running on 32-bit or 64-bit mahcine and execute 'ansicon -i'. After that start new DOS console and from now on everything will work fine.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Rel 4.02

   * Improved RTP streaming:

      - each stream has unique SSRC

      - each stream gets the same RTP packets (order and number of packets is the same)

      - this enables having multiple concurrent RTP sessions and dialing in the same numbers over and over

Rel 4.00

   * Supports new 'websocket' transport protocol to carry SIP messages


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Rel 3.54

   * All header values should be returned in proper string case

   * Fixed a bug which deletes a call from the DB when scenario execution reaches its end

Rel 3.52

   * Fixed compact headers with no space before the header value

Rel 3.50

   * Fixed condition evaluation bug.

    ----------

condition=if (Resp > 200) goto End

Rel 3.48

   * New RTP command which enables to change media port while scenario is executed

Rel 3.46

   * Fixed issue when streaming a pcap file to many RTP clients. Packet is read and sent to all, another packet read and sent to all clients,...

   * Fixed conditional branching logic

   * If system is run in server mode, the program does not stop execution once the scenario reaches end. After fix it continues

     to work in daemon mode.

   * Allowed the program to find call based on Call-ID if a remote client uses a short header name (i:).

Rel 3.44

   * Fixed TCP issue when SIP Inspector was running as a client and using ephemeral rather than configured port. To

     use ephemeral port just set local port value to 0.

Rel 3.42

   * Fixed error when chaining SIP scenarios. Socket and threads were not properly spawned after finishing the first scenario.

Rel 3.40

Bugs fixed:

   * An error when loading values from non XML formatted file

   * An issue when scenario is loaded, changed and saved under different name with "Save Scenario As", then changed again and saved with "Save Scenario" option.

Rel 3.32

   * Improvement in IP address discovery (wildcard IP addresses included)

Rel 3.30

New feature:

    * The content of values file can stay in its previous format (simple and ';' separated values) or it can be an XML format in the following form

    <values>

        <rowValues>

            <value>hello</value>                                    <!-- Referenced with '[field0]' -->

            <value><![CDATA[<Something more exotic>]]></value>      <!-- Referenced with '[field1]' -->

        </rowValues>

    </values>

Bug fixed:

    * If program is in server and Options/Don't check Call-ID is checked selected incoming messages are not processed.

    * Unexpected messages do not reset values referenced with keyword '[last_To:]' or similar key words.

Rel 3.28

New feature:

   * Added new option (Options/Don't check Call-ID). The option is used to script scenario where

     only sequence of messages are known, but the program is not allowed to check and validate

     the messages belong to the same dialog.

     

Rel 3.24

Bug fixed:

   * Under special circumstances it was possible Machine-ID was empty

   * Correct IP version caching in between runs


Rel 3.22

New Features:

   * IPv6 addresses in SIP message should be surrounded with square brackets as per http://tools.ietf.org/html/rfc5118

   This means [local_ip] and [remote_ip] will be enclosed within [] if IPv6 is selected, and without [] if IPv4 

   * IPv6 addresses in SDP body should be without square brackets. For that reason new keyword [local_ip_sdp] is introduced and that keyword never encloses an IP address with []

   * Added shortcuts CTRL+O, CTRL+W, CTRL+S to load scenario, load values and save scenario file, respectively

   * Added a hint at the main window title in form of '*'. A hint indicate when to save the original scenario file.

   * Modified original scenarios so the same scenario content works well for both IPv6 and IPv4


Bug fixed:

   * After initially loading scenario file changes were not remembered.


Rel 3.10

Bug fixed:

  * TCP message corruption

  * Thread synchronization when accessing the same call


Rel 3.00

New Features:

  * TCP support

  * IPv6 support

  * Echo RTP mode (used to replay incoming RTP back to originator)

  * Variables can get random values (can be used in messages or to vary pause durations

  * Ability to store whole SDP body in a variable (to pass SDP back and forth when brokering calls between two sides)

  * Ability to save remote clients IP:port into a variable and re-use it later


Bug fixed:

  * Resizing on some OSs did not work well

  * Open scenario and values files now start in 'scenarios' and 'values' directories, respectively

  * Last used scenario was not loading automatically next time the program starts