Skip to content
GitLab
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
EMTEL - Emergency Communications
NG112 Conformance Test Suites
Compare revisions
dce25a4f0f03c0201740834535c5285a56610d3d...dc3c9f7f2fb13d9297061f2c335664ceeaa79474
Commits (2)
Validate TC_PSAP_SIP_INVITE_BV_06 with SIPp
· 7dda161b
YannGarcia
authored
May 25, 2022
7dda161b
Bug fixed in SIPp scripts
· dc3c9f7f
YannGarcia
authored
Jun 02, 2022
dc3c9f7f
Hide whitespace changes
Inline
Side-by-side
.jenkins.sh
View file @
dc3c9f7f
...
@@ -22,6 +22,11 @@ fi
...
@@ -22,6 +22,11 @@ fi
./run.sh
./run.sh
if
[
"
$1
"
==
"--remove"
]
then
docker rmi
--force
etsiforge/ttf_t009_ng112:latest
fi
cd
$run_dir
cd
$run_dir
exit
0
exit
0
etc/AtsPSAP/AtsNg112_Frequentis_psap.cfg_
View file @
dc3c9f7f
...
@@ -23,9 +23,9 @@ LibNg112_Pixits.PX_IMS_SUT_PCSCF1_IPADDR := "psap1.frequentis.plugtests.
...
@@ -23,9 +23,9 @@ LibNg112_Pixits.PX_IMS_SUT_PCSCF1_IPADDR := "psap1.frequentis.plugtests.
LibNg112_Pixits.PX_IMS_SUT_UE_IPADDR := "psap1.frequentis.plugtests.net"
LibNg112_Pixits.PX_IMS_SUT_UE_IPADDR := "psap1.frequentis.plugtests.net"
AtsPSAP_Pics.PICS_PSAP_S_SIP_REGISTRATION := false
AtsPSAP_Pics.PICS_PSAP_S_SIP_REGISTRATION := false
AtsPSAP_Pics.PICS_PSAP_S_SIP_TCP1 :=
tru
e # Set to true when using SIP over TCP ==> change SIP ports configuration
AtsPSAP_Pics.PICS_PSAP_S_SIP_TCP1 :=
fals
e # Set to true when using SIP over TCP ==> change SIP ports configuration
# Update LibSip_PIXITS.PX_SIP_TRANSPORT according to true/false value
# Update LibSip_PIXITS.PX_SIP_TRANSPORT according to true/false value
AtsPSAP_Pics.PICS_PSAP_S_SIP_UDP1 :=
fals
e
AtsPSAP_Pics.PICS_PSAP_S_SIP_UDP1 :=
tru
e
AtsPSAP_Pics.PICS_PSAP_USE_TLS := true
AtsPSAP_Pics.PICS_PSAP_USE_TLS := true
AtsPSAP_Pics.PICS_PSAP_B_SDP_ULA1 := true
AtsPSAP_Pics.PICS_PSAP_B_SDP_ULA1 := true
...
@@ -52,11 +52,11 @@ LogEventTypes:= Yes
...
@@ -52,11 +52,11 @@ LogEventTypes:= Yes
# SIP
# SIP
# TCP
# TCP
Caller.SIPP.params := "SIP/TCP(debug=1,server=127.0.0.1,port=5060,use_ssl=0)"
#
Caller.SIPP.params := "SIP/TCP(debug=1,server=127.0.0.1,port=5060,use_ssl=0)"
CallTalker.SIPP.params := "SIP/TCP(debug=1,server_mode=1,server=127.0.0.1,local_port=5080,use_ssl=0)"
#
CallTalker.SIPP.params := "SIP/TCP(debug=1,server_mode=1,server=127.0.0.1,local_port=5080,use_ssl=0)"
# UDP
# UDP
#
Caller.SIPP.params := "SIP/UDP(debug=1,dst_ip=127.0.0.1,dst_port=5060,src_port=5061,use_ssl=0)"
Caller.SIPP.params := "SIP/UDP(debug=1,dst_ip=127.0.0.1,dst_port=5060,src_port=5061,use_ssl=0)"
#
CallTalker.SIPP.params := "SIP/UDP(debug=1,server_mode=1,src_port=5080,reuse_incoming_source_adddress=1,use_ssl=0)"
CallTalker.SIPP.params := "SIP/UDP(debug=1,server_mode=1,src_port=5080,reuse_incoming_source_adddress=1,use_ssl=0)"
# ESRP
# ESRP
system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=192.168.1.39,port=30044,use_ssl=0)"
system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=192.168.1.39,port=30044,use_ssl=0)"
...
...
mocks/AtsPSAP/TC_PSAP_SIP_INFO_BV_01/PsapCaller.xml
View file @
dc3c9f7f
...
@@ -135,7 +135,7 @@
...
@@ -135,7 +135,7 @@
<pause
milliseconds=
"4000"
/>
<pause
milliseconds=
"4000"
/>
<recv
request=
"BYE"
>
<recv
request=
"BYE"
timeout=
"10000"
>
</recv>
</recv>
<send>
<send>
...
...
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_01/PsapCaller.xml
View file @
dc3c9f7f
...
@@ -113,7 +113,7 @@
...
@@ -113,7 +113,7 @@
<pause
milliseconds=
"4000"
/>
<pause
milliseconds=
"4000"
/>
<recv
request=
"BYE"
>
<recv
request=
"BYE"
timeout=
"10000"
/
>
</recv>
</recv>
<send>
<send>
...
...
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_02/PsapCaller_register.xml
View file @
dc3c9f7f
...
@@ -67,7 +67,7 @@
...
@@ -67,7 +67,7 @@
<pause
milliseconds=
"12000"
/>
<pause
milliseconds=
"12000"
/>
<recv
request=
"BYE"
>
<recv
request=
"BYE"
timeout=
"10000"
>
</recv>
</recv>
<send>
<send>
...
...
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_03/PsapCaller.xml
View file @
dc3c9f7f
...
@@ -113,7 +113,7 @@
...
@@ -113,7 +113,7 @@
<pause
milliseconds=
"4000"
/>
<pause
milliseconds=
"4000"
/>
<recv
request=
"BYE"
>
<recv
request=
"BYE"
timeout=
"10000"
>
</recv>
</recv>
<send>
<send>
...
...
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_04/PsapCaller_register.xml
View file @
dc3c9f7f
...
@@ -67,7 +67,7 @@
...
@@ -67,7 +67,7 @@
<pause
milliseconds=
"12000"
/>
<pause
milliseconds=
"12000"
/>
<recv
request=
"BYE"
>
<recv
request=
"BYE"
timeout=
"10000"
>
</recv>
</recv>
<send>
<send>
...
...
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_05/PsapCaller.xml
View file @
dc3c9f7f
...
@@ -113,7 +113,7 @@
...
@@ -113,7 +113,7 @@
<pause
milliseconds=
"4000"
/>
<pause
milliseconds=
"4000"
/>
<recv
request=
"BYE"
>
<recv
request=
"BYE"
timeout=
"10000"
>
</recv>
</recv>
<send>
<send>
...
...
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_06/PsapCallTalker.xml
0 → 100644
View file @
dc3c9f7f
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<!-- This program is free software; you can redistribute it and/or -->
<!-- modify it under the terms of the GNU General Public License as -->
<!-- published by the Free Software Foundation; either version 2 of the -->
<!-- License, or (at your option) any later version. -->
<!-- -->
<!-- This program is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->
<!-- -->
<!-- You should have received a copy of the GNU General Public License -->
<!-- along with this program; if not, write to the -->
<!-- Free Software Foundation, Inc., -->
<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
<!-- -->
<!-- Sipp default 'uac' scenario. -->
<!-- -->
<scenario
name=
"Basic UAC"
>
<!-- In client mode (sipp placing calls), the Call-ID MUST be -->
<!-- generated by sipp. To do so, use [call_id] keyword. -->
<send
retrans=
"1000"
>
<![CDATA[
INVITE urn:service:sos SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: Alice <sip:alice-01@plugtests.net>
;tag=[pid]SIPpTag00[call_number]
To: [service]
<sip:
[service]@plugtests.net
>
Call-ID: [call_id]
CSeq: 1 INVITE
Contact: sip:alice-01@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Plugtests Test
Geolocation:
<cid:gE4dNNthX4QcNzCv
@dec112.app
>
;inserted_by="sip:bob-04@plugtests.net"
Geolocation-Routing: no
Accept: application/pidf+xml
Content-Type: multipart/mixed; boundary=qfpbntOwkOXuJWki
Content-Length: [len]
--qfpbntOwkOXuJWki
Content-Type: application/sdp
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 0
a=rtpmap:0 PCMU/8000
--qfpbntOwkOXuJWki
Content-Type: application/pidf+xml
Content-ID:
<gE4dNNthX4QcNzCv
@dec112.app
>
<?xml version="1.0" encoding="UTF-8"?>
<presence
xmlns=
"urn:ietf:params:xml:ns:pidf"
xmlns:gp=
"urn:ietf:params:xml:ns:pidf:geopriv10"
xmlns:gbp=
"urn:ietf:params:xml:ns:pidf:geopriv10:basicPolicy"
xmlns:cl=
"urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
xmlns:gml=
"http://www.opengis.net/gml"
xmlns:dm=
"urn:ietf:params:xml:ns:pidf:data-model"
entity=
"pres:alice@atlanta.example.com"
><dm:device
id=
"01003118-0200-d09c-a762-00046e180003"
><gp:geopriv><gp:location-info><gml:location><gml:Point
srsName=
"urn:ogc:def:crs:EPSG::4326"
><gml:pos>
43.62303240 7.04618454
</gml:pos></gml:Point></gml:location></gp:location-info><gp:usage-rules><gbp:retransmission-allowed>
false
</gbp:retransmission-allowed><gbp:retention-expiry>
2018-04-16T08:23:31.036Z
</gbp:retention-expiry></gp:usage-rules><gp:method>
gps
</gp:method></gp:geopriv><dm:deviceID>
01003118-0200-d09c-a762-00046e180003
</dm:deviceID><dm:timestamp>
2018-04-15T08:23:31.036Z
</dm:timestamp></dm:device></presence>
--qfpbntOwkOXuJWki--
]]>
</send>
<recv
response=
"100"
optional=
"true"
>
</recv>
<recv
response=
"180"
optional=
"true"
>
</recv>
<recv
response=
"183"
optional=
"true"
>
</recv>
<!-- By adding rrs="true" (Record Route Sets), the route sets -->
<!-- are saved and used for following messages sent. Useful to test -->
<!-- against stateful SIP proxies/B2BUAs. -->
<recv
response=
"200"
rtd=
"true"
>
</recv>
<!-- Packet lost can be simulated in any send/recv message by -->
<!-- by adding the 'lost = "10"'. Value can be [1-100] percent. -->
<send>
<![CDATA[
ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:sipp@[local_ip]:[local_port]>
;tag=[pid]SIPpTag00[call_number]
To: [service]
<sip:
[service]@[remote_ip]:[remote_port]
>
[peer_tag_param]
Call-ID: [call_id]
CSeq: 1 ACK
Contact: sip:sipp@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0
]]>
</send>
<!-- This delay can be customized by the -d command-line option -->
<!-- or by adding a 'milliseconds = "value"' option here. -->
<pause
milliseconds=
"15000"
/>
<!-- The 'crlf' option inserts a blank line in the statistics report. -->
<send
retrans=
"1000"
>
<![CDATA[
BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:sipp@[local_ip]:[local_port]>
;tag=[pid]SIPpTag00[call_number]
To: [service]
<sip:
[service]@[remote_ip]:[remote_port]
>
[peer_tag_param]
Call-ID: [call_id]
CSeq: 2 BYE
Contact: sip:sipp@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0
]]>
</send>
<recv
response=
"200"
crlf=
"true"
>
</recv>
<!-- definition of the response time repartition table (unit is ms) -->
<ResponseTimeRepartition
value=
"10, 20, 30, 40, 50, 100, 150, 200"
/>
<!-- definition of the call length repartition table (unit is ms) -->
<CallLengthRepartition
value=
"10, 50, 100, 500, 1000, 5000, 10000"
/>
</scenario>
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_06/PsapCaller.sh
0 → 100755
View file @
dc3c9f7f
echo
"Simulate PSAP Caller side (UAS)"
rm
*
.log
sipp
-t
t1
-trace_msg
-trace_calldebug
-trace_err
-m
2
-sf
PsapCaller.xml 127.0.0.1:5060
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_06/PsapCaller.xml
0 → 100644
View file @
dc3c9f7f
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<!-- This program is free software; you can redistribute it and/or -->
<!-- modify it under the terms of the GNU General Public License as -->
<!-- published by the Free Software Foundation; either version 2 of the -->
<!-- License, or (at your option) any later version. -->
<!-- -->
<!-- This program is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->
<!-- -->
<!-- You should have received a copy of the GNU General Public License -->
<!-- along with this program; if not, write to the -->
<!-- Free Software Foundation, Inc., -->
<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
<!-- -->
<!-- Sipp default 'uas' scenario. -->
<!-- -->
<scenario
name=
"Basic UAS responder"
>
<!-- By adding rrs="true" (Record Route Sets), the route sets -->
<!-- are saved and used for following messages sent. Useful to test -->
<!-- against stateful SIP proxies/B2BUAs. -->
<recv
request=
"INVITE"
crlf=
"true"
rrs=
"true"
>
</recv>
<!-- The '[last_*]' keyword is replaced automatically by the -->
<!-- specified header if it was present in the last message received -->
<!-- (except if it was a retransmission). If the header was not -->
<!-- present or if no message has been received, the '[last_*]' -->
<!-- keyword is discarded, and all bytes until the end of the line -->
<!-- are also discarded. -->
<!-- -->
<!-- If the specified header was present several times in the -->
<!-- message, all occurences are concatenated (CRLF seperated) -->
<!-- to be used in place of the '[last_*]' keyword. -->
<send>
<![CDATA[
SIP/2.0 100 Trying
[last_Via:]
[last_From:]
[last_To:];tag=[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0
]]>
</send>
<pause
milliseconds=
"1"
/>
<send>
<![CDATA[
SIP/2.0 180 Ringing
[last_Via:]
[last_From:]
[last_To:];tag=[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0
]]>
</send>
<pause
milliseconds=
"1"
/>
<send
retrans=
"1000"
>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:];tag=[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
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 0
a=rtpmap:0 PCMU/8000
]]>
</send>
<recv
request=
"ACK"
optional=
"false"
rtd=
"true"
crlf=
"true"
>
</recv>
<pause
milliseconds=
"4000"
/>
<!-- Keep the call open for a while in case the 200 is lost to be -->
<!-- able to retransmit it if we receive the BYE again. -->
<pause
milliseconds=
"4000"
>
<action>
<exec
command=
"sipp -t t1 -trace_msg -m 2 -sf PsapCallTalker.xml 127.0.0.1:5080"
></exec>
</action>
</pause>
<pause
milliseconds=
"4000"
/>
<recv
request=
"BYE"
timeout=
"10000"
>
</recv>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0
]]>
</send>
<!-- definition of the response time repartition table (unit is ms) -->
<ResponseTimeRepartition
value=
"10, 20, 30, 40, 50, 100, 150, 200"
/>
<!-- definition of the call length repartition table (unit is ms) -->
<CallLengthRepartition
value=
"10, 50, 100, 500, 1000, 5000, 10000"
/>
</scenario>
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_08/PsapCallTalker.xml
0 → 100644
View file @
dc3c9f7f
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<!-- This program is free software; you can redistribute it and/or -->
<!-- modify it under the terms of the GNU General Public License as -->
<!-- published by the Free Software Foundation; either version 2 of the -->
<!-- License, or (at your option) any later version. -->
<!-- -->
<!-- This program is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->
<!-- -->
<!-- You should have received a copy of the GNU General Public License -->
<!-- along with this program; if not, write to the -->
<!-- Free Software Foundation, Inc., -->
<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
<!-- -->
<!-- Sipp default 'uac' scenario. -->
<!-- -->
<scenario
name=
"Basic UAC"
>
<!-- In client mode (sipp placing calls), the Call-ID MUST be -->
<!-- generated by sipp. To do so, use [call_id] keyword. -->
<send
retrans=
"1000"
>
<![CDATA[
INVITE urn:service:sos SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: Alice <sip:alice-01@plugtests.net>
;tag=[pid]SIPpTag00[call_number]
To: [service]
<sip:
[service]@plugtests.net
>
Call-ID: [call_id]
CSeq: 1 INVITE
Contact: sip:alice-01@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Plugtests Test
Geolocation:
<cid:gE4dNNthX4QcNzCv
@dec112.app
>
;inserted_by="sip:bob-04@plugtests.net"
Geolocation-Routing: no
Accept: application/pidf+xml
Content-Type: multipart/mixed; boundary=qfpbntOwkOXuJWki
Content-Length: [len]
--qfpbntOwkOXuJWki
Content-Type: application/sdp
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 0
a=rtpmap:0 PCMU/8000
--qfpbntOwkOXuJWki
Content-Type: application/pidf+xml
Content-ID:
<gE4dNNthX4QcNzCv
@dec112.app
>
<?xml version="1.0" encoding="UTF-8"?>
<presence
xmlns=
"urn:ietf:params:xml:ns:pidf"
xmlns:gp=
"urn:ietf:params:xml:ns:pidf:geopriv10"
xmlns:gbp=
"urn:ietf:params:xml:ns:pidf:geopriv10:basicPolicy"
xmlns:cl=
"urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
xmlns:gml=
"http://www.opengis.net/gml"
xmlns:dm=
"urn:ietf:params:xml:ns:pidf:data-model"
entity=
"pres:alice@atlanta.example.com"
><dm:device
id=
"01003118-0200-d09c-a762-00046e180003"
><gp:geopriv><gp:location-info><gml:location><gml:Point
srsName=
"urn:ogc:def:crs:EPSG::4326"
><gml:pos>
43.62303240 7.04618454
</gml:pos></gml:Point></gml:location></gp:location-info><gp:usage-rules><gbp:retransmission-allowed>
false
</gbp:retransmission-allowed><gbp:retention-expiry>
2018-04-16T08:23:31.036Z
</gbp:retention-expiry></gp:usage-rules><gp:method>
gps
</gp:method></gp:geopriv><dm:deviceID>
01003118-0200-d09c-a762-00046e180003
</dm:deviceID><dm:timestamp>
2018-04-15T08:23:31.036Z
</dm:timestamp></dm:device></presence>
--qfpbntOwkOXuJWki--
]]>
</send>
<recv
response=
"100"
optional=
"true"
>
</recv>
<recv
response=
"180"
optional=
"true"
>
</recv>
<recv
response=
"183"
optional=
"true"
>
</recv>
<!-- By adding rrs="true" (Record Route Sets), the route sets -->
<!-- are saved and used for following messages sent. Useful to test -->
<!-- against stateful SIP proxies/B2BUAs. -->
<recv
response=
"200"
rtd=
"true"
>
</recv>
<!-- Packet lost can be simulated in any send/recv message by -->
<!-- by adding the 'lost = "10"'. Value can be [1-100] percent. -->
<send>
<![CDATA[
ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:sipp@[local_ip]:[local_port]>
;tag=[pid]SIPpTag00[call_number]
To: [service]
<sip:
[service]@[remote_ip]:[remote_port]
>
[peer_tag_param]
Call-ID: [call_id]
CSeq: 1 ACK
Contact: sip:sipp@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0
]]>
</send>
<!-- This delay can be customized by the -d command-line option -->
<!-- or by adding a 'milliseconds = "value"' option here. -->
<pause
milliseconds=
"15000"
/>
<!-- The 'crlf' option inserts a blank line in the statistics report. -->
<send
retrans=
"1000"
>
<![CDATA[
BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:sipp@[local_ip]:[local_port]>
;tag=[pid]SIPpTag00[call_number]
To: [service]
<sip:
[service]@[remote_ip]:[remote_port]
>
[peer_tag_param]
Call-ID: [call_id]
CSeq: 2 BYE
Contact: sip:sipp@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0
]]>
</send>
<recv
response=
"200"
crlf=
"true"
>
</recv>
<!-- definition of the response time repartition table (unit is ms) -->
<ResponseTimeRepartition
value=
"10, 20, 30, 40, 50, 100, 150, 200"
/>
<!-- definition of the call length repartition table (unit is ms) -->
<CallLengthRepartition
value=
"10, 50, 100, 500, 1000, 5000, 10000"
/>
</scenario>
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_08/PsapCaller.sh
0 → 100755
View file @
dc3c9f7f
echo
"Simulate PSAP Caller side (UAS)"
rm
*
.log
sipp
-t
t1
-trace_msg
-trace_calldebug
-trace_err
-m
2
-sf
PsapCaller.xml 127.0.0.1:5060
mocks/AtsPSAP/TC_PSAP_SIP_INVITE_BV_08/PsapCaller.xml
0 → 100644
View file @
dc3c9f7f
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<!-- This program is free software; you can redistribute it and/or -->
<!-- modify it under the terms of the GNU General Public License as -->
<!-- published by the Free Software Foundation; either version 2 of the -->
<!-- License, or (at your option) any later version. -->
<!-- -->
<!-- This program is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->
<!-- -->
<!-- You should have received a copy of the GNU General Public License -->
<!-- along with this program; if not, write to the -->
<!-- Free Software Foundation, Inc., -->
<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
<!-- -->
<!-- Sipp default 'uas' scenario. -->
<!-- -->
<scenario
name=
"Basic UAS responder"
>
<!-- By adding rrs="true" (Record Route Sets), the route sets -->
<!-- are saved and used for following messages sent. Useful to test -->
<!-- against stateful SIP proxies/B2BUAs. -->
<recv
request=
"INVITE"
crlf=
"true"
rrs=
"true"
>
</recv>
<!-- The '[last_*]' keyword is replaced automatically by the -->
<!-- specified header if it was present in the last message received -->
<!-- (except if it was a retransmission). If the header was not -->
<!-- present or if no message has been received, the '[last_*]' -->
<!-- keyword is discarded, and all bytes until the end of the line -->
<!-- are also discarded. -->
<!-- -->
<!-- If the specified header was present several times in the -->
<!-- message, all occurences are concatenated (CRLF seperated) -->
<!-- to be used in place of the '[last_*]' keyword. -->
<send>
<![CDATA[
SIP/2.0 100 Trying
[last_Via:]
[last_From:]
[last_To:];tag=[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0
]]>
</send>
<pause
milliseconds=
"1"
/>
<send>
<![CDATA[
SIP/2.0 180 Ringing
[last_Via:]
[last_From:]
[last_To:];tag=[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0
]]>
</send>
<pause
milliseconds=
"1"
/>
<send
retrans=
"1000"
>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:];tag=[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
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 0
a=rtpmap:0 PCMU/8000
]]>
</send>
<recv
request=
"ACK"
optional=
"false"
rtd=
"true"
crlf=
"true"
>
</recv>
<pause
milliseconds=
"4000"
/>
<!-- Keep the call open for a while in case the 200 is lost to be -->
<!-- able to retransmit it if we receive the BYE again. -->
<pause
milliseconds=
"4000"
>
<action>
<exec
command=
"sipp -t t1 -trace_msg -m 2 -sf PsapCallTalker.xml 127.0.0.1:5080"
></exec>
</action>
</pause>
<pause
milliseconds=
"4000"
/>
<recv
request=
"BYE"
timeout=
"10000"
>
</recv>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0
]]>
</send>
<!-- definition of the response time repartition table (unit is ms) -->
<ResponseTimeRepartition
value=
"10, 20, 30, 40, 50, 100, 150, 200"
/>
<!-- definition of the call length repartition table (unit is ms) -->
<CallLengthRepartition
value=
"10, 50, 100, 500, 1000, 5000, 10000"
/>
</scenario>
ttcn/AtsPSAP/AtsPSAP_TestCases.ttcn
View file @
dc3c9f7f
...
@@ -950,12 +950,17 @@ module AtsPSAP_TestCases {
...
@@ -950,12 +950,17 @@ module AtsPSAP_TestCases {
);
);
v_invite
.
msgHeader
.
contentType
:=
m_contentType
(
m_mimeMultipart
);
v_invite
.
msgHeader
.
contentType
:=
m_contentType
(
m_mimeMultipart
);
f_SendINVITE
(
v_invite
);
f_SendINVITE
(
v_invite
);
f_awaitingResponseIgnore100Trying
(
mw_Response_Base
(
c_statusLine200
,
vc_callId
,
vc_cSeq
));
// awaiting 180 RINGING
f_awaitingResponseIgnore100Trying
(
mw_Response_Base
(
c_statusLine180
,
vc_callId
,
vc_cSeq
));
// awaiting 200 OK INVITE
f_awaitingResponse
(
mw_Response_Base
(
c_statusLine200
,
vc_callId
,
vc_cSeq
));
// Send INVITE ACK
LibSip_Steps
.
f_setHeadersACK
();
LibSip_Steps
.
f_setHeadersACK
();
f_SendACK
(
m_ACK_Request_route
(
vc_requestUri
,
vc_callId
,
vc_response
.
msgHeader
.
cSeq
,
vc_from
,
vc_to
,
vc_via
,
vc_route
));
f_SendACK
(
m_ACK_Request_route
(
vc_requestUri
,
vc_callId
,
vc_response
.
msgHeader
.
cSeq
,
vc_from
,
vc_to
,
vc_via
,
vc_route
));
f_selfOrClientSyncAndVerdictPreamble
(
c_prDone
,
e_success
);
f_selfOrClientSyncAndVerdictPreamble
(
c_prDone
,
e_success
);
// Test Body
// Test Body
f_sleep
(
10.0
);
f_check_Conversation
(
PX_CHECK_CONVERSATION
);
f_check_Conversation
(
PX_CHECK_CONVERSATION
);
f_selfOrClientSyncAndVerdictTestBody
(
c_tbDone
,
e_success
);
f_selfOrClientSyncAndVerdictTestBody
(
c_tbDone
,
e_success
);
...
@@ -979,15 +984,20 @@ module AtsPSAP_TestCases {
...
@@ -979,15 +984,20 @@ module AtsPSAP_TestCases {
// Test adapter configuration
// Test adapter configuration
// Preamble
// Preamble
f_IMS_preamble_woRegistration
(
p_cSeq_s
)
f_IMS_preamble_woRegistration
(
p_cSeq_s
)
;
LibIms_Steps
.
f_setHeadersINVITE
(
p_cSeq_s
,
f_init
Sip
Url
(
c_
service
Profile
_EMERGENCY
),
f_initSipUrl
(
c_userProfile_UE1atSUThome
));
LibIms_Steps
.
f_setHeadersINVITE
(
p_cSeq_s
,
f_init
Urn
Url
(
"
service
"
,
PX_IMS_SUT
_EMERGENCY
_SERVICE
),
f_initSipUrl
(
c_userProfile_UE1atSUThome
));
f_selfOrClientSyncAndVerdictPreamble
(
c_prDone
,
e_success
);
f_selfOrClientSyncAndVerdictPreamble
(
c_prDone
,
e_success
);
// Test Body
// Test Body
// Await INVITE
f_awaitingINVITE
(
mw_INVITE_Request_RequestURI
(
vc_requestUri
));
f_awaitingINVITE
(
mw_INVITE_Request_RequestURI
(
vc_requestUri
));
// Send 180 RINGING
f_sendResponse
(
m_Response_18XonINVITE_UE
(
c_statusLine180
,
vc_callId
,
vc_cSeq
,
vc_caller_From
,
vc_caller_To
,
vc_via
,
vc_contact
));
// Send 200 OK INVITE
f_sendResponse
(
m_Response_2xxonINVITE_UE
(
c_statusLine200
,
vc_callId
,
vc_cSeq
,
vc_caller_From
,
vc_caller_To
,
vc_via
,
f_sendResponse
(
m_Response_2xxonINVITE_UE
(
c_statusLine200
,
vc_callId
,
vc_cSeq
,
vc_caller_From
,
vc_caller_To
,
vc_via
,
vc_contact
,
f_recordroute
(),
valueof
(
m_MBody_SDP
(
vc_sdp_local
))));
vc_contact
,
f_recordroute
(),
valueof
(
m_MBody_SDP
(
vc_sdp_local
))));
// Await ACK INVITE
f_awaitingACK
(
mw_ACK_Request_Base
(
vc_callId
));
f_awaitingACK
(
mw_ACK_Request_Base
(
vc_callId
));
f_check_Conversation
(
PX_CHECK_CONVERSATION
);
f_check_Conversation
(
PX_CHECK_CONVERSATION
);
...
@@ -1168,6 +1178,9 @@ module AtsPSAP_TestCases {
...
@@ -1168,6 +1178,9 @@ module AtsPSAP_TestCases {
)
runs
on
ImsComponent
{
)
runs
on
ImsComponent
{
// Local variables
// Local variables
var
template
INVITE_Request
v_invite
;
var
template
INVITE_Request
v_invite
;
var
XSD
.
String
v_point
;
var
XSD
.
String
v_location_info
;
var
XSD
.
String
v_status
:=
"manual"
;
// Test control
// Test control
...
@@ -1179,14 +1192,11 @@ module AtsPSAP_TestCases {
...
@@ -1179,14 +1192,11 @@ module AtsPSAP_TestCases {
// Test adapter configuration
// Test adapter configuration
// Preamble
// Preamble
//v_point := encvalue_unichar(valueof(m_point(PX_PRESENCE_USER_POS, PX_SRS_NAME)));
//v_location_info := encvalue_unichar(valueof(m_geopriv(m_location_info({ point := m_point(PX_PRESENCE_USER_POS, PX_SRS_NAME) }), m_LocPolicyType)));
v_location_info
:=
encvalue_unichar
(
valueof
(
m_geopriv
({
point
:=
m_point
(
PX_PRESENCE_USER_POS
,
PX_SRS_NAME
)
},
m_LocPolicyType
)));
f_IMS_preamble_woRegistration
(
p_cSeq_s
);
f_IMS_preamble_woRegistration
(
p_cSeq_s
);
LibIms_Steps
.
f_setHeadersINVITE
(
p_cSeq_s
,
f_initSipUrl
(
c_serviceProfile_EMERGENCY
),
f_initSipUrl
(
c_userProfile_UE1atSUThome
));
//await REGISTRATION
f_awaitingREGISTER
(
mw_REGISTER_unauthorizedRequest_IMS
);
// 200OK to complete the request
f_sendResponse
(
m_Response_2xxonREGISTER_IMS
(
c_statusLine200
,
vc_callId
,
vc_cSeq
,
vc_callee_From
,
vc_callee_To
,
vc_via
,
vc_contact
,
f_initSipUrl
(
c_interfaceProfile_IMS_SUT_PCSCF1
),
vc_caller_From
.
addressField
.
nameAddr
.
addrSpec
));
LibIms_Steps
.
f_setHeadersINVITE
(
vc_cSeq
,
f_initSipUrl
(
c_serviceProfile_EMERGENCY
),
f_initSipUrl
(
c_userProfile_UE1atSUThome
));
f_init_sdp_userprofile
(
vc_sdp_local
,
c_userProfile_UE1atSUThome
,
c_userProfile_Huawei
);
f_init_sdp_userprofile
(
vc_sdp_local
,
c_userProfile_UE1atSUThome
,
c_userProfile_Huawei
);
v_invite
:=
m_INVITE_Request_IMS_Ng112
(
vc_requestUri
,
v_invite
:=
m_INVITE_Request_IMS_Ng112
(
vc_requestUri
,
vc_callId
,
vc_callId
,
...
@@ -1199,28 +1209,35 @@ module AtsPSAP_TestCases {
...
@@ -1199,28 +1209,35 @@ module AtsPSAP_TestCases {
-
,
-
,
-
,
-
,
m_Supported_100rel
,
m_Supported_100rel
,
-
,
-
,
m_MBody_SDP
(
vc_sdp_local
),
m_MBody_MIMESdpXml_Emergency
(
/*m_MBody_MIMESdpXml_Emergency(
vc_sdp_local
,
vc_sdp_local
,
m_XmlBody_Presence
(
m_XmlBody_Presence
(
m_presence
(
m_presence
(
PX_PRESENCE_USER
,
PX_PRESENCE_USER
,
{ m_tuple(
{
//tuple_list
"fclnzj22sbtoxpj",
m_tuple
(
{ basic := omit, elem_list := { v_location_info } }
"0ehvxv4kxwrzzbp"
,
)
{
}
omit
,
m_geopriv
({
point
:=
m_point
(
PX_PRESENCE_USER_POS
,
PX_SRS_NAME
)
},
m_LocPolicyType
),
{
}
}
)
}
)
)
)
)
),*/
),
//TODO make geolocation as PIXIT and update MIME body and Content-Type header as multipart/mixed
m_geolocation
({
scheme
:=
"http"
,
components
:=
{
other
:=
PX_GEOLOCATION_ID
},
urlParameters
:=
omit
,
headers
:=
omit
},
omit
),
m_geolocation
({
scheme
:=
"https"
,
components
:=
{
other
:=
PX_GEOLOCATION_ID
},
urlParameters
:=
omit
,
headers
:=
omit
},
omit
),
// TODO Add a LIS component to do a request for location by reference
m_geolocation_routing
,
m_geolocation_routing
,
{
fieldName
:=
USER_AGENT_E
,
userAgentBody
:=
{
"ETSI_Conf_testing"
}
}
{
fieldName
:=
USER_AGENT_E
,
userAgentBody
:=
{
"ETSI_Conf_testing"
}
}
);
);
//
v_invite.msgHeader.contentType := m_contentType(m_mimeMultipart);
v_invite
.
msgHeader
.
contentType
:=
m_contentType
(
m_mimeMultipart
);
f_SendINVITE
(
v_invite
);
f_SendINVITE
(
v_invite
);
f_awaitingResponseIgnore100Trying
(
mw_Response_Base
(
c_statusLine200
,
vc_callId
,
vc_cSeq
));
// awaiting 180 RINGING
f_awaitingResponseIgnore100Trying
(
mw_Response_Base
(
c_statusLine180
,
vc_callId
,
vc_cSeq
));
// awaiting 200 OK INVITE
f_awaitingResponse
(
mw_Response_Base
(
c_statusLine200
,
vc_callId
,
vc_cSeq
));
// Send INVITE ACK
LibSip_Steps
.
f_setHeadersACK
();
LibSip_Steps
.
f_setHeadersACK
();
f_SendACK
(
m_ACK_Request_route
(
vc_requestUri
,
vc_callId
,
vc_response
.
msgHeader
.
cSeq
,
vc_from
,
vc_to
,
vc_via
,
vc_route
));
f_SendACK
(
m_ACK_Request_route
(
vc_requestUri
,
vc_callId
,
vc_response
.
msgHeader
.
cSeq
,
vc_from
,
vc_to
,
vc_via
,
vc_route
));
f_selfOrClientSyncAndVerdictPreamble
(
c_prDone
,
e_success
);
f_selfOrClientSyncAndVerdictPreamble
(
c_prDone
,
e_success
);
...
@@ -1239,7 +1256,6 @@ module AtsPSAP_TestCases {
...
@@ -1239,7 +1256,6 @@ module AtsPSAP_TestCases {
in
CSeq
p_cSeq_s
in
CSeq
p_cSeq_s
)
runs
on
ImsComponent
{
)
runs
on
ImsComponent
{
// Local variables
// Local variables
var
template
REGISTER_Request
v_register
;
// Test control
// Test control
f_init_userprofile
(
c_userProfile_UE1atSUThome
);
f_init_userprofile
(
c_userProfile_UE1atSUThome
);
...
@@ -1250,19 +1266,21 @@ module AtsPSAP_TestCases {
...
@@ -1250,19 +1266,21 @@ module AtsPSAP_TestCases {
// Test adapter configuration
// Test adapter configuration
// Preamble with REGISTRATION
// Preamble
v_register
:=
valueof
(
m_REGISTER_Request_Base
(
vc_requestUri
,
vc_callId
,
p_cSeq_s
,
vc_from
,
vc_to
,
vc_via_REG
,
vc_contact
,
vc_authorization
));
f_IMS_preamble_woRegistration
(
p_cSeq_s
);
f_IMS_preamble_withRegistration
(
p_cSeq_s
,
v_register
);
LibIms_Steps
.
f_setHeadersINVITE
(
p_cSeq_s
,
f_initUrnUrl
(
"service"
,
PX_IMS_SUT_EMERGENCY_SERVICE
),
f_initSipUrl
(
c_userProfile_UE1atSUThome
));
//set Invite headers
LibIms_Steps
.
f_setHeadersINVITE
(
p_cSeq_s
,
f_initSipUrl
(
c_serviceProfile_EMERGENCY
),
f_initSipUrl
(
c_userProfile_UE1atSUThome
));
f_selfOrClientSyncAndVerdictPreamble
(
c_prDone
,
e_success
);
f_selfOrClientSyncAndVerdictPreamble
(
c_prDone
,
e_success
);
// Test Body
// Test Body
// Await INVITE
f_awaitingINVITE
(
mw_INVITE_Request_RequestURI
(
vc_requestUri
));
f_awaitingINVITE
(
mw_INVITE_Request_RequestURI
(
vc_requestUri
));
// Send 180 RINGING
f_sendResponse
(
m_Response_18XonINVITE_UE
(
c_statusLine180
,
vc_callId
,
vc_cSeq
,
vc_caller_From
,
vc_caller_To
,
vc_via
,
vc_contact
));
// Send 200 OK INVITE
f_sendResponse
(
m_Response_2xxonINVITE_UE
(
c_statusLine200
,
vc_callId
,
vc_cSeq
,
vc_caller_From
,
vc_caller_To
,
vc_via
,
f_sendResponse
(
m_Response_2xxonINVITE_UE
(
c_statusLine200
,
vc_callId
,
vc_cSeq
,
vc_caller_From
,
vc_caller_To
,
vc_via
,
vc_contact
,
f_recordroute
(),
valueof
(
m_MBody_SDP
(
vc_sdp_local
))));
vc_contact
,
f_recordroute
(),
valueof
(
m_MBody_SDP
(
vc_sdp_local
))));
// Await ACK INVITE
f_awaitingACK
(
mw_ACK_Request_Base
(
vc_callId
));
f_awaitingACK
(
mw_ACK_Request_Base
(
vc_callId
));
f_check_Conversation
(
PX_CHECK_CONVERSATION
);
f_check_Conversation
(
PX_CHECK_CONVERSATION
);
...
...
ttcn/AtsPSAP/AtsPSAP_TestControl.ttcn
View file @
dc3c9f7f
...
@@ -19,16 +19,16 @@ module AtsPSAP_TestControl {
...
@@ -19,16 +19,16 @@ module AtsPSAP_TestControl {
}
}
//execute(TC_PSAP_SIP_INVITE_BV_02(v_cSeq));
//execute(TC_PSAP_SIP_INVITE_BV_02(v_cSeq));
/*
if (PICS_PSAP_S_SIP_UDP1 and PICS_PSAP_E_SIP_URN3) {
if
(
PICS_PSAP_S_SIP_UDP1
and
PICS_PSAP_E_SIP_URN3
)
{
if
(
PICS_PSAP_B_SDP_ULA1
)
{
execute
(
TC_PSAP_SIP_INVITE_BV_01
(
v_cSeq
));
}
if
(
PICS_PSAP_B_SDP_ULA1
)
{
execute
(
TC_PSAP_SIP_INVITE_BV_01
(
v_cSeq
));
}
if (PICS_PSAP_B_SDP_ALA1) { execute(TC_PSAP_SIP_INVITE_BV_03(v_cSeq)); }
//
if (PICS_PSAP_B_SDP_ALA1) { execute(TC_PSAP_SIP_INVITE_BV_03(v_cSeq)); }
if (PICS_PSAP_B_SDP_ALA1) { execute(TC_PSAP_SIP_INVITE_BV_04(v_cSeq)); }
//
if (PICS_PSAP_B_SDP_ALA1) { execute(TC_PSAP_SIP_INVITE_BV_04(v_cSeq)); }
}
*/
}
//execute(TC_PSAP_SIP_INVITE_BV_04(v_cSeq));
//execute(TC_PSAP_SIP_INVITE_BV_04(v_cSeq));
if
(
PICS_PSAP_S_SIP_TCP1
and
PICS_PSAP_E_SIP_URN3
)
{
/*
if (PICS_PSAP_S_SIP_TCP1 and PICS_PSAP_E_SIP_URN3) {
if (PICS_PSAP_B_SDP_ULA1) { execute(TC_PSAP_SIP_INVITE_BV_05(v_cSeq)); }
if (PICS_PSAP_B_SDP_ULA1) { execute(TC_PSAP_SIP_INVITE_BV_05(v_cSeq)); }
}
}
/*
if (PICS_PSAP_S_SIP_TCP1 and PICS_PSAP_E_SIP_URN1) {
if (PICS_PSAP_S_SIP_TCP1 and PICS_PSAP_E_SIP_URN1) {
if (PICS_PSAP_B_SDP_ULA1) { execute(TC_PSAP_SIP_INVITE_BV_06(v_cSeq)); }
if (PICS_PSAP_B_SDP_ULA1) { execute(TC_PSAP_SIP_INVITE_BV_06(v_cSeq)); }
//if (PICS_PSAP_B_SDP_ULA1) { execute(TC_PSAP_SIP_BYE_BV_01(v_cSeq)); }
//if (PICS_PSAP_B_SDP_ULA1) { execute(TC_PSAP_SIP_BYE_BV_01(v_cSeq)); }
}
}
...
...
virtualization/docker/Dockerfile
View file @
dc3c9f7f
FROM
stfubuntu:18.04
FROM
stfubuntu:20.04
MAINTAINER
ETSI NG112
LABEL
ETSI NG112
LABEL
description="ETSI NG112 Docker Image"
LABEL
description="ETSI NG112 Docker Image"
ENV
TERM=linux \
ENV
TERM=linux \
...
...
virtualization/docker/Dockerfile.stfubuntu
View file @
dc3c9f7f
FROM ubuntu:18.04
FROM ubuntu:20.04
MAINTAINER ETSI STF
LABEL ETSI STF
LABEL description="STF Docker Ubuntu image"
LABEL description="STF Docker Ubuntu image"
ENV TERM=linux \
ENV TERM=linux \
...
@@ -10,11 +9,8 @@ ENV TERM=linux \
...
@@ -10,11 +9,8 @@ ENV TERM=linux \
RUN echo "docker-STF-dev" > /etc/hostname \
RUN echo "docker-STF-dev" > /etc/hostname \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
&& DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
&& DEBIAN_FRONTEND=noninteractive apt-get install software-properties-common -y \
&& DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:linuxuprising/java -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& ( echo "oracle-java17-installer shared/accepted-oracle-license-v1-3 boolean true" | debconf-set-selections -v ) \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
&& DEBIAN_FRONTEND=noninteractive apt-get --allow-unauthenticated install -y \
autoconf \
autoconf \
bison \
bison \
build-essential \
build-essential \
...
@@ -25,10 +21,9 @@ RUN echo "docker-STF-dev" > /etc/hostname \
...
@@ -25,10 +21,9 @@ RUN echo "docker-STF-dev" > /etc/hostname \
emacs \
emacs \
expect \
expect \
flex \
flex \
g++-8 \
g++-9 \
gcc-8 \
gcc-9 \
gdb \
git \
git-core \
gnutls-bin \
gnutls-bin \
graphviz \
graphviz \
iputils-ping \
iputils-ping \
...
@@ -40,41 +35,27 @@ RUN echo "docker-STF-dev" > /etc/hostname \
...
@@ -40,41 +35,27 @@ RUN echo "docker-STF-dev" > /etc/hostname \
libjsoncpp-dev \
libjsoncpp-dev \
libncurses5-dev \
libncurses5-dev \
libpcap-dev \
libpcap-dev \
libqt5svg5-dev \
libssl-dev \
libssl-dev \
libtool-bin \
libtool-bin \
libtool \
libtool \
libwireshark-dev \
libxml2-dev \
libxml2-dev \
libxml2-utils \
libxml2-utils \
libyaml-dev \
libyaml-dev \
lsof \
lsof \
net-tools \
ntp \
ntp \
oracle-java17-installer \
oracle-java17-set-default \
openssh-server \
openssh-server \
pkg-config \
pkg-config \
python3-dev \
python3-dev \
python3-pip \
python3-pip \
python3-setuptools \
python3-setuptools \
qt5-default \
qtmultimedia5-dev \
subversion \
sudo \
sudo \
sshpass \
sshpass \
tcpdump \
tcpdump \
texlive-font-utils \
texlive-font-utils \
texlive-latex-extra \
texlive-latex-extra \
tshark \
tzdata \
tzdata \
valgrind \
valgrind \
vim \
vsftpd \
xutils-dev \
xutils-dev \
tree \
unzip \
wget \
xsltproc \
xsltproc \
&& DEBIAN_FRONTEND=noninteractive apt-get autoremove --purge -y \
&& DEBIAN_FRONTEND=noninteractive apt-get autoremove --purge -y \
&& DEBIAN_FRONTEND=noninteractive apt-get autoclean \
&& DEBIAN_FRONTEND=noninteractive apt-get autoclean \
...
...
virtualization/docker/build.sh
View file @
dc3c9f7f
...
@@ -13,7 +13,7 @@ if [ "$1" == "--force-stfubuntu" ]; then
...
@@ -13,7 +13,7 @@ if [ "$1" == "--force-stfubuntu" ]; then
fi
fi
# Check and build stfubuntu image
# Check and build stfubuntu image
if
[
-z
`
docker images
-q
stfubuntu
`
]
;
then
if
[
-z
`
docker images
-q
stfubuntu
`
]
;
then
docker build
--no-cache
--tag
stfubuntu:
18
.04
-f
Dockerfile.stfubuntu
--force-rm
.
||
exit
1
docker build
--no-cache
--tag
stfubuntu:
20
.04
-f
Dockerfile.stfubuntu
--force-rm
.
||
exit
1
fi
fi
docker build
--no-cache
--tag
ttf_t009_ng112
--force-rm
.
||
(
echo
"Docker build failed:
$?
"
;
exit
1
)
docker build
--no-cache
--tag
ttf_t009_ng112
--force-rm
.
||
(
echo
"Docker build failed:
$?
"
;
exit
1
)
...
...
virtualization/docker/home/etc/init.d/20-eclipse.sh
deleted
100755 → 0
View file @
dce25a4f
#!/bin/bash
#set -e
set
-vx
echo
-e
"*****************************
\n
* Install eclipse
\n
*****************************
\n
"
ECLIPSE_URL
=
'http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/2021-12/R/eclipse-cpp-2021-12-R-linux-gtk-x86_64.tar.gz'
TITAN_URL
=
'https://www.eclipse.org/downloads/download.php?file=/titan/TITAN_Designer_and_Executor_plugin-8.1.0.zip'
mkdir
-p
${
HOME
}
/frameworks
cd
${
HOME
}
/frameworks
||
exit
1
wget
--progress
=
dot:mega
$ECLIPSE_URL
-Oeclipse-cpp-2020-06-R-linux-gtk-x86_64
.tar.gz
||
exit
1
tar
-zxvf
./eclipse-cpp-2020-06-R-linux-gtk-x86_64.tar.gz
||
exit
1
ln
-sf
${
HOME
}
/frameworks/eclipse/eclipse
${
HOME
}
/bin/eclipse
rm
-f
./eclipse-cpp-2020-06-R-linux-gtk-x86_64.tar.gz
if
wget
--progress
=
dot:mega
$TITAN_URL
-OTITAN_Designer_and_Executor_plugin
.zip
;
then
eclipse/eclipse
-noSplash
-application
org.eclipse.equinox.p2.director
\
-destination
/home/etsi/frameworks/eclipse
\
-repository
'jar:file:///home/etsi/frameworks/TITAN_Designer_and_Executor_plugin.zip'
\
-installIU
TITAN_Designer.feature.group,TITAN_Executor.feature.group,TITAN_Log_Viewer.feature.group,Titan_external_dependencies.feature.group,Titanium.feature.group,Titanium_external_dependencies.feature.group
rm
-f
TITAN_Designer_and_Executor_plugin.zip
fi
cd
${
HOME
}