diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2023-06-26 10:21:48 +0200 |
---|---|---|
committer | jolly <andreas@eversberg.eu> | 2023-06-28 11:54:55 +0000 |
commit | e4c7b0adcd2384eaf0e018731428f3523f786c0f (patch) | |
tree | 270bd0c092ac9acf0cebd130a6a6955ddb822b98 /src/gsm/gsm48.c | |
parent | 6e7739f70972c9cd6ccb4497f4303f3686f84611 (diff) |
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
Diffstat (limited to 'src/gsm/gsm48.c')
-rw-r--r-- | src/gsm/gsm48.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 3ec75472..4f790261 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -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; } |