TT#140851 scenarios extended for P-Early-Media - invite_allowip_soundset

invite_allowip_soundset has also been extended to demonstrate
kamailio proxy handling P-Early-Media SIP Header.
- The first call is the same and demonstrates if the caller does not send
  P-Early-Media header, ngcp will assume he's supporting early media and
  he's gonna play the announce.
- The Second call is the same case but since P-Early-Media is "inactive"
  kamailio wont sent the audio message and justs sends an error.

Change-Id: Ib989809ada070101b932deaf9ba8d2f5c1a92fe0
mr10.5.1
Alessio Garzi 4 years ago
parent 0108575e95
commit 169be79061

@ -0,0 +1,108 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
- return|ROUTE_NET_INFO:
- start|ROUTE_CHECK_TEL_URI:
- return|ROUTE_CHECK_TEL_URI:
- start|ROUTE_PRX_REQUEST:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|ROUTE_INVITE:
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_FIND_CALLER:
- start|ROUTE_AUTH:
- start|ROUTE_AUTH_HELPER:
- return|ROUTE_AUTH_HELPER:
- start|ROUTE_ADD_CALLINFO_REPLY:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_REPLY:
- return|ROUTE_AUTH:
- return|ROUTE_FIND_CALLER:
- start|ROUTE_LOAD_CALLER_PREF:
- start|ROUTE_CLEAR_CALLER_PREF:
- return|ROUTE_CLEAR_CALLER_PREF:
- start|ROUTE_CHECK_UA:
- return|ROUTE_CHECK_UA:
- start|ROUTE_LOAD_CALLER_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLER_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLER_PREF:
- start|ROUTE_DLG_MANAGE:
- return|ROUTE_DLG_MANAGE:
- start|ROUTE_PARSE_P_EARLY_MEDIA:
- start|ROUTE_DISABLE_SEMS_EARLY_MEDIA:
- return|ROUTE_DISABLE_SEMS_EARLY_MEDIA:
- return|ROUTE_PARSE_P_EARLY_MEDIA:
$var(pem_flags): 1
$var(sems_early_media_disabled): 1
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_GET_CALLER_CLI:
- return|ROUTE_GET_CALLER_CLI:
- start|ROUTE_GET_FORWARDER_CLI:
- return|ROUTE_GET_FORWARDER_CLI:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- start|ROUTE_ACC_FAILURE:
- start|ROUTE_ACC_CALLER:
- start|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_ACC_CALLER:
- start|ROUTE_ACC_CALLEE:
- start|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_ACC_CALLEE:
- return|ROUTE_ACC_FAILURE:
- start|ROUTE_EARLY_REJECT:
- start|ROUTE_ADD_CALLINFO_REPLY:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_REPLY:
- start|ROUTE_LOCAL_REPLY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|dialog:failed:
- return|dialog:failed:
- return|dialog:failed:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:[% scenarios.1.responders.0.username %]@invite-allowip-soundset.scenarios.test SIP/2.0'
- 'From: <sip:[% scenarios.1.username %]@invite-allowip-soundset.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-allowip-soundset.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Proxy-Authorization: Digest username="testuser1002",realm="invite-allowip-soundset.scenarios.test",uri="sip:[% server_ip %]:5060",nonce=".+",response=".+",algorithm=MD5'
- 'P-Early-Media: supported,inactive'
- 'Content-Type: application/sdp'
- 'Content-Length:\s+\d+'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:[% scenarios.1.username %]@invite-allowip-soundset.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-allowip-soundset.scenarios.test>',
'CSeq: \d+ INVITE',
'Content-Length: 0',
]
- [
'SIP/2.0 101 Connecting',
'From: <sip:testuser1002@invite-allowip-soundset.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-allowip-soundset.scenarios.test>',
'CSeq: \d+ INVITE',
'Content-Length: 0',
]
- [
'SIP/2.0 403 Unauthorized IP detected',
'From: <sip:testuser1002@invite-allowip-soundset.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-allowip-soundset.scenarios.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Content-Length: 0',
]

@ -7,4 +7,13 @@ cdr:
destination_user_dialed: 'testuser1003'
call_type: 'call'
call_status: 'other'
call_code: '403'
- source_user: 'testuser1002'
source_domain: 'invite-allowip-soundset.scenarios.test'
source_cli: '0'
destination_user: 'testuser1004'
destination_domain: 'invite-allowip-soundset.scenarios.test'
destination_user_dialed: 'testuser1004'
call_type: 'call'
call_status: 'other'
call_code: '403'

@ -21,6 +21,12 @@ subscribers:
cc: 43
ac: 1
sn: 1003
testuser1004:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1003
testuser1002:
customer: 'customer.test'
password: testuser
@ -37,3 +43,12 @@ scenarios:
domain: invite-allowip-soundset.scenarios.test
register: 'no'
active: 'no'
- ip: 127.126.0.1
username: testuser1002
domain: invite-allowip-soundset.scenarios.test
responders:
- ip: 127.1.0.1
username: testuser1004
domain: invite-allowip-soundset.scenarios.test
register: 'no'
active: 'no'

@ -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=1]@[field3 file="callee.csv" line=1] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv" line=1]@[field2 file="caller.csv" line=1]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]>
Call-ID: NGCP%[field4 file="callee.csv" line=1]%///[call_id]
CSeq: 1 INVITE
Contact: <sip:[field0 file="caller.csv" line=1]@[local_ip]:[local_port]>
P-Early-Media: supported,inactive
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=1]@[field3 file="callee.csv" line=1]:[remote_port] SIP/2.0
[last_Via:]
From: <sip:[field0 file="caller.csv" line=1]@[field2 file="caller.csv" line=1]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=1]%///[call_id]
CSeq: 1 ACK
Contact: <sip:[field0 file="caller.csv" line=1]@[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=1]@[field3 file="callee.csv" line=1] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv" line=1]@[field2 file="caller.csv" line=1]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]>
Call-ID: NGCP%[field4 file="callee.csv" line=1]%///[call_id]
CSeq: 2 INVITE
Contact: <sip:[field0 file="caller.csv" line=1]@[local_ip]:[local_port]>
Max-Forwards: 70
[field1 file="caller.csv" line=1]
P-Early-Media: supported,inactive
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" optional="true">
</recv>
<recv response="403" rtd="3">
</recv>
<send>
<![CDATA[
ACK sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]:[remote_port] SIP/2.0
[last_Via:]
From: <sip:[field0 file="caller.csv" line=1]@[field2 file="caller.csv" line=1]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=1]%///[call_id]
CSeq: 2 ACK
Contact: <sip:[field0 file="caller.csv" line=1]@[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>
Loading…
Cancel
Save