Commit Graph

6549 Commits

Author SHA1 Message Date
Holger Freyther 6515421fd9 [signal] Move the area into the struct signal_data...
Remove the parameter and move the signal kind into the
signal struct. Make register/deregister fully symmetric.
2009-02-14 22:51:10 +00:00
Holger Freyther 0cbaa18f58 [signal] dispatch the paging response...
Inform people about the successfull paging response and
provide access to the subscriber, lchan and bts...
2009-02-14 22:51:06 +00:00
Holger Freyther a030ebb39c [signal] Dispatch the first signal... inform about paging timeout
When the paging request timed out, send a signal... lchan
is NULL in case of a failure.
2009-02-14 22:51:03 +00:00
Holger Freyther a82577ddcf [signal] Add generic signal registration and dispatch...
This will be used for generic registration and dispatching
of any kind of event. We will have different areas (like
with the debug interface) and each layer can define their
own struct for the event message... This is not tested yet
2009-02-14 22:51:00 +00:00
Harald Welte e9583b9c4a add tlv_parser code to Makefile.am 2009-02-14 19:46:31 +00:00
Harald Welte a1383cbd04 introduce gsm_nm_state object in all our nm-relevant data structures 2009-02-14 19:45:44 +00:00
Harald Welte c8ba953da0 implement type1TV or type 2 detection 2009-02-14 19:07:10 +00:00
Holger Freyther 3ec204f6fb [paging] Send up to avaliable_slots paging requests...
Send up to available_slots paging requests but only
iterate over the list once. This was not tested on
a bts.
2009-02-14 18:05:03 +00:00
Holger Freyther 61dee381e9 [paging] Initiliaze req in paging_T3113_expired 2009-02-14 18:04:59 +00:00
Harald Welte 5142f64b0d * add comments for SET BTS ATTR and SET RADIO CARRIER ATTR
* use OPSTART on objects whose operational state is Disabled
2009-02-14 15:41:08 +00:00
Harald Welte 243528274a add new program to use UDP broadcast packets to find ip.access BTS in the network 2009-02-14 12:51:36 +00:00
Harald Welte 283cfc1b0a preliminary ip.access BTS support, as of now only OML singalling works 2009-02-13 02:43:36 +00:00
Harald Welte cd83ab602a * more extensive A-bis OML support 2009-02-13 02:41:40 +00:00
Harald Welte 4d0ada670d * add more GSM 04.08 IEIs
* implement function for CHANNEL MODE MODIFY
* don't use hard-coded SETUP message but construct it with tlv functions
2009-02-11 11:44:12 +00:00
Harald Welte a590ab1820 include already-exported lchan2chan_nr() function in header file 2009-02-11 11:43:19 +00:00
Holger Freyther 99dd4d330e [paging] factor out list iteration... move to the next item 2009-02-11 03:00:20 +00:00
Holger Freyther b5246176e9 [paging] Send paging requests as response to the PAGING LOAD indicator
Kill the paging timer and send paging upon paging load notifications.
2009-02-11 01:49:15 +00:00
Holger Freyther f45c5c7c07 [paging] Stop the timer when the paging was successful 2009-02-11 01:18:42 +00:00
Holger Freyther 2b0672c8a5 [paging] Stop counting the requests... harald implemented sepc conform timer support
We do have a dispose timer, there is no need to discard the
paging request this way... remove the code.
2009-02-11 01:02:45 +00:00
Holger Freyther 9ceb95234d [ccch load] Enable notifications for CCCH/PAGING LOAD again
Set the threshold to 0% for the load indication. The paging buffer
space will be used by the paging notifications and we will ignore
the racch usage notification for now.
2009-02-11 00:43:48 +00:00
Holger Freyther ef39f02e8f [misc] Another set of build fixes...
We should compile the src into an archive file and
then link to it.
2009-02-11 00:33:51 +00:00
Holger Freyther 7aa4cfe030 [tests] Fix building... add another stub... 2009-02-10 23:36:57 +00:00
Holger Freyther 20c7d8d543 [misc] Add header files to fix make distcheck 2009-02-10 23:36:14 +00:00
Holger Freyther 683118e4f6 * make sure we start sending B channel data on channel activation 2009-02-10 18:40:45 +00:00
Harald Welte 27ee5d355a mISDN doesn't support select-writefd's but rather sends PH_DATA_CNF
indications which should trigger us sending a new data packet on the
B channel
2009-02-10 18:18:50 +00:00
Harald Welte c598a9ebf3 * decrease subscriber refcount when free()ing a paging request
* use a new timer that stops paging requests after some time, rather than
  sending them indefinitely
2009-02-10 17:35:04 +00:00
Harald Welte 630413a428 * fill the e1_link member of every bts_trx_ts structure
* introduce new timer as part of every paging request
2009-02-10 17:33:56 +00:00
Harald Welte 95c8a7fb5a set up a static TRAU mux mapping between on-air TS1 and TS2 2009-02-10 17:17:09 +00:00
Holger Freyther 860efacf05 prettier debug prints in mISDN driver 2009-02-10 01:04:22 +00:00
Holger Freyther b70fd4f65f [paging] Introduce a variable containing the free paging slots
Start with a large number of available slots. It is guranteed
that we will - at some point - get a paging load and will properly
update the counter and keep it updated.
2009-02-10 00:06:19 +00:00
Holger Freyther bca6acdf67 [paging] Cleanup page -> paging in function names 2009-02-09 23:42:03 +00:00
Holger Freyther 9bcaf43669 introduce lookup of subscribers based on their extension number 2009-02-09 23:39:20 +00:00
Holger Freyther 9890fd452d some more primitive names for improved debug readability 2009-02-09 23:10:48 +00:00
Holger Freyther af66447b57 * always use bts->c0 as msg->trx for OML messages 2009-02-09 23:09:55 +00:00
Holger Freyther 21081b13f6 * correctly initialize link->tei and link->sapi
* fix debug printf
2009-02-09 23:09:15 +00:00
Holger Freyther 8291afb1e7 fix segfault when trying to dequeue list head as list element 2009-02-09 21:05:56 +00:00
Harald Welte 53b5f84979 remove old misdn driver; the code is now using e1_input.c in combination
with src/input/misdn.c
2009-02-09 18:14:24 +00:00
Harald Welte 6bd8f80c18 * add trau_mux implementation to relay from one incoming TRAU
channel to another one (simple voice call switching)
* add a way more generic E1 input layer, abstracting out the misdn
  low-level interface. This also adds infrastructure for multiple TRX
  in one BTS, as well as multiple BTS on one E1 link
* add a E1 subchannel multiplexer for sending multiple 16kbit sub-channels
  one one 64kBps E1 channel
* add TRAU IDLE frame generation
* terminate bsc_hack in case there is a E1 / mISDN init error
* introduce 'e1_config.c' file with static configuration of our
  E1 setup (which TRX/BTS is configured for which TEI/SAPI/E1). This should
  later become a config file rather than a compiled C file.

WARNING: all this compiles but is not tested yet.  Expect fix-up committs over
the next hours or so
2009-02-09 18:13:26 +00:00
Harald Welte 477d52efd9 fix compiler warning about undeclared function by adding include file 2009-02-09 17:54:43 +00:00
Harald Welte 3514fa34d9 * remove excessive debug output during software load
* fix compiler warning about unused variable
2009-02-09 17:53:49 +00:00
Harald Welte 0acec0adf7 make sure certain functions are per TRX, not per BTS, such as
* rsl_chan_activate()
* rsl_bcch_info()
* rsl_sacch_filling()
2009-02-07 00:48:17 +00:00
Holger Freyther 297295de82 [paging] Move the code to send the command into a separate function
Mostly cosmetic and in preparation for proper page load indicator
handling.
2009-02-06 22:33:25 +00:00
Holger Freyther 7e93e6e3b3 [tests] Fix the tests... link again 2009-02-06 22:16:52 +00:00
Holger Freyther b5075315ca [dist] Fix make distcheck by adding the new header files 2009-02-06 22:08:17 +00:00
Holger Freyther 7161ea0297 [rr] Send a Channel Release before deactivating the channel
After auto releasing a channel the next paging request will
not be immediately answered. The hypothesis was that we do
not release the channel properly. Implementing Channel Release
of GSM 04.08 should have fixed it, but it didn't. According
to the wireshark dissectors the message is correct though.

- Add the RR cause values to gsm_04_08.
- Implement the Channel Release message
- Invoke the release channel function before deallocating
  the lchan.
2009-02-06 21:55:37 +00:00
Holger Freyther 14c8a79429 [paging] Move the paging state into struct gsm_bts
There is a 1:1 relationship between gsm_bts and the paging
operation. Move the paging state into the gsm_bts which is
simplfying the code a lot. This was hinted by LaF0rge.

(I'm not happy with the names of the structs)
2009-02-06 18:54:00 +00:00
Holger Freyther 3b4822b439 [paging] Use paging_request_remove to update last_request and free memory
Update the last_request when stopping the paging operation and also
free the associated memory of the request.
2009-02-06 18:08:18 +00:00
Holger Freyther b1cbb37db0 [bs11-config] Really force the software upload
When we get a NM_MT_LOAD_END_NACK and we are supposed to
force the load we will just send data. This was already
done with NM_MT_LOAD_INIT_NACK.
2009-02-06 17:43:50 +00:00
Harald Welte 11fe5a093d BS11 logon message type 2009-02-06 16:44:37 +00:00
Harald Welte eb3cf93257 * implement some simplistic OML EVENT STATE CHANGE REPORT parsing
* make sure we don't call a user_cb() function if it is NULL
2009-02-06 13:38:02 +00:00