Release 5 notes
* 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
* Fixed echo RTP mode. Incoming RTP packets may have not be sent and incorrect detection of RTP packets as unexpected messages.
* Fixed a problem where RTP was not sent over IPv4 when a call negotiated over IPv6
* Implemented RTP over IPv4 when signalling is over IPv6
* 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
* If more than one pcap file is in a scenario only the first pcap file was
* Improved logic when sending digits and live speech
* INVITE message is not processed for T.38 INVITE
* Thread deadlock issue which caused problems during stress testing scenarios.
* Fix for a scenario not ending properly.
----> 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
* The following logic did not work well in case a variable was getting a value from a non-existing header
if (xy has anything) goto end
* 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)
* '-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
* Propagated 3.54 code changes to 5.xx
* 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
* 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:
---- set toTag=("To:","tag=*")
where 200 and NOTIFY are coming in very close in time.
* 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
* Condition operators are expanded. Beyond default (<, <=, ==, !=, >=, >, has) users can now add division and modulo.
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
* 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)
* 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
* 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
* Calls are not generate if scenario starts with a pause and goes like this:
* 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
* 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... .
* If '-to' switch is used, successful scenario completion was not reported until time-out expires
* Fixed condition evaluation bug.
condition=if (Resp > 200) goto End
* If ephemeral port is used the value has to be used wherever [local_port] is referenced
* Allow local SIP port to be set to 0. If that's the case, an ephemeral port is picked
* Failure to process message with SDP if telephone-event is missing
* 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
* GUI layout
* Resizing issues
* TLS connectivity issues when running the program from CLI. (Was filing to reuse the same port)
* 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)
* Bug fix regarding call/second generation speed, total and concurrent calls
Rel 5.00 (Deluxe version)
* 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