bsc: Expect CRCX and send an ACK back

Change-Id: Ic4fabc2a2cf034a831e446697b3a22f4d1d0c6d6
This commit is contained in:
Daniel Willmann 2018-01-17 17:58:50 +01:00 committed by Harald Welte
parent aeea76fe5d
commit a3d192f1e4
1 changed files with 7 additions and 3 deletions

View File

@ -164,6 +164,7 @@ runs on MSC_ConnHdlr return PDU_BSSAP {
endpoint := omit,
transid := omit
};
var SDP_Message sdp;
mgcp_conn_id := f_mgcp_alloc_conn_id();
f_create_chan_and_exp(pars);
@ -172,10 +173,13 @@ runs on MSC_ConnHdlr return PDU_BSSAP {
BSSAP.receive(tr_BSSMAP_ComplL3);
f_create_mgcp_expect(mgcpcrit);
BSSAP.send(ass_cmd);
MGCP.receive(tr_CRCX) -> value cmd;
sdp := valueof(ts_SDP("127.0.0.1", "127.0.0.1", "foo", "21", 1000, { "98" },
{valueof(ts_SDP_rtpmap(98, "AMR/8000")),
valueof(ts_SDP_ptime(20)) } ));
MGCP.send(ts_CRCX_ACK(cmd.line.trans_id, mgcp_conn_id, sdp))
alt {
[] MGCP.receive(tr_CRCX) -> value cmd {
MGCP.send(ts_CRCX_ACK(cmd.line.trans_id, mgcp_conn_id, cmd.sdp))
}
/* if we receive exactly what we expected, always return + pass */
[] BSSAP.receive(exp_ass_cpl) -> value bssap {
setverdict(pass);