Date: Thu, 17 Jun 2004 09:50:56 +0200 (CEST) From: Jesper Dalberg <jesper@jdn.dk> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/68036: [NEW PORT] net/sipp: SIP testing tool Message-ID: <20040617075056.89E6A665A@stan.jdn.dk> Resent-Message-ID: <200406170750.i5H7oMQs064477@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 68036 >Category: ports >Synopsis: [NEW PORT] net/sipp: SIP testing tool >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Jun 17 07:50:21 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Jesper Dalberg >Release: FreeBSD 5.2.1-RELEASE i386 >Organization: >Environment: System: FreeBSD stan.jdn.dk 5.2.1-RELEASE FreeBSD 5.2.1-RELEASE #0: Sat May 15 15:17:44 CEST 2004 >Description: Sipp is a performance test tool / traffic generator for the SIP protocol. It comes with a few basic SipStone user-agents scenarios (UAC & UAS), i establishing and releasing multiple calls with the INVITE and BYE methods. WWW: http://sipp.sourceforge.net/ Generated with FreeBSD Port Tools 0.50 >How-To-Repeat: >Fix: --- sipp-0.3_1.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # sipp # sipp/Makefile # sipp/distinfo # sipp/pkg-descr # sipp/files # sipp/files/patch-Makefile # sipp/files/sipp.1 # sipp/files/patch-comp.h # echo c - sipp mkdir -p sipp > /dev/null 2>&1 echo x - sipp/Makefile sed 's/^X//' >sipp/Makefile << 'END-of-sipp/Makefile' X# New ports collection makefile for: sipp X# Date created: 15 Jun 2004 X# Whom: jesper@jdn.dk X# X# $FreeBSD$ X# X XPORTNAME= sipp XPORTVERSION= 0.3 XPORTREVISION= 1 XCATEGORIES= net XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED} X XMAINTAINER= jesper@jdn.dk XCOMMENT= SIP testing tool X XWRKSRC= ${WRKDIR}/${PORTNAME} XPLIST_FILES= bin/sipp XMAN1= sipp.1 X Xpre-install: X @${CP} ${FILESDIR}/${MAN1} ${WRKSRC}/ X Xdo-install: X ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin X ${INSTALL_MAN} ${WRKSRC}/sipp.1 ${PREFIX}/man/man1/sipp.1 X X.include <bsd.port.mk> END-of-sipp/Makefile echo x - sipp/distinfo sed 's/^X//' >sipp/distinfo << 'END-of-sipp/distinfo' XMD5 (sipp-0.3.tar.gz) = e088f4aa98bda0f3300b1250bd24094a XSIZE (sipp-0.3.tar.gz) = 57099 END-of-sipp/distinfo echo x - sipp/pkg-descr sed 's/^X//' >sipp/pkg-descr << 'END-of-sipp/pkg-descr' XSipp is a performance test tool / traffic generator for the SIP protocol. X XIt comes with a few basic SipStone user-agents scenarios (UAC & UAS), i Xestablishing and releasing multiple calls with the INVITE and BYE methods. X XWWW: http://sipp.sourceforge.net/ END-of-sipp/pkg-descr echo c - sipp/files mkdir -p sipp/files > /dev/null 2>&1 echo x - sipp/files/patch-Makefile sed 's/^X//' >sipp/files/patch-Makefile << 'END-of-sipp/files/patch-Makefile' X--- Makefile.orig Tue Jun 15 14:25:12 2004 X+++ Makefile Tue Jun 15 14:25:28 2004 X@@ -30,6 +30,7 @@ X X # Libraries directories X LIBDIR_linux= X+LIBDIR_FreeBSD= X LIBDIR_hpux= X LIBDIR_tru64= X X@@ -50,6 +51,7 @@ X # SYSTEM nickname X SYSTEM_HP-UX=hpux X SYSTEM_Linux=linux X+SYSTEM_FreeBSD=freebsd X SYSTEM_OSF1=tru64 X SYSTEM=$(SYSTEM_$(OSNAME)) X X@@ -60,29 +62,34 @@ X CPP_hpux=aCC X CPP_linux=gcc X CPP_tru64=cxx X+CPP_freebsd=g++ X CPP=$(CPP_$(SYSTEM)) X X #C Compiler Flags X CFLAGS_hpux=-D__HPUX +DAportable X CFLAGS_linux=-D__LINUX -pthread X+CFLAGS_freebsd=-D__LINUX -pthread X CFLAGS_tru64=-D__OSF1 -pthread X CFLAGS=$(CFLAGS_$(SYSTEM)) -D__3PCC__ X X #C++ Compiler Flags X CPPFLAGS_hpux=-AA -mt -D__HPUX +DAportable X CPPFLAGS_linux=-D__LINUX -pthread X+CPPFLAGS_freebsd=-D__LINUX -pthread X CPPFLAGS_tru64=-D__OSF1 -pthread X CPPFLAGS=$(CPPFLAGS_$(SYSTEM)) -D__3PCC__ X X #Linker mapping X CCLINK_hpux=aCC X CCLINK_linux=gcc X+CCLINK_freebsd=g++ X CCLINK_tru64=cxx X CCLINK=$(CCLINK_$(SYSTEM)) X X #Linker Flags X LFLAGS_hpux=-AA -mt +DAportable X LFLAGS_linux= X+LFLAGS_freebsd= X LFLAGS_tru64= X LFLAGS=$(LFLAGS_$(SYSTEM)) X X@@ -90,6 +97,7 @@ X LIBS_linux= -ldl -lpthread -lcurses -lstdc++ X LIBS_hpux= -lcurses X LIBS_tru64= -lcurses -lpthread X+LIBS_freebsd= -lcurses -pthread X LIBS=$(LIBS_$(SYSTEM)) X X # Operating system detection rule END-of-sipp/files/patch-Makefile echo x - sipp/files/sipp.1 sed 's/^X//' >sipp/files/sipp.1 << 'END-of-sipp/files/sipp.1' X.\" X.\" Standard preamble: X.\" ======================================================================== X.de Sh \" Subsection heading X.br X.if t .Sp X.ne 5 X.PP X\fB\\$1\fR X.PP X.. X.de Sp \" Vertical space (when we can't use .PP) X.if t .sp .5v X.if n .sp X.. X.de Vb \" Begin verbatim text X.ft CW X.nf X.ne \\$1 X.. X.de Ve \" End verbatim text X.ft R X.fi X.. X.\" Set up some character translations and predefined strings. \*(-- will X.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left X.\" double quote, and \*(R" will give a right double quote. | will give a X.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to X.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' X.\" expand to `' in nroff, nothing in troff, for use with C<>. X.tr \(*W-|\(bv\*(Tr X.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' X.ie n \{\ X. ds -- \(*W- X. ds PI pi X. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch X. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch X. ds L" "" X. ds R" "" X. ds C` "" X. ds C' "" X'br\} X.el\{\ X. ds -- \|\(em\| X. ds PI \(*p X. ds L" `` X. ds R" '' X'br\} X.\" X.\" If the F register is turned on, we'll generate index entries on stderr for X.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index X.\" entries marked with X<> in POD. Of course, you'll have to process the X.\" output yourself in some meaningful fashion. X.if \nF \{\ X. de IX X. tm Index:\\$1\t\\n%\t"\\$2" X.. X. nr % 0 X. rr F X.\} X.\" X.\" For nroff, turn off justification. Always turn off hyphenation; it makes X.\" way too many mistakes in technical documents. X.hy 0 X.if n .na X.\" X.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). X.\" Fear. Run. Save yourself. No user-serviceable parts. X. \" fudge factors for nroff and troff X.if n \{\ X. ds #H 0 X. ds #V .8m X. ds #F .3m X. ds #[ \f1 X. ds #] \fP X.\} X.if t \{\ X. ds #H ((1u-(\\\\n(.fu%2u))*.13m) X. ds #V .6m X. ds #F 0 X. ds #[ \& X. ds #] \& X.\} X. \" simple accents for nroff and troff X.if n \{\ X. ds ' \& X. ds ` \& X. ds ^ \& X. ds , \& X. ds ~ ~ X. ds / X.\} X.if t \{\ X. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" X. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' X. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' X. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' X. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' X. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' X.\} X. \" troff and (daisy-wheel) nroff accents X.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' X.ds 8 \h'\*(#H'\(*b\h'-\*(#H' X.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] X.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' X.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' X.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] X.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] X.ds ae a\h'-(\w'a'u*4/10)'e X.ds Ae A\h'-(\w'A'u*4/10)'E X. \" corrections for vroff X.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' X.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' X. \" for low resolution devices (crt and lpr) X.if \n(.H>23 .if \n(.V>19 \ X\{\ X. ds : e X. ds 8 ss X. ds o a X. ds d- d\h'-1'\(ga X. ds D- D\h'-1'\(hy X. ds th \o'bp' X. ds Th \o'LP' X. ds ae ae X. ds Ae AE X.\} X.rm #[ #] #H #V #F C X.\" ======================================================================== X.\" X.IX Title "sipp 3" X.TH sipp 3 "2004-06-16" "sipp" "User Contributed Documentation" X.SH "NAME" Xsipp \- A benchworking tool for the SIP protocol. X.SH "DESCRIPTION" X.IX Header "DESCRIPTION" XSipp is a performance test tool / traffic generator for the \s-1SIP\s0 Xprotocol. It comes with a few basic SipStone user-agents Xscenarios (\s-1UAC\s0 & \s-1UAS\s0), establishing and releasing multiple Xcalls with the \s-1INVITE\s0 and \s-1BYE\s0 methods. X.PP XIt can also read \s-1XML\s0 scenario files describing any performance Xtesting configuration for \s-1SIP\s0. X.SH "SYNTAX" X.IX Header "SYNTAX" X.Vb 1 X\& sipp remote_host[:remote_port] [options] X.Ve X.SH "OPTIONS" X.IX Header "OPTIONS" X.Vb 1 X\& -v : Display version and copyright information. X.Ve X.PP X.Vb 1 X\& -bg : Launch the tool in background mode. X.Ve X.PP X.Vb 2 X\& -p local_port : Set the local port number. Default is a X\& random free port chosen by the system. X.Ve X.PP X.Vb 3 X\& -i local_ip : Set the local IP address for 'Contact:', X\& 'Via:', and 'From:' headers. Default is X\& primary host IP address. X.Ve X.PP X.Vb 5 X\& -d duration : Controls the length (in milliseconds) of X\& of calls. More precisely, this controls X\& the duration of 'pause' instructions in X\& the scenario, if they do not have a X\& 'milliseconds' section. Default value is 0. X.Ve X.PP X.Vb 3 X\& -r rate (cps) : Set the call rate (in calls per seconds). X\& This value can be changed during test by X\& pressing ENTER. Default is 10. X.Ve X.PP X.Vb 5 X\& -sf filename : Loads an alternate xml scenario file. X\& To learn more about XML scenario syntax, X\& use the -sd option to dump embedded X\& scenarios. They contain all the necessary X\& help. X.Ve X.PP X.Vb 3 X\& -sn name : Use a default scenario (embedded in X\& the sipp executable). Available values X\& in this version: X.Ve X.PP X.Vb 4 X\& 'uac' : Standard SipStone UAC (default). X\& 'uas' : Simple UAS responder (UDP only). X\& 'regexp' : Standard SipStone UAC - with X\& regexp and variables. X.Ve X.PP X.Vb 1 X\& Default 3pcc scanerios (see -3pcc option): X.Ve X.PP X.Vb 5 X\& '3pcc-C-A' : Controller A side (must be started X\& after all other 3pcc scenarios) X\& '3pcc-C-B' : Controller B side. X\& '3pcc-A' : A side. X\& '3pcc-B' : B side. X.Ve X.PP X.Vb 2 X\& -sd name : Dumps a default scenario (embeded in X\& the sipp executable) X.Ve X.PP X.Vb 1 X\& -t [u1|un|t1|tn] : Set the transport mode: X.Ve X.PP X.Vb 4 X\& u1: UDP with one socket (default), X\& un: UDP with one socket per call, X\& t1: TCP with one socket, X\& tn: TCP with one socket per call. X.Ve X.PP X.Vb 2 X\& -trace_msg : Displays sent and received SIP messages in X\& sipp_messages.log X.Ve X.PP X.Vb 3 X\& -trace_stat : Dumps all statistics in the <scenario_name.csv> X\& file. Use the '-h stat' option for a detailed X\& description of the statistics file content. X.Ve X.PP X.Vb 6 X\& The -trace_stat option dumps all statistics in the X\& <scenario_name.csv> file. The dump starts with one header X\& line with all counters. All following lines are 'snapshots' of X\& statistics counter given the statistics report frequency X\& (-fd option). This file can be easily imported in any X\& spreadsheet application, like Excel. X.Ve X.PP X.Vb 3 X\& In counter names, (P) means 'Periodic' - since last X\& statistic row and (C) means 'Cumulated' - since sipp was X\& started. X.Ve X.PP X.Vb 1 X\& Available statistics are: X.Ve X.PP X.Vb 2 X\& - StartTime: X\& Date and time when the test has started. X.Ve X.PP X.Vb 2 X\& - LastResetTime: X\& Date and time when periodic counters where last reseted. X.Ve X.PP X.Vb 2 X\& - CurrentTime: X\& Date and time of the statistic row. X.Ve X.PP X.Vb 2 X\& - ElapsedTime: X\& Elapsed time. X.Ve X.PP X.Vb 2 X\& - CallRate: X\& Call rate (calls per seconds). X.Ve X.PP X.Vb 2 X\& - IncomingCall: X\& Number of incoming calls. X.Ve X.PP X.Vb 2 X\& - OutgoingCall: X\& Number of outgoing calls. X.Ve X.PP X.Vb 2 X\& - TotalCallCreated: X\& Number of calls created. X.Ve X.PP X.Vb 2 X\& - CurrentCall: X\& Number of calls currently ongoing. X.Ve X.PP X.Vb 2 X\& - SuccessfulCall: X\& Number of successful calls. X.Ve X.PP X.Vb 2 X\& - FailedCall: X\& Number of failed calls (all reasons). X.Ve X.PP X.Vb 3 X\& - FailedCannotSendMessage: X\& Number of failed calls because Sipp cannot send the X\& message (transport issue). X.Ve X.PP X.Vb 3 X\& - FailedMaxUDPRetrans: X\& Number of failed calls because the maximum number of X\& UDP retransmission attempts has been reached. X.Ve X.PP X.Vb 3 X\& - FailedUnexpectedMessage: X\& Number of failed calls because the SIP message received X\& cannot be associated to an existing call. X.Ve X.PP X.Vb 4 X\& - FailedCallRejected: X\& Number of failed calls because of Sipp internal error. X\& (a scenario sync command is not recognized or a scenario X\& action failed or a scenario variable assignment failed). X.Ve X.PP X.Vb 4 X\& - FailedCmdNotSent: X\& Number of failed calls because of inter-Sipp X\& communication error (a scenario sync command failed to X\& be sent). X.Ve X.PP X.Vb 5 X\& - FailedRegexpDoesntMatch: X\& Number of failed calls because of regexp that doesn't X\& match (there might be several regexp that don't match X\& during the call but the counter is increased only by X\& one). X.Ve X.PP X.Vb 3 X\& - FailedRegexpHdrNotFound: X\& Number of failed calls because of regexp with hdr X\& option but no matching header found. X.Ve X.PP X.Vb 1 X\& -stf file_name : Set the file name to use to dump statistics X.Ve X.PP X.Vb 2 X\& -trace_err : Trace all unexpected messages in X\& sipp_errors.log. X.Ve X.PP X.Vb 2 X\& -s service_name : Set the username part of the resquest URI. X\& Default is 'service'. X.Ve X.PP X.Vb 2 X\& -f frequency : Set the statistics report frequency on screen X\& (in seconds). Default is 1. X.Ve X.PP X.Vb 2 X\& -fd frequency : Set the statistics dump log report frequency X\& (in seconds). Default is 60. X.Ve X.PP X.Vb 4 X\& -l calls_limit : Set the maximum number of simultaneous X\& calls. Once this limit is reached, traffic X\& is decreased until the number of open calls X\& goes down. Default: X.Ve X.PP X.Vb 1 X\& (3 * call_duration (s) * rate). X.Ve X.PP X.Vb 2 X\& -m calls : Stop the test and exit when 'calls' calls are X\& processed. X.Ve X.PP X.Vb 3 X\& -mp local_port : Set the local RTP echo port number. Default X\& is none. RTP/UDP packets received on that X\& port are echoed to their sender. X.Ve X.PP X.Vb 1 X\& -mi local_rtp_ip : Set the local IP address for RTP echo. X.Ve X.PP X.Vb 5 X\& -3pcc ip:port : Launch the tool in 3pcc mode ("Third Party X\& call control"). The passed ip address X\& is the address of the twin sipp 3pcc tool X\& The used scenario must be a 3pcc relative X\& scenario X.Ve X.PP X.Vb 1 X\& -nr : Disable retransmission in UDP mode. X.Ve X.SH "EXIT CODE" X.IX Header "EXIT CODE" X.Vb 7 X\& Upon exit (on fatal error or when the number of asked calls (-m X\& option) is reached, sipp exits with one of the following exit X\& code: X\& 0: All calls were successful X\& 1: At least one call failed X\& 99: Normal exit without calls processed X\& -1: Fatal error X.Ve X.SH "EXAMPLES" X.IX Header "EXAMPLES" X.Vb 4 X\& Run sipp with embedded server (uas) scenario: X\& ./sipp -sn uas X\& On the same host, run sipp with embedded client (uac) scenario X\& ./sipp -sn uac 127.0.0.1 X.Ve X.SH "AUTHORS" X.IX Header "AUTHORS" X.Vb 2 X\& Richard Gayraud <richard_gayraud@users.sourceforge.net> X\& O Jacques <ojacques@users.sourceforge.net> X.Ve END-of-sipp/files/sipp.1 echo x - sipp/files/patch-comp.h sed 's/^X//' >sipp/files/patch-comp.h << 'END-of-sipp/files/patch-comp.h' X--- comp.h.orig Thu Jun 17 08:32:56 2004 X+++ comp.h Thu Jun 17 08:33:04 2004 X@@ -19,6 +19,9 @@ X * From Hewlett Packard Company. X */ X X+#if __FreeBSD__ < 5 X+#include <sys/types.h> X+#endif X #include <sys/socket.h> X X #ifdef __cplusplus END-of-sipp/files/patch-comp.h exit --- sipp-0.3_1.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040617075056.89E6A665A>