laforge submitted this change.

View Change

Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved
Release BSS connection when SS message is rejected

When an initial call-independent supplementary service message is
received, it is checked whether the message is a REGISTER message.
If it is not, the MSC will reject it by sending a RELEASE COMPLETE
message.

This patch ensures that the MSC_A use counter is decremented, so
that the BSS connection is released, if it is not used by any other
transaction.

Without this patch, the msc_a_fsm would wait 5 seconds for an initial
transaction before releasing the BSS connection.

Related: OS#6427
Change-Id: Ic6765e5d480735e67d97f0f560da24653b26d487
---
M src/libmsc/gsm_09_11.c
1 file changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c
index e293890..ab40f02 100644
--- a/src/libmsc/gsm_09_11.c
+++ b/src/libmsc/gsm_09_11.c
@@ -142,6 +142,9 @@
gsm48_tx_simple(msc_a,
GSM48_PDISC_NC_SS | (tid << 4),
GSM0480_MTYPE_RELEASE_COMPLETE);
+ /* Decrement use counter that has been incremented by CM Service Request (SS).
+ * If there is no other service request, the BSS connection will be released. */
+ msc_a_put(msc_a, MSC_A_USE_CM_SERVICE_SS);
return -EINVAL;
}

@@ -151,6 +154,9 @@
gsm48_tx_simple(msc_a,
GSM48_PDISC_NC_SS | (tid << 4),
GSM0480_MTYPE_RELEASE_COMPLETE);
+ /* Decrement use counter that has been incremented by CM Service Request (SS).
+ * If there is no other service request, the BSS connection will be released. */
+ msc_a_put(msc_a, MSC_A_USE_CM_SERVICE_SS);
return -ENOMEM;
}


To view, visit change 38305. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ic6765e5d480735e67d97f0f560da24653b26d487
Gerrit-Change-Number: 38305
Gerrit-PatchSet: 4
Gerrit-Owner: jolly <andreas@eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier@sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de>
Gerrit-CC: pespin <pespin@sysmocom.de>