Skip to content
GitLab
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
INT - Core Network and Interoperability Testing
Voice and Video over LTE
Conformance Test Specifications for the SCC-AS Services
Compare revisions
586c90401368037768aa0557aba05395e166cfe3...37ec635907842ee90b73836d93b105ee73b83146
Commits (3)
New TC_ISC_SCCAS_SRA_INV_02
· fc107aeb
Bostjan Pintar
authored
Nov 17, 2022
fc107aeb
Merge branch 'TTF016' of
https://forge.etsi.org/rep/int/vxlte/sccas-con
into TTF016
· c8424319
Bostjan Pintar
authored
Nov 17, 2022
c8424319
Error resolved
· 37ec6359
Bostjan Pintar
authored
Nov 17, 2022
37ec6359
Hide whitespace changes
Inline
Side-by-side
ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn
View file @
37ec6359
...
...
@@ -2996,6 +2996,75 @@ module AtsSccas_TCFunctions {
*/
function
f_TC_ISC_SCCAS_SRA_INV_02
(
in
CSeq
p_cSeq_s
)
runs
on
ImsComponent
{
// Local variables
var
CSeq
v_cSeq_s
:=
p_cSeq_s
;
// Preamble
f_registrationAS
(
v_cSeq_s
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
f_getVerdict
());
// sync
// Registration
f_IncCSeq
(
v_cSeq_s
);
LibIms_Steps
.
f_setHeadersINVITE
(
v_cSeq_s
,
f_initSipUrl
(
c_serviceProfile_EMERGENCY
),
f_initSipUrl
(
c_userProfile_UE1atSUThome
));
f_SendINVITE
(
m_sccas_invite_targetDialog
(
vc_requestUri
,
vc_callId
,
p_cSeq_s
,
vc_from
,
vc_to
,
vc_via_REG
,
vc_contact
,
-
,
-
,
-
,
m_MBody_SDP
(
vc_sdp_local
),
-
,
-
));
tc_ack
.
start
;
alt
{
[]
SIPP
.
receive
(
mw_Response_1xx_Base
(
vc_callId
,
vc_cSeq
))
{
repeat
}
[]
SIPP
.
receive
(
mw_INVITE_Request_AS
(
?
,
?
,
?
,
?
,
*
,
*
))
{
tc_ack
.
stop
;
log
(
"*** "
&
__SCOPE__
&
": PASS: INVITE message was received ***"
);
//f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync
f_sendResponse
(
m_Response_2xx_mbody
(
c_statusLine200
,
vc_callId
,
p_cSeq_s
,
vc_from
,
vc_to
,
vc_via_REG
,
-
,
-
,
m_MBody_SDP
(
vc_sdp_remote
)
));
}
[]
tc_ack
.
timeout
{
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_error
);
// sync
}
}
//var template FcValue fc:= mw_fcValue("g3gppFeatureCapabilityIndicator",-);
tc_wait
.
start
;
alt
{
[]
SIPP
.
receive
(
mw_Response_StatusCode_Base
(
200
,
?
,
?
))
{
tc_wait
.
stop
;
log
(
"*** "
&
__SCOPE__
&
": PASS: response 200 was received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
// sync
}
[]
tc_wait
.
timeout
{
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_error
);
// sync
}
}
// Postamble
f_deregistrationAS
(
v_cSeq_s
);
f_selfOrClientSyncAndVerdict
(
c_poDone
,
f_getVerdict
());
// sync
}
// End of function f_TC_ISC_SCCAS_SRA_INV_02
...
...
@@ -3005,6 +3074,75 @@ module AtsSccas_TCFunctions {
*/
function
f_TC_ISC_SCCAS_SRA_INV_03
(
in
CSeq
p_cSeq_s
)
runs
on
ImsComponent
{
// Local variables
var
CSeq
v_cSeq_s
:=
p_cSeq_s
;
// Preamble
f_registrationAS
(
v_cSeq_s
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
f_getVerdict
());
// sync
// Registration
f_IncCSeq
(
v_cSeq_s
);
LibIms_Steps
.
f_setHeadersINVITE
(
v_cSeq_s
,
f_initSipUrl
(
c_serviceProfile_EMERGENCY
),
f_initSipUrl
(
c_userProfile_UE1atSUThome
));
f_SendINVITE
(
m_sccas_invite_targetDialog
(
vc_requestUri
,
vc_callId
,
p_cSeq_s
,
vc_from
,
vc_to
,
vc_via_REG
,
vc_contact
,
-
,
-
,
-
,
m_MBody_SDP
(
vc_sdp_local
),
-
,
-
));
tc_ack
.
start
;
alt
{
[]
SIPP
.
receive
(
mw_Response_1xx_Base
(
vc_callId
,
vc_cSeq
))
{
repeat
}
[]
SIPP
.
receive
(
mw_INVITE_Request_AS
(
?
,
?
,
?
,
?
,
*
,
*
))
{
tc_ack
.
stop
;
log
(
"*** "
&
__SCOPE__
&
": PASS: INVITE message was received ***"
);
//f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync
f_sendResponse
(
m_Response_2xx_mbody
(
c_statusLine200
,
vc_callId
,
p_cSeq_s
,
vc_from
,
vc_to
,
vc_via_REG
,
-
,
-
,
m_MBody_SDP
(
vc_sdp_remote
)
));
}
[]
tc_ack
.
timeout
{
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_error
);
// sync
}
}
//var template FcValue fc:= mw_fcValue("g3gppFeatureCapabilityIndicator",-);
tc_wait
.
start
;
alt
{
[]
SIPP
.
receive
(
mw_Response_StatusCode_Base
(
200
,
?
,
?
))
{
tc_wait
.
stop
;
log
(
"*** "
&
__SCOPE__
&
": PASS: response 200 was received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
// sync
}
[]
tc_wait
.
timeout
{
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_error
);
// sync
}
}
// Postamble
f_deregistrationAS
(
v_cSeq_s
);
f_selfOrClientSyncAndVerdict
(
c_poDone
,
f_getVerdict
());
// sync
}
// End of function f_TC_ISC_SCCAS_SRA_INV_03
...
...
@@ -3014,6 +3152,91 @@ module AtsSccas_TCFunctions {
*/
function
f_TC_ISC_SCCAS_SRA_INV_04
(
in
CSeq
p_cSeq_s
)
runs
on
ImsComponent
{
// Local variables
var
CSeq
v_cSeq_s
:=
p_cSeq_s
;
f_registrationAS
(
v_cSeq_s
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
f_getVerdict
());
// sync
f_EstablishDialogAS
(
v_cSeq_s
);
//reINVITE
f_IncCSeq
(
v_cSeq_s
);
f_setHeaders_INVITE_AS
(
v_cSeq_s
,
f_initSipUrl
(
c_userProfile_PCSCFwithHomeUE
),
f_initSipUrl
(
c_userProfile_SCSCFwithHomeUE
));
f_SendINVITE
(
m_sccas_invite_reason
(
vc_requestUri
,
vc_callId
,
p_cSeq_s
,
vc_from
,
vc_to
,
vc_via_REG
,
vc_contact
,
-
,
-
,
-
,
m_MBody_SDP
(
vc_sdp_local
),
m_Reason
(
487
)
));
tc_ack
.
start
;
alt
{
[]
SIPP
.
receive
(
mw_BYE_Request_Base
(
vc_callId
))
{
log
(
"*** "
&
__SCOPE__
&
": FAIL: BYE message was received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_error
);
// sync
}
[]
SIPP
.
receive
(
mw_Response_1xx_Base
(
vc_callId
,
vc_cSeq
))
{
repeat
}
[]
SIPP
.
receive
(
mw_INVITE_Request_AS
(
?
,
?
,
?
,
?
,
*
,
*
))
{
tc_ack
.
stop
;
log
(
"*** "
&
__SCOPE__
&
": PASS: INVITE message was received ***"
);
// f_sendResponse(
// m_Response_18XonINVITE_AS_Featurecaps(
// c_statusLine183,
// vc_callId,
// p_cSeq_s,
// vc_from,
// vc_to,
// vc_via_REG,
// -,
// -
// ));
f_sendResponse
(
m_Response_2xx_Base
(
c_statusLine200
,
vc_callId
,
p_cSeq_s
,
vc_from
,
vc_to
,
vc_via_REG
));
}
[]
tc_ack
.
timeout
{
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_error
);
// sync
}
}
//var template FcValue fc:= mw_fcValue("g3gppFeatureCapabilityIndicator",-);
tc_wait
.
start
;
alt
{
[]
SIPP
.
receive
(
mw_BYE_Request_Base
(
vc_callId
))
{
log
(
"*** "
&
__SCOPE__
&
": FAIL: BYE message was received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_error
);
// sync
}
[]
SIPP
.
receive
(
mw_Response_StatusCode_Base
(
200
,
?
,
?
))
{
tc_wait
.
stop
;
log
(
"*** "
&
__SCOPE__
&
": PASS: response 200 OK was received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
// sync
}
[]
tc_wait
.
timeout
{
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_error
);
// sync
}
}
f_ReleaseDialogAS
(
v_cSeq_s
);
f_deregistrationAS
(
v_cSeq_s
);
f_selfOrClientSyncAndVerdict
(
c_poDone
,
f_getVerdict
());
// sync
}
// End of function f_TC_ISC_SCCAS_SRA_INV_04
...
...
@@ -3023,6 +3246,25 @@ module AtsSccas_TCFunctions {
*/
function
f_TC_ISC_SCCAS_SRA_BYE_01
(
in
CSeq
p_cSeq_s
)
runs
on
ImsComponent
{
// Local variables
var
CSeq
v_cSeq_s
:=
p_cSeq_s
;
f_registrationAS
(
v_cSeq_s
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
f_getVerdict
());
// sync
f_EstablishDialogAS
(
v_cSeq_s
);
//Send BYE with reason 503
//?? send INVITE
//?? do not receive BYE
f_deregistrationAS
(
v_cSeq_s
);
f_selfOrClientSyncAndVerdict
(
c_poDone
,
f_getVerdict
());
// sync
}
// End of function f_TC_ISC_SCCAS_SRA_BYE_01
...
...
@@ -3305,7 +3547,8 @@ module AtsSccas_TCFunctions {
f_selfOrClientSyncAndVerdict
(
c_prDone
,
f_getVerdict
());
// sync
// Registration
f_IncCSeq
(
v_cSeq_s
);
LibSip_Steps
.
f_setHeadersOPTIONS
(
v_cSeq_s
);
f_IncCSeq
(
v_cSeq_s
);
f_setHeadersOPTIONS
(
v_cSeq_s
);
AtsSccas_Steps
.
f_SendOPTIONS
(
m_OPTIONS_Request_Base
(
vc_requestUri
,
...
...
ttcn/AtsSccas/AtsSccas_Templates.ttcn
View file @
37ec6359
...
...
@@ -367,6 +367,28 @@ module AtsSccas_Templates
},
messageBody
:=
p_mb
}
template
(
omit
)
INVITE_Request
m_sccas_invite_reason
(
in
template
(
value
)
SipUrl
p_requestUri
,
in
template
(
value
)
CallId
p_callId
,
in
template
(
value
)
CSeq
p_cSeq
,
in
template
(
value
)
From
p_from
,
in
template
(
value
)
To
p_to
,
in
template
(
value
)
LibSip_SIPTypesAndValues
.
Via
p_via
,
in
template
(
value
)
LibSip_SIPTypesAndValues
.
Contact
p_contact
,
in
template
(
omit
)
Require
p_require
:=
m_require
({
"tdialog"
}),
in
template
(
omit
)
Route
p_route
:=
omit
,
in
template
(
omit
)
Supported
p_supported
:=
omit
,
in
template
(
value
)
MessageBody
p_mb
,
in
template
(
value
)
Reason
p_reason
:=
m_Reason
(
487
)
)
modifies
m_INVITE_Request_UE
:=
{
msgHeader
:=
{
contentLength
:=
m_contentLength
(
f_MessageBodyLength
(
p_mb
)),
contentType
:=
m_contentType
(
c_sdpApplication
),
reason
:=
p_reason
},
messageBody
:=
p_mb
}
}
...
...