fixeria submitted this change.

View Change

Approvals: Jenkins Builder: Verified lynxis lazus: Looks good to me, approved
silent_call: check if subscriber has a connection

It makes no sense to initiate a silent call if subscriber already
has an active connection (e.g. when a normal call is ongoing).

Change-Id: I52b3be26c61cadacc4783b5c324809ecd6906b36
---
M src/libmsc/msc_vty.c
M src/libmsc/silent_call.c
2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c
index 41cb0d4..e727feb 100644
--- a/src/libmsc/msc_vty.c
+++ b/src/libmsc/msc_vty.c
@@ -1596,6 +1596,9 @@
case -ENODEV:
vty_out(vty, "%% Subscriber not attached%s", VTY_NEWLINE);
break;
+ case -EBUSY:
+ vty_out(vty, "%% Subscriber already has an active connection%s", VTY_NEWLINE);
+ break;
default:
if (rc)
vty_out(vty, "%% Cannot start silent call (rc=%d)%s", rc, VTY_NEWLINE);
diff --git a/src/libmsc/silent_call.c b/src/libmsc/silent_call.c
index 9c0d2b6..327ed7f 100644
--- a/src/libmsc/silent_call.c
+++ b/src/libmsc/silent_call.c
@@ -142,6 +142,9 @@
struct gsm_network *net = vsub->vlr->user_ctx;
struct gsm_trans *trans;

+ if (msc_a_for_vsub(vsub, true) != NULL)
+ return -EBUSY;
+
trans = trans_alloc(net, vsub, TRANS_SILENT_CALL, 0, 0);
if (trans == NULL)
return -ENODEV;

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

Gerrit-MessageType: merged
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I52b3be26c61cadacc4783b5c324809ecd6906b36
Gerrit-Change-Number: 40877
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>