Commit Graph

6676 Commits

Author SHA1 Message Date
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
Harald Welte 76031bb0fc bs11_config: add setting of baud rate 2009-01-29 08:45:19 +00:00
Harald Welte 06c47a506c fix off-by-one error in BS11 factory logon command 2009-01-28 20:42:07 +00:00
Holger Freyther d8c0d44595 [paging] Slightly increase the timeout to not overload the BTS... 2009-01-27 23:49:40 +00:00
Holger Freyther d30503867c [paging] Discard paging requests after not completing them... 2009-01-27 23:46:19 +00:00
Holger Freyther e561610911 [paging] memset and improve error message 2009-01-27 23:38:27 +00:00
Holger Freyther 29296ae643 [abis] Do not confuse me again.... 2009-01-27 22:49:48 +00:00
Holger Freyther 7410da4895 [tests] build fix 2009-01-27 19:09:38 +00:00
Holger Freyther 6cdaa21c29 [pedantic] Declare abis_nm_bs11_reset_resource to avoid a warning in bsc_hack.c
This command is BS11 specific and was put in the appropriate section
of the header file.
2009-01-27 19:00:44 +00:00
Holger Freyther 767f3ee134 [configure] We have a local copy of the header file, remove the check
We do have a local copy, there is no need to check for an
external version of that header file as it will not be used.
2009-01-27 18:23:16 +00:00
Harald Welte d43c11885c don't logon twice 2009-01-19 16:06:43 +00:00
Harald Welte 105739aede add bs11_config as LMT alternative 2009-01-18 19:10:46 +00:00
Harald Welte 4b1a7513bb abis_nm_reset_resource is a bs11 specific function 2009-01-18 19:09:22 +00:00
Harald Welte 7e9bd3171d add zero-length data field to abis_fom_hdr 2009-01-18 19:02:46 +00:00
Harald Welte eb168a4b93 Implementation of GSM12.21 LOAD SOFTWARE (BS11 dialect thereof) 2009-01-18 18:01:49 +00:00
Harald Welte 9137d34986 add BTS TYPE field to facilitate future non-BS11 BTS support 2009-01-18 17:57:27 +00:00
Harald Welte 3c56932855 * use #define for number of TS in one TRX
* use data structure to indicate E1 timeslot/subslot for every TRX:TS
2009-01-18 17:47:32 +00:00
Harald Welte 15ad033a3c abis_nm: use correct length in 08.59 OML header for all messages 2009-01-18 14:27:48 +00:00
Harald Welte d67b375f2e abis_nm: more BS11 specific messages for configuration 2009-01-18 14:17:52 +00:00
Harald Welte 9f5d4acb1e * prefix all BS11 specific OML functions with proper name
* add more BS11 specific OML commands (TRX power, logon, OML TEI, ...)
2009-01-18 11:39:08 +00:00
Harald Welte 10ec0e391c add some more BS11 specific OML definitions 2009-01-18 11:08:10 +00:00
Harald Welte eb72e2329e fix typo 2009-01-11 04:38:55 +00:00
Harald Welte eed0ad4e06 If there is already a subscriber and it does not equal to us -> moan
And unreference the gsm_subscriber object otherwise we would leak.
2009-01-10 03:21:41 +00:00
Harald Welte 12736ff5c3 Make mi_to_string parse the TMSI we generate, finish CM Service Request implementation
The TMSI encoding is up to us but generate_mid_from_tmsi and mi_to_string
did not agree on the encoding. Adjust mi_to_string to properly decode the
TMSI generated by generate_mid_from_tmsi. Check that the four bits are '1111'
and that the length is five. Memcpy the bytes to tmsi (to work with ARM or such)
and convert the number to host order...

Implement the CM Service Request. Try to get the subscriber from the TMSI and
assign it to the gsm_lchan. There is a small issue that will be fixed in the
next commit.

(done by z.)
2009-01-10 03:17:30 +00:00
Harald Welte 5934aed98e Start working on CM Service Request
Be able to send Accept/Reject the Service Request. Use mi_string
instead of the the msgb buffer (even if it is memsetted and such)...

The TMSI allocation seems to be a bit problematic and needs some
further checking. The rough idea is that we try to find the subscriber
for a CM Service Request and then decide based on the subscriber
if we want to handle the call.
2009-01-10 01:49:35 +00:00
Harald Welte 3231d71631 Reset the use_count to zero in chan_free
It is possible that the BTS is closing the channel even when
our upper layers are doing work. Reset the use_count add a fixme
to call cancellations for pending operations. Cancellation of the
call state (state machines in general) and such come into mind...
2009-01-09 21:39:17 +00:00
Harald Welte c88899a7a4 Use use_lchan/put_lchan for call handling to keep the channel up
Increase when the refcount of the lchan when we initiate a call,
get a SETUP message and put it when we want to release the call...

Once we have proper Q.931 support the use/put needs to be improved,
e.g. we currently do not allow to hangup from the network, and it
will ring until the end of time...
2009-01-09 21:27:43 +00:00
Harald Welte 6bc8d098f3 Print the refcount of the lchan as well 2009-01-09 21:24:53 +00:00
Harald Welte bec1885458 [paging] Page pagegroup one...
Currently we get OVERLOAD (8.6.3 of 08.58) and no CCCH LOAD INDICATION...
we will have to handle the OVERLOAD somehow...
2009-01-06 23:50:39 +00:00
Harald Welte 265cb92615 Hook the paging code into bsc_hack.c and telnet_interface.c
Wrote and test code to add and remove paging requests... This
will be using the fact that the linux list is building a circle
on each tick we can send one/x paging requests and continue round
robin...
2009-01-06 23:10:57 +00:00
Harald Welte 1a2c343617 Start creating a paging layer...
You can request to open a channel to a MS and the paging layer
will call you once the channel is allocated. Internally the CCCH
Load Indication will be handled and retry to page a terminal.
2009-01-06 21:47:18 +00:00
Harald Welte 6844181ba0 Handle TMSI reallocation complete by printing the subscriber
It looks like that certain phones that send their old TMSI from
a different network and we assign them a new one with LOCATION
UPDATING ACCEPT will send us a TMSI Reallocation Complete. Print out
the the imsi.
2009-01-06 19:47:00 +00:00