Oliver/Charles, After checking a bit more I found out that you where right :). The problem doesn't lie there as it lies in the hash function. All our transactions pretty much look the same the only difference is the to-tag + the sip-etag header. Iv'e changed the hash function to a better one (sdbm, also used by Berkley-db) causing better distribution of the keys and fewer splits and the problem was solved :) I also fixed the makefile + sipp.hpp to make everything compile under solaris. Attached are the diff files. Please reply telling me that you guys accept/or not my fixes. Regards, Amit On Software Architect Followap Omega Center 1 Nahum Heth St. P.O Box 15036, Matam Haifa, 31905 . Tel: +972(0)48142232 Mobile: +972(0)525222810 www.followap.com ________________________________
This email is from Followap. It is confidential to the addressee and may be privileged. The views expressed are personal and do not necessarily reflect those of Followap. If you are not the intended recipient please notify the sender immediately by calling us on +44 (0) 1753 725 269 and do not disclose to another person or use, copy or forward all or any of it in any form. Thank you. -----Original Message----- From: Charles P Wright [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 21, 2006 4:46 PM To: Amit On Cc: Olivier Jacques; [email protected]; [EMAIL PROTECTED] Subject: Re: [Sipp-users] sipp retransmission handling problems (solved and patched) Amit, I'm not sure this fix makes sense, because there are probably cases where the PUBLISH should be retransmitted (there are certainly cases where things other than INVITE and ACK should cause a retransmission). I'm guessing that both of your 200 replies somehow have the same hash, are the 200 responses to the different messages actually identical? Do they just have a hash collision? Maybe there is a problem with the server, complementary scenario, or hash function? Charles [EMAIL PROTECTED] wrote on 11/21/2006 04:14:08 AM: > Attached is the diff file for the fix I made (for the trunk version). > > Regards, > > Amit On > Software Architect > > Followap > Omega Center > 1 Nahum Heth St. > P.O Box 15036, Matam > Haifa, 31905 > . > Tel: +972(0)48142232 > Mobile: +972(0)525222810 > > www.followap.com > > ________________________________ > > This email is from Followap. It is confidential to the addressee and may > be privileged. The views expressed are personal and do not necessarily > reflect those of Followap. If you are not the intended recipient please > notify the sender immediately by calling us on +44 (0) 1753 725 269 and > do not disclose to another person or use, copy or forward all or any of > it in any form. Thank you. > > > > > -----Original Message----- > From: Olivier Jacques [mailto:[EMAIL PROTECTED] > Sent: Tuesday, November 21, 2006 10:30 AM > To: Amit On > Cc: [email protected] > Subject: Re: [Sipp-users] sipp retransmission handling problems (solved > and patched) > > Amit, > > could you provide the patch in the form of: > diff -bruN current/call.cpp new/call.cpp > mydiff.diff > > Thanks, > Olivier. > > Amit On wrote: > > > > Hello, > > > > Let me start by saying that sipp is a GREAT tool, we use it to load > > test our Presence Server. > > > > Our scenario sends PUBLISH transactions according to rfc 3903 (Create > > Publication, replace Publication, delete Publication). Script is > attached. > > > > We are seeing that after running for approx 10-15 minutes sipp starts > > to retransmit some messages as if it was in a loop (although the > > ethereal capture shows that the server responds with a 200/OK response > > > to all of them. > > > > Iv'e found the problem in the code (call.cpp) and I would like to put > > the fix in the svn (but don't know how :) ). The problem lies when the > > > sipp sends a transaction to the server (via UDP with retransmission > > on) gets a 200 Response but already retransmits the PUBLISH (as it > > thinks this is an INVITE transaction) and tries to send the PUBLISH > > again (because in an INVITE transaction when the UAC receives a 200/OK > > > it should retransmit the ACK) and here we go into an endless loop (not > > > really endless but takes a while to give up) :( > > > > The script is run using this command line (same happens when running > > without -nd): > > > > ./sipp 10.2.11.111:5060 -p 5551 -sf publish.xml -r 5 -rp 1000 -l 100 > > -t u1 -nd -mp 3333 -trace_msg -trace_err > > > > Attached is the call.cpp file that I patched to make everything work > > correctly. The changes I made are only in the function > > "process_incoming" (all the changes are in lines 2656-2688) > > > > Thanks, > > > > *Amit On* > > > > *Software Architect* > > > > Followap > > > > Omega Center > > > > 1 Nahum Heth St. > > > > P.O Box 15036, Matam > > > > Haifa, 31905 > > > > . > > > > *Tel: *+972(0)48142232** > > > > *Mobile: *+972(0)525222810** > > > > * * > > > > www.followap.com <http://www.followap.com/> > > > > > ------------------------------------------------------------------------ > > > > This email is from Followap. It is confidential to the addressee and > > may be privileged. The views expressed are personal and do not > > necessarily reflect those of Followap. If you are not the intended > > recipient please notify the sender immediately by calling us on +44 > > (0) 1753 725 269 and do not disclose to another person or use, copy or > > > forward all or any of it in any form. Thank you. > > > > ** > > > > > ------------------------------------------------------------------------ > > > > <?xml version="1.0" encoding="ISO-8859-1" ?> > > > > <scenario name="publish transactions"> > > > > <!-- Create publication channel --> > > <send retrans="500" start_rtd="true"> > > <![CDATA[ > > PUBLISH sip:[EMAIL PROTECTED] SIP/2.0 > > Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] > > From: <sip:[EMAIL PROTECTED]>;tag=[call_number] > > To: <sip:[EMAIL PROTECTED]> > > Contact: <sip:[local_ip]:[local_port];transport=[transport]> > > Call-ID: [call_id] > > event: presence > > CSeq: [cseq] PUBLISH > > Max-Forwards: 70 > > Expires: 120 > > Content-Type: application/pidf+xml > > Content-Length: [len] > > > > <?xml version="1.0"?> > > <tns:presence xmlns:tns="urn:ietf:params:xml:ns:pidf" > entity="sip:[EMAIL PROTECTED]"> > > <tns:tuple id="tidx"> > > <tns:status> > > <tns:basic>open</tns:basic> > > </tns:status> > > </tns:tuple> > > </tns:presence> > > > > ]]> > > </send> > > > > <recv response="200" rtd="true"> > > <action> > > <ereg regexp=".*" search_in="hdr" header="Sip-Etag:" > check_it="true" assign_to="6" /> > > <log message="Etag is [last_Sip-Etag:]. Custom header is > [$6]"/> > > </action> > > </recv> > > > > <!-- update publication channel --> > > > > <send retrans="500" start_rtd="true"> > > <![CDATA[ > > PUBLISH sip:[EMAIL PROTECTED] SIP/2.0 > > Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] > > From: <sip:[EMAIL PROTECTED]>;tag=[call_number] > > To: <sip:[EMAIL PROTECTED]> > > Contact: <sip:[local_ip]:[local_port];transport=[transport]> > > Call-ID: [call_id] > > event: presence > > CSeq: [cseq] PUBLISH > > Max-Forwards: 70 > > SIP-If-Match: [$6] > > Expires: 120 > > Content-Type: application/pidf+xml > > Content-Length: [len] > > > > <?xml version="1.0"?> > > <tns:presence xmlns:tns="urn:ietf:params:xml:ns:pidf" > entity="sip:[EMAIL PROTECTED]"> > > <tns:tuple id="tidx"> > > <tns:status> > > <tns:basic>closed</tns:basic> > > </tns:status> > > </tns:tuple> > > </tns:presence> > > > > ]]>> > > </send> > > > > <recv response="200" rtd="true"> > > <action> > > <ereg regexp=".*" search_in="hdr" header="Sip-Etag:" > check_it="true" assign_to="6" /> > > <log message="Etag is [last_Sip-Etag:]. Custom header is > [$6]"/> > > </action> > > </recv> > > > > <!-- remove publication channel 1 --> > > > > <send retrans="500" start_rtd="true"> > > <![CDATA[ > > PUBLISH sip:[EMAIL PROTECTED] SIP/2.0 > > Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] > > From: <sip:[EMAIL PROTECTED]>;tag=[call_number] > > To: <sip:[EMAIL PROTECTED]> > > Contact: <sip:[local_ip]:[local_port];transport=[transport]> > > Call-ID: [call_id] > > event: presence > > CSeq: [cseq] PUBLISH > > Max-Forwards: 70 > > SIP-If-Match: [$6] > > Expires: 0 > > Content-Type: application/pidf+xml > > Content-Length: [len] > > > > ]]>> > > </send> > > > > <recv response="200" rtd="true"/> > > > > <!-- ======================================================== --> > > > > <ResponseTimeRepartition value="5,10,15,20, 40, 60, 80, 100, 120, 140, > 160, 200, 250, 300, 350, 500, 800, 1000"/> > > </scenario> > > > > > ------------------------------------------------------------------------ > > > > > ------------------------------------------------------------------------ > - > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE > V > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Sipp-users mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/sipp-users > > > > > -- > Olivier > HP OpenCall Software > http://www.hp.com/go/opencall/ > > [attachment "mydiff.diff" deleted by Charles P Wright/Watson/IBM] > ------------------------------------------------------------------------ - > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE V > _______________________________________________ > Sipp-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/sipp-users
call.cpp.diff
Description: call.cpp.diff
Makefile.diff
Description: Makefile.diff
sipp.hpp.diff
Description: sipp.hpp.diff
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________ Sipp-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sipp-users
