aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/osmo-ganc/ganc_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/osmo-ganc/ganc_server.c')
-rw-r--r--openbsc/src/osmo-ganc/ganc_server.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/openbsc/src/osmo-ganc/ganc_server.c b/openbsc/src/osmo-ganc/ganc_server.c
index 08cdbae55..1dc096f5d 100644
--- a/openbsc/src/osmo-ganc/ganc_server.c
+++ b/openbsc/src/osmo-ganc/ganc_server.c
@@ -211,6 +211,23 @@ static int tx_csr_dl_direct_xfer(struct gan_peer *peer, struct msgb *msg)
return unc_peer_tx(peer, msg);
}
+/* 10.1.19 GA-CSR RELEASE */
+
+static int tx_csr_release(struct gan_peer *peer, uint8_t cause)
+{
+ struct msgb *msg = unc_msgb_alloc();
+
+ printf("<- GA-CSR RELEASE\n");
+
+ if (!msg)
+ return -ENOMEM;
+
+ push_rc_csr_hdr(msg, GA_PDISC_CSR, GA_MT_CSR_RELEASE);
+ msgb_tlv_put(msg, GA_IE_RR_CAUSE, 1, &cause);
+
+ return unc_peer_tx(peer, msg);
+}
+
/* 10.1.21 GA-CSR PAGING REQUEST */
static int tx_csr_paging_req(struct gan_peer *peer, uint8_t mi_len,
uint8_t *mi, uint8_t chan_needed)