BSSMAP_Templates: Enable use for AoIP, not just E1-CIC
Change-Id: I421ade4ae1c0c19c9c2b1172cdcf8d6c4cd55205
This commit is contained in:
parent
9958a4d7c8
commit
cc7e4dc40e
|
@ -86,9 +86,9 @@ function main(integer connection_id, integer e1_timeslot) runs on MSC_ConnHdlr {
|
||||||
[g_state == MSC_STATE_NONE] BSSAP.receive(tr_BSSMAP_ComplL3) -> value bssap {
|
[g_state == MSC_STATE_NONE] BSSAP.receive(tr_BSSMAP_ComplL3) -> value bssap {
|
||||||
/* respond with ASSIGNMENT CMD */
|
/* respond with ASSIGNMENT CMD */
|
||||||
g_state := MSC_STATE_WAIT_ASS_COMPL;
|
g_state := MSC_STATE_WAIT_ASS_COMPL;
|
||||||
BSSAP.send(ts_BSSMAP_AssignmentReq(0, e1_timeslot));
|
BSSAP.send(ts_BSSMAP_AssignmentReq(ts_BSSMAP_IE_CIC(0, e1_timeslot)));
|
||||||
}
|
}
|
||||||
[g_state == MSC_STATE_WAIT_ASS_COMPL] BSSAP.receive(tr_BSSMAP_AssignmentComplete) {
|
[g_state == MSC_STATE_WAIT_ASS_COMPL] BSSAP.receive(tr_BSSMAP_AssignmentComplete(?,*)) {
|
||||||
/* FIXME: Send MGCP CRCX */
|
/* FIXME: Send MGCP CRCX */
|
||||||
g_state := MSC_STATE_WAIT_CRCX_ACK;
|
g_state := MSC_STATE_WAIT_CRCX_ACK;
|
||||||
var MgcpTransId trans_id := f_mgcp_alloc_tid();
|
var MgcpTransId trans_id := f_mgcp_alloc_tid();
|
||||||
|
|
|
@ -392,7 +392,7 @@ testcase TC_assignment_cic_only() runs on test_CT {
|
||||||
|
|
||||||
dt := f_est_dchan('23'O, 23, '00000000'O);
|
dt := f_est_dchan('23'O, 23, '00000000'O);
|
||||||
/* send assignment without AoIP IEs */
|
/* send assignment without AoIP IEs */
|
||||||
BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_AssignmentReq(0, 1)));
|
BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_AssignmentReq(ts_BSSMAP_IE_CIC(0, 1))));
|
||||||
alt {
|
alt {
|
||||||
[] BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_AssignmentComplete)) {
|
[] BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_AssignmentComplete)) {
|
||||||
setverdict(fail, "AoIP BSC cannot accept ASSIGNMENT without AoIP Transport IE");
|
setverdict(fail, "AoIP BSC cannot accept ASSIGNMENT without AoIP Transport IE");
|
||||||
|
|
|
@ -86,9 +86,11 @@ function main(integer connection_id, integer e1_timeslot) runs on MSC_ConnHdlr {
|
||||||
[g_state == MSC_STATE_NONE] BSSAP.receive(tr_BSSMAP_ComplL3) -> value bssap {
|
[g_state == MSC_STATE_NONE] BSSAP.receive(tr_BSSMAP_ComplL3) -> value bssap {
|
||||||
/* respond with ASSIGNMENT CMD */
|
/* respond with ASSIGNMENT CMD */
|
||||||
g_state := MSC_STATE_WAIT_ASS_COMPL;
|
g_state := MSC_STATE_WAIT_ASS_COMPL;
|
||||||
BSSAP.send(ts_BSSMAP_AssignmentReq(0, e1_timeslot));
|
var BSSMAP_IE_AoIP_TransportLayerAddress tla;
|
||||||
|
tla := valueof(ts_BSSMAP_IE_AoIP_TLA({ipv4:='01020304'O}, 12345));
|
||||||
|
BSSAP.send(ts_BSSMAP_AssignmentReq(omit, tla));
|
||||||
}
|
}
|
||||||
[g_state == MSC_STATE_WAIT_ASS_COMPL] BSSAP.receive(tr_BSSMAP_AssignmentComplete) {
|
[g_state == MSC_STATE_WAIT_ASS_COMPL] BSSAP.receive(tr_BSSMAP_AssignmentComplete(*,?)) {
|
||||||
/* FIXME: Send MGCP CRCX */
|
/* FIXME: Send MGCP CRCX */
|
||||||
g_state := MSC_STATE_WAIT_CRCX_ACK;
|
g_state := MSC_STATE_WAIT_CRCX_ACK;
|
||||||
var MgcpTransId trans_id := f_mgcp_alloc_tid();
|
var MgcpTransId trans_id := f_mgcp_alloc_tid();
|
||||||
|
|
|
@ -256,7 +256,17 @@ template (value) BSSMAP_IE_CircuitIdentityCode ts_BSSMAP_IE_CIC(uint11_t span, u
|
||||||
cicLow := bit2oct((substr(int2bit(span, 11), 8, 3) << 5) & int2bit(ts, 5))
|
cicLow := bit2oct((substr(int2bit(span, 11), 8, 3) << 5) & int2bit(ts, 5))
|
||||||
}
|
}
|
||||||
|
|
||||||
template (value) PDU_BSSAP ts_BSSMAP_AssignmentReq(uint11_t span, uint5_t ts)
|
template (value) BSSMAP_IE_AoIP_TransportLayerAddress ts_BSSMAP_IE_AoIP_TLA(BSSMAP_FIELD_IPAddress addr,
|
||||||
|
uint16_t udp_port) := {
|
||||||
|
elementIdentifier := '7C'O,
|
||||||
|
lengthIndicator := 0, /* overwritten */
|
||||||
|
ipAddress := addr,
|
||||||
|
uDPPortValue := udp_port
|
||||||
|
}
|
||||||
|
|
||||||
|
template PDU_BSSAP
|
||||||
|
ts_BSSMAP_AssignmentReq(template BSSMAP_IE_CircuitIdentityCode cic := omit,
|
||||||
|
template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit)
|
||||||
modifies ts_BSSAP_BSSMAP := {
|
modifies ts_BSSAP_BSSMAP := {
|
||||||
pdu := {
|
pdu := {
|
||||||
bssmap := {
|
bssmap := {
|
||||||
|
@ -265,7 +275,7 @@ modifies ts_BSSAP_BSSMAP := {
|
||||||
channelType := ts_BSSMAP_IE_ChannelType,
|
channelType := ts_BSSMAP_IE_ChannelType,
|
||||||
layer3HeaderInfo := omit,
|
layer3HeaderInfo := omit,
|
||||||
priority := omit,
|
priority := omit,
|
||||||
circuitIdentityCode := ts_BSSMAP_IE_CIC(span, ts),
|
circuitIdentityCode := cic,
|
||||||
downLinkDTX_Flag := omit,
|
downLinkDTX_Flag := omit,
|
||||||
interferenceBandToBeUsed := omit,
|
interferenceBandToBeUsed := omit,
|
||||||
classmarkInformationType2 := omit,
|
classmarkInformationType2 := omit,
|
||||||
|
@ -276,7 +286,7 @@ modifies ts_BSSAP_BSSMAP := {
|
||||||
serviceHandover := omit,
|
serviceHandover := omit,
|
||||||
encryptionInformation := omit,
|
encryptionInformation := omit,
|
||||||
talkerPriority := omit,
|
talkerPriority := omit,
|
||||||
aoIPTransportLayer := omit,
|
aoIPTransportLayer := aoip,
|
||||||
codecList := omit,
|
codecList := omit,
|
||||||
callIdentifier := omit,
|
callIdentifier := omit,
|
||||||
kC128 := omit,
|
kC128 := omit,
|
||||||
|
@ -321,7 +331,9 @@ template PDU_BSSAP tr_BSSMAP_AssignmentReq modifies tr_BSSAP_BSSMAP := {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template (value) PDU_BSSAP ts_BSSMAP_AssignmentComplete(BSSMAP_IE_CircuitIdentityCode cic)
|
template PDU_BSSAP
|
||||||
|
ts_BSSMAP_AssignmentComplete(template BSSMAP_IE_CircuitIdentityCode cic := omit,
|
||||||
|
template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit)
|
||||||
modifies ts_BSSAP_BSSMAP := {
|
modifies ts_BSSAP_BSSMAP := {
|
||||||
pdu := {
|
pdu := {
|
||||||
bssmap := {
|
bssmap := {
|
||||||
|
@ -336,7 +348,7 @@ modifies ts_BSSAP_BSSMAP := {
|
||||||
speechVersion := omit,
|
speechVersion := omit,
|
||||||
lSAIdentifier := omit,
|
lSAIdentifier := omit,
|
||||||
talkerPriority := omit,
|
talkerPriority := omit,
|
||||||
aoIPTransportLayer := omit,
|
aoIPTransportLayer := aoip,
|
||||||
speechCodec := omit,
|
speechCodec := omit,
|
||||||
codecList := omit,
|
codecList := omit,
|
||||||
lCLS_BSS_Status := omit
|
lCLS_BSS_Status := omit
|
||||||
|
@ -345,13 +357,15 @@ modifies ts_BSSAP_BSSMAP := {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template PDU_BSSAP tr_BSSMAP_AssignmentComplete modifies tr_BSSAP_BSSMAP := {
|
template PDU_BSSAP tr_BSSMAP_AssignmentComplete(template BSSMAP_IE_CircuitIdentityCode cic := *,
|
||||||
|
template BSSMAP_IE_AoIP_TransportLayerAddress aoip := *)
|
||||||
|
modifies tr_BSSAP_BSSMAP := {
|
||||||
pdu := {
|
pdu := {
|
||||||
bssmap := {
|
bssmap := {
|
||||||
assignmentComplete := {
|
assignmentComplete := {
|
||||||
messageType := '02'O, /* overwritten */
|
messageType := '02'O, /* overwritten */
|
||||||
rR_Cause := *,
|
rR_Cause := *,
|
||||||
circuitIdentityCode := ?,
|
circuitIdentityCode := cic,
|
||||||
cellIdentifier := *,
|
cellIdentifier := *,
|
||||||
chosenChannel := *,
|
chosenChannel := *,
|
||||||
chosenEncryptionAlgorithm := *,
|
chosenEncryptionAlgorithm := *,
|
||||||
|
@ -359,7 +373,7 @@ template PDU_BSSAP tr_BSSMAP_AssignmentComplete modifies tr_BSSAP_BSSMAP := {
|
||||||
speechVersion := *,
|
speechVersion := *,
|
||||||
lSAIdentifier := *,
|
lSAIdentifier := *,
|
||||||
talkerPriority := *,
|
talkerPriority := *,
|
||||||
aoIPTransportLayer := *,
|
aoIPTransportLayer := aoip,
|
||||||
speechCodec := *,
|
speechCodec := *,
|
||||||
codecList := *,
|
codecList := *,
|
||||||
lCLS_BSS_Status := *
|
lCLS_BSS_Status := *
|
||||||
|
|
Loading…
Reference in New Issue