* fill the e1_link member of every bts_trx_ts structure

* introduce new timer as part of every paging request
This commit is contained in:
Harald Welte 2009-02-10 17:33:56 +00:00
parent 39a1b7193c
commit cd06bfbc9d
3 changed files with 27 additions and 2 deletions

View File

@ -186,9 +186,12 @@ struct gsm_paging_request {
struct gsm_subscriber *subscr;
struct gsm_bts *bts;
int requests;
int chan_type;
/* Timer 3113: how long do we try to page? */
struct timer_list T3113;
};
#define T3113_VALUE 60, 0
/*
* This keeps track of the paging status of one BTS. It
@ -266,4 +269,6 @@ enum gsm_e1_event {
EVT_E1_TEI_DN,
};
void set_ts_e1link(struct gsm_bts_trx_ts *ts, u_int8_t e1_nr,
u_int8_t e1_ts, u_int8_t e1_ts_ss);
#endif

View File

@ -289,12 +289,14 @@ static void bootstrap_om(struct gsm_bts *bts)
/* Connect signalling of bts0/trx0 to e1_0/ts1/64kbps */
abis_nm_conn_terr_sign(trx, 0, 1, 0xff);
set_ts_e1link(&trx->ts[0], 0, 1, 0xff);
abis_nm_raw_msg(bts, sizeof(msg_6), msg_6); /* SET TRX ATTRIBUTES */
/* Use TEI 1 for signalling */
abis_nm_establish_tei(bts, 0, 0, 1, 0xff, 0x01);
abis_nm_set_channel_attr(&trx->ts[0], NM_CHANC_SDCCH_CBCH);
#if 0
#ifdef HAVE_TRX1
/* TRX 1 */
abis_nm_conn_terr_sign(&bts->trx[1], 0, 1, 0xff);
/* FIXME: TRX ATTRIBUTE */
@ -304,36 +306,43 @@ static void bootstrap_om(struct gsm_bts *bts)
/* SET CHANNEL ATTRIBUTE TS1 */
abis_nm_set_channel_attr(&trx->ts[1], 0x09);
/* Connect traffic of bts0/trx0/ts1 to e1_0/ts2/b */
set_ts_e1link(&trx->ts[1], 0, 2, 1);
abis_nm_conn_terr_traf(&trx->ts[1], 0, 2, 1);
/* SET CHANNEL ATTRIBUTE TS2 */
abis_nm_set_channel_attr(&trx->ts[2], 0x09);
/* Connect traffic of bts0/trx0/ts2 to e1_0/ts2/c */
set_ts_e1link(&trx->ts[2], 0, 2, 2);
abis_nm_conn_terr_traf(&trx->ts[2], 0, 2, 2);
/* SET CHANNEL ATTRIBUTE TS3 */
abis_nm_set_channel_attr(&trx->ts[3], 0x09);
/* Connect traffic of bts0/trx0/ts3 to e1_0/ts2/d */
set_ts_e1link(&trx->ts[3], 0, 2, 3);
abis_nm_conn_terr_traf(&trx->ts[3], 0, 2, 3);
/* SET CHANNEL ATTRIBUTE TS4 */
abis_nm_set_channel_attr(&trx->ts[4], 0x09);
/* Connect traffic of bts0/trx0/ts4 to e1_0/ts3/a */
set_ts_e1link(&trx->ts[4], 0, 3, 0);
abis_nm_conn_terr_traf(&trx->ts[4], 0, 3, 0);
/* SET CHANNEL ATTRIBUTE TS5 */
abis_nm_set_channel_attr(&trx->ts[5], 0x09);
/* Connect traffic of bts0/trx0/ts5 to e1_0/ts3/b */
set_ts_e1link(&trx->ts[5], 0, 3, 1);
abis_nm_conn_terr_traf(&trx->ts[5], 0, 3, 1);
/* SET CHANNEL ATTRIBUTE TS6 */
abis_nm_set_channel_attr(&trx->ts[6], 0x09);
/* Connect traffic of bts0/trx0/ts6 to e1_0/ts3/c */
set_ts_e1link(&trx->ts[6], 0, 3, 2);
abis_nm_conn_terr_traf(&trx->ts[6], 0, 3, 2);
/* SET CHANNEL ATTRIBUTE TS7 */
abis_nm_set_channel_attr(&trx->ts[7], 0x09);
/* Connect traffic of bts0/trx0/ts7 to e1_0/ts3/d */
set_ts_e1link(&trx->ts[7], 0, 3, 3);
abis_nm_conn_terr_traf(&trx->ts[7], 0, 3, 3);
/* end DB transmission */

View File

@ -24,6 +24,14 @@
#include <openbsc/gsm_data.h>
void set_ts_e1link(struct gsm_bts_trx_ts *ts, u_int8_t e1_nr,
u_int8_t e1_ts, u_int8_t e1_ts_ss)
{
ts->e1_link.e1_nr = e1_nr;
ts->e1_link.e1_ts = e1_ts;
ts->e1_link.e1_ts_ss = e1_ts_ss;
}
static const char *pchan_names[] = {
[GSM_PCHAN_NONE] = "NONE",
[GSM_PCHAN_CCCH] = "CCCH",
@ -127,6 +135,9 @@ struct gsm_network *gsm_network_init(unsigned int num_bts, u_int16_t country_cod
}
bts->num_trx = 1; /* FIXME */
#ifdef HAVE_TRX1
bts->num_trx++;
#endif
bts->c0 = &bts->trx[0];
bts->c0->ts[0].pchan = GSM_PCHAN_CCCH_SDCCH4;
}