This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged. Change subject: BSSMAP_Templates: Enable use for AoIP, not just E1-CIC ...................................................................... BSSMAP_Templates: Enable use for AoIP, not just E1-CIC Change-Id: I421ade4ae1c0c19c9c2b1172cdcf8d6c4cd55205 --- M bsc-nat/MSC_ConnectionHandler.ttcn M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/BSSMAP_Templates.ttcn 4 files changed, 29 insertions(+), 13 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/MSC_ConnectionHandler.ttcn b/bsc-nat/MSC_ConnectionHandler.ttcn index 6a9a57f..3fc11e9 100644 --- a/bsc-nat/MSC_ConnectionHandler.ttcn +++ b/bsc-nat/MSC_ConnectionHandler.ttcn @@ -86,9 +86,9 @@ [g_state == MSC_STATE_NONE] BSSAP.receive(tr_BSSMAP_ComplL3) -> value bssap { /* respond with ASSIGNMENT CMD */ 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 */ g_state := MSC_STATE_WAIT_CRCX_ACK; var MgcpTransId trans_id := f_mgcp_alloc_tid(); diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index faf1a6e..090ed0c 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -392,7 +392,7 @@ dt := f_est_dchan('23'O, 23, '00000000'O); /* 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 { [] BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_AssignmentComplete)) { setverdict(fail, "AoIP BSC cannot accept ASSIGNMENT without AoIP Transport IE"); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 6a9a57f..8fa71fb 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -86,9 +86,11 @@ [g_state == MSC_STATE_NONE] BSSAP.receive(tr_BSSMAP_ComplL3) -> value bssap { /* respond with ASSIGNMENT CMD */ 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 */ g_state := MSC_STATE_WAIT_CRCX_ACK; var MgcpTransId trans_id := f_mgcp_alloc_tid(); diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 6e7813f..0d2db3d 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -256,7 +256,17 @@ 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 := { pdu := { bssmap := { @@ -265,7 +275,7 @@ channelType := ts_BSSMAP_IE_ChannelType, layer3HeaderInfo := omit, priority := omit, - circuitIdentityCode := ts_BSSMAP_IE_CIC(span, ts), + circuitIdentityCode := cic, downLinkDTX_Flag := omit, interferenceBandToBeUsed := omit, classmarkInformationType2 := omit, @@ -276,7 +286,7 @@ serviceHandover := omit, encryptionInformation := omit, talkerPriority := omit, - aoIPTransportLayer := omit, + aoIPTransportLayer := aoip, codecList := omit, callIdentifier := omit, kC128 := omit, @@ -321,7 +331,9 @@ } } -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 := { pdu := { bssmap := { @@ -336,7 +348,7 @@ speechVersion := omit, lSAIdentifier := omit, talkerPriority := omit, - aoIPTransportLayer := omit, + aoIPTransportLayer := aoip, speechCodec := omit, codecList := omit, lCLS_BSS_Status := omit @@ -345,13 +357,15 @@ } } -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 := { bssmap := { assignmentComplete := { messageType := '02'O, /* overwritten */ rR_Cause := *, - circuitIdentityCode := ?, + circuitIdentityCode := cic, cellIdentifier := *, chosenChannel := *, chosenEncryptionAlgorithm := *, @@ -359,7 +373,7 @@ speechVersion := *, lSAIdentifier := *, talkerPriority := *, - aoIPTransportLayer := *, + aoIPTransportLayer := aoip, speechCodec := *, codecList := *, lCLS_BSS_Status := * -- To view, visit https://gerrit.osmocom.org/5393 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I421ade4ae1c0c19c9c2b1172cdcf8d6c4cd55205 Gerrit-PatchSet: 1 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder