You asked me a question: "Just breifly looking over your shell scripts I
can see that caller.sh isn't referencing the callee.sh $SIPPort anywhere.
Are you routing to that port in the asterisk dialplan?"
I don't know how to route it using asterisk dialplan (if you meant
something like Dial (sip:callee@[calleeIP]:[calleePortInCalleeEndpoint]),
then, no), but my dialplan is quite simple there. Any calls intended to the
callee are first sent to the Stasis application (I am testing my ARI
application). The application works very well, and I know this because I am
merely trying to move away from a 2-sipp sessions per call per-call (see
below my port question) to a 2-sipp sessions for _all_ my load tests
scenario because I kept running into port related issues. The previous sipp
load testing scenario was able to load upto about a 100 concurrent calls
(not call rate per s, that was likely well lower) in the highly ineffective
sipp calling system. And the first part of your question: I have no idea
how to refer to the callee's SIPPort anywhere (I cannot pass it to the
caller, as the caller's To: directive points to the SIP PBX's IP and port).
It is the job of the PBX to keep track of that.
Maybe my explanation below will help:
My problems started when I wanted to do it all using the following system:
(a) Generate a whole lot of call scenarios using a CSV files
(callerCSVFile.csv, calleeCSVFile.csv) separately (I use a very simple
python script for this)
(b) Complete all registrations of the callers and callees,
(c) SIPp instance E: launch the callers using an appropriate XML file
(d) SIPp instance R: launch the callers using an appropriate XML file
And there's when my nightmares started.
I guess I have a simple question that comes from trying to understand how
sipp manages ports especially when you have many callers and callees. When
you have only one caller and callee, you can pass a port like so:
sipp 192.168.1.2 -aa -sf registrationOnly.xml -p myOwnPort -inf
CSVFileWithOnlyOneLineEndpointEntryAfterSEQUENTIAL.csv
If you registered your caller and callee with this script, I can see that
the endpoints register at myOwnPort at the PBX (when I do pjsip show
endpoints on Asterisk CLI).
OTOH, if I pass a large number of registration requests like so:
sipp 192.168.1.2 -aa -sf registrationOnly.xml -p myOwnPort -inf
CSVFileWithManyLinesOfEndpointsAfterSEQUENTIAL.csv
then they cannot all be registered on the same port/IP; something else is
chosen; I assume this is sipp chosen. Now, the problem is, another endpoint
unrelated to this sipp instance, has no idea how to reach the callees
registered using this sipp instance. I can confirm this, again, using pjsip
show endpoints on Asterisk CLI.
And that's where at least 50% of my confusion lies.
I cannot change the To:/remote_port in my INVITEs because that's the PBX's
SIP control port (always 5060). And this is why I cannot figure out how to
make sure Asterisk can reach the callee. The problem, of course, manifests
as "Failed to send Request msg INVITE" etc. etc.
Am I making some very silly error, because, you know XML? I don't know,
quite likely, but I have not had anyone correct any of my mistakes.
And that's the part of the documentation that is missing, among a fantastic
amount of other information.
On Wed, Mar 23, 2016 at 2:49 PM, Tickling Contest <
tickling.cont...@gmail.com> wrote:
> Also,
>
> Please note that my scenario has to do with a caller calling a callee VIA
> a PBX. Not directly (i.e., not sipp<->sipp). I frankly don't see where the
> applicability of a direct calling scenario is.
>
> Thanks,
> Sonny.
>
> On Wed, Mar 23, 2016 at 2:48 PM, Tickling Contest <
> tickling.cont...@gmail.com> wrote:
>
>> Tyler,
>>
>> Thanks, I am happy there is somebody else who shares my frustration with
>> sipp (and I enjoyed the adjectives you used to describe the life of a
>> SIPper on the github page). SIPp is very useful software, for sure, but it
>> is godawfully badly documented (and uses (ugh!) XML) and there are many
>> confusing handles. They will save a world of questions and trouble if they
>> could just present an integrated scenario for a simple caller->callee
>> scenario with auth using known SIP controllers like Asterisk.
>>
>> My hope is that if I ever get out of this process alive, I am going to
>> document the crap out of this, and contribute it back here. I have consumed
>> enough of everyone's time to warrant that sort of PSA.
>>
>> Anyway, how would you write the following scenario with pysipp?
>>
>> Callers (for a bunch of callers in CallerCSV.csv):
>> ======================================
>> REGISTER
>> Send out INVITE
>>
>> (when INVITE was accepted)
>> pause for a call duration selected from a uniform (10 s to 180 s)
>> Send BYE
>>
>> Callees (for a bunch of callees in CalleeCSV.csv):
>> ======================================
>> REGISTER
>> Wait for INVITE
>> Accept the call
>> Wait for BYE
>> send 200 OK
>>
>> I am sold on pysipp if it can do this in the simplest possible fashion.
>> The current example on your github page probably does this, but I wanted to
>> check if there is something else I need to do.
>>
>> What would my caller.xml and callee.xml (any other xml needed?) look
>> like? What are the referee and referer xmls in your page?
>>
>> Thanks!
>>
>>
>> On Wed, Mar 23, 2016 at 2:47 PM, Tickling Contest <
>> tickling.cont...@gmail.com> wrote:
>>
>>> Sorry, I did not send it to the correct mailing list originally:
>>>
>>> Tyler,
>>>
>>> Thanks, I am happy there is somebody else who shares my frustration with
>>> sipp (and I enjoyed the adjectives you used to describe the life of a
>>> SIPper on the github page). SIPp is very useful software, for sure, but it
>>> is godawfully badly documented (and uses (ugh!) XML) and there are many
>>> confusing handles. They will save a world of questions and trouble if they
>>> could just present an integrated scenario for a simple caller->callee
>>> scenario with auth using known SIP controllers like Asterisk.
>>>
>>> My hope is that if I ever get out of this process alive, I am going to
>>> document the crap out of this, and contribute it back here. I have consumed
>>> enough of everyone's time to warrant that sort of PSA.
>>>
>>> Anyway, how would you write the following scenario with pysipp?
>>>
>>> Callers (for a bunch of callers in CallerCSV.csv):
>>> ======================================
>>> REGISTER
>>> Send out INVITE
>>>
>>> (when INVITE was accepted)
>>> pause for a call duration selected from a uniform (10 s to 180 s)
>>> Send BYE
>>>
>>> Callees (for a bunch of callees in CalleeCSV.csv):
>>> ======================================
>>> REGISTER
>>> Wait for INVITE
>>> Accept the call
>>> Wait for BYE
>>> send 200 OK
>>>
>>> I am sold on pysipp if it can do this in the simplest possible fashion.
>>> The current example on your github page probably does this, but I wanted to
>>> check if there is something else I need to do.
>>>
>>> What would my caller.xml and callee.xml (any other xml needed?) look
>>> like? What are the referee and referer xmls in your page?
>>>
>>> Thanks!
>>>
>>> On Wed, Mar 23, 2016 at 12:04 PM, Tyler Goodlet <tgood...@gmail.com>
>>> wrote:
>>>
>>>> Hey Tickling,
>>>>
>>>> Usually when you see a TCP connection error like that it means you're
>>>> trying to contact a socket that isn't being listenend on.
>>>> Just breifly looking over your shell scripts I can see that caller.sh
>>>> isn't referencing the callee.sh $SIPPort anywhere.
>>>> Are you routing to that port in the asterisk dialplan?
>>>> So it might be simple issue that when asterisk bridges the two legs
>>>> it's making the initial request to port 5060 on the b-leg and you don't
>>>> have the callee SIPp agent listening there.
>>>>
>>>> On another note, (and I think I've recommended this to you before) you
>>>> might want to try out pysipp https://github.com/SIPp/pysipp.
>>>> It's going to let you avoid all these separate shell scripts and will
>>>> make running the registration in sequence with the call a lot easier.
>>>> If you want example code I'd be glad to modify your gist.
>>>>
>>>> Let me know!
>>>>
>>>>
>>>> Tyler Goodlet
>>>>
>>>>
>>>> On Mon, Mar 21, 2016 at 9:53 PM, Tickling Contest <
>>>> tickling.cont...@gmail.com> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I am using an Asterisk PBX 13.7.2 which I would like to load test. For
>>>>> this question, please use my gist at
>>>>> https://gist.github.com/ticklingcontest/a67a4386cf73398efb82
>>>>>
>>>>> I am trying to load the PBX using calls generated by sipp using the
>>>>> shell scripts in the gist in the following manner:
>>>>>
>>>>> (a) callee.sh is run first with the calleeCSVFile (with the fields
>>>>> flipped; I do not show this CSV file in the gist)
>>>>> (b) caller.sh is run next
>>>>>
>>>>> The hope is that callers are able to call the callee.
>>>>>
>>>>> Unfortunately, I see that the INVITEs are being received at the
>>>>> Asterisk PBX, but they are never sent to the callee endpoints because:
>>>>>
>>>>> [Mar 21 21:24:56] ERROR[1535]: pjsip:0 <?>: tcpc0x7efd6807 TCP
>>>>> connect() error: Connection refused [code=120111]
>>>>> [Mar 21 21:24:56] WARNING[1535]: pjsip:0 <?>: tsx0x7efd6808d Failed
>>>>> to send Request msg INVITE/cseq=17210 (tdta0x7efd68085a80)! err=120111
>>>>> (Connection refused)
>>>>>
>>>>> How do I fix this?
>>>>>
>>>>> Any help is appreciated.
>>>>>
>>>>> Also, can I please get some help with my *.xml files? All my
>>>>> registrations end up getting the following error even though I use the -aa
>>>>> parameter:
>>>>> Aborted call with Call-ID 'de92a989-dea1-45a3-835f-07d57fcddd76'. (The
>>>>> NOTIFY that is received has the same call-id).
>>>>>
>>>>> BTW, my caller script works when calling a real SIP endpoint (on my
>>>>> phone). I just cannot get it to work on this script.
>>>>>
>>>>> Can someone tell me how I can make a simple call using endpoints that
>>>>> connect via Asterisk AFTER two endpoints REGISTER at a PBX? Do I need 3
>>>>> XML
>>>>> files like I use (1 for registration and 1 each for caller and callee) or
>>>>> is there a better way? If I do need separate XML files, how do I make sure
>>>>> that a number of endpoints on a sipp instance are found by the call
>>>>> receiving instance of sipp?
>>>>>
>>>>> Any help is appreciated.
>>>>>
>>>>> Thanks.
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> Transform Data into Opportunity.
>>>>> Accelerate data analysis in your applications with
>>>>> Intel Data Analytics Acceleration Library.
>>>>> Click to learn more.
>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
>>>>> _______________________________________________
>>>>> Sipp-users mailing list
>>>>> Sipp-users@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/sipp-users
>>>>>
>>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Transform Data into Opportunity.
>>>> Accelerate data analysis in your applications with
>>>> Intel Data Analytics Acceleration Library.
>>>> Click to learn more.
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
>>>> _______________________________________________
>>>> Sipp-users mailing list
>>>> Sipp-users@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/sipp-users
>>>>
>>>>
>>>
>>
>
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
_______________________________________________
Sipp-users mailing list
Sipp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sipp-users