aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libbsc
diff options
context:
space:
mode:
authorTobias Engel <tobias@ccc.de>2011-07-21 16:24:30 +0200
committerTobias Engel <tobias@ccc.de>2011-07-21 16:24:30 +0200
commit71120196f6e536dcc50fd45e62a19bfe05d05b13 (patch)
treee3c999c93f7416111753b2a2645fe9add97f057f /openbsc/src/libbsc
parent4bb98821d350205e96d99e3471950f254c776cd1 (diff)
Send a S_SCALL_RELEASED signal when a silent call gets released
Diffstat (limited to 'openbsc/src/libbsc')
-rw-r--r--openbsc/src/libbsc/abis_rsl.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index 8356bd9a5..55db87227 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -578,6 +578,9 @@ static int rsl_rf_chan_release(struct gsm_lchan *lchan, int error)
{
struct abis_rsl_dchan_hdr *dh;
struct msgb *msg;
+#ifdef ROLE_BSC
+ struct scall_signal_data sigdata;
+#endif
int rc;
if (lchan->state == LCHAN_S_REL_ERR) {
@@ -611,6 +614,14 @@ static int rsl_rf_chan_release(struct gsm_lchan *lchan, int error)
rc = abis_rsl_sendmsg(msg);
+#ifdef ROLE_BSC
+ /* Dispatch a S_SCALL_RELEASED signal if this was a silent call */
+ if(lchan->belongs_to_silent_call) {
+ sigdata.data = lchan->silent_call_data;
+ osmo_signal_dispatch(SS_SCALL, S_SCALL_RELEASED, &sigdata);
+ }
+#endif
+
/* BTS will respond by RF CHAN REL ACK */
#ifdef HSL_SR_1_0
/* The HSL Femto seems to 'forget' sending a REL ACK for TS1...TS7 */