<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Well yes, however you can use the compiled pjsua binary for script based testing as well. Also, looking at the pjsip-apps dir, there is a bin called siprtp that might do just what you’re looking for. Check out ./pjsip-apps/bin/samples/ for siprtp and others. </div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">HTH</div> <br> <div id="bloop_sign_1458533775352598016" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px">-- <br>Sean Brady<br>Sent with Airmail</div></div> <br><p class="airmail_on">On March 20, 2016 at 9:10:12 PM, Tickling Contest (<a href="mailto:tickling.contest@gmail.com">tickling.contest@gmail.com</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>
<title></title>
<div dir="ltr">Sean,
<div><br></div>
<div>I think I understood your comment incorrectly, let me try this
again. I did try a PJSIP based testing framework a while ago. I
could not get it to work, and I have forgotten what it was.</div>
<div><br></div>
<div>Anyway, what I think you are saying is that if I have come
this far, why not write the entire testing framework using PJSIP
(and Python, maybe) as it can get quite simple if I use the high
level PJSUA binding.</div>
<div><br></div>
<div>I have not tried that. And at this time, it is worth a look,
especially because I find SIPp very cumbersome.</div>
<div><br></div>
<div>So, thanks!</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sun, Mar 20, 2016 at 10:47 PM, Sean
Brady <span dir="ltr"><<a href="mailto:sbrady@haikuengineering.com" target="_blank">sbrady@haikuengineering.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="auto">
<div>Works fine for me, and it compiles with PJSIP. </div>
<div>
<div class="h5">
<div><br>
On Mar 20, 2016, at 20:46, Tickling Contest <<a href="mailto:tickling.contest@gmail.com" target="_blank">tickling.contest@gmail.com</a>> wrote:<br>
<br></div>
<blockquote type="cite">
<div>
<div dir="ltr">Sorry, but I started with PJSUA and was told that
the package is broken. I couldn't get it work. Thanks,
though.</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sun, Mar 20, 2016 at 10:43 PM, Sean
Brady <span dir="ltr"><<a href="mailto:sbrady@haikuengineering.com" target="_blank">sbrady@haikuengineering.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="auto">
<div>You can also use pjsua if you're looking for something
simpler. If you know Python there are bindings for it as well.
Freeswitch is incredibly suited to what I believe is your use
case. </div>
<div><br></div>
<div>HTH </div>
<div>
<div>
<div><br>
On Mar 20, 2016, at 20:39, Tickling Contest <<a href="mailto:tickling.contest@gmail.com" target="_blank">tickling.contest@gmail.com</a>> wrote:<br>
<br></div>
<blockquote type="cite">
<div>
<div dir="ltr">Thanks George, I think I am very, very, very
confused with sipp and how it handles the coordination (I thought I
knew this well, but the pause and ti. There _HAS_ to be a simpler
way. It is just way. Too. Complex. I just surprised that there
isn't a better tool for something that has a load of use.
Maybe I should move to Asterisk based testing. Known beast...
<div><br></div>
<div>I have already gotten it working for a single call; you will
recall in my OP I wasn't able to push it beyond about a 100 calls
concurrently, and that's when I decided to let sipp manage
everything.</div>
<div><br></div>
<div>The sipp software, I think is also quite buggy.</div>
<div><br></div>
<div>For example, I know that -p flag is supposed to take the port
over which the peer registers. This port shows up when you do pjsip
show endpoint <peerExtension>. I know this (i.e., -p param)
works in my sipp because that's how I controlled each peer in
my earlier sipp load test scenario.</div>
<div><br></div>
<div>Well, now, the local_port does not work when I pass it as a
CSV file and modify the [local_port] to [field0] etc, and as a
result, the calls are not going through.</div>
<div><br></div>
<div>They also don't have the updated documentation for release
3.5.1 which is what I am using. Sigh!</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sun, Mar 20, 2016 at 9:12 PM, George
Joseph <span dir="ltr"><<a href="mailto:george.joseph@fairview5.com" target="_blank">george.joseph@fairview5.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div class="gmail_default" style="font-family:arial narrow,sans-serif"><br></div>
<div class="gmail_quote">
<div dir="ltr">
<div style="font-family:arial narrow,sans-serif">Oh, BTW...</div>
<div style="font-family:arial narrow,sans-serif"><br></div>
<div style="font-family:arial narrow,sans-serif">If sipp doesn't do
it for you, there's another great tool you can use for load
testing. It's called Asterisk. :)</div>
<div style="font-family:arial narrow,sans-serif"><br></div>
<div style="font-family:arial narrow,sans-serif">For more complex
scenarios, what I've done in the past is set up 3 Asterisk
instances, 1 as the call generator, 1 as the system under test, and
1 as the call receiver.</div>
<div style="font-family:arial narrow,sans-serif"><br></div>
<div style="font-family:arial narrow,sans-serif">On the generator
instance, I have a script that keeps enough call files in
/var/spool/asterisk/outgoing to simulate the number of calls I
want. On the call receiver, I can set up the dialplan to do
anything I want with the calls. Transfer, play something,
echo, park. Whatever.</div>
<div style="font-family:arial narrow,sans-serif"><br></div>
</div>
<div>
<div>
<div>
<div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sun, Mar 20, 2016 at 6:37 PM, George
Joseph <span dir="ltr"><<a href="mailto:george.joseph@fairview5.com" target="_blank">george.joseph@fairview5.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div style="font-family:'arial narrow',sans-serif"><br></div>
<div class="gmail_extra"><br>
<div class="gmail_quote"><span>On Sun, Mar 20, 2016 at 5:29 PM,
Tickling Contest <span dir="ltr"><<a href="mailto:tickling.contest@gmail.com" target="_blank">tickling.contest@gmail.com</a>></span>
wrote:<br></span>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr">OK. I did that, but now, all I do is get into an
infinite loop with the registrations at the callee. Here's the
gist: <a href="https://gist.github.com/ticklingcontest/a0754549a88dc748f52d" target="_blank">https://gist.github.com/ticklingcontest/a0754549a88dc748f52d</a>
<div><br></div>
<div>Ideally, here's what I need:</div>
<div><br></div>
<div>callee registers, and accepts an infinite number of
calls.</div>
<div>caller registers, and then sends INVITES an infinite number of
times so as to keep the total number of calls per the (-l
parameter).</div>
<div><br></div>
<div>It is not clear to me how I would loop at the callee scenario
or caller scenario.</div>
</div>
</blockquote>
<div><br></div>
<div>
<div style="font-family:'arial narrow',sans-serif">You don't loop
anything. sipp runs the scenarios itself repeatedly until -m
calls have been processed.</div>
</div>
<div><br>
<div style="font-family:'arial narrow',sans-serif">I'd start
without your script or the csv files and just get a simple 1 call
scenario to work.</div>
<div style="font-family:'arial narrow',sans-serif"><br></div>
<div style="font-family:'arial narrow',sans-serif">If you want some
good examples, look at the Asterisk testsuite
tests/channels/pjsip/basic_calls scenarios.</div>
<div style="font-family:'arial narrow',sans-serif"><br></div>
<div style="font-family:'arial narrow',sans-serif">Here's a caller
file I used often... <br></div>
<div><a href="https://gist.github.com/gtjoseph/ce5a719b11f307c7ec5e" target="_blank"><font face="arial narrow, sans-serif">https://gist.github.com/gtjoseph/ce5a719b11f307c7ec5e</font></a><br>
</div>
<div><font face="arial narrow, sans-serif"><br></font></div>
<div><font face="arial narrow, sans-serif">register</font></div>
<div><font face="arial narrow, sans-serif">pause 1 sec</font></div>
<div><font face="arial narrow, sans-serif">invite</font></div>
<div><font face="arial narrow, sans-serif">pause 1 sec</font></div>
<div><font face="arial narrow, sans-serif">bye</font></div>
<div>
<div><font face="arial narrow, sans-serif">pause 1 sec</font></div>
<div><font face="arial narrow, sans-serif">unregister</font></div>
</div>
<div><font face="arial narrow, sans-serif"><br></font></div>
<div><span style="font-family:'arial narrow',sans-serif">To
simulate a call from a phone with extension/endpoint name 1100, run
it like so...</span><br></div>
<div><span style="font-family:'arial narrow',sans-serif"># sipp -sf
reg_and_call.xml -s 1100 -au 1100 -ap <password> -m 1
<server:ip></span><br></div>
<div><span style="font-family:'arial narrow',sans-serif"><br></span></div>
<div>If you want it to resister/call/unregister 100 times with 10
parallel calls over TCP, run </div>
<div style="font-family:'arial narrow',sans-serif"><br></div>
<div style="font-family:'arial narrow',sans-serif">
<div style="font-family:arial,sans-serif"><span style="font-family:'arial narrow',sans-serif"># sipp -sf reg_and_call.xml
-t tn -s 1100 -au 1100 -ap <password> -m 100 -l 10
<server_ip:port></span><br></div>
<div style="font-family:arial,sans-serif"><br></div>
<div style="font-family:arial,sans-serif">Once you get that working
by itself to an existing extension, set up your callee the
same way, then call it from a normal working extension and make
sure it responds correctly.</div>
<div style="font-family:arial,sans-serif"><br></div>
<div style="font-family:arial,sans-serif">Then have your caller
call the callee, first as a single call, then try multiple
calls.</div>
<div style="font-family:arial,sans-serif"><br></div>
<div style="font-family:arial,sans-serif">Only when you have that
working should you introduce your injection files.</div>
<div style="font-family:arial,sans-serif"><br></div>
</div>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr">
<div><span><br></span></div>
<div><span>What is really confusing in the caller script apart from
the real confusion I have with -m and -l parameters, is how the
caller's INVITE goes out from the same port as the registered port
especially when they are called as two separate processes. Does
sipp write a dot file somewhere where it gets its information
from?</span></div>
</div>
</blockquote>
<div><span><br></span></div>
<div>
<div style="font-family:'arial narrow',sans-serif">Nope.</div>
<br></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr">
<div><span><br></span></div>
<div><span>BTW, In this model, I pass the CSV file that is
pre-generated for the calls using a python script that looks like
this:<br></span></div>
<div><span><br></span></div>
<div><span>SEQUENTIAL</span></div>
<div><span>callerID1;AsteriskIPAddress;[authentication
username=silly
password=sillier];calleeID1;callDuration1;</span></div>
<div><span>callerID2;AsteriskIPAddress;[authentication
username=silly
password=sillier];calleeID2;callDuration2;<br></span></div>
<div><span>...</span></div>
<div><span>callerIDn;AsteriskIPAddress;[authentication
username=silly
password=sillier];calleeIDn;callDurationn;<br></span></div>
<div><span>etc.</span></div>
<div><span><br></span></div>
<div>
<div><span>Again, any help is appreciated. I can see how this is
turning into a sipp tutorial, so I understand if you have issues
dealing with this here, but I can tell that SIPp help is very
sparing online.</span></div>
</div>
<div><span><br></span></div>
<div><span>Thanks!</span></div>
</div>
</blockquote>
<div><span><br></span></div>
<div>
<div style="font-family:'arial narrow',sans-serif">I'll say
again... If you want some good examples, look at the Asterisk
testsuite tests/channels/pjsip/basic_calls scenarios. There
are both inbound and outbound scenarios, authed and unauthed.</div>
<div style="font-family:'arial narrow',sans-serif"></div>
</div>
<div>
<div>
<div><br></div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
asterisk-app-dev mailing list<br>
<a href="mailto:asterisk-app-dev@lists.digium.com" target="_blank">asterisk-app-dev@lists.digium.com</a><br>
<a href="http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev" rel="noreferrer" target="_blank">http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev</a><br>
<br></blockquote>
</div>
<br></div>
</div>
</blockquote>
<blockquote type="cite">
<div>
<span>_______________________________________________</span><br>
<span>asterisk-app-dev mailing list</span><br>
<span><a href="mailto:asterisk-app-dev@lists.digium.com" target="_blank">asterisk-app-dev@lists.digium.com</a></span><br>
<span><a href="http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev" target="_blank">http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev</a></span><br>
</div>
</blockquote>
</div>
</div>
</div>
<br>
_______________________________________________<br>
asterisk-app-dev mailing list<br>
<a href="mailto:asterisk-app-dev@lists.digium.com" target="_blank">asterisk-app-dev@lists.digium.com</a><br>
<a href="http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev" rel="noreferrer" target="_blank">http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev</a><br>
<br></blockquote>
</div>
<br></div>
</div>
</blockquote>
<blockquote type="cite">
<div>
<span>_______________________________________________</span><br>
<span>asterisk-app-dev mailing list</span><br>
<span><a href="mailto:asterisk-app-dev@lists.digium.com" target="_blank">asterisk-app-dev@lists.digium.com</a></span><br>
<span><a href="http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev" target="_blank">http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev</a></span><br>
</div>
</blockquote>
</div>
</div>
</div>
<br>
_______________________________________________<br>
asterisk-app-dev mailing list<br>
<a href="mailto:asterisk-app-dev@lists.digium.com">asterisk-app-dev@lists.digium.com</a><br>
<a href="http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev" rel="noreferrer" target="_blank">http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev</a><br>
<br></blockquote>
</div>
<br></div>
_______________________________________________
<br>asterisk-app-dev mailing list
<br>asterisk-app-dev@lists.digium.com
<br>http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev
<br></div></div></span></blockquote></body></html>