<p>Friendly Automation <strong>submitted</strong> this change.</p><p><a href="https://gerrit.asterisk.org/c/testsuite/+/18462">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  George Joseph: Looks good to me, approved
  Friendly Automation: Approved for Submit

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">testsuite: SIP route header is missing on UPDATE<br><br>Add tests to ensure we receive Route header in UPDATE<br><br>ASTERISK-29955<br><br>Change-Id: I55caad3cb2a156b8e3f2f24dd10db5ebe67910d2<br>---<br>A tests/channels/SIP/sip_semi_attended_transfer_record_route/configs/ast1/extensions.conf<br>A tests/channels/SIP/sip_semi_attended_transfer_record_route/configs/ast1/sip.conf<br>A tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/referee.xml<br>A tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/referer_uas.xml<br>A tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/uac-no-hangup.xml<br>A tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/uas.xml<br>A tests/channels/SIP/sip_semi_attended_transfer_record_route/test-config.yaml<br>M tests/channels/SIP/tests.yaml<br>A tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/configs/ast1/extensions.conf<br>A tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/configs/ast1/pjsip.conf<br>A tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/referee.xml<br>A tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/referer_uas.xml<br>A tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/uac-no-hangup.xml<br>A tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/uas.xml<br>A tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/test-config.yaml<br>M tests/channels/pjsip/transfers/attended_transfer/nominal/tests.yaml<br>16 files changed, 1,560 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/tests/channels/SIP/sip_semi_attended_transfer_record_route/configs/ast1/extensions.conf b/tests/channels/SIP/sip_semi_attended_transfer_record_route/configs/ast1/extensions.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..b66e24e</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/SIP/sip_semi_attended_transfer_record_route/configs/ast1/extensions.conf</span><br><span>@@ -0,0 +1,8 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[default]</span><br><span style="color: hsl(120, 100%, 40%);">+exten => call_c,1,NoOp()</span><br><span style="color: hsl(120, 100%, 40%);">+        same => n,Dial(SIP/charlie)</span><br><span style="color: hsl(120, 100%, 40%);">+        same => n,Hangup()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+exten => alice,1,NoOp()</span><br><span style="color: hsl(120, 100%, 40%);">+       same => n,Dial(SIP/bob)</span><br><span style="color: hsl(120, 100%, 40%);">+       same => n,Hangup()</span><br><span>diff --git a/tests/channels/SIP/sip_semi_attended_transfer_record_route/configs/ast1/sip.conf b/tests/channels/SIP/sip_semi_attended_transfer_record_route/configs/ast1/sip.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..ffd805e</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/SIP/sip_semi_attended_transfer_record_route/configs/ast1/sip.conf</span><br><span>@@ -0,0 +1,36 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[general]</span><br><span style="color: hsl(120, 100%, 40%);">+canreinvite=no</span><br><span style="color: hsl(120, 100%, 40%);">+sipdebug=yes</span><br><span style="color: hsl(120, 100%, 40%);">+udpbindaddr=0.0.0.0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+rpid_update=yes</span><br><span style="color: hsl(120, 100%, 40%);">+trustrpid=yes</span><br><span style="color: hsl(120, 100%, 40%);">+sendrpid=pai</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[alice]</span><br><span style="color: hsl(120, 100%, 40%);">+insecure=invite</span><br><span style="color: hsl(120, 100%, 40%);">+host=127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+port=5068</span><br><span style="color: hsl(120, 100%, 40%);">+context=default</span><br><span style="color: hsl(120, 100%, 40%);">+type=friend</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[bob]</span><br><span style="color: hsl(120, 100%, 40%);">+insecure=invite</span><br><span style="color: hsl(120, 100%, 40%);">+host=127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+port=5066</span><br><span style="color: hsl(120, 100%, 40%);">+context=default</span><br><span style="color: hsl(120, 100%, 40%);">+type=friend</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[charlie]</span><br><span style="color: hsl(120, 100%, 40%);">+insecure=invite</span><br><span style="color: hsl(120, 100%, 40%);">+host=127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+port=5067</span><br><span style="color: hsl(120, 100%, 40%);">+context=default</span><br><span style="color: hsl(120, 100%, 40%);">+type=friend</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[david]</span><br><span style="color: hsl(120, 100%, 40%);">+insecure=invite</span><br><span style="color: hsl(120, 100%, 40%);">+host=dynamic</span><br><span style="color: hsl(120, 100%, 40%);">+context=default</span><br><span style="color: hsl(120, 100%, 40%);">+type=friend</span><br><span>diff --git a/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/referee.xml b/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/referee.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..cdb3284</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/referee.xml</span><br><span>@@ -0,0 +1,120 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<?xml version="1.0" encoding="ISO-8859-1" ?></span><br><span style="color: hsl(120, 100%, 40%);">+<!DOCTYPE scenario SYSTEM "sipp.dtd"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is free software; you can redistribute it and/or     --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- modify it under the terms of the GNU General Public License as  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- published by the Free Software Foundation; either version 2 of the --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- License, or (at your option) any later version.                      --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is distributed in the hope that it will be useful, --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- GNU General Public License for more details.                    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- You should have received a copy of the GNU General Public License       --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- along with this program; if not, write to the                   --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- Free Software Foundation, Inc.,                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA          --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<scenario name="Referee Leg"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <recvCmd></span><br><span style="color: hsl(120, 100%, 40%);">+               <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="REMOTE(.*)"</span><br><span style="color: hsl(120, 100%, 40%);">+                         search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="Call-ID:"</span><br><span style="color: hsl(120, 100%, 40%);">+                           check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="1,original_callid" /></span><br><span style="color: hsl(120, 100%, 40%);">+         </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recvCmd></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        INVITE sip:call_c@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                   Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Record-Route: <sip:[local_ip]:[local_port];transport=[transport];lr></span><br><span style="color: hsl(120, 100%, 40%);">+                    From: <sip:bob@[local_ip]:[local_port]>;tag=[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                       To: <sip:transfer@[remote_ip]:[remote_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                    Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] INVITE</span><br><span style="color: hsl(120, 100%, 40%);">+                   Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:bob@[local_ip]:[local_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                      Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      X-SIPP: referee.xml</span><br><span style="color: hsl(120, 100%, 40%);">+                   Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                       v=0</span><br><span style="color: hsl(120, 100%, 40%);">+                   o=- 1324901698 1324901698 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     s=-</span><br><span style="color: hsl(120, 100%, 40%);">+                   c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+                 m=audio [media_port] RTP/AVP 0 101</span><br><span style="color: hsl(120, 100%, 40%);">+                    a=sendrecv</span><br><span style="color: hsl(120, 100%, 40%);">+                    a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+                  a=rtpmap:101 telephone-event/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="100"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="101"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv response="180"></span><br><span style="color: hsl(120, 100%, 40%);">+         <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="tag=([[:alnum:].\-]*)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="To:"</span><br><span style="color: hsl(120, 100%, 40%);">+                                check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="2,to_tag" /></span><br><span style="color: hsl(120, 100%, 40%);">+                  <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="tag=([[:alnum:].\-]*)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="From:"</span><br><span style="color: hsl(120, 100%, 40%);">+                              check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="3,from_tag" /></span><br><span style="color: hsl(120, 100%, 40%);">+                </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recv></span><br><span style="color: hsl(120, 100%, 40%);">+ <Reference variables="1,2,3" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <sendCmd></span><br><span style="color: hsl(120, 100%, 40%);">+               <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+                  Call-ID: [$original_callid]</span><br><span style="color: hsl(120, 100%, 40%);">+                   Remote-To-Tag: [$to_tag]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Remote-From-Tag: [$from_tag]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Remote-URI: sip:call_c@[remote_ip]:[remote_port]</span><br><span style="color: hsl(120, 100%, 40%);">+              ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </sendCmd></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    <recv response="603" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        ACK sip:call_c@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                      Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To]</span><br><span style="color: hsl(120, 100%, 40%);">+                     Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] ACK</span><br><span style="color: hsl(120, 100%, 40%);">+                      Contact: sip:bob@[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <!-- definition of the response time repartition table (unit is ms)  --></span><br><span style="color: hsl(120, 100%, 40%);">+        <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- definition of the call length repartition table (unit is ms)    --></span><br><span style="color: hsl(120, 100%, 40%);">+        <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</scenario></span><br><span>diff --git a/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/referer_uas.xml b/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/referer_uas.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..888d4d0</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/referer_uas.xml</span><br><span>@@ -0,0 +1,221 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<?xml version="1.0" encoding="ISO-8859-1" ?></span><br><span style="color: hsl(120, 100%, 40%);">+<!DOCTYPE scenario SYSTEM "sipp.dtd"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is free software; you can redistribute it and/or  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- modify it under the terms of the GNU General Public License as  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- published by the Free Software Foundation; either version 2 of the --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- License, or (at your option) any later version.                      --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is distributed in the hope that it will be useful, --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- GNU General Public License for more details.                    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- You should have received a copy of the GNU General Public License       --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- along with this program; if not, write to the                   --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- Free Software Foundation, Inc.,                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA          --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<scenario name="Referer Leg"></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv request="INVITE" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   Record-Route: <sip:[local_ip]:[local_port];transport=[transport];lr></span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:];tag=[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    X-SIPP: referer_uas.xml</span><br><span style="color: hsl(120, 100%, 40%);">+                       Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                       v=0</span><br><span style="color: hsl(120, 100%, 40%);">+                   o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                   s=-</span><br><span style="color: hsl(120, 100%, 40%);">+                   c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+                 m=audio [media_port] RTP/AVP 0</span><br><span style="color: hsl(120, 100%, 40%);">+                        a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              request="ACK"</span><br><span style="color: hsl(120, 100%, 40%);">+               rtd="true"></span><br><span style="color: hsl(120, 100%, 40%);">+              <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=" (.+)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="From:"</span><br><span style="color: hsl(120, 100%, 40%);">+                              check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="1,outbound_to_header" /></span><br><span style="color: hsl(120, 100%, 40%);">+                      <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=" (.+)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="To:"</span><br><span style="color: hsl(120, 100%, 40%);">+                                check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="1,outbound_from_header" /></span><br><span style="color: hsl(120, 100%, 40%);">+            </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <!-- Put this leg on hold --></span><br><span style="color: hsl(120, 100%, 40%);">+   <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        INVITE sip:[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                  Via: SIP/2.0/UDP [local_ip]:[local_port];rport;received=127.0.0.1;branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                     From: [$outbound_from_header]</span><br><span style="color: hsl(120, 100%, 40%);">+                 To: [$outbound_to_header]</span><br><span style="color: hsl(120, 100%, 40%);">+                     Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] INVITE</span><br><span style="color: hsl(120, 100%, 40%);">+                   Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                       v=0</span><br><span style="color: hsl(120, 100%, 40%);">+                   o=- 1324901698 1324901698 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     s=-</span><br><span style="color: hsl(120, 100%, 40%);">+                   c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+                 m=audio [media_port] RTP/AVP 0 101</span><br><span style="color: hsl(120, 100%, 40%);">+                    a=sendonly</span><br><span style="color: hsl(120, 100%, 40%);">+                    a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+                  a=rtpmap:101 telephone-event/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="100"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="101"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="180"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="200"</span><br><span style="color: hsl(120, 100%, 40%);">+              rtd="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        ACK sip:[local_ip]:[local_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_Via]</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_From]</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_To]</span><br><span style="color: hsl(120, 100%, 40%);">+                     Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] ACK</span><br><span style="color: hsl(120, 100%, 40%);">+                      Contact: sip:bob@[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <sendCmd></span><br><span style="color: hsl(120, 100%, 40%);">+               <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+                  Call-ID: REMOTE[call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Start the Echo Leg</span><br><span style="color: hsl(120, 100%, 40%);">+            ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </sendCmd></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    <recvCmd></span><br><span style="color: hsl(120, 100%, 40%);">+               <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=" (.+)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="Remote-URI:"</span><br><span style="color: hsl(120, 100%, 40%);">+                                check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="1,remote_contact" /></span><br><span style="color: hsl(120, 100%, 40%);">+                  <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=" (.+)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="Remote-To-Tag:"</span><br><span style="color: hsl(120, 100%, 40%);">+                             check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="2,remote_to_tag" /></span><br><span style="color: hsl(120, 100%, 40%);">+                   <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=" (.+)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="Remote-From-Tag:"</span><br><span style="color: hsl(120, 100%, 40%);">+                           check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="3,remote_from_tag" /></span><br><span style="color: hsl(120, 100%, 40%);">+         </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recvCmd></span><br><span style="color: hsl(120, 100%, 40%);">+      <Reference variables="1,2,3" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        REFER sip:call_c@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                    Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                      [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To]</span><br><span style="color: hsl(120, 100%, 40%);">+                     [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       CSeq: [cseq] REFER</span><br><span style="color: hsl(120, 100%, 40%);">+                    Contact: <sip:bob@[local_ip]:[local_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                      Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Refer-to: <[$remote_contact]?Replaces=REMOTE[call_id]%3Bto-tag%3D[$remote_to_tag]%3Bfrom-tag%3D[$remote_from_tag]></span><br><span style="color: hsl(120, 100%, 40%);">+                      Referred-By: sip:bob@[local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                       Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+ <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="202"</span><br><span style="color: hsl(120, 100%, 40%);">+              rtd="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  <recv request="NOTIFY" /></span><br><span style="color: hsl(120, 100%, 40%);">+     <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To]</span><br><span style="color: hsl(120, 100%, 40%);">+                     [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Contact: <sip:bob@[local_ip]:[local_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length:0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+            ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <pause milliseconds="5000" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        BYE sip:[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                     Via: SIP/2.0/UDP [local_ip]:[local_port];rport;received=127.0.0.1;branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                     From: [$outbound_from_header]</span><br><span style="color: hsl(120, 100%, 40%);">+                 To: [$outbound_to_header]</span><br><span style="color: hsl(120, 100%, 40%);">+                     Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] BYE</span><br><span style="color: hsl(120, 100%, 40%);">+                      Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <!-- definition of the response time repartition table (unit is ms)  --></span><br><span style="color: hsl(120, 100%, 40%);">+        <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- definition of the call length repartition table (unit is ms)    --></span><br><span style="color: hsl(120, 100%, 40%);">+        <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</scenario></span><br><span>diff --git a/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/uac-no-hangup.xml b/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/uac-no-hangup.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..d678884</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/uac-no-hangup.xml</span><br><span>@@ -0,0 +1,110 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<?xml version="1.0" encoding="ISO-8859-1" ?></span><br><span style="color: hsl(120, 100%, 40%);">+<!DOCTYPE scenario SYSTEM "sipp.dtd"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<scenario name="Basic Sipstone UAC"></span><br><span style="color: hsl(120, 100%, 40%);">+ </span><br><span style="color: hsl(120, 100%, 40%);">+        <nop hide="true"></span><br><span style="color: hsl(120, 100%, 40%);">+             <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <assignstr</span><br><span style="color: hsl(120, 100%, 40%);">+                         assign_to="rr_out"</span><br><span style="color: hsl(120, 100%, 40%);">+                          value="&lt;sip:[local_ip]:[local_port];transport=[transport];lr&gt;" /></span><br><span style="color: hsl(120, 100%, 40%);">+          </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </nop></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                        Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Record-Route: [$rr_out]</span><br><span style="color: hsl(120, 100%, 40%);">+                       From: sipp <sip:alice@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                  To: sut <sip:[service]@[remote_ip]:[remote_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                       Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: 1 INVITE</span><br><span style="color: hsl(120, 100%, 40%);">+                        Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: sip:alice@[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+                    Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Subject: Performance Test</span><br><span style="color: hsl(120, 100%, 40%);">+                     X-SIPP: uac-no-hangup.xml</span><br><span style="color: hsl(120, 100%, 40%);">+                     Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                       v=0</span><br><span style="color: hsl(120, 100%, 40%);">+                   o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                   s=-</span><br><span style="color: hsl(120, 100%, 40%);">+                   c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+                 m=audio [media_port] RTP/AVP 0</span><br><span style="color: hsl(120, 100%, 40%);">+                        a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="100"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true"></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="181"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true"></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="180"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true"></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="183"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true"></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="200"</span><br><span style="color: hsl(120, 100%, 40%);">+              rtd="true"></span><br><span style="color: hsl(120, 100%, 40%);">+      </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                   Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                      From: sipp <sip:alice@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                  To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]</span><br><span style="color: hsl(120, 100%, 40%);">+                       Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: 1 ACK</span><br><span style="color: hsl(120, 100%, 40%);">+                   Contact: sip:alice@[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+                    Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Subject: Performance Test</span><br><span style="color: hsl(120, 100%, 40%);">+                     Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv request="BYE"></span><br><span style="color: hsl(120, 100%, 40%);">+  </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:]</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <timewait milliseconds="4000"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</scenario></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>diff --git a/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/uas.xml b/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/uas.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..4899731</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/SIP/sip_semi_attended_transfer_record_route/sipp/uas.xml</span><br><span>@@ -0,0 +1,218 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<?xml version="1.0" encoding="ISO-8859-1" ?></span><br><span style="color: hsl(120, 100%, 40%);">+<!DOCTYPE scenario SYSTEM "sipp.dtd"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is free software; you can redistribute it and/or        --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- modify it under the terms of the GNU General Public License as  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- published by the Free Software Foundation; either version 2 of the --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- License, or (at your option) any later version.                      --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is distributed in the hope that it will be useful, --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- MERCHANTARouteTNESS FOR A PARTICULAR PURPOSE. See the           --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- GNU General Public License for more details.                    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- You should have received a copy of the GNU General Public License       --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- along with this program; if not, write to the                   --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- Free Software Foundation, Inc.,                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA          --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- Sipp default 'uas' scenario.                                    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<scenario name="Basic UAS responder"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <nop hide="true"></span><br><span style="color: hsl(120, 100%, 40%);">+             <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <assignstr</span><br><span style="color: hsl(120, 100%, 40%);">+                         assign_to="rr_out"</span><br><span style="color: hsl(120, 100%, 40%);">+                          value="&lt;sip:[local_ip]:[local_port];transport=[transport];lr&gt;" /></span><br><span style="color: hsl(120, 100%, 40%);">+          </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </nop></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<!-- By adding rrs="true" (Record Route Sets), the route sets            --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- are saved and used for following messages sent. Useful to test  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- against stateful SIP proxies/B2BUAs.                            --></span><br><span style="color: hsl(120, 100%, 40%);">+        <recv request="INVITE"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+             <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg </span><br><span style="color: hsl(120, 100%, 40%);">+                             regexp=".*"</span><br><span style="color: hsl(120, 100%, 40%);">+                         header="Via:"</span><br><span style="color: hsl(120, 100%, 40%);">+                               search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="original_via"/></span><br><span style="color: hsl(120, 100%, 40%);">+               </action></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <!-- The '[last_*]' keyword is replaced automatically by the         --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- specified header if it was present in the last message received --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- (except if it was a retransmission). If the header was not              --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- present or if no message has been received, the '[last_*]'              --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- keyword is discarded, and all bytes until the end of the line   --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- are also discarded.                                             --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- If the specified header was present several times in the                --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- message, all occurences are concatenated (CRLF seperated)               --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- to be used in place of the '[last_*]' keyword.                  --></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 100 Trying</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   Record-Route: [$rr_out]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:]</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    X-SIPP: uas.xml</span><br><span style="color: hsl(120, 100%, 40%);">+                       Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 180 Ringing</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   Record-Route: [$rr_out]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:];tag=[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    X-SIPP: uas.xml</span><br><span style="color: hsl(120, 100%, 40%);">+                       Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv request="UPDATE" rtd="true"></span><br><span style="color: hsl(120, 100%, 40%);">+          <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="\s*(.*)\s*"</span><br><span style="color: hsl(120, 100%, 40%);">+                         search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="Route:"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="1,r_got"/></span><br><span style="color: hsl(120, 100%, 40%);">+                    <strcmp</span><br><span style="color: hsl(120, 100%, 40%);">+                            assign_to="1"</span><br><span style="color: hsl(120, 100%, 40%);">+                               variable="r_got"</span><br><span style="color: hsl(120, 100%, 40%);">+                            variable2="rr_out" /></span><br><span style="color: hsl(120, 100%, 40%);">+                    <test</span><br><span style="color: hsl(120, 100%, 40%);">+                              assign_to="r_wrong"</span><br><span style="color: hsl(120, 100%, 40%);">+                         variable="1"</span><br><span style="color: hsl(120, 100%, 40%);">+                                compare="not_equal"</span><br><span style="color: hsl(120, 100%, 40%);">+                         value="" /></span><br><span style="color: hsl(120, 100%, 40%);">+              </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <nop condexec="r_wrong"></span><br><span style="color: hsl(120, 100%, 40%);">+              <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <error message="UPDATE Route expected '[$rr_out]' but got '[$r_got]'" /></span><br><span style="color: hsl(120, 100%, 40%);">+              </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </nop></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:]</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:bob@[local_ip]:[local_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                      X-SIPP: uas.xml ACK UPDATE</span><br><span style="color: hsl(120, 100%, 40%);">+                    Content-Length:0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+            ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <pause milliseconds="200" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        Via: [$original_via]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Record-Route: <sip:[local_ip]:[local_port];transport=[transport];lr></span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:]</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       CSeq: [cseq-1] INVITE</span><br><span style="color: hsl(120, 100%, 40%);">+                 Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    X-SIPP: uas.xml ANSWER CALL</span><br><span style="color: hsl(120, 100%, 40%);">+                   Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                       v=0</span><br><span style="color: hsl(120, 100%, 40%);">+                   o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                   s=-</span><br><span style="color: hsl(120, 100%, 40%);">+                   c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+                 m=audio [media_port] RTP/AVP 0</span><br><span style="color: hsl(120, 100%, 40%);">+                        a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv request="ACK"></span><br><span style="color: hsl(120, 100%, 40%);">+          <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <!-- Save the From tag. We'll need it when we send our BYE --></span><br><span style="color: hsl(120, 100%, 40%);">+                      <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="(;tag=.*)"</span><br><span style="color: hsl(120, 100%, 40%);">+                          header="From:"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="remote_tag"/></span><br><span style="color: hsl(120, 100%, 40%);">+                 <!-- Save the From user portion of URI. We'll need it when we send our BYE --></span><br><span style="color: hsl(120, 100%, 40%);">+                      <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="(sip:bob)"</span><br><span style="color: hsl(120, 100%, 40%);">+                          header="From:"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="remote_user"/></span><br><span style="color: hsl(120, 100%, 40%);">+                        </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        BYE [$remote_user]@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                  Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                      From: <sip:charlie@[local_ip]:[local_port]>;tag=[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                   To: <[$remote_user]@[remote_ip]:[remote_port]>[$remote_tag]</span><br><span style="color: hsl(120, 100%, 40%);">+                     Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] BYE</span><br><span style="color: hsl(120, 100%, 40%);">+                      Contact: sip:charlie@[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Subject: Performance Test</span><br><span style="color: hsl(120, 100%, 40%);">+                     Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              request="ACK"</span><br><span style="color: hsl(120, 100%, 40%);">+               optional="true"</span><br><span style="color: hsl(120, 100%, 40%);">+             rtd="true"></span><br><span style="color: hsl(120, 100%, 40%);">+      </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv response="200"></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <!-- definition of the response time repartition table (unit is ms)  --></span><br><span style="color: hsl(120, 100%, 40%);">+        <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- definition of the call length repartition table (unit is ms)    --></span><br><span style="color: hsl(120, 100%, 40%);">+        <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</scenario></span><br><span>diff --git a/tests/channels/SIP/sip_semi_attended_transfer_record_route/test-config.yaml b/tests/channels/SIP/sip_semi_attended_transfer_record_route/test-config.yaml</span><br><span>new file mode 100644</span><br><span>index 0000000..28aef39</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/SIP/sip_semi_attended_transfer_record_route/test-config.yaml</span><br><span>@@ -0,0 +1,58 @@</span><br><span style="color: hsl(120, 100%, 40%);">+testinfo:</span><br><span style="color: hsl(120, 100%, 40%);">+    summary: Test performing a callee-initiated semi attended transfer with record-route header via chan_pjsip.</span><br><span style="color: hsl(120, 100%, 40%);">+    description: |</span><br><span style="color: hsl(120, 100%, 40%);">+        "Start four SIPp scenarios that do the following:</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #1 (uac-no-hangup.xml) calls through Asterisk to SIPp #2 (referer_uas.xml)</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #2 kicks off SIPp #3 (referee.xml) which calls SIPp #4 (uas.xml).</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #3 passes call information back to SIPp #2.</span><br><span style="color: hsl(120, 100%, 40%);">+        Before SIPp #4 answers SIPp #2 initiates an attended transfer via REFER with Replaces information from SIPp #3.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #3 is hung up.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #2 hangs up.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #4 continues to ring until it answers.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #1 receives a connected line update and the values are checked.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #4 answers.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #1 and SIPp #4 are bridged.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #4 receives a connected line update and the values are checked.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #4 hangs up.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #1 is hung up."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-modules:</span><br><span style="color: hsl(120, 100%, 40%);">+    add-test-to-search-path: True</span><br><span style="color: hsl(120, 100%, 40%);">+    test-object:</span><br><span style="color: hsl(120, 100%, 40%);">+        config-section: test-object-config</span><br><span style="color: hsl(120, 100%, 40%);">+        typename: sipp.SIPpTestCase</span><br><span style="color: hsl(120, 100%, 40%);">+    modules:</span><br><span style="color: hsl(120, 100%, 40%);">+        -</span><br><span style="color: hsl(120, 100%, 40%);">+            config-section: ami-config</span><br><span style="color: hsl(120, 100%, 40%);">+            typename: 'ami.AMIEventModule'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-object-config:</span><br><span style="color: hsl(120, 100%, 40%);">+    memcheck-delay-stop: 7</span><br><span style="color: hsl(120, 100%, 40%);">+    fail-on-any: True</span><br><span style="color: hsl(120, 100%, 40%);">+    test-iterations:</span><br><span style="color: hsl(120, 100%, 40%);">+        -</span><br><span style="color: hsl(120, 100%, 40%);">+            scenarios:</span><br><span style="color: hsl(120, 100%, 40%);">+                - { 'coordinated-sender': {'key-args': {'scenario':'referer_uas.xml', '-p':'5066', '-sleep': '2'} },</span><br><span style="color: hsl(120, 100%, 40%);">+                    'coordinated-receiver': { 'key-args': {'scenario':'referee.xml', '-p':'5065'} } }</span><br><span style="color: hsl(120, 100%, 40%);">+                - { 'key-args': {'scenario':'uas.xml', '-p':'5067', '-sleep': '2'} }</span><br><span style="color: hsl(120, 100%, 40%);">+                - { 'key-args': {'scenario':'uac-no-hangup.xml', '-p':'5068', '-s':'alice', '-sleep': '2'} }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ami-config:</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        type: 'headermatch'</span><br><span style="color: hsl(120, 100%, 40%);">+        conditions:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                Event: 'AttendedTransfer'</span><br><span style="color: hsl(120, 100%, 40%);">+                Result: 'Success'</span><br><span style="color: hsl(120, 100%, 40%);">+        count: 1</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+properties:</span><br><span style="color: hsl(120, 100%, 40%);">+    dependencies:</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : twisted</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : starpy</span><br><span style="color: hsl(120, 100%, 40%);">+        - asterisk : app_dial</span><br><span style="color: hsl(120, 100%, 40%);">+        - asterisk : chan_sip</span><br><span style="color: hsl(120, 100%, 40%);">+    tags:</span><br><span style="color: hsl(120, 100%, 40%);">+        - SIP</span><br><span style="color: hsl(120, 100%, 40%);">+        - transfer</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>diff --git a/tests/channels/SIP/tests.yaml b/tests/channels/SIP/tests.yaml</span><br><span>index f71357f..b25f4f9 100644</span><br><span>--- a/tests/channels/SIP/tests.yaml</span><br><span>+++ b/tests/channels/SIP/tests.yaml</span><br><span>@@ -67,6 +67,7 @@</span><br><span>     - test: 'sip_outbound_proxy'</span><br><span>     - test: 'sip_register'</span><br><span>     - test: 'sip_register_domain_acl'</span><br><span style="color: hsl(120, 100%, 40%);">+    - test: 'sip_semi_attended_transfer_record_route'</span><br><span>     - test: 'sip_tls_call'</span><br><span>     - test: 'sip_tls_register'</span><br><span>     - test: 'sip_unregister'</span><br><span>diff --git a/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/configs/ast1/extensions.conf b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/configs/ast1/extensions.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..5dc3863</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/configs/ast1/extensions.conf</span><br><span>@@ -0,0 +1,8 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[default]</span><br><span style="color: hsl(120, 100%, 40%);">+exten => call_c,1,NoOp()</span><br><span style="color: hsl(120, 100%, 40%);">+    same => n,Dial(PJSIP/charlie)</span><br><span style="color: hsl(120, 100%, 40%);">+      same => n,Hangup()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+exten => alice,1,NoOp()</span><br><span style="color: hsl(120, 100%, 40%);">+       same => n,Dial(PJSIP/bob)</span><br><span style="color: hsl(120, 100%, 40%);">+       same => n,Hangup()</span><br><span>diff --git a/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/configs/ast1/pjsip.conf b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/configs/ast1/pjsip.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..e5eccf8</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/configs/ast1/pjsip.conf</span><br><span>@@ -0,0 +1,40 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[system]</span><br><span style="color: hsl(120, 100%, 40%);">+type=system</span><br><span style="color: hsl(120, 100%, 40%);">+timer_t1=100</span><br><span style="color: hsl(120, 100%, 40%);">+timer_b=6400</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[local]</span><br><span style="color: hsl(120, 100%, 40%);">+type=transport</span><br><span style="color: hsl(120, 100%, 40%);">+protocol=udp</span><br><span style="color: hsl(120, 100%, 40%);">+bind=127.0.0.1:5060</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[endpoint](!)</span><br><span style="color: hsl(120, 100%, 40%);">+type=endpoint</span><br><span style="color: hsl(120, 100%, 40%);">+context=default</span><br><span style="color: hsl(120, 100%, 40%);">+disallow=all</span><br><span style="color: hsl(120, 100%, 40%);">+allow=ulaw</span><br><span style="color: hsl(120, 100%, 40%);">+direct_media=no</span><br><span style="color: hsl(120, 100%, 40%);">+send_pai=yes</span><br><span style="color: hsl(120, 100%, 40%);">+send_rpid=yes</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[alice](endpoint)</span><br><span style="color: hsl(120, 100%, 40%);">+callerid=Alice <alice></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[bob](endpoint)</span><br><span style="color: hsl(120, 100%, 40%);">+aors=bob</span><br><span style="color: hsl(120, 100%, 40%);">+callerid=Bob <bob></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[bob]</span><br><span style="color: hsl(120, 100%, 40%);">+type=aor</span><br><span style="color: hsl(120, 100%, 40%);">+contact=sip:bob@127.0.0.1:5066</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[charlie](endpoint)</span><br><span style="color: hsl(120, 100%, 40%);">+aors=charlie</span><br><span style="color: hsl(120, 100%, 40%);">+callerid=Charlie <charlie></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[charlie]</span><br><span style="color: hsl(120, 100%, 40%);">+type=aor</span><br><span style="color: hsl(120, 100%, 40%);">+contact=sip:charlie@127.0.0.1:5067</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[david](endpoint)</span><br><span style="color: hsl(120, 100%, 40%);">+callerid=David <david></span><br><span>diff --git a/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/referee.xml b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/referee.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..773f6bd</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/referee.xml</span><br><span>@@ -0,0 +1,120 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<?xml version="1.0" encoding="ISO-8859-1" ?></span><br><span style="color: hsl(120, 100%, 40%);">+<!DOCTYPE scenario SYSTEM "sipp.dtd"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is free software; you can redistribute it and/or      --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- modify it under the terms of the GNU General Public License as  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- published by the Free Software Foundation; either version 2 of the --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- License, or (at your option) any later version.                      --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is distributed in the hope that it will be useful, --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- GNU General Public License for more details.                    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- You should have received a copy of the GNU General Public License       --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- along with this program; if not, write to the                   --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- Free Software Foundation, Inc.,                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA          --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<scenario name="Referee Leg"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <recvCmd></span><br><span style="color: hsl(120, 100%, 40%);">+               <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="REMOTE(.*)"</span><br><span style="color: hsl(120, 100%, 40%);">+                         search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="Call-ID:"</span><br><span style="color: hsl(120, 100%, 40%);">+                           check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="1,original_callid" /></span><br><span style="color: hsl(120, 100%, 40%);">+         </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recvCmd></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        INVITE sip:call_c@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                   Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Record-Route: <sip:[local_ip]:[local_port];transport=[transport];lr></span><br><span style="color: hsl(120, 100%, 40%);">+                    From: <sip:bob@[local_ip]:[local_port]>;tag=[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                       To: <sip:transfer@[remote_ip]:[remote_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                    Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] INVITE</span><br><span style="color: hsl(120, 100%, 40%);">+                   Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:bob@[local_ip]:[local_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                      Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                       v=0</span><br><span style="color: hsl(120, 100%, 40%);">+                   o=- 1324901698 1324901698 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     s=-</span><br><span style="color: hsl(120, 100%, 40%);">+                   c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+                 m=audio [media_port] RTP/AVP 0 101</span><br><span style="color: hsl(120, 100%, 40%);">+                    a=sendrecv</span><br><span style="color: hsl(120, 100%, 40%);">+                    a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+                  a=rtpmap:101 telephone-event/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="100"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="101"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv response="180"></span><br><span style="color: hsl(120, 100%, 40%);">+         <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="tag=([[:alnum:].\-]*)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="To:"</span><br><span style="color: hsl(120, 100%, 40%);">+                                check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="2,to_tag" /></span><br><span style="color: hsl(120, 100%, 40%);">+                  <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="tag=([[:alnum:].\-]*)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="From:"</span><br><span style="color: hsl(120, 100%, 40%);">+                              check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="3,from_tag" /></span><br><span style="color: hsl(120, 100%, 40%);">+                </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recv></span><br><span style="color: hsl(120, 100%, 40%);">+ <Reference variables="1,2,3" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <pause milliseconds="1000" /></span><br><span style="color: hsl(120, 100%, 40%);">+ <sendCmd></span><br><span style="color: hsl(120, 100%, 40%);">+               <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+                  Call-ID: [$original_callid]</span><br><span style="color: hsl(120, 100%, 40%);">+                   Remote-To-Tag: [$to_tag]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Remote-From-Tag: [$from_tag]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Remote-URI: sip:call_c@[remote_ip]:[remote_port]</span><br><span style="color: hsl(120, 100%, 40%);">+              ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </sendCmd></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    <recv response="603" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        ACK sip:call_c@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                      Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To]</span><br><span style="color: hsl(120, 100%, 40%);">+                     Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] ACK</span><br><span style="color: hsl(120, 100%, 40%);">+                      Contact: sip:bob@[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <!-- definition of the response time repartition table (unit is ms)  --></span><br><span style="color: hsl(120, 100%, 40%);">+        <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- definition of the call length repartition table (unit is ms)    --></span><br><span style="color: hsl(120, 100%, 40%);">+        <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</scenario></span><br><span>diff --git a/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/referer_uas.xml b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/referer_uas.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..b6f3419</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/referer_uas.xml</span><br><span>@@ -0,0 +1,234 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<?xml version="1.0" encoding="ISO-8859-1" ?></span><br><span style="color: hsl(120, 100%, 40%);">+<!DOCTYPE scenario SYSTEM "sipp.dtd"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is free software; you can redistribute it and/or     --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- modify it under the terms of the GNU General Public License as  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- published by the Free Software Foundation; either version 2 of the --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- License, or (at your option) any later version.                      --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is distributed in the hope that it will be useful, --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- GNU General Public License for more details.                    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- You should have received a copy of the GNU General Public License       --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- along with this program; if not, write to the                   --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- Free Software Foundation, Inc.,                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA          --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<scenario name="Referer Leg"></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv request="INVITE" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   Record-Route: <sip:[local_ip]:[local_port];transport=[transport];lr></span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:];tag=[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                       v=0</span><br><span style="color: hsl(120, 100%, 40%);">+                   o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                   s=-</span><br><span style="color: hsl(120, 100%, 40%);">+                   c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+                 m=audio [media_port] RTP/AVP 0</span><br><span style="color: hsl(120, 100%, 40%);">+                        a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              request="ACK"</span><br><span style="color: hsl(120, 100%, 40%);">+               rtd="true"></span><br><span style="color: hsl(120, 100%, 40%);">+              <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=" (.+)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="From:"</span><br><span style="color: hsl(120, 100%, 40%);">+                              check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="1,outbound_to_header" /></span><br><span style="color: hsl(120, 100%, 40%);">+                      <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=" (.+)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="To:"</span><br><span style="color: hsl(120, 100%, 40%);">+                                check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="1,outbound_from_header" /></span><br><span style="color: hsl(120, 100%, 40%);">+            </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <!-- Put this leg on hold --></span><br><span style="color: hsl(120, 100%, 40%);">+   <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        INVITE sip:[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                  Via: SIP/2.0/UDP [local_ip]:[local_port];rport;received=127.0.0.1;branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                     From: [$outbound_from_header]</span><br><span style="color: hsl(120, 100%, 40%);">+                 To: [$outbound_to_header]</span><br><span style="color: hsl(120, 100%, 40%);">+                     Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] INVITE</span><br><span style="color: hsl(120, 100%, 40%);">+                   Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                       v=0</span><br><span style="color: hsl(120, 100%, 40%);">+                   o=- 1324901698 1324901698 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     s=-</span><br><span style="color: hsl(120, 100%, 40%);">+                   c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+                 m=audio [media_port] RTP/AVP 0 101</span><br><span style="color: hsl(120, 100%, 40%);">+                    a=sendonly</span><br><span style="color: hsl(120, 100%, 40%);">+                    a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+                  a=rtpmap:101 telephone-event/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="100"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="101"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="180"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="200"</span><br><span style="color: hsl(120, 100%, 40%);">+              rtd="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        ACK sip:[local_ip]:[local_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_Via]</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_From]</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_To]</span><br><span style="color: hsl(120, 100%, 40%);">+                     Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] ACK</span><br><span style="color: hsl(120, 100%, 40%);">+                      Contact: sip:bob@[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <sendCmd></span><br><span style="color: hsl(120, 100%, 40%);">+               <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+                  Call-ID: REMOTE[call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Start the Echo Leg</span><br><span style="color: hsl(120, 100%, 40%);">+            ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </sendCmd></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    <recvCmd></span><br><span style="color: hsl(120, 100%, 40%);">+               <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=" (.+)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="Remote-URI:"</span><br><span style="color: hsl(120, 100%, 40%);">+                                check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="1,remote_contact" /></span><br><span style="color: hsl(120, 100%, 40%);">+                  <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=" (.+)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="Remote-To-Tag:"</span><br><span style="color: hsl(120, 100%, 40%);">+                             check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="2,remote_to_tag" /></span><br><span style="color: hsl(120, 100%, 40%);">+                   <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=" (.+)"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="Remote-From-Tag:"</span><br><span style="color: hsl(120, 100%, 40%);">+                           check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="3,remote_from_tag" /></span><br><span style="color: hsl(120, 100%, 40%);">+         </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recvCmd></span><br><span style="color: hsl(120, 100%, 40%);">+      <Reference variables="1,2,3" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        REFER sip:call_c@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                    Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                      [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To]</span><br><span style="color: hsl(120, 100%, 40%);">+                     [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       CSeq: [cseq] REFER</span><br><span style="color: hsl(120, 100%, 40%);">+                    Contact: <sip:bob@[local_ip]:[local_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                      Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Refer-to: <[$remote_contact]?Replaces=REMOTE[call_id]%3Bto-tag%3D[$remote_to_tag]%3Bfrom-tag%3D[$remote_from_tag]></span><br><span style="color: hsl(120, 100%, 40%);">+                      Referred-By: sip:bob@[local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                       Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+ <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="202"</span><br><span style="color: hsl(120, 100%, 40%);">+              rtd="true" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  <recv request="NOTIFY" /></span><br><span style="color: hsl(120, 100%, 40%);">+     <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To]</span><br><span style="color: hsl(120, 100%, 40%);">+                     [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Contact: <sip:bob@[local_ip]:[local_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length:0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+            ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv request="NOTIFY" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To]</span><br><span style="color: hsl(120, 100%, 40%);">+                     [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Contact: <sip:bob@[local_ip]:[local_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length:0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+            ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        BYE sip:[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                     Via: SIP/2.0/UDP [local_ip]:[local_port];rport;received=127.0.0.1;branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                     From: [$outbound_from_header]</span><br><span style="color: hsl(120, 100%, 40%);">+                 To: [$outbound_to_header]</span><br><span style="color: hsl(120, 100%, 40%);">+                     Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] BYE</span><br><span style="color: hsl(120, 100%, 40%);">+                      Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <!-- definition of the response time repartition table (unit is ms)  --></span><br><span style="color: hsl(120, 100%, 40%);">+        <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- definition of the call length repartition table (unit is ms)    --></span><br><span style="color: hsl(120, 100%, 40%);">+        <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</scenario></span><br><span>diff --git a/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/uac-no-hangup.xml b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/uac-no-hangup.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..dc8b57e</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/uac-no-hangup.xml</span><br><span>@@ -0,0 +1,128 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<?xml version="1.0" encoding="ISO-8859-1" ?></span><br><span style="color: hsl(120, 100%, 40%);">+<!DOCTYPE scenario SYSTEM "sipp.dtd"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<scenario name="Basic Sipstone UAC"></span><br><span style="color: hsl(120, 100%, 40%);">+ </span><br><span style="color: hsl(120, 100%, 40%);">+   <nop hide="true"></span><br><span style="color: hsl(120, 100%, 40%);">+             <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <assignstr</span><br><span style="color: hsl(120, 100%, 40%);">+                         assign_to="rr_out"</span><br><span style="color: hsl(120, 100%, 40%);">+                          value="&lt;sip:[local_ip]:[local_port];transport=[transport];lr&gt;" /></span><br><span style="color: hsl(120, 100%, 40%);">+          </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </nop></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                        Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                      Record-Route: [$rr_out]</span><br><span style="color: hsl(120, 100%, 40%);">+                       From: sipp <sip:alice@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                  To: sut <sip:[service]@[remote_ip]:[remote_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                       Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: 1 INVITE</span><br><span style="color: hsl(120, 100%, 40%);">+                        Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: sip:alice@[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+                    Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Subject: Performance Test</span><br><span style="color: hsl(120, 100%, 40%);">+                     Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                       v=0</span><br><span style="color: hsl(120, 100%, 40%);">+                   o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                   s=-</span><br><span style="color: hsl(120, 100%, 40%);">+                   c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+                 m=audio [media_port] RTP/AVP 0</span><br><span style="color: hsl(120, 100%, 40%);">+                        a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="100"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true"></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="181"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true"></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="180"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true"></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="183"</span><br><span style="color: hsl(120, 100%, 40%);">+              optional="true"></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              response="200"</span><br><span style="color: hsl(120, 100%, 40%);">+              rtd="true"></span><br><span style="color: hsl(120, 100%, 40%);">+      </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                   Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                      From: sipp <sip:alice@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                  To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]</span><br><span style="color: hsl(120, 100%, 40%);">+                       Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: 1 ACK</span><br><span style="color: hsl(120, 100%, 40%);">+                   Contact: sip:alice@[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+                    Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Subject: Performance Test</span><br><span style="color: hsl(120, 100%, 40%);">+                     Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv request="UPDATE"></span><br><span style="color: hsl(120, 100%, 40%);">+       </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:]</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+               ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv request="BYE"></span><br><span style="color: hsl(120, 100%, 40%);">+  </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:]</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <timewait milliseconds="4000"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</scenario></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>diff --git a/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/uas.xml b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/uas.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..54fc4b9</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/sipp/uas.xml</span><br><span>@@ -0,0 +1,201 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<?xml version="1.0" encoding="ISO-8859-1" ?></span><br><span style="color: hsl(120, 100%, 40%);">+<!DOCTYPE scenario SYSTEM "sipp.dtd"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is free software; you can redistribute it and/or   --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- modify it under the terms of the GNU General Public License as  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- published by the Free Software Foundation; either version 2 of the --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- License, or (at your option) any later version.                      --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- This program is distributed in the hope that it will be useful, --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- MERCHANTARouteTNESS FOR A PARTICULAR PURPOSE. See the           --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- GNU General Public License for more details.                    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- You should have received a copy of the GNU General Public License       --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- along with this program; if not, write to the                   --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- Free Software Foundation, Inc.,                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA          --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- Sipp default 'uas' scenario.                                    --></span><br><span style="color: hsl(120, 100%, 40%);">+<!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<scenario name="Basic UAS responder"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <nop hide="true"></span><br><span style="color: hsl(120, 100%, 40%);">+             <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <assignstr</span><br><span style="color: hsl(120, 100%, 40%);">+                         assign_to="rr_out"</span><br><span style="color: hsl(120, 100%, 40%);">+                          value="&lt;sip:[local_ip]:[local_port];transport=[transport];lr&gt;" /></span><br><span style="color: hsl(120, 100%, 40%);">+          </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </nop></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<!-- By adding rrs="true" (Record Route Sets), the route sets            --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- are saved and used for following messages sent. Useful to test  --></span><br><span style="color: hsl(120, 100%, 40%);">+<!-- against stateful SIP proxies/B2BUAs.                            --></span><br><span style="color: hsl(120, 100%, 40%);">+        <recv request="INVITE"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+             <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp=".*"</span><br><span style="color: hsl(120, 100%, 40%);">+                         header="Via:"</span><br><span style="color: hsl(120, 100%, 40%);">+                               search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="original_via"/></span><br><span style="color: hsl(120, 100%, 40%);">+               </action></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <!-- The '[last_*]' keyword is replaced automatically by the         --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- specified header if it was present in the last message received --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- (except if it was a retransmission). If the header was not              --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- present or if no message has been received, the '[last_*]'              --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- keyword is discarded, and all bytes until the end of the line   --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- are also discarded.                                             --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!--                                                                 --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- If the specified header was present several times in the                --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- message, all occurences are concatenated (CRLF seperated)               --></span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- to be used in place of the '[last_*]' keyword.                  --></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 180 Ringing</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   Record-Route: [$rr_out]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:];tag=[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    X-SIPP: uas.xml</span><br><span style="color: hsl(120, 100%, 40%);">+                       Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv request="UPDATE" rtd="true"></span><br><span style="color: hsl(120, 100%, 40%);">+          <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="\s*(.*)\s*"</span><br><span style="color: hsl(120, 100%, 40%);">+                         search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             header="Route:"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="1,r_got"/></span><br><span style="color: hsl(120, 100%, 40%);">+                    <strcmp</span><br><span style="color: hsl(120, 100%, 40%);">+                            assign_to="1"</span><br><span style="color: hsl(120, 100%, 40%);">+                               variable="r_got"</span><br><span style="color: hsl(120, 100%, 40%);">+                            variable2="rr_out" /></span><br><span style="color: hsl(120, 100%, 40%);">+                    <test</span><br><span style="color: hsl(120, 100%, 40%);">+                              assign_to="r_wrong"</span><br><span style="color: hsl(120, 100%, 40%);">+                         variable="1"</span><br><span style="color: hsl(120, 100%, 40%);">+                                compare="not_equal"</span><br><span style="color: hsl(120, 100%, 40%);">+                         value="" /></span><br><span style="color: hsl(120, 100%, 40%);">+              </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <nop condexec="r_wrong"></span><br><span style="color: hsl(120, 100%, 40%);">+              <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <error message="ACK Route expected '[$rr_out]' but got '[$r_got]'" /></span><br><span style="color: hsl(120, 100%, 40%);">+         </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </nop></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <send></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+                   [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:]</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:bob@[local_ip]:[local_port]></span><br><span style="color: hsl(120, 100%, 40%);">+                      X-SIPP: uas.xml ACK UPDATE</span><br><span style="color: hsl(120, 100%, 40%);">+                    Content-Length:0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+            ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <pause milliseconds="200" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+                        Via: [$original_via]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Record-Route: <sip:[local_ip]:[local_port];transport=[transport];lr></span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+                  [last_To:]</span><br><span style="color: hsl(120, 100%, 40%);">+                    [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+                       CSeq: [cseq-1] INVITE</span><br><span style="color: hsl(120, 100%, 40%);">+                 Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, UPDATE, PRACK, SUBSCRIBE, INFO</span><br><span style="color: hsl(120, 100%, 40%);">+                       Contact: <sip:[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+                    X-SIPP: uas.xml ANSWER CALL</span><br><span style="color: hsl(120, 100%, 40%);">+                   Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+                 Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                       v=0</span><br><span style="color: hsl(120, 100%, 40%);">+                   o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                   s=-</span><br><span style="color: hsl(120, 100%, 40%);">+                   c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+                     t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+                 m=audio [media_port] RTP/AVP 0</span><br><span style="color: hsl(120, 100%, 40%);">+                        a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv request="ACK"></span><br><span style="color: hsl(120, 100%, 40%);">+          <action></span><br><span style="color: hsl(120, 100%, 40%);">+                        <!-- Save the From tag. We'll need it when we send our BYE --></span><br><span style="color: hsl(120, 100%, 40%);">+                      <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="(;tag=.*)"</span><br><span style="color: hsl(120, 100%, 40%);">+                          header="From:"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="remote_tag"/></span><br><span style="color: hsl(120, 100%, 40%);">+                 <!-- Save the From user portion of URI. We'll need it when we send our BYE --></span><br><span style="color: hsl(120, 100%, 40%);">+                      <ereg</span><br><span style="color: hsl(120, 100%, 40%);">+                              regexp="(sip:bob)"</span><br><span style="color: hsl(120, 100%, 40%);">+                          header="From:"</span><br><span style="color: hsl(120, 100%, 40%);">+                              search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+                             check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+                             assign_to="remote_user"/></span><br><span style="color: hsl(120, 100%, 40%);">+                        </action></span><br><span style="color: hsl(120, 100%, 40%);">+       </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+          <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                        BYE [$remote_user]@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+                  Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+                      From: <sip:charlie@[local_ip]:[local_port]>;tag=[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+                   To: <[$remote_user]@[remote_ip]:[remote_port]>[$remote_tag]</span><br><span style="color: hsl(120, 100%, 40%);">+                     Call-ID: [call_id]</span><br><span style="color: hsl(120, 100%, 40%);">+                    CSeq: [cseq] BYE</span><br><span style="color: hsl(120, 100%, 40%);">+                      Contact: sip:charlie@[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+                  Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+                      Subject: Performance Test</span><br><span style="color: hsl(120, 100%, 40%);">+                     Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           ]]></span><br><span style="color: hsl(120, 100%, 40%);">+        </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv</span><br><span style="color: hsl(120, 100%, 40%);">+              request="ACK"</span><br><span style="color: hsl(120, 100%, 40%);">+               optional="true"</span><br><span style="color: hsl(120, 100%, 40%);">+             rtd="true"></span><br><span style="color: hsl(120, 100%, 40%);">+      </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <recv response="200"></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       <!-- definition of the response time repartition table (unit is ms)  --></span><br><span style="color: hsl(120, 100%, 40%);">+        <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        <!-- definition of the call length repartition table (unit is ms)    --></span><br><span style="color: hsl(120, 100%, 40%);">+        <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</scenario></span><br><span>diff --git a/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/test-config.yaml b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/test-config.yaml</span><br><span>new file mode 100644</span><br><span>index 0000000..7e77de8</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/transfers/attended_transfer/nominal/callee_local_semi_attended_transfer_record_route/test-config.yaml</span><br><span>@@ -0,0 +1,56 @@</span><br><span style="color: hsl(120, 100%, 40%);">+testinfo:</span><br><span style="color: hsl(120, 100%, 40%);">+    summary: Test performing a callee-initiated semi attended transfer with record-route header via chan_pjsip.</span><br><span style="color: hsl(120, 100%, 40%);">+    description: |</span><br><span style="color: hsl(120, 100%, 40%);">+        "Start four SIPp scenarios that do the following:</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #1 (uac-no-hangup.xml) calls through Asterisk to SIPp #2 (referer_uas.xml)</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #2 kicks off SIPp #3 (referee.xml) which calls SIPp #4 (uas.xml).</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #3 passes call information back to SIPp #2.</span><br><span style="color: hsl(120, 100%, 40%);">+        Before SIPp #4 answers SIPp #2 initiates an attended transfer via REFER with Replaces information from SIPp #3.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #3 is hung up.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #2 hangs up.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #4 continues to ring until it answers.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #1 receives a connected line update and the values are checked.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #4 answers.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #1 and SIPp #4 are bridged.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #4 receives a connected line update and the values are checked.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #4 hangs up.</span><br><span style="color: hsl(120, 100%, 40%);">+        SIPp #1 is hung up."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-modules:</span><br><span style="color: hsl(120, 100%, 40%);">+    add-test-to-search-path: True</span><br><span style="color: hsl(120, 100%, 40%);">+    test-object:</span><br><span style="color: hsl(120, 100%, 40%);">+        config-section: test-object-config</span><br><span style="color: hsl(120, 100%, 40%);">+        typename: sipp.SIPpTestCase</span><br><span style="color: hsl(120, 100%, 40%);">+    modules:</span><br><span style="color: hsl(120, 100%, 40%);">+        -</span><br><span style="color: hsl(120, 100%, 40%);">+            config-section: ami-config</span><br><span style="color: hsl(120, 100%, 40%);">+            typename: 'ami.AMIEventModule'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-object-config:</span><br><span style="color: hsl(120, 100%, 40%);">+    memcheck-delay-stop: 7</span><br><span style="color: hsl(120, 100%, 40%);">+    fail-on-any: True</span><br><span style="color: hsl(120, 100%, 40%);">+    test-iterations:</span><br><span style="color: hsl(120, 100%, 40%);">+        -</span><br><span style="color: hsl(120, 100%, 40%);">+            scenarios:</span><br><span style="color: hsl(120, 100%, 40%);">+                - { 'coordinated-sender': {'key-args': {'scenario':'referer_uas.xml', '-p':'5066', '-sleep': '2'} },</span><br><span style="color: hsl(120, 100%, 40%);">+                    'coordinated-receiver': { 'key-args': {'scenario':'referee.xml', '-p':'5065'} } }</span><br><span style="color: hsl(120, 100%, 40%);">+                - { 'key-args': {'scenario':'uas.xml', '-p':'5067', '-sleep': '2'} }</span><br><span style="color: hsl(120, 100%, 40%);">+                - { 'key-args': {'scenario':'uac-no-hangup.xml', '-p':'5068', '-s':'alice', '-sleep': '2'} }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ami-config:</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        type: 'headermatch'</span><br><span style="color: hsl(120, 100%, 40%);">+        conditions:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                Event: 'AttendedTransfer'</span><br><span style="color: hsl(120, 100%, 40%);">+                Result: 'Success'</span><br><span style="color: hsl(120, 100%, 40%);">+        count: 1</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+properties:</span><br><span style="color: hsl(120, 100%, 40%);">+    dependencies:</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : twisted</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : starpy</span><br><span style="color: hsl(120, 100%, 40%);">+        - asterisk : app_dial</span><br><span style="color: hsl(120, 100%, 40%);">+        - asterisk : chan_pjsip</span><br><span style="color: hsl(120, 100%, 40%);">+    tags:</span><br><span style="color: hsl(120, 100%, 40%);">+        - pjsip</span><br><span>diff --git a/tests/channels/pjsip/transfers/attended_transfer/nominal/tests.yaml b/tests/channels/pjsip/transfers/attended_transfer/nominal/tests.yaml</span><br><span>index b56c877..0eefcbb 100644</span><br><span>--- a/tests/channels/pjsip/transfers/attended_transfer/nominal/tests.yaml</span><br><span>+++ b/tests/channels/pjsip/transfers/attended_transfer/nominal/tests.yaml</span><br><span>@@ -10,3 +10,4 @@</span><br><span>     - test: 'callee_local_app'</span><br><span>     - test: 'caller_local_direct_media'</span><br><span>     - test: 'callee_local_direct_media'</span><br><span style="color: hsl(120, 100%, 40%);">+    - test: 'callee_local_semi_attended_transfer_record_route'</span><br><span></span><br></pre><div style="white-space:pre-wrap"></div><p>To view, visit <a href="https://gerrit.asterisk.org/c/testsuite/+/18462">change 18462</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/c/testsuite/+/18462"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: testsuite </div>
<div style="display:none"> Gerrit-Branch: 19 </div>
<div style="display:none"> Gerrit-Change-Id: I55caad3cb2a156b8e3f2f24dd10db5ebe67910d2 </div>
<div style="display:none"> Gerrit-Change-Number: 18462 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-CC: Mark Petersen <bugs.digium.com@zombie.dk> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>