Neels Hofmeyr
d35fc4408c
Tested by hacking a REL ACK delay of a couple of seconds into osmo-bts' rsl.c for the first TCH_H lchan: [[[ diff --git a/include/osmo-bts/rsl.h b/include/osmo-bts/rsl.h index 093e9cb..b35c3bb 100644 --- a/include/osmo-bts/rsl.h +++ b/include/osmo-bts/rsl.h @@ -22,6 +22,7 @@ int rsl_tx_est_ind(struct gsm_lchan *lchan, uint8_t link_id, uint8_t *data, int int rsl_tx_chan_act_acknack(struct gsm_lchan *lchan, uint8_t cause); int rsl_tx_conn_fail(struct gsm_lchan *lchan, uint8_t cause); int rsl_tx_rf_rel_ack(struct gsm_lchan *lchan); +int rsl_tx_rf_rel_ack_later(struct gsm_lchan *lchan); int rsl_tx_hando_det(struct gsm_lchan *lchan, uint8_t *ho_delay); /* call-back for LAPDm code, called when it wants to send msgs UP */ diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 3802e25..1f92b0d 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -491,7 +491,16 @@ static int l1sap_info_rel_cnf(struct gsm_bts_trx *trx, lchan = get_lchan_by_chan_nr(trx, info_act_cnf->chan_nr); - rsl_tx_rf_rel_ack(lchan); + static int yyy = 0; + + DEBUGP(DRSL, "%s YYYYYYYYYYYYYYYYYYYYY %d %s\n", + gsm_lchan_name(lchan), yyy, gsm_lchant_name(lchan->type)); + + if (lchan->type == GSM_LCHAN_TCH_H && !yyy) { + yyy ++; + rsl_tx_rf_rel_ack_later(lchan); + } else + rsl_tx_rf_rel_ack(lchan); /* During PDCH DEACT, this marks the deactivation of the PDTCH as * requested by the PCU. Next up, we disconnect the TS completely and diff --git a/src/common/rsl.c b/src/common/rsl.c index 3c97af9..7926f21 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -534,6 +534,22 @@ int rsl_tx_rf_rel_ack(struct gsm_lchan *lchan) return abis_bts_rsl_sendmsg(msg); } +struct osmo_timer_list yyy_timer; + +static void yyy_timer_cb(void *data) +{ + rsl_tx_rf_rel_ack(data); +} + +int rsl_tx_rf_rel_ack_later(struct gsm_lchan *lchan) +{ + yyy_timer.cb = yyy_timer_cb; + yyy_timer.data = lchan; + osmo_timer_schedule(&yyy_timer, 10, 0); + return 0; +} + + /* 8.4.2 sending CHANnel ACTIVation ACKnowledge */ static int rsl_tx_chan_act_ack(struct gsm_lchan *lchan) { ]]] Change-Id: I87e07e1d54882f8f3d667fa300c6e3679f5c920d Fixes: OS#1798 |
||
---|---|---|
.. | ||
contrib | ||
doc | ||
include | ||
src | ||
tests | ||
tools | ||
.gitignore | ||
AUTHORS | ||
COPYING | ||
Makefile.am | ||
README | ||
README.vty-tests | ||
configure.ac | ||
git-version-gen | ||
openbsc.pc.in | ||
osmoappdesc.py |
README
About OpenBSC ============= OpenBSC started as a minimalistic all-in-one implementation of the GSM Network, with particular emphasis on the functionality typically provided by the BSC, MSC, HLR, VLR and SMSC. Today it is a growing suite of libraries and programs, implementing protocol stacks and functional elements, including * OsmoBSC - a pure GSM BSC, speaking Abis/IP to the BTS and A/IP to the MSC * OsmoBSC-MGCP - MGCP helper to the OsmoBSC software * OsmoNITB - a BSC+MSC+VLR+HLR+SMSC "Network in the box". * OsmoCSCN - a voice CN with A/IP and IuCS/IP towards the BSC and/or HNB-GW * OsmoSGSN - a GPRS SGSN with Gb/IP and IuPS/IP towards the PCU and/or HNB-GW * Osmo-GbProxy - a Proxy to aggregate many Gb links as one Gb link to the SGSN * OsmoBSCNAT - a gateway aggregating many A links as one A link to the MSC * OsmoGTPHUB - a hub aggregating many GTP links (between SGSN and GGSN) * ipaccess-utils - some tools to discover + configure ip.access nanoBTS * bs11_config - a tool to configure the Siemens BS-11 microBTS Various interfaces towards the BTS are supported, among which are: * Classic A-bis over E1 using a mISDN based E1 interface. In other words, you can connect existing GSM Base Transceiver Station (BTS) through E1 to OpenBSC. So far, we have made it work with the Siemens BS-11, various Ericsson RBS2xxx BTS models and the Nokia MetroSite. * A-bis over IP as used by the ip.access nanoBTS product family as well as the Open Source OsmoBTS software (by the same authors as OpenBSC). OsmoBTS in turn supports various transceiver hardware, including the sysmoBTS product family, as well as SDR transceivers supported by OsmoTRX, such as the UmTRX or USRP boardss. * IuCS and IuPS over IP towards an HNB-GW (see osmo-iuh) for UMTS (3G) voice and data links. Find OpenBSC online at http://openbsc.osmocom.org/ Harald Welte <laforge@gnumonks.org>