I think what you are looking for in SIPp is:

* the rrs (Record Route Set) parameter on the 200 OK
* the [next_url] and [routes] parameters for sequential requests (like the BYE)

<recv response="200" response_txn="INVITE" rrs="true">
…
<send retrans="500" start_txn="bye">
    <![CDATA[

      BYE [next_url] SIP/2.0
      [routes]
…

http://sipp.sourceforge.net/doc/reference.html


Ben Newlin

From: Users <users-boun...@lists.opensips.org> on behalf of Konrad Malewski 
<konrad.malew...@motorolasolutions.com>
Reply-To: OpenSIPS users mailling list <users@lists.opensips.org>
Date: Monday, March 4, 2019 at 1:04 PM
To: "users@lists.opensips.org" <users@lists.opensips.org>
Subject: Re: [OpenSIPS-Users] B2BUA and BYE message generated from sipp

I think I found a solution so posting it here.
SIPP sent BYE to wrong address. I had to change uac.xml.

capture contact field field from 200Ok:
-------------------------
  <recv response="200" rtd="true">
          <action>
               <ereg regexp="<sip:([[:digit:].:]*)" search_in="hdr" 
header="Contact:" check_it="true" assign_to="1,2" />
               <ereg regexp="(;did=.*)>" search_in="hdr" header="Contact:" 
check_it="false" assign_to="5,6" />
          </action>
  </recv>
-------------------------
And use it in BYE:
-------------------------
<!-- The 'crlf' option inserts a blank line in the statistics report. -->
  <!-- BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 -->
  <send retrans="500">
    <![CDATA[

      BYE sip:[service]@[$2][$6] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
      To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
      Call-ID: [call_id]
      CSeq: 2 BYE
      Contact: sip:sipp@[local_ip]:[local_port]
      Max-Forwards: 70
      Subject: Performance Test
      Content-Length: 0

    ]]>
  </send>
-----------------------
Now
sipp -t tn -rsa opensips -trace_logs -sf uac.xml -r 1 sipp-uas
works every time

Also when I modified modules/b2b_entities/dlg.c

- method_value = msg->first_line.u.request.method_value;
-
- if(method_value == METHOD_ACK)
- {
- goto search_dialog;
- }
+ method_value = msg->first_line.u.request.method_value;
+
+ if((method_value == METHOD_ACK) || (method_value == METHOD_BYE))
+ {
+ goto search_dialog;
+ }
it started working as well, but I dont think this is the right fix.

On Thu, Feb 7, 2019 at 4:17 PM Konrad Malewski 
<konrad.malew...@motorolasolutions.com<mailto:konrad.malew...@motorolasolutions.com>>
 wrote:
Hello,

I am new to opensips. I went through proxy tutorials and now I am trying to 
configure opensips in b2bua mode. I am using 3 dockers (UAS, UAC and opensips).

I have problems with BYE message sent by UAC. Opensips is not able to match it 
to whole dialog (this is my interpretation) and returns 500 internal error (due 
to t_relay call, but without it there is no response at all).


_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to