diff options
author | Tobias Engel <tobias@ccc.de> | 2011-07-21 16:24:30 +0200 |
---|---|---|
committer | Tobias Engel <tobias@ccc.de> | 2011-07-21 16:24:30 +0200 |
commit | 71120196f6e536dcc50fd45e62a19bfe05d05b13 (patch) | |
tree | e3c999c93f7416111753b2a2645fe9add97f057f /openbsc/src/libbsc | |
parent | 4bb98821d350205e96d99e3471950f254c776cd1 (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.c | 11 |
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 */ |