mgw: Introduce test TC_crcx_osmo_ign
Related: SYS#5063 Change-Id: I79415c385e89fe859854430bb20940f078fccea0
This commit is contained in:
parent
befa21c5c9
commit
befd3aaca4
|
@ -55,6 +55,12 @@ module MGCP_Templates {
|
|||
val := f_mgcp_osmux_cid_encode(osmux_cid)
|
||||
};
|
||||
|
||||
/* Osmocom extension: X-Osmux: {*,%u} */
|
||||
template MgcpParameter t_MgcpParOsmoIGN(template charstring val) := {
|
||||
code := "X-OSMO-IGN",
|
||||
val := val
|
||||
};
|
||||
|
||||
/* osmo-bsc_mgcp implements L/C/M/X only, osmo-mgw adds 'I' */
|
||||
/* SDP: osmo-bsc_mgcp implements Tx of v,o,s,c,t,m,a */
|
||||
|
||||
|
|
|
@ -30,8 +30,8 @@ module MGCP_Types {
|
|||
type charstring MgcpInfoCode ("B", "C", "I", "N", "X", "L", "M", "R",
|
||||
"S", "D", "O", "P", "E", "Z", "Q", "T",
|
||||
"RC", "LC", "A", "ES", "RM", "RD", "PL",
|
||||
"MD", "X-OSMO-CP", "X-OSMUX") with {
|
||||
variant "TEXT_CODING(,convert=upper_case,'([BCINXLMRSDOPEZQTA])|(RC)|(LC)|(ES)|(RM)|(RD)|(PL)|(MD)|(X-OSMO-CP)|(X-OSMUX)',case_insensitive)"
|
||||
"MD", "X-OSMO-CP", "X-OSMO-IGN", "X-OSMUX") with {
|
||||
variant "TEXT_CODING(,convert=upper_case,'([BCINXLMRSDOPEZQTA])|(RC)|(LC)|(ES)|(RM)|(RD)|(PL)|(MD)|(X-OSMO-CP)|(X-OSMO-IGN)|(X-OSMUX)',case_insensitive)"
|
||||
};
|
||||
|
||||
/* 3.2.2.6 */
|
||||
|
|
|
@ -732,6 +732,35 @@ module MGCP_Test {
|
|||
setverdict(pass);
|
||||
}
|
||||
|
||||
/* Test CRCX with X-Osmo-IGN, using same message as SYS#5063 to make sure it doesn't cause a crash. */
|
||||
testcase TC_crcx_osmo_ign() runs on dummy_CT {
|
||||
var template MgcpCommand cmd;
|
||||
var MgcpResponse resp;
|
||||
var MgcpEndpoint ep := "7@" & c_mgw_domain;
|
||||
var MgcpCallId call_id := '3'H;
|
||||
|
||||
f_init(ep);
|
||||
|
||||
/* CRCX 1 7@mgw MGCP 1.0
|
||||
C: 3
|
||||
L: p:20, a:GSM-EFR, nt:IN
|
||||
M: recvonly
|
||||
X-Osmo-IGN: C
|
||||
*/
|
||||
|
||||
cmd := ts_CRCX(get_next_trans_id(), ep, "netwtest", call_id);
|
||||
cmd.params := {ts_MgcpParCallId(call_id),
|
||||
t_MgcpParLocConnOpt("p:20, a:GSM-EFR, nt:IN"),
|
||||
t_MgcpParConnMode("recvonly"),
|
||||
t_MgcpParOsmoIGN("C")};
|
||||
resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK);
|
||||
extract_conn_id(resp);
|
||||
|
||||
/* clean-up */
|
||||
f_dlcx_ok(ep, call_id);
|
||||
setverdict(pass);
|
||||
}
|
||||
|
||||
/* test CRCX with early bi-directional mode, expect 527 as
|
||||
* bi-diretional media can only be established once both local and
|
||||
* remote side are specified, see MGCP RFC */
|
||||
|
@ -2360,6 +2389,7 @@ module MGCP_Test {
|
|||
execute(TC_crcx_no_lco());
|
||||
execute(TC_crcx_noprefix());
|
||||
execute(TC_crcx_unsupp_mode());
|
||||
execute(TC_crcx_osmo_ign());
|
||||
execute(TC_crcx_early_bidir_mode());
|
||||
execute(TC_crcx_unsupp_param());
|
||||
execute(TC_crcx_missing_callid());
|
||||
|
|
Loading…
Reference in New Issue