<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></div><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 class="h5"><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><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></span><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><font face="arial narrow, sans-serif"><a href="https://gist.github.com/gtjoseph/ce5a719b11f307c7ec5e" target="_blank">https://gist.github.com/gtjoseph/ce5a719b11f307c7ec5e</a></font><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><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"><div><br></div><div>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?</div></div></blockquote><div><br></div></span><div><div style="font-family:'arial narrow',sans-serif">​Nope.​</div><br></div><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"><div><br></div><div>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></div><div><br></div><div>SEQUENTIAL</div><div>callerID1;AsteriskIPAddress;[authentication username=silly password=sillier];calleeID1;callDuration1;</div><div>callerID2;AsteriskIPAddress;[authentication username=silly password=sillier];calleeID2;callDuration2;<br></div><div>...</div><div>callerIDn;AsteriskIPAddress;[authentication username=silly password=sillier];calleeIDn;callDurationn;<br></div><div>etc.</div><div><br></div><div><div>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.</div></div><div><br></div><div>Thanks!</div></div></blockquote><div><br></div></span><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">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>