<p>Jenkins2 <strong>merged</strong> this change.</p><p><a href="https://gerrit.asterisk.org/6639">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Kevin Harwell: Looks good to me, but someone else must approve
  Joshua Colp: Looks good to me, approved
  Jenkins2: Approved for Submit

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">test/../remove_existing: Test new remove_existing behaviour.<br><br>ASTERISK-27192<br><br>Change-Id: I5a5931dc6cf94b2f2db47114291b52b5e43e7f56<br>---<br>M tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-noauth-ipv4.xml<br>M tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-noauth-ipv6.xml<br>A tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-v13.18-ipv4.xml<br>A tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-v13.18-ipv6.xml<br>M tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/test-config.yaml<br>5 files changed, 757 insertions(+), 135 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-noauth-ipv4.xml b/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-noauth-ipv4.xml<br>index ffeb948..9782877 100644<br>--- a/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-noauth-ipv4.xml<br>+++ b/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-noauth-ipv4.xml<br>@@ -2,71 +2,67 @@<br> <!DOCTYPE scenario SYSTEM "sipp.dtd"><br> <br> <scenario name="Basic Sipstone UAC"><br>-    <send retrans="500"><br>-        <![CDATA[<br>+ <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>+                    To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-office@127.0.0.2:5062>;transport=[transport]<br>+                     Contact: "[service]" <sip:[service]-home@127.0.0.3:5063>;transport=[transport]<br>+                       Subject: Performance Test<br>+                    Expires: 20<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br> <br>-        REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>-        Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>-        From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>-        To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>-        Call-ID: [call_id]<br>-        CSeq: 1 REGISTER<br>-        Max-Forwards: 70<br>-      Contact: "[service]" <sip:[service]-office@127.0.0.2:5062>;transport=[transport]<br>-     Contact: "[service]" <sip:[service]-home@127.0.0.3:5063>;transport=[transport]<br>-        Subject: Performance Test<br>-   Expires: 20<br>-        Content-Length: 0<br>+      <recv response="200" rtd="true"><br>+           <action><br>+                       <!--<br>+                      Ensure the received expires parameters is ~60 as no expiration config options are set with a 5 second tolerance<br>+                      --><br>+                       <ereg regexp="Contact: <sip:(alice|bob)-office@127.0.0.2:5062>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="1"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-home@127.0.0.3:5063>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="2" /><br>+               </action><br>+      </recv><br> <br>-        ]]><br>-    </send><br>+        <pause milliseconds="1000"/><br> <br>-    <recv response="200" rtd="true"><br>-        <action><br>-            <!--<br>-          Ensure the received expires parameters is ~60 as no expiration config options are set with a 5 second tolerance<br>-            --><br>-         <ereg regexp="Contact: <sip:(alice|bob)-office@127.0.0.2:5062>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="1"/><br>-      <ereg regexp="Contact: <sip:(alice|bob)-home@127.0.0.3:5063>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="2" /><br>-        </action><br>-    </recv><br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>+                    To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-mobile@127.0.0.4:5064>;transport=[transport]<br>+                     Contact: "[service]" <sip:[service]-pc@127.0.0.5:5065>;transport=[transport]<br>+                 Subject: Performance Test<br>+                    Expires: 20<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br> <br>-    <pause milliseconds="1000"/><br>+  <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the new contacts are present and that the expires is correct with a 5 second tolerance --><br>+                 <ereg regexp="Contact: <sip:(alice|bob)-mobile@127.0.0.4:5064>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="3"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-pc@127.0.0.5:5065>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="4" /><br>+                 <!-- Ensure the old contacts are *not* present --><br>+                     <ereg regexp="Contact: <sip:(alice|bob)-office@127.0.0.2:5062>" search_in="msg" check_it_inverse="true" assign_to="5" /><br>+                 <ereg regexp="Contact: <sip:(alice|bob)-home@127.0.0.3:5063>" search_in="msg" check_it_inverse="true" assign_to="6" /><br>+           </action><br>+      </recv><br> <br>-    <send retrans="500"><br>-        <![CDATA[<br>-<br>-        REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>-        Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>-        From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>-        To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>-        Call-ID: [call_id]<br>-        CSeq: 1 REGISTER<br>-        Max-Forwards: 70<br>- Contact: "[service]" <sip:[service]-mobile@127.0.0.4:5064>;transport=[transport]<br>-     Contact: "[service]" <sip:[service]-pc@127.0.0.5:5065>;transport=[transport]<br>-        Subject: Performance Test<br>-     Expires: 20<br>-        Content-Length: 0<br>-<br>-        ]]><br>-    </send><br>-<br>-    <recv response="200" rtd="true"><br>-        <action><br>-            <!-- Ensure the new contacts are present and that the expires is correct with a 5 second tolerance --><br>-          <ereg regexp="Contact: <sip:(alice|bob)-mobile@127.0.0.4:5064>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="3"/><br>-      <ereg regexp="Contact: <sip:(alice|bob)-pc@127.0.0.5:5065>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="4" /><br>-            <!-- Ensure the old contacts are *not* present --><br>-          <ereg regexp="Contact: <sip:(alice|bob)-office@127.0.0.2:5062>" search_in="msg" check_it_inverse="true" assign_to="5" /><br>-            <ereg regexp="Contact: <sip:(alice|bob)-home@127.0.0.3:5063>" search_in="msg" check_it_inverse="true" assign_to="6" /><br>-        </action><br>-    </recv><br>-    <Reference variables="1" /><br>-    <Reference variables="2" /><br>-    <Reference variables="3" /><br>-    <Reference variables="4" /><br>-    <Reference variables="5" /><br>-    <Reference variables="6" /><br>-<br>+       <Reference variables="1" /><br>+  <Reference variables="2" /><br>+  <Reference variables="3" /><br>+  <Reference variables="4" /><br>+  <Reference variables="5" /><br>+  <Reference variables="6" /><br> </scenario><br>diff --git a/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-noauth-ipv6.xml b/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-noauth-ipv6.xml<br>index e02c68b..f380b0a 100644<br>--- a/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-noauth-ipv6.xml<br>+++ b/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-noauth-ipv6.xml<br>@@ -2,71 +2,67 @@<br> <!DOCTYPE scenario SYSTEM "sipp.dtd"><br> <br> <scenario name="Basic Sipstone UAC"><br>-    <send retrans="500"><br>-        <![CDATA[<br>+      <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>+                    To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-office@[customip1]:5062>;transport=[transport]<br>+                   Contact: "[service]" <sip:[service]-home@[customip2]:5063>;transport=[transport]<br>+                     Subject: Performance Test<br>+                    Expires: 20<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br> <br>-        REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>-        Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>-        From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>-        To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>-        Call-ID: [call_id]<br>-        CSeq: 1 REGISTER<br>-        Max-Forwards: 70<br>-      Contact: "[service]" <sip:[service]-office@[customip1]:5062>;transport=[transport]<br>-   Contact: "[service]" <sip:[service]-home@[customip2]:5063>;transport=[transport]<br>-        Subject: Performance Test<br>- Expires: 20<br>-        Content-Length: 0<br>+      <recv response="200" rtd="true"><br>+           <action><br>+                       <!--<br>+                      Ensure the received expires parameters is ~60 as no expiration config options are set with a 5 second tolerance<br>+                      --><br>+                       <ereg regexp="Contact: <sip:(charlie|carol)-office@.::2.:5062>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="1"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-home@.::3.:5063>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="2" /><br>+               </action><br>+      </recv><br> <br>-        ]]><br>-    </send><br>+        <pause milliseconds="1000"/><br> <br>-    <recv response="200" rtd="true"><br>-        <action><br>-            <!--<br>-          Ensure the received expires parameters is ~60 as no expiration config options are set with a 5 second tolerance<br>-            --><br>-         <ereg regexp="Contact: <sip:(charlie|carol)-office@.::2.:5062>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="1"/><br>-      <ereg regexp="Contact: <sip:(charlie|carol)-home@.::3.:5063>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="2" /><br>-        </action><br>-    </recv><br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>+                    To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-mobile@[customip3]:5064>;transport=[transport]<br>+                   Contact: "[service]" <sip:[service]-pc@[customip4]:5065>;transport=[transport]<br>+                       Subject: Performance Test<br>+                    Expires: 20<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br> <br>-    <pause milliseconds="1000"/><br>+  <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the new contacts are present and that the expires is correct with a 5 second tolerance --><br>+                 <ereg regexp="Contact: <sip:(charlie|carol)-mobile@.::4.:5064>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="3"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-pc@.::5.:5065>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="4" /><br>+                 <!-- Ensure the old contacts are *not* present --><br>+                     <ereg regexp="Contact: <sip:(charlie|carol)-office@.::2.:5062>" search_in="msg" check_it_inverse="true" assign_to="5" /><br>+                 <ereg regexp="Contact: <sip:(charlie|carol)-home@.::3.:5063>" search_in="msg" check_it_inverse="true" assign_to="6" /><br>+           </action><br>+      </recv><br> <br>-    <send retrans="500"><br>-        <![CDATA[<br>-<br>-        REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>-        Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>-        From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>-        To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>-        Call-ID: [call_id]<br>-        CSeq: 1 REGISTER<br>-        Max-Forwards: 70<br>- Contact: "[service]" <sip:[service]-mobile@[customip3]:5064>;transport=[transport]<br>-   Contact: "[service]" <sip:[service]-pc@[customip4]:5065>;transport=[transport]<br>-        Subject: Performance Test<br>-   Expires: 20<br>-        Content-Length: 0<br>-<br>-        ]]><br>-    </send><br>-<br>-    <recv response="200" rtd="true"><br>-        <action><br>-            <!-- Ensure the new contacts are present and that the expires is correct with a 5 second tolerance --><br>-          <ereg regexp="Contact: <sip:(charlie|carol)-mobile@.::4.:5064>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="3"/><br>-      <ereg regexp="Contact: <sip:(charlie|carol)-pc@.::5.:5065>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="4" /><br>-            <!-- Ensure the old contacts are *not* present --><br>-          <ereg regexp="Contact: <sip:(charlie|carol)-office@.::2.:5062>" search_in="msg" check_it_inverse="true" assign_to="5" /><br>-            <ereg regexp="Contact: <sip:(charlie|carol)-home@.::3.:5063>" search_in="msg" check_it_inverse="true" assign_to="6" /><br>-        </action><br>-    </recv><br>-    <Reference variables="1" /><br>-    <Reference variables="2" /><br>-    <Reference variables="3" /><br>-    <Reference variables="4" /><br>-    <Reference variables="5" /><br>-    <Reference variables="6" /><br>-<br>+       <Reference variables="1" /><br>+  <Reference variables="2" /><br>+  <Reference variables="3" /><br>+  <Reference variables="4" /><br>+  <Reference variables="5" /><br>+  <Reference variables="6" /><br> </scenario><br>diff --git a/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-v13.18-ipv4.xml b/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-v13.18-ipv4.xml<br>new file mode 100644<br>index 0000000..c88bb6f<br>--- /dev/null<br>+++ b/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-v13.18-ipv4.xml<br>@@ -0,0 +1,250 @@<br>+<?xml version="1.0" encoding="ISO-8859-1" ?><br>+<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>+<br>+<scenario name="Basic Sipstone UAC"><br>+       <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-1<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-1@127.0.0.2:5062>;transport=[transport]<br>+                  Subject: Performance Test<br>+                    Expires: 60<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(alice|bob)-1@127.0.0.2:5062>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="1"/><br>+           </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-2<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-2@127.0.0.3:5063>;transport=[transport]<br>+                  Subject: Performance Test<br>+                    Expires: 70<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(alice|bob)-1@127.0.0.2:5062>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="2"/><br>+                   <ereg regexp="Contact: <sip:(alice|bob)-2@127.0.0.3:5063>;expires=(70|6[5-9])" search_in="msg" check_it="true" assign_to="3"/><br>+           </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-3<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-3@127.0.0.4:5064>;transport=[transport]<br>+                  Subject: Performance Test<br>+                    Expires: 80<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(alice|bob)-1@127.0.0.2:5062>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="4"/><br>+                   <ereg regexp="Contact: <sip:(alice|bob)-2@127.0.0.3:5063>;expires=(70|6[5-9])" search_in="msg" check_it="true" assign_to="5"/><br>+                   <ereg regexp="Contact: <sip:(alice|bob)-3@127.0.0.4:5064>;expires=(80|7[5-9])" search_in="msg" check_it="true" assign_to="6"/><br>+           </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-4<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-4@127.0.0.5:5065>;transport=[transport]<br>+                  Subject: Performance Test<br>+                    Expires: 90<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(alice|bob)-2@127.0.0.3:5063>;expires=(70|6[5-9])" search_in="msg" check_it="true" assign_to="7"/><br>+                   <ereg regexp="Contact: <sip:(alice|bob)-3@127.0.0.4:5064>;expires=(80|7[5-9])" search_in="msg" check_it="true" assign_to="8"/><br>+                   <ereg regexp="Contact: <sip:(alice|bob)-4@127.0.0.5:5065>;expires=(90|8[5-9])" search_in="msg" check_it="true" assign_to="9"/><br>+                   <!-- Ensure the expected old contacts are *not* present --><br>+                    <ereg regexp="Contact: <sip:(alice|bob)-1@127.0.0.2:5062>" search_in="msg" check_it_inverse="true" assign_to="10" /><br>+             </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-5<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-4@127.0.0.5:5065>;transport=[transport];expires=0<br>+                        Contact: "[service]" <sip:[service]-5@127.0.0.6:5066>;transport=[transport];expires=100<br>+                      Contact: "[service]" <sip:[service]-6@127.0.0.7:5067>;transport=[transport];expires=110<br>+                      Subject: Performance Test<br>+                    Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(alice|bob)-3@127.0.0.4:5064>;expires=(80|7[5-9])" search_in="msg" check_it="true" assign_to="11"/><br>+                  <ereg regexp="Contact: <sip:(alice|bob)-5@127.0.0.6:5066>;expires=(100|9[5-9])" search_in="msg" check_it="true" assign_to="12"/><br>+                 <ereg regexp="Contact: <sip:(alice|bob)-6@127.0.0.7:5067>;expires=(110|10[5-9])" search_in="msg" check_it="true" assign_to="13"/><br>+                        <!-- Ensure the expected old contacts are *not* present --><br>+                    <ereg regexp="Contact: <sip:(alice|bob)-1@127.0.0.2:5062>" search_in="msg" check_it_inverse="true" assign_to="14" /><br>+                     <ereg regexp="Contact: <sip:(alice|bob)-2@127.0.0.3:5063>" search_in="msg" check_it_inverse="true" assign_to="15"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-4@127.0.0.5:5065>" search_in="msg" check_it_inverse="true" assign_to="16"/><br>+              </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-6<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-7@127.0.0.8:5068>;transport=[transport]<br>+                  Contact: "[service]" <sip:[service]-8@127.0.0.9:5069>;transport=[transport]<br>+                  Subject: Performance Test<br>+                    Expires: 110<br>+                 Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(alice|bob)-6@127.0.0.7:5067>;expires=(110|10[5-9])" search_in="msg" check_it="true" assign_to="17"/><br>+                        <ereg regexp="Contact: <sip:(alice|bob)-7@127.0.0.8:5068>;expires=(110|10[5-9])" search_in="msg" check_it="true" assign_to="18"/><br>+                        <ereg regexp="Contact: <sip:(alice|bob)-8@127.0.0.9:5069>;expires=(110|10[5-9])" search_in="msg" check_it="true" assign_to="19"/><br>+                        <!-- Ensure the expected old contacts are *not* present --><br>+                    <ereg regexp="Contact: <sip:(alice|bob)-1@127.0.0.2:5062>" search_in="msg" check_it_inverse="true" assign_to="20" /><br>+                     <ereg regexp="Contact: <sip:(alice|bob)-2@127.0.0.3:5063>" search_in="msg" check_it_inverse="true" assign_to="21"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-3@127.0.0.4:5064>" search_in="msg" check_it_inverse="true" assign_to="22"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-4@127.0.0.5:5065>" search_in="msg" check_it_inverse="true" assign_to="23"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-5@127.0.0.6:5066>" search_in="msg" check_it_inverse="true" assign_to="24"/><br>+              </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-7<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-9@127.0.0.10:5070>;transport=[transport]<br>+                 Contact: "[service]" <sip:[service]-10@127.0.0.10:5071>;transport=[transport]<br>+                        Contact: "[service]" <sip:[service]-11@127.0.0.10:5072>;transport=[transport]<br>+                        Contact: "[service]" <sip:[service]-12@127.0.0.10:5073>;transport=[transport]<br>+                        Subject: Performance Test<br>+                    Expires: 110<br>+                 Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="403" rtd="true"><br>+   </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-8<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: *<br>+                   Subject: Performance Test<br>+                    Expires: 0<br>+                   Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected old contacts are *not* present --><br>+                    <ereg regexp="Contact: <sip:(alice|bob)-1@127.0.0.2:5062>" search_in="msg" check_it_inverse="true" assign_to="25" /><br>+                     <ereg regexp="Contact: <sip:(alice|bob)-2@127.0.0.3:5063>" search_in="msg" check_it_inverse="true" assign_to="26"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-3@127.0.0.4:5064>" search_in="msg" check_it_inverse="true" assign_to="27"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-4@127.0.0.5:5065>" search_in="msg" check_it_inverse="true" assign_to="28"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-5@127.0.0.6:5066>" search_in="msg" check_it_inverse="true" assign_to="29"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-6@127.0.0.7:5067>" search_in="msg" check_it_inverse="true" assign_to="30"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-7@127.0.0.8:5068>" search_in="msg" check_it_inverse="true" assign_to="31"/><br>+                      <ereg regexp="Contact: <sip:(alice|bob)-8@127.0.0.9:5069>" search_in="msg" check_it_inverse="true" assign_to="32"/><br>+              </action><br>+      </recv><br>+<br>+     <Reference variables="1" /><br>+  <Reference variables="2" /><br>+  <Reference variables="3" /><br>+  <Reference variables="4" /><br>+  <Reference variables="5" /><br>+  <Reference variables="6" /><br>+  <Reference variables="7" /><br>+  <Reference variables="8" /><br>+  <Reference variables="9" /><br>+  <Reference variables="10" /><br>+ <Reference variables="11" /><br>+ <Reference variables="12" /><br>+ <Reference variables="13" /><br>+ <Reference variables="14" /><br>+ <Reference variables="15" /><br>+ <Reference variables="16" /><br>+ <Reference variables="17" /><br>+ <Reference variables="18" /><br>+ <Reference variables="19" /><br>+ <Reference variables="20" /><br>+ <Reference variables="21" /><br>+ <Reference variables="22" /><br>+ <Reference variables="23" /><br>+ <Reference variables="24" /><br>+ <Reference variables="25" /><br>+ <Reference variables="26" /><br>+ <Reference variables="27" /><br>+ <Reference variables="28" /><br>+ <Reference variables="29" /><br>+ <Reference variables="30" /><br>+ <Reference variables="31" /><br>+ <Reference variables="32" /><br>+</scenario><br>diff --git a/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-v13.18-ipv6.xml b/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-v13.18-ipv6.xml<br>new file mode 100644<br>index 0000000..c065406<br>--- /dev/null<br>+++ b/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/sipp/register-v13.18-ipv6.xml<br>@@ -0,0 +1,250 @@<br>+<?xml version="1.0" encoding="ISO-8859-1" ?><br>+<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>+<br>+<scenario name="Basic Sipstone UAC"><br>+      <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-1<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-1@[customip1]:5062>;transport=[transport]<br>+                        Subject: Performance Test<br>+                    Expires: 60<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(charlie|carol)-1@.::2.:5062>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="1"/><br>+           </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-2<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-2@[customip2]:5063>;transport=[transport]<br>+                        Subject: Performance Test<br>+                    Expires: 70<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(charlie|carol)-1@.::2.:5062>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="2"/><br>+                   <ereg regexp="Contact: <sip:(charlie|carol)-2@.::3.:5063>;expires=(70|6[5-9])" search_in="msg" check_it="true" assign_to="3"/><br>+           </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-3<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-3@[customip3]:5064>;transport=[transport]<br>+                        Subject: Performance Test<br>+                    Expires: 80<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(charlie|carol)-1@.::2.:5062>;expires=(60|5[5-9])" search_in="msg" check_it="true" assign_to="4"/><br>+                   <ereg regexp="Contact: <sip:(charlie|carol)-2@.::3.:5063>;expires=(70|6[5-9])" search_in="msg" check_it="true" assign_to="5"/><br>+                   <ereg regexp="Contact: <sip:(charlie|carol)-3@.::4.:5064>;expires=(80|7[5-9])" search_in="msg" check_it="true" assign_to="6"/><br>+           </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-4<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-4@[customip4]:5065>;transport=[transport]<br>+                        Subject: Performance Test<br>+                    Expires: 90<br>+                  Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(charlie|carol)-2@.::3.:5063>;expires=(70|6[5-9])" search_in="msg" check_it="true" assign_to="7"/><br>+                   <ereg regexp="Contact: <sip:(charlie|carol)-3@.::4.:5064>;expires=(80|7[5-9])" search_in="msg" check_it="true" assign_to="8"/><br>+                   <ereg regexp="Contact: <sip:(charlie|carol)-4@.::5.:5065>;expires=(90|8[5-9])" search_in="msg" check_it="true" assign_to="9"/><br>+                   <!-- Ensure the expected old contacts are *not* present --><br>+                    <ereg regexp="Contact: <sip:(charlie|carol)-1@.::2.:5062>" search_in="msg" check_it_inverse="true" assign_to="10" /><br>+             </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-5<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-4@[customip4]:5065>;transport=[transport];expires=0<br>+                      Contact: "[service]" <sip:[service]-5@[customip5]:5066>;transport=[transport];expires=100<br>+                    Contact: "[service]" <sip:[service]-6@[customip6]:5067>;transport=[transport];expires=110<br>+                    Subject: Performance Test<br>+                    Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(charlie|carol)-3@.::4.:5064>;expires=(80|7[5-9])" search_in="msg" check_it="true" assign_to="11"/><br>+                  <ereg regexp="Contact: <sip:(charlie|carol)-5@.::6.:5066>;expires=(100|9[5-9])" search_in="msg" check_it="true" assign_to="12"/><br>+                 <ereg regexp="Contact: <sip:(charlie|carol)-6@.::7.:5067>;expires=(110|10[5-9])" search_in="msg" check_it="true" assign_to="13"/><br>+                        <!-- Ensure the expected old contacts are *not* present --><br>+                    <ereg regexp="Contact: <sip:(charlie|carol)-1@.::2.:5062>" search_in="msg" check_it_inverse="true" assign_to="14" /><br>+                     <ereg regexp="Contact: <sip:(charlie|carol)-2@.::3.:5063>" search_in="msg" check_it_inverse="true" assign_to="15"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-4@.::5.:5065>" search_in="msg" check_it_inverse="true" assign_to="16"/><br>+              </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-6<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-7@[customip7]:5068>;transport=[transport]<br>+                        Contact: "[service]" <sip:[service]-8@[customip8]:5069>;transport=[transport]<br>+                        Subject: Performance Test<br>+                    Expires: 110<br>+                 Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected contacts are present and that the expires is correct with a 5 second tolerance --><br>+                    <ereg regexp="Contact: <sip:(charlie|carol)-6@.::7.:5067>;expires=(110|10[5-9])" search_in="msg" check_it="true" assign_to="17"/><br>+                        <ereg regexp="Contact: <sip:(charlie|carol)-7@.::8.:5068>;expires=(110|10[5-9])" search_in="msg" check_it="true" assign_to="18"/><br>+                        <ereg regexp="Contact: <sip:(charlie|carol)-8@.::9.:5069>;expires=(110|10[5-9])" search_in="msg" check_it="true" assign_to="19"/><br>+                        <!-- Ensure the expected old contacts are *not* present --><br>+                    <ereg regexp="Contact: <sip:(charlie|carol)-1@.::2.:5062>" search_in="msg" check_it_inverse="true" assign_to="20" /><br>+                     <ereg regexp="Contact: <sip:(charlie|carol)-2@.::3.:5063>" search_in="msg" check_it_inverse="true" assign_to="21"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-3@.::4.:5064>" search_in="msg" check_it_inverse="true" assign_to="22"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-4@.::5.:5065>" search_in="msg" check_it_inverse="true" assign_to="23"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-5@.::6.:5066>" search_in="msg" check_it_inverse="true" assign_to="24"/><br>+              </action><br>+      </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-7<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: "[service]" <sip:[service]-9@[customip9]:5070>;transport=[transport]<br>+                        Contact: "[service]" <sip:[service]-10@[customip9]:5071>;transport=[transport]<br>+                       Contact: "[service]" <sip:[service]-11@[customip9]:5072>;transport=[transport]<br>+                       Contact: "[service]" <sip:[service]-12@[customip9]:5073>;transport=[transport]<br>+                       Subject: Performance Test<br>+                    Expires: 110<br>+                 Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="403" rtd="true"><br>+   </recv><br>+<br>+     <send retrans="500"><br>+         <![CDATA[<br>+                 REGISTER sip:[remote_ip]:[remote_port] SIP/2.0<br>+                       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>+                     From: "[service]" <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]-8<br>+                  To: "[service]" <sip:[service]@[remote_ip]:[remote_port]><br>+                    Call-ID: [call_id]<br>+                   CSeq: 1 REGISTER<br>+                     Max-Forwards: 70<br>+                     Contact: *<br>+                   Subject: Performance Test<br>+                    Expires: 0<br>+                   Content-Length: 0<br>+            ]]><br>+       </send><br>+<br>+     <recv response="200" rtd="true"><br>+           <action><br>+                       <!-- Ensure the expected old contacts are *not* present --><br>+                    <ereg regexp="Contact: <sip:(charlie|carol)-1@.::2.:5062>" search_in="msg" check_it_inverse="true" assign_to="25" /><br>+                     <ereg regexp="Contact: <sip:(charlie|carol)-2@.::3.:5063>" search_in="msg" check_it_inverse="true" assign_to="26"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-3@.::4.:5064>" search_in="msg" check_it_inverse="true" assign_to="27"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-4@.::5.:5065>" search_in="msg" check_it_inverse="true" assign_to="28"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-5@.::6.:5066>" search_in="msg" check_it_inverse="true" assign_to="29"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-6@.::7.:5067>" search_in="msg" check_it_inverse="true" assign_to="30"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-7@.::8.:5068>" search_in="msg" check_it_inverse="true" assign_to="31"/><br>+                      <ereg regexp="Contact: <sip:(charlie|carol)-8@.::9.:5069>" search_in="msg" check_it_inverse="true" assign_to="32"/><br>+              </action><br>+      </recv><br>+<br>+     <Reference variables="1" /><br>+  <Reference variables="2" /><br>+  <Reference variables="3" /><br>+  <Reference variables="4" /><br>+  <Reference variables="5" /><br>+  <Reference variables="6" /><br>+  <Reference variables="7" /><br>+  <Reference variables="8" /><br>+  <Reference variables="9" /><br>+  <Reference variables="10" /><br>+ <Reference variables="11" /><br>+ <Reference variables="12" /><br>+ <Reference variables="13" /><br>+ <Reference variables="14" /><br>+ <Reference variables="15" /><br>+ <Reference variables="16" /><br>+ <Reference variables="17" /><br>+ <Reference variables="18" /><br>+ <Reference variables="19" /><br>+ <Reference variables="20" /><br>+ <Reference variables="21" /><br>+ <Reference variables="22" /><br>+ <Reference variables="23" /><br>+ <Reference variables="24" /><br>+ <Reference variables="25" /><br>+ <Reference variables="26" /><br>+ <Reference variables="27" /><br>+ <Reference variables="28" /><br>+ <Reference variables="29" /><br>+ <Reference variables="30" /><br>+ <Reference variables="31" /><br>+ <Reference variables="32" /><br>+</scenario><br>diff --git a/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/test-config.yaml b/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/test-config.yaml<br>index abe40f8..a97c71e 100644<br>--- a/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/test-config.yaml<br>+++ b/tests/channels/pjsip/registration/inbound/nominal/config_options/remove_existing/test-config.yaml<br>@@ -1,22 +1,51 @@<br> testinfo:<br>     summary:     'Register contacts to test the remove_existing option'<br>     description: |<br>-        'Using all combinations of IPv4/IPv6 and UDP/TCP, run SIPp scenarios<br>+        'Old remove_exising behaviour:<br>+         All existing AOR contacts are removed and replaced with the new<br>+         registration contacts when remove_existing is enabled.  The number<br>+         of contacts cannot go over the max_contacts setting.<br>+<br>+         Using all combinations of IPv4/IPv6 and UDP/TCP, run SIPp scenarios<br>          that register two contacts per AOR. Then register two different<br>          contacts for the same AORs. This ensures that with the remove_existing<br>          pjsip.conf configuration option enabled, the first two contacts are<br>-         removed and the new contacts are added.'<br>+         removed and the new contacts are added.<br>+<br>+         New remove_existing behavour:<br>+         Any existing AOR contacts not affected by the new registration and<br>+         expire the soonest are removed if they push the number of contacts<br>+         over the max_contacts setting.  A single registration still cannot<br>+         try to add more contacts than the max_contacts setting.  The number<br>+         of contacts cannot go over the max_contacts setting.<br>+<br>+         Using all combinations of IPv4/IPv6 and UDP/TCP, run SIPp scenarios<br>+         that register contacts in a series of registrations per transport.<br>+         This ensures that with the remove_existing pjsip.conf configuration<br>+         option enabled, the contacts are removed and the new contacts are<br>+         added as expected.'<br> <br> test-modules:<br>     test-object:<br>-        config-section: test-object-config<br>-        typename: 'sipp.SIPpTestCase'<br>+        -<br>+            maxversion: ['13.18.0', '14.7.0', '15.1.0']<br>+            config-section: test-object-config-v12<br>+            typename: 'sipp.SIPpTestCase'<br>+        -<br>+            minversion: ['13.18.0', '14.7.0', '15.1.0']<br>+            config-section: test-object-config-v13.18.0<br>+            typename: 'sipp.SIPpTestCase'<br>     modules:<br>         -<br>-            config-section: 'ami-config'<br>+            maxversion: ['13.18.0', '14.7.0', '15.1.0']<br>+            config-section: 'ami-config-v12'<br>+            typename: 'ami.AMIEventModule'<br>+        -<br>+            minversion: ['13.18.0', '14.7.0', '15.1.0']<br>+            config-section: 'ami-config-v13.18.0'<br>             typename: 'ami.AMIEventModule'<br> <br>-test-object-config:<br>+test-object-config-v12:<br>     fail-on-any: False<br>     test-iterations:<br>         -<br>@@ -28,16 +57,16 @@<br>                 - { 'key-args': {'scenario': 'register-noauth-ipv4.xml', '-i': '127.0.0.1', '-p': '5061', '-t': 't1', '-s': 'bob'} }<br>                 # IPv6 & UDP<br>                 - { 'key-args': {'scenario': 'register-noauth-ipv6.xml',<br>-                                    'target': '[::1]', '-i': '[::1]', '-p': '5061', '-s': 'charlie'},<br>+                                 'target': '[::1]', '-i': '[::1]', '-p': '5061', '-s': 'charlie'},<br>                     'ordered-args': ['-key', 'customip1', '[::2]', '-key', 'customip2', '[::3]',<br>-                                        '-key', 'customip3', '[::4]', '-key', 'customip4', '[::5]'] }<br>+                                     '-key', 'customip3', '[::4]', '-key', 'customip4', '[::5]'] }<br>                 # IPv6 & TCP<br>                 - { 'key-args': {'scenario': 'register-noauth-ipv6.xml',<br>-                                    'target': '[::1]', '-i': '[::1]', '-p': '5061', '-t': 't1', '-s': 'carol'},<br>+                                 'target': '[::1]', '-i': '[::1]', '-p': '5061', '-t': 't1', '-s': 'carol'},<br>                     'ordered-args': ['-key', 'customip1', '[::2]', '-key', 'customip2', '[::3]',<br>-                                        '-key', 'customip3', '[::4]', '-key', 'customip4', '[::5]'] }<br>+                                     '-key', 'customip3', '[::4]', '-key', 'customip4', '[::5]'] }<br> <br>-ami-config:<br>+ami-config-v12:<br>     -<br>         type: 'headermatch'<br>         id: '0'<br>@@ -247,6 +276,107 @@<br>                 Expiration: '60'<br>         count: '1'<br> <br>+test-object-config-v13.18.0:<br>+    fail-on-any: False<br>+    test-iterations:<br>+        -<br>+            scenarios:<br>+                # IPv4 & UDP<br>+                - { 'key-args': {'scenario': 'register-v13.18-ipv4.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>+<br>+                # IPv4 & TCP<br>+                - { 'key-args': {'scenario': 'register-v13.18-ipv4.xml', '-i': '127.0.0.1', '-p': '5061', '-t': 't1', '-s': 'bob'} }<br>+                # IPv6 & UDP<br>+                - { 'key-args': {'scenario': 'register-v13.18-ipv6.xml',<br>+                                 'target': '[::1]', '-i': '[::1]', '-p': '5061', '-s': 'charlie'},<br>+                    'ordered-args': ['-key', 'customip1', '[::2]', '-key', 'customip2', '[::3]',<br>+                                     '-key', 'customip3', '[::4]', '-key', 'customip4', '[::5]',<br>+                                     '-key', 'customip5', '[::6]', '-key', 'customip6', '[::7]',<br>+                                     '-key', 'customip7', '[::8]', '-key', 'customip8', '[::9]',<br>+                                     '-key', 'customip9', '[::10]'] }<br>+                # IPv6 & TCP<br>+                - { 'key-args': {'scenario': 'register-v13.18-ipv6.xml',<br>+                                 'target': '[::1]', '-i': '[::1]', '-p': '5061', '-t': 't1', '-s': 'carol'},<br>+                    'ordered-args': ['-key', 'customip1', '[::2]', '-key', 'customip2', '[::3]',<br>+                                     '-key', 'customip3', '[::4]', '-key', 'customip4', '[::5]',<br>+                                     '-key', 'customip5', '[::6]', '-key', 'customip6', '[::7]',<br>+                                     '-key', 'customip7', '[::8]', '-key', 'customip8', '[::9]',<br>+                                     '-key', 'customip9', '[::10]'] }<br>+<br>+ami-config-v13.18.0:<br>+    -<br>+        type: 'headermatch'<br>+        id: '0'<br>+        conditions:<br>+            match:<br>+                Event: 'TestEvent'<br>+                State: 'AOR_CONTACT_ADDED'<br>+                AOR: 'alice'<br>+        count: '8'<br>+    -<br>+        type: 'headermatch'<br>+        id: '0'<br>+        conditions:<br>+            match:<br>+                Event: 'TestEvent'<br>+                State: 'AOR_CONTACT_REMOVED'<br>+                AOR: 'alice'<br>+        count: '8'<br>+    -<br>+        type: 'headermatch'<br>+        id: '0'<br>+        conditions:<br>+            match:<br>+                Event: 'TestEvent'<br>+                State: 'AOR_CONTACT_ADDED'<br>+                AOR: 'bob'<br>+        count: '8'<br>+    -<br>+        type: 'headermatch'<br>+        id: '0'<br>+        conditions:<br>+            match:<br>+                Event: 'TestEvent'<br>+                State: 'AOR_CONTACT_REMOVED'<br>+                AOR: 'bob'<br>+        count: '8'<br>+    -<br>+        type: 'headermatch'<br>+        id: '0'<br>+        conditions:<br>+            match:<br>+                Event: 'TestEvent'<br>+                State: 'AOR_CONTACT_ADDED'<br>+                AOR: 'charlie'<br>+        count: '8'<br>+    -<br>+        type: 'headermatch'<br>+        id: '0'<br>+        conditions:<br>+            match:<br>+                Event: 'TestEvent'<br>+                State: 'AOR_CONTACT_REMOVED'<br>+                AOR: 'charlie'<br>+        count: '8'<br>+    -<br>+        type: 'headermatch'<br>+        id: '0'<br>+        conditions:<br>+            match:<br>+                Event: 'TestEvent'<br>+                State: 'AOR_CONTACT_ADDED'<br>+                AOR: 'carol'<br>+        count: '8'<br>+    -<br>+        type: 'headermatch'<br>+        id: '0'<br>+        conditions:<br>+            match:<br>+                Event: 'TestEvent'<br>+                State: 'AOR_CONTACT_REMOVED'<br>+                AOR: 'carol'<br>+        count: '8'<br>+<br> properties:<br>     minversion: '12.0.0'<br>     dependencies:<br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/6639">change 6639</a>. To unsubscribe, 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/6639"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: testsuite </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I5a5931dc6cf94b2f2db47114291b52b5e43e7f56 </div>
<div style="display:none"> Gerrit-Change-Number: 6639 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: Richard Mudgett <rmudgett@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins2 </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Kevin Harwell <kharwell@digium.com> </div>