Skip to content

Latest commit

 

History

History
314 lines (253 loc) · 12.5 KB

CHANGES.md

File metadata and controls

314 lines (253 loc) · 12.5 KB

BREAKING(!) changes in 3.7.3

  • Remove support for variables in PCAP filenames, originally introduced in 3.7.0. See #673

Bugs fixed in 3.7.3

  • Recovered -mp and [auto_media_port] to maintain backwards compatibility (by Orgad Shaneh)
  • Fix crash when using PCAP play with more than one call (by Pete O'Neill)
  • Fix pager on macOS by trying less and more too (by Walter Doekes)

Bugs fixed in 3.7.2

  • Remove excessive log

Bugs fixed in 3.7.1

  • Correctly open the control socket
  • The SIPp binary can now be built even when the gtest checkout is missing
  • rtpstream files are now also found next to the scenario. If it is not found there, it will be treated as a relative path as usual.

Features added in 3.7.0

  • RTPstream can now handle .wav files with a WAV header (by Orgad Shaneh)

Bugs fixed in 3.7.0

  • RTPCHECK stability fixes (by Jeannot Langlois)
  • Support CRLF-format injection files (by Orgad Shaneh)
  • Fix to [next_url] when a display name is present in the contact (by enneig)
  • Add 'transport' to the Contact header for UAC scenarios (by Martin Flaska)
  • Update built-in scenarios to Copy Record-Route from INVITE to 200OK to comply with RFC 3261 (by kadabusha)
  • Fix for local_port keyword using TCP or TLS (by Felippe Silvestre)
  • Correct handling of IMS-AKA RES values containing null bytes (by Sergey Zyrianov)
  • Fix potential overwrite of auth value when calculating auth (by ZhaohuiLiu)
  • Diagnostics improvements:
    • Print, rather than lose, any buffered response time data on exit (by Orgad Shaneh)
    • Add the IPs and remote address family to 'Network family mismatch' log (by Rob Day)
    • Print OpenSSL error reason when certificate load fails (by Rajesh Singh)
    • Give clear error if multiple command-line parameters are being interpreted as remote_host
  • Prevent clock_tick moving backwards (and getting behind wheel_base and causing an assert) (by Rob Day)
  • Ensure that sockets are marked as non-blocking before OpenSSL calls are made (by Rob Day)
  • Prevent RTPStream crash due to a thread ID of 0 (by Rob Day)
  • Cygwin, FreeBSD and Hurd build fixes (by Orgad Shaneh, kadabusha and Zopolis4)
  • Static build fixes (by Aaron Meriwether)

Features added in 3.7.0~rc1

  • B2BUA Media Gateway RTP/SRTP bit pattern testing -- see docs/rtpcheck_xml_syntax_reference.pdf. Command line examples:
    # UAS (RTP)
    ./sipp -m 1 -sf sipp_scenarios/pfca_uas.xml \
      -i 127.0.0.3 -t u1 -p 5060 -rtp_echo
    
    # UAC (RTP)
    ./sipp -m 1 -sf sipp_scenarios/pfca_uac_apattern.xml \
      -t u1 -i 127.0.0.2 -p 5060 127.0.0.3:5060
    
    # UAS (audio SRTP)
    ./sipp -m 1 -sf sipp_scenarios/pfca_uas_audio_crypto_simple.xml \
      -t u1 -i 127.0.0.3 -p 5060 -srtpcheck_debug
    
    # UAC (audio SRTP)
    ./sipp -m 1 -sf sipp_scenarios/pfca_uac_apattern_crypto_simple.xml \
      -t u1 -i 127.0.0.2 -p 5060 -rtpcheck_debug -srtpcheck_debug \
      127.0.0.3:5060
    
    By Jeannot Langlois.
  • Removed -mp in favor of -min_rtp_port and -max_rtp_port. Also removed [auto_media_port]. There are way too many (conflicting) options to specify ports here.
  • URL encode/decode <action> for scenarios (by Jérôme Poulin).
  • Variables in the rtpstream/pcap filenames (by Orgad Shaneh).
  • WolfSSL/WolfCrypt library support (as alternative to OpenSSL, by Thomas Uhle).

Bugs fixed in 3.7.0~rc1

  • Documentation updates. Code cleanups. Build fixes. (By Walter Doekes, Thomas Uhle, ChanderG, Lin Sun, Markus Goetzl, Rob Day, Stefan Mititelu, Orgad Shaneh, Karn Saheb).
  • Fix socket/tcp refcount/order issue (by Orgad Shaneh).
  • Fix timezone in [date] on FreeBSD (by kadabusha).
  • Track auto-answered messages as a visible counter rather than an error log (by Rob Day).
  • Unconditionally show index in scenario screen (by Rob Day).

Bugs fixed in 3.6.2

  • Fix crash when abusing authentication method (#503, by Markus).
  • Fix crash when trying to change an unset ooc scenario (#463, by @jquinn60137).
  • Fix various build issues with CMake and/or missing version.h and/or compiler warnings. By Walter Doekes, by Silver Chan, Thomas Uhle, Orgad Shaneh.
  • Remove RTP_STREAM define. The code is always included. (By Orgad Shaneh.)
  • Various minor documentation fixes. By Walter Doekes, kadabusha, Thomas Uhle, Alexander Traud.

BREAKING(!) changes in 3.6.1

  • CMake is now used as build environment: autoconf and friends are gone (#430, by Rob Day (@rkday)). See build.sh for CMake invocations. For a full build, do:
    cmake . -DUSE_GSL=1 -DUSE_PCAP=1 -DUSE_SSL=1 -DUSE_SCTP=1
    make -j4
    

Bugs fixed in 3.6.1

  • Consistently unescape XML attributes when loading scenario (#458, by Steve Frécinaux (@nud)).
  • Fix buffer overflow in screen output (#479, reported by @brettowe).
  • Fix nonce count in auth headers (#421, by Cody Herzog (@codyherzog)).
  • Fix parser warning when trying to access 0-byte SDP body (by Lin Sun (@sunlin7)).
  • Fix pcapplay on FreeBSD (#434, by Rob Day (@rkday)).
  • Improve build validation (#424, by Stanislav Litvinenko (@dolk13)), a few compiler fixes, a few ncurses fixes (including #436, reported by @TamerL), build cleanup after CMake (#443, #442, by Orgad Shaneh (@orgads)) and libtinfo linker issues (Jeannot Langlois (@jeannotlanglois)).
  • Improve provided sipp.dtd file (#425, by David M. Lee (@leedm777)), and XML fixes by Rob Day.
  • Make it easier to deal with large SIP packets by adding an optional -DSIPP_MAX_MSG_SIZE=262144 to the cmake command (#422, by Cody Herzog (@codyherzog)).

BREAKING(!) changes in 3.6.0

  • Automatic filenames (trace files, error files, etc..) are now created in the current working directory instead of in the directory of the scenario file. (Issue #399, reported by @sergey-safarov.)
  • Only validates SSL certificate if CA-file is separately specified! (PR #335, by Patrick Wildt @bluerise.)
  • Angle brackets < and > need to be escaped inside XML attributes. See #414. So, not regexp="<(sip:.*)>" but regexp="&lt;(sip:.*)&gt;".

Bugs fixed in 3.6.0

  • Fix [routes] header in UAS scenario's. (Issue #262, reported by Stefan Mititelu (@smititelu).)
  • last_Keyword does not search in SIP body anymore (#207, reported by Zoltan).

Changes in 3.6.0

  • Added PAGER by default to the extremely large sipp help output.
  • Removed unused RTPStream code concerning video streams. Also consolidated the rtpstream audio port usage to reuse the global [media_port] instead of the [rtpstream_audio_port]. Also the -min_rtp_port and -max_rtp_port options have been removed. Advantages: cleaner code, fewer scenario variables. Drawbacks: possible ICMP port unreachable messages for RCTP and video. Also, no easy way to discern different streams if you want to bombard a single UAS with multiple RTP streams. (Issue #192, reported by @atsakiridis.)

Features added in 3.6.0

  • Add play_dtmf code originally from https://sourceforge.net/p/sipp/patches/50/ (Dmitry Kunilov), then pull #82 (@horacimacias) and then #141 (@vodik). Compile with pcap-play support, and use it by adding <exec play_dtmf="1234*#"/> similar to how you use play_pcap_audio.
    • Add RTP payload 96 in your SDP: m=audio [media_port] RTP/AVP 0 96 97 a=rtpmap:0 PCMU/8000 a=rtpmap:96 telephone-event/8000 a=fmtp:96 0-15 a=rtpmap:97 no-op/8000
    • Exec syntax is <exec play_dtmf="digits[,length]"/> where digits can be one or more of "0123456789#*ABCD" and length defaults to 200 and must be between 50 and 2000.
    • Instead of digits a [field...] keyword is also accepted.
    • Make sure you add enough <pause/> after play_dtmf.
  • Add rtp_echo action (pull #259 by Snom Technology). Compile with --with-rtpstream and use it by adding <rtp_echo value="0"> to stop the RTP echo enabled via -rtp_echo. RTP echo can be restarted via <rtp_echo value="1"> action. Usage example in regress/github-#0259/uas.xml
  • Added the required constants for G722 (payload 9) and iLBC at 30ms per frame to rtp_stream media actions. (PR #366, by Jasper Hafkenscheid @hafkensite.)
  • Add quick and dirty detection of invalid XML (issue #322).
  • Clarify that -infindex should takes a basename only (issue #395, reported by @sergey-safarov).

Bugs fixed in 3.5.3

  • Fix [routes] header in UAS scenario's. (Issue #262, reported by Stefan Mititelu (@smititelu).) (Backported from b6c7b209 from 3.6.)
  • Fix bad Content-Length calculation when whitespace was between the CRLF pairs that separate the body. (Issue #337, fixed by Serg Stetsuk (@sergstetsuk)).
  • Fix crash in pcap play on send failure because of pthread_cleanup macros. (Issue #74, #370, reported by various people.)

Bugs fixed in 3.5.2

Build issues:

  • Improve ncurses/gsl detection and linkage on various platforms. (Issue #205, #271, #275, reported by Paul Malpass, AlexB, Leon Roy, Victor Seva.)
  • Fix compile issues on old CentOS and Solaris. (Issue #211, #245, #252, reported by sjthomason, mscdex.)
  • Fix newer openssl detection. (Issue #302, #304, #315, #328.)
  • Recompile entire source after a reconfigure.
  • Reduce confusion when someone downloads a tag from git instead of the tar.gz with the autogenerated files and valid version.h (#270, reported by AlexB).
  • Remove hardcoded build datetime from binary, for "reproducible builds". (#286, by Victor Seva.)
  • Replace underscore in tag-name with tilde, for debian-style "~rc1" version suffix.

Bugs:

  • Handle Contact header with extra angle brackets ('<...>') outside of the uri-parameters (in the contact-params). The contact params should not be used in the next_url. (Issue #234, reported by Justin Zimmer.)
  • Fix TLS issues for during high load. (Issue #241, #243, reported by sgel83, and fixes by Rob Day.)
  • Fix problem with get_inet_address on FreeBSD (#331, reported by tsgan.)
  • Retry video RTP bind if port is taken (#276, thanks Corey Farrell).

Tests:

  • Document search_in="hdr" test.
  • Also test without HAVE_EPOLL.

Bugs fixed in 3.5.1

  • Fix qop-value in authorization Digest. It can only hold a single value (auth, auth-int, ...) and does not take double quotes, in contrast to the challenge. Some servers returned a 400 upon receiving this. (Issue #191, reported by @artlov.)
  • Fix compile error on Cygwin. (Issue #193, reported by @Gankarloo.)

Features added in 3.5.0

  • Clean up source code, fix typo's, alter warning and error messages, fix pedantic coding style. Add gtest framework and tests. Add regression tests. Fix and improve build scripts (see also: build.sh).
  • Use better timing with clock_gettime (or clock_get_time on OSX).
  • Don't complain about the dummy variable _ being used only once.
  • Ignore 4x NUL keepalive (next to ignoring the CRLF CRLF keepalive).
  • Add [date] keyword.
  • Add -trace_screen option to log screen output in a file.
  • Add -rate_increase option to increase load periodically.
  • Add -callid_slash_ign to disable the magic triple slash behaviour.a
  • Alter -aa to also reply to OPTIONS.
  • Allow replaying pcaps with LINUX_SLL, EN10MB and 802.11 (and ratiotap) link layer types. Handle 802.1Q tagged frames.
  • Allow starting SIPp without a TERM setting (a "working" terminal).
  • Allow m=image in SDP to pcapplay faxes/images.
  • <exec play_pcap_audio="..."/> and friends:
    • If the argument is not an absolute path, the pcap is searched next to the scenario, before falling back to checking the current working directory.
    • The argument may be enclosed in brackets, in which case it is interpreted as a keyword value; set through the -key command line option. Example: <exec play_pcap_audio="[file1]"/> with option -key file1 /path/to/pcap.

Bugs fixed in 3.5.0

  • Start SDP search in body instead of in header. Fix IPv6 media address in SDP.
  • Allow single CR and single LF in SDP.
  • Don't confuse cnonce with nonce, improve other auth parsing.
  • Don't abort SIPp if the To header is missing.
  • Fixes to XML parser; improve get_peer_tag behaviour.
  • Fix jump recursion crashes.
  • Fix a few (potential) memory leaks and dangerous code.
  • Remove a few autogenerated files from tree (configure, manpage).
  • Fix digest calculation when qop is given.

3.4.1

  • Not documented here.