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