Hi all, I've been experimenting recently with a ground-up rewrite of SIPp, to simplify the code, make it more portable, easier to integrate with other tools, and faster to develop new features for. I expect to still maintain the existing C++ version, but the complexity of the code makes real innovation (as opposed to bugfixes and small improvements) difficult.
This has resulted in what I'm currently calling jSIPp, implemented in about 1500 lines of Java compared to the 22,000 lines of C++ SIPp currently uses. The page for it is https://github.com/rkday/jsipp, with a download at https://github.com/rkday/jsipp/releases/tag/v0.0.4. As a Java JAR file, it should (in theory) run on any operating system with Java installed. It's still alpha quality (current version 0.0.4), but it can already process simple call scenarios at high rates. It uses the same or similar XML files and command-line arguments as SIPp, but doesn't support all the features yet - https://github.com/rkday/jsipp/wiki/Current-Status documents exactly what is available. The most noticeable difference from SIPp is the UI - rather than having a built-in ncurses UI, jSIPp publishes the call events it sees over a ZeroMQ messaging socket, making it easy to build custom UIs and tools that record and display the performance data as required. I've created two UIs for it already, a traditional-looking ncurses one in Ruby and a more modern web UI with graphs. You can find the details at https://github.com/rkday/jsipp/wiki/ZeroMQ#sample-programs, along with enough information to build your own interfaces. If you'd like to see what new features I hope to add now that I have a simpler, cleaner implementation of SIPp, see https://github.com/rkday/jsipp/blob/master/future-directions.md. If you want to add features or fixes yourself, see https://github.com/rkday/jsipp/blob/master/design.md for a design overview to get you started. I'm happy to accept pull requests (https://help.github.com/articles/using-pull-requests). It would be really nice to get some early users using this for real projects - so if there are particular features you need implemented before you can use it, please let me know and I'll do what I can to prioritise them. Likewise, if you'd like to contribute but have questions or problems, let me know. jSIPp, like SIPp, is licensed under the GPL and free to use. Feedback/comments/criticism are all welcome. Best, Rob P.S. In case anyone is wondering what happened to the last new project I announced on this list - Quaff is still under active development (https://github.com/rkday/quaff), and likely to feature in my KamailioWorld talk about SIP testing next month. ------------------------------------------------------------------------------ _______________________________________________ Sipp-users mailing list Sipp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sipp-users