ASCI: Add decoding of mobile identity in TALKER INDICATION

gsm48.c provides a function to decode mobile identity from various
messages. TALKER INDICATION is sent by the talking subscriber of a voice
group call to idenitfy the current talker. The mobile identity is
required to distinguish between calling subscriber and other subscribers.

Related: OS#4854
Change-Id: I331fac82e3c15abb01f554b2e70576100f2eea2d
This commit is contained in:
Andreas Eversberg 2023-06-26 10:21:48 +02:00 committed by jolly
parent 6e7739f709
commit e4c7b0adcd
1 changed files with 11 additions and 0 deletions

View File

@ -955,6 +955,17 @@ int osmo_mobile_identity_decode_from_l3_buf(struct osmo_mobile_identity *mi, con
cm2_buf = (uint8_t*)&paging_response->cm2;
goto got_cm2;
case GSM48_MT_RR_TALKER_IND:
/* Check minimum size: Header + CM2 LV + minimum MI LV */
if (l3_len < sizeof(*gh) + 4 + 2)
return -EBADMSG;
/* CM2 shall be always 3 bytes in length */
if (gh->data[0] != 3)
return -EBADMSG;
cm2_len = gh->data[0];
cm2_buf = gh->data + 1;
goto got_cm2;
default:
break;
}