MT#61969 New scenario invite_offline_deregistered

New scenario to test registrations with contact: *.
The scenario checks that contact * is treated as special character
by kamailio proxy and ensures that the callee if offline.

Change-Id: I25dfd00278668120413b3f4da17559421bbfde1c
master
Alessio Garzi 3 months ago
parent 26fa5e600d
commit a552bc1cd1

@ -0,0 +1,3 @@
cdr:
- val: '[% scenarios.0.username %]'
type: 'header=P-Preferred-Identity'

@ -0,0 +1,10 @@
cdr:
- source_user: '[% scenarios.0.username %]'
source_domain: 'invite-offline-deregistered.scenarios.test'
source_cli: '[% invite_offline_deregistered_scenarios_test.testuser1002.phone_number %]'
destination_user: 'testuser1003'
destination_domain: 'invite-offline-deregistered.scenarios.test'
destination_user_dialed: 'testuser1003'
call_type: 'call'
call_status: 'noanswer'
call_code: '480'

@ -0,0 +1,5 @@
{
"@invite-offline-deregistered.scenarios.test": {
"nat_sipping": "no"
}
}

@ -0,0 +1,43 @@
---
test_uuid: invite_offline_deregistered
description: Call to a user who deregistered using special value '*' in contact header as stated in RFC 3261
domains:
invite-offline-deregistered.scenarios.test:
reseller_id: 1
customers:
'customer.test':
contacts:
- email: "customer.test@spce.test"
reseller_id: 1
details:
status: 'active'
type: 'sipaccount'
billing_profile_id: 1
reseller_id: 1
subscribers:
invite-offline-deregistered.scenarios.test:
testuser1003:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1003
testuser1002:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1002
alias_numbers:
- cc: 34
ac: 96
sn: 5711941
scenarios:
- ip: 127.126.0.1
username: testuser1002
domain: invite-offline-deregistered.scenarios.test
responders:
- ip: 127.1.0.1
username: testuser1003
domain: invite-offline-deregistered.scenarios.test
register: 'yes'

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<scenario name="Sipwise NGCP Benchmark UAC Caller">
<send start_rtd="1" start_rtd="2">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: 1 INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
P-Preferred-Identity: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: [len]
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] [media_ip]
t=0 0
m=audio [media_port] RTP/AVP 8
a=rtpmap:8 PCMA/8000
a=ptime:50
]]>
</send>
<recv response="100" rtd="1" optional="true">
</recv>
<recv response="407" rtd="2" auth="true"/>
<send>
<![CDATA[
ACK sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]:[remote_port] SIP/2.0
[last_Via:]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: 1 ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<send start_rtd="3">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: 2 INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
P-Preferred-Identity: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>
Max-Forwards: 70
[field1 file="caller.csv"]
Content-Type: application/sdp
Content-Length: [len]
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] [media_ip]
t=0 0
m=audio [media_port] RTP/AVP 8
a=rtpmap:8 PCMA/8000
a=ptime:50
]]>
</send>
<recv response="100" rrs="false" optional="true">
</recv>
<recv response="480" rrs="false" rtd="3">
</recv>
<send>
<![CDATA[
ACK sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]:[remote_port] SIP/2.0
[last_Via:]
From: <sip:[field0 file="caller.csv" line=0]@[field2 file="caller.csv" line=0]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: 2 ACK
Contact: <sip:[field0 file="caller.csv" line=0]@[local_ip]:[local_port]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200, 500, 1000"/>
<!-- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> -->
</scenario>

@ -0,0 +1,26 @@
messages:
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-offline-deregistered.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-deregistered.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length:\s+0'
- - 'SIP/2.0 407 Proxy Authentication Required'
- 'From: <sip:[% scenarios.0.username %]@invite-offline-deregistered.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-deregistered.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Proxy-Authenticate: Digest realm="invite-offline-deregistered.scenarios.test", nonce="[^"]+"'
- 'Server: Sipwise NGCP Proxy'
- 'Content-Length:\s+0'
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-offline-deregistered.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-deregistered.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length:\s+0'
- - 'SIP/2.0 480 Offline'
- 'From: <sip:[% scenarios.0.username %]@invite-offline-deregistered.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-deregistered.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP Proxy'
- 'Content-Length:\s+0'

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<scenario name="Sipwise NGCP Benchmark UAS Responder">
<send>
<![CDATA[
REGISTER sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: 1 REGISTER
Contact: *
Expires: 0
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<recv response="100"
optional="true">
</recv>
<recv response="401" auth="true"/>
<send>
<![CDATA[
REGISTER sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: 2 REGISTER
[field2 file="callee.csv" line=0]
Contact: *
Expires: 0
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>

@ -0,0 +1,8 @@
messages:
- - 'SIP/2.0 401 Unauthorized'
- 'From: <sip:[% scenarios.0.responders.0.username %]@invite-offline-deregistered.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-deregistered.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ REGISTER'
- 'WWW-Authenticate: Digest realm="invite-offline-deregistered.scenarios.test", nonce="[^"]+"'
- 'Server: Sipwise NGCP Proxy'
- 'Content-Length:\s+0'
Loading…
Cancel
Save