laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-cbc/+/27982 )
Change subject: CBSP: Set Channel Indication IE in KILL for CBS ......................................................................
CBSP: Set Channel Indication IE in KILL for CBS
The channel Indicator IE shall be present if the KILL relates to a CBS message. Its absence indicates KILL for ETWS/PWS.
Change-Id: I11bfac3236d7cf1e30ae5bae0abcbd72531ab5cd Related: SYS#5906, OS#5540, OS#5541 --- M src/smscb_peer_fsm.c 1 file changed, 6 insertions(+), 0 deletions(-)
Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved
diff --git a/src/smscb_peer_fsm.c b/src/smscb_peer_fsm.c index 4e431ff..49b3b1d 100644 --- a/src/smscb_peer_fsm.c +++ b/src/smscb_peer_fsm.c @@ -479,6 +479,12 @@ cbsp->u.kill.old_serial_nr = mp->cbcmsg->msg.serial_nr; /* TODO: we assume that the delete will always affect all original cells */ cbsp_append_cell_list(&cbsp->u.kill.cell_list, cbsp, mp); + if (!mp->cbcmsg->msg.is_etws) { + /* Channel Indication IE is only present in CBS, not in ETWS! */ + cbsp->u.kill.channel_ind = talloc_zero(cbsp, enum cbsp_channel_ind); + OSMO_ASSERT(cbsp->u.kill.channel_ind); + *(cbsp->u.kill.channel_ind) = CBSP_CHAN_IND_BASIC; + } cbsp_cbc_client_tx(mp->peer->client.cbsp, cbsp); osmo_fsm_inst_state_chg(fi, SMSCB_S_WAIT_DELETE_ACK, 10, T_WAIT_DELETE_ACK); break;