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

Attachment: call.cpp.diff
Description: call.cpp.diff

Attachment: Makefile.diff
Description: Makefile.diff

Attachment: 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

Reply via email to