forked from ttcn3/osmo-ttcn3-hacks
msc: new test: TC_lu_and_mt_csd
Related: OS#4394 Change-Id: Ie1701546e3dc18a5b0da4608b44a580237c979a6
This commit is contained in:
parent
92b280c8a6
commit
c1dd36a71b
|
@ -192,6 +192,27 @@ template MNCC_bearer_cap ts_MNCC_bcap_voice := {
|
|||
data := omit
|
||||
};
|
||||
|
||||
template MNCC_bearer_cap ts_MNCC_bcap_data := {
|
||||
transfer := 1, /* unrestricted digital information */
|
||||
mode := 0, /* circuit */
|
||||
coding := 0, /* GSM standard */
|
||||
radio := 3, /* FR/HR, FR preferred */
|
||||
speech_ctm := 0, /* not supported */
|
||||
speech_ver := { -1 },
|
||||
data := {
|
||||
rate_adaptation := GSM48_BCAP_RA_V110_X30,
|
||||
sig_access := GSM48_BCAP_SA_NONE,
|
||||
async := 1,
|
||||
nr_stop_bits := 1,
|
||||
nr_data_bits := 1,
|
||||
user_rate := GSM48_BCAP_UR_4800,
|
||||
parity := GSM48_BCAP_PAR_ODD,
|
||||
interm_rate := GSM48_BCAP_IR_8k,
|
||||
transp := GSM48_BCAP_TR_TRANSP,
|
||||
modem_type := GSM48_BCAP_MT_V21
|
||||
}
|
||||
};
|
||||
|
||||
type record MNCC_number {
|
||||
GSM48_type_of_number number_type,
|
||||
GSM48_num_plan_ind plan,
|
||||
|
@ -514,12 +535,13 @@ template MNCC_PDU tr_MNCC_SIMPLE(template MNCC_MsgType msg_type, template uint32
|
|||
|
||||
|
||||
/* MT: MSC <- MNCC: SETUP.req from ext. MNCC handler to MSC */
|
||||
template MNCC_PDU ts_MNCC_SETUP_req(uint32_t call_id, charstring called, charstring calling, charstring imsi := "") := {
|
||||
template MNCC_PDU ts_MNCC_SETUP_req(uint32_t call_id, charstring called, charstring calling, charstring imsi := "",
|
||||
template MNCC_bearer_cap bcap := ts_MNCC_bcap_voice) := {
|
||||
msg_type := MNCC_SETUP_REQ,
|
||||
u := {
|
||||
signal := { /* See 24.008 9.3.23.1 */
|
||||
callref := call_id,
|
||||
bearer_cap := ts_MNCC_bcap_voice, /* mandatory */
|
||||
bearer_cap := valueof(bcap), /* mandatory */
|
||||
called := valueof(ts_MNCC_number(called)), /* optional */
|
||||
calling := valueof(ts_MNCC_number(calling)), /* optional */
|
||||
redirecting := omit, /* optional */
|
||||
|
|
|
@ -1057,10 +1057,17 @@ template CallParameters tr_CallParams := {
|
|||
/* Allocate a call reference and send SETUP via MNCC to MSC */
|
||||
function f_mt_call_initiate(inout CallParameters cpars)
|
||||
runs on BSC_ConnHdlr {
|
||||
var template MNCC_bearer_cap bcap := ts_MNCC_bcap_voice;
|
||||
|
||||
if (cpars.csd) {
|
||||
bcap := ts_MNCC_bcap_data;
|
||||
}
|
||||
|
||||
cpars.mo_call := false;
|
||||
cpars.mncc_callref := f_rnd_int(2147483648);
|
||||
|
||||
MNCC.send(ts_MNCC_SETUP_req(cpars.mncc_callref, hex2str(g_pars.msisdn),
|
||||
hex2str(cpars.called_party), hex2str(g_pars.imsi)));
|
||||
hex2str(cpars.called_party), hex2str(g_pars.imsi), bcap));
|
||||
}
|
||||
|
||||
private template (value) SDP_Message ts_SDP_CRCX_CN(CallParameters cpars) :=
|
||||
|
|
|
@ -7202,6 +7202,21 @@ testcase TC_lu_and_mo_csd() runs on MTC_CT {
|
|||
vc_conn.done;
|
||||
}
|
||||
|
||||
friend function f_tc_lu_and_mt_csd(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
|
||||
f_init_handler(pars);
|
||||
var CallParameters cpars := valueof(t_CallParams);
|
||||
cpars.csd := true;
|
||||
f_perform_lu();
|
||||
f_mt_call(cpars);
|
||||
}
|
||||
testcase TC_lu_and_mt_csd() runs on MTC_CT {
|
||||
var BSC_ConnHdlr vc_conn;
|
||||
f_init();
|
||||
|
||||
vc_conn := f_start_handler(refers(f_tc_lu_and_mt_csd), 7);
|
||||
vc_conn.done;
|
||||
}
|
||||
|
||||
control {
|
||||
execute( TC_cr_before_reset() );
|
||||
execute( TC_lu_imsi_noauth_tmsi() );
|
||||
|
@ -7381,6 +7396,7 @@ control {
|
|||
execute( TC_auth_options_11() );
|
||||
|
||||
execute( TC_lu_and_mo_csd() );
|
||||
execute( TC_lu_and_mt_csd() );
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue