laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/33516 )

Change subject: ASCI: Add callref to assignment command
......................................................................

ASCI: Add callref to assignment command

The (optional) call reference is required to assign a calling subscriber
to a voice group/bcast channel. The BSC can then determine to which
existing VGCS/VBS channel the MS is assigned to.

This IE is part of the GSM standard TS 48.008 (see ยง3.2.1.1)

Change-Id: I7955c6e0eebc930f85f360dda46be17cbd39e181
Related: OS#4854
---
M include/osmocom/msc/ran_msg.h
M src/libmsc/ran_msg_a.c
2 files changed, 24 insertions(+), 8 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  neels: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified




diff --git a/include/osmocom/msc/ran_msg.h b/include/osmocom/msc/ran_msg.h
index 0dadd4f..dc1483c 100644
--- a/include/osmocom/msc/ran_msg.h
+++ b/include/osmocom/msc/ran_msg.h
@@ -109,6 +109,8 @@
        bool call_id_present;
        uint32_t call_id;
        struct osmo_lcls *lcls;
+       bool callref_present;
+       struct gsm0808_group_callref callref;
 };

 struct ran_cipher_mode_command {
diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c
index 570a8d1..2533045 100644
--- a/src/libmsc/ran_msg_a.c
+++ b/src/libmsc/ran_msg_a.c
@@ -1375,13 +1375,6 @@
        return 0;
 }

-static void _gsm0808_assignment_extend_osmux(struct msgb *msg, uint8_t cid)
-{
-       OSMO_ASSERT(msg->l3h[1] == msgb_l3len(msg) - 2); /*TL not in len */
-       msgb_tv_put(msg, GSM0808_IE_OSMO_OSMUX_CID, cid);
-       msg->l3h[1] = msgb_l3len(msg) - 2;
-}
-
 /* Compose a BSSAP Assignment Command.
  * Passing an RTP address is optional.
  * The msub is passed merely for error logging. */
@@ -1468,8 +1461,13 @@
                return NULL;
        }

+       /* Append optional IEs: Group Call Reference and Osmux CID */
+       OSMO_ASSERT(msg->l3h[1] == msgb_l3len(msg) - 2); /* TL not in len */
+       if (ac->callref_present)
+               gsm0808_enc_group_callref(msg, &ac->callref);
        if (ac->osmux_present)
-               _gsm0808_assignment_extend_osmux(msg, ac->osmux_cid);
+               msgb_tv_put(msg, GSM0808_IE_OSMO_OSMUX_CID, ac->osmux_cid);
+       msg->l3h[1] = msgb_l3len(msg) - 2;
        return msg;
 }


-- 
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33516
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I7955c6e0eebc930f85f360dda46be17cbd39e181
Gerrit-Change-Number: 33516
Gerrit-PatchSet: 12
Gerrit-Owner: jolly <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: neels <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to