GSUP_Emulation: allow moving HLR handling to another test component

Will be used by MSC_Tests.TC_call_re_establishment_auth in
I8110a6b432de734d53b111c7b69aabca12129691
where a call from one vc_conn gets re-established in another vc_conn.

Related: SYS#5130
Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501
This commit is contained in:
Neels Hofmeyr 2021-07-28 00:55:14 +02:00 committed by laforge
parent 2edc2cd742
commit 2c4f7d8dde
1 changed files with 14 additions and 1 deletions

View File

@ -222,6 +222,12 @@ function main(GsupOps ops, charstring id) runs on GSUP_Emulation_CT {
GSUP_PROC.reply(GSUPEM_register:{imsi, vc_hdlr}) to vc_hdlr;
}
[] GSUP_PROC.getcall(GSUPEM_change_connhdlr:{?,?}) -> param(imsi, vc_hdlr) {
f_imsi_table_del(imsi);
f_imsi_table_add(vc_hdlr, imsi);
GSUP_PROC.reply(GSUPEM_change_connhdlr:{imsi, vc_hdlr}) to vc_hdlr;
}
}
}
}
@ -240,9 +246,10 @@ type record ExpectData {
/* procedure based port to register for incoming calls */
signature GSUPEM_register(in charstring imsi, in GSUP_ConnHdlr hdlr);
signature GSUPEM_change_connhdlr(in charstring imsi, in GSUP_ConnHdlr hdlr);
type port GSUPEM_PROC_PT procedure {
inout GSUPEM_register;
inout GSUPEM_register, GSUPEM_change_connhdlr;
} with { extension "internal" };
/* CreateCallback that can be used as create_cb and will use the expectation table */
@ -302,4 +309,10 @@ function f_create_gsup_expect_explicit(charstring imsi, GSUP_Emulation_CT ct) ru
}
}
function f_gsup_change_connhdlr(charstring imsi) runs on GSUP_ConnHdlr {
GSUP_PROC.call(GSUPEM_change_connhdlr:{imsi, self}) {
[] GSUP_PROC.getreply(GSUPEM_change_connhdlr:{?,?}) {};
}
}
}