Commit Graph

257 Commits

Author SHA1 Message Date
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
Harald Welte 06325ccd21 stop paging a particular subscriber after we have received a PAGING RESPONSE 2009-02-06 12:52:47 +00:00
Harald Welte af30e144c5 add new routine to stop paging 2009-02-06 12:52:14 +00:00
Harald Welte 7187edbf8d add some initial simplistic TLV parser 2009-02-06 12:51:39 +00:00
Harald Welte e80cb568f7 increase CCCH LOAD indication threshold to 50% to remove lots of noise 2009-02-06 12:49:11 +00:00
Harald Welte 2fa40afd95 introduce new "DEBUGPC" macro for continuing on the same line without prefix of file/line/time 2009-02-06 12:38:29 +00:00
Harald Welte dcaae8dcd8 add DMI and DMIB debug= commandline option parsing 2009-02-06 12:02:53 +00:00
Harald Welte 622b53d039 implement parsing of PAGING RESPONSE 2009-02-06 12:02:13 +00:00
Harald Welte 50873e3b1f * introduce a new '--restart' parameter to reboot BTS
* unconditionally create TRX1 objects
* wait for '3 Normal' before issuing disconnect
* MBCCU0/MBCCU1 state were accidentially switched
2009-02-05 19:30:22 +00:00
Harald Welte 3b00b90839 introduce abis_nm_bs11_restart() function 2009-02-05 19:27:17 +00:00
Holger Freyther 31c27b5e9c [paging] Use the number of different paging subchannels...
In our setup (1xCCCH combined, BS_AG_BLKS_RES=0,
BS_PA_MFRMS=0x3 -> 5) we have MAX(1,3-0) * 5 paging
sub-channels. Using this 15 I was able to successfully page
my phone/IMSI (934%15 -> 4).

My confusion is coming from the terms used for paging throughout
the documentation. GSM05.02 6.5.2 talks about "N = number of
paging blocks 'available' on one CCCH = (number of paging blocks
'available' in a 51-multiframe on one CCCH)xBS_PA_MFRMS" which
is already misguiding  and GSM04.08 is talking about number of
different paging subchannels on the CCCH and is providing a
formula.

I deduct that N == number of different paging subchannels on the CCCH
as of GSM04.08 and will simply test this with different IMSIs and
see if I can page them as well.
2009-02-04 13:38:26 +00:00
Holger Freyther 65a6daa0f6 [paging] This is paging my phone but it looks completely wrong...
- The paging block calculation is wrong but I have a hard time finding
  the right information. The table of 05.02 (Table 5 of 9) looks good
  but my phone is not happy with that group...
2009-02-04 02:14:45 +00:00
Holger Freyther 2f3a5ab032 [paging] Allow call the paging related helper functions
they alread had external linkage
2009-02-04 01:09:20 +00:00
Holger Freyther df8e2459ff [paging] Implement the three Control Channel Descriptor methods...
This comes from GSM 05.02 and GSM 04.08
2009-02-04 00:31:39 +00:00
Holger Freyther 0ea9290987 [paging] Keep a copy of the Control Channel Description in the bts struct
- Initialize Control Channel Description of SI3 
- Patch the table
- Setting ATT now is easy
- Paging can now extract all required information... to determine
  the right paging group.
2009-02-04 00:04:52 +00:00
Holger Freyther e34165cef5 [rsl] Prepare to properly handle the paging command add defines to the RSL
For finding the right paging group one needs to know various
settings that are broadcasted as part of system settings 3. This
includes the CCCH Conf, the BS_PA_MFRMS, BS_AG_BLKS_RES.... The
next step will be to move away from the hardcoded System Settings 3
so one can calculate the paging group...
2009-02-03 23:24:04 +00:00
Holger Freyther f34271c13c [paging] some minor cleanups. put the current request into a temporary 2009-02-03 23:18:46 +00:00
Holger Freyther 2e1d1679dd [paging] Cosmetic changes on the timer handling and max requests 2009-02-03 21:05:49 +00:00
Holger Freyther 74c43155d3 [telnet] use SO_REUSEADDR on the telnet socket 2009-02-03 20:49:51 +00:00
Holger Freyther c6441eea66 [rsl] Decode RACH Load as well
Print the common field and ignore the Supplementary Information.
Initialize the fields to 0xffffffff in case the payload is malformed
2009-02-03 20:08:51 +00:00
Harald Welte 8c157f0ee7 cosmetic fixes / more comments 2009-02-03 12:59:45 +00:00
Harald Welte e36678ce41 cosmetic fixes 2009-02-03 12:58:59 +00:00
Harald Welte 62445d349c cosmetic/coding style fixes 2009-02-03 12:57:37 +00:00
Harald Welte d07e8a798a make bs11_config status lines shorter 2009-02-03 02:05:28 +00:00
Harald Welte ff63612164 add rudimentary code to debug-print the CCCH LOAD INDICATION 2009-02-02 22:29:56 +00:00
Harald Welte c4fa65a057 * fix warnings while compiling abis_nm.c 2009-02-02 19:20:52 +00:00
Harald Welte 8724dded30 add limits.h for PATH_MAX 2009-02-02 14:50:29 +00:00
Harald Welte c576c61a2f * exit program if we cannot set up the serial port
* leave the program if ctrl+c is pressed three times even without logoff from BTS
2009-02-02 14:45:49 +00:00
Harald Welte 69bb6be9b0 typo 2009-02-01 22:25:58 +00:00
Harald Welte b7104f2137 * add abis_nm_software_load_status() to header file
* new abis_nm_bs11_bsc_disconnect() function to disconnect BSC/BTS link
* add support for 'forced load' of BS-11 software to abis_nm.c and bs11_config
* remove lots of debug output
* print progress during software load
2009-02-01 22:15:49 +00:00
Harald Welte 80e331ca8a * improve parsing of status/phase response from BTS
* split rs232 support into separate file (like misdn.c)
2009-02-01 21:39:06 +00:00
Harald Welte 1e5a7ff02e * add more detailed status printout to bs11_config
* add support for real LMT logon time
* add support for abis external time
* move 'create_trx1_objects' to separate function
2009-02-01 19:11:56 +00:00
Harald Welte c8c38c2166 add missing 'requests' field that zecke probably forgot to commit 2009-02-01 17:57:04 +00:00
Harald Welte 504c90f0d2 Enable CCCH LOAD INDICATION always, from 0% upwards, and report it every second 2009-02-01 16:22:19 +00:00
Harald Welte 0d0eaf4a84 * rename NM_MT_BS11_LOGOFF to NM_MT_BS11_LMT_LOGOFF
* add more BS11 specific attributes
* define all valid BS11 PA power classes
* add callback function to software load
* introduce SWL load function for BS-11 style SWL file lists
* separate activation of software from loading of software
* add function to obtain BS-11 serial number
2009-02-01 13:36:56 +00:00
Harald Welte 878aa76338 introduce generic callback function and hook enum 2009-02-01 13:32:45 +00:00
Harald Welte 6aa435fe2d * Use new NM_ATT_BS11 definitions instead of magic numbers
* rename FECTORY_LOGON into LMT_LOGON since it's not always factory level
2009-01-29 23:15:30 +00:00
Harald Welte c909ad280a more BS11 specific attribute definitions 2009-01-29 23:08:12 +00:00
Harald Welte 0880ba3f65 bs11_config:
* disable serial port POST processing
* default delay is 0
* make window size user-configurable (default: 8)
* add missing help line for the --delay option
* don't forget to create the CCLK object as part of minimal config
2009-01-29 21:14:05 +00:00
Harald Welte 3407ad8f87 Fix end-of-software_load detection (send segment with window number 0, wait for seg_ack) 2009-01-29 21:12:39 +00:00
Harald Welte 7ec0c345b4 * use select loop based rx/tx processing in bs11_config
* improve parsing/generation of fake lapd header
2009-01-29 19:28:38 +00:00
Harald Welte 81144dd3a7 * Fix BS11 software download routines in abis_nm.c
* Introduce user-configurable delay when sending serial msgs from bs11_config
2009-01-29 12:27:58 +00:00
Harald Welte 9dabe88bde bs11_config:
* fix serial port initialization
* add bs11_state enum and work accordingly
2009-01-29 09:24:38 +00:00