Commit Graph

209 Commits

Author SHA1 Message Date
Harald Welte bc860c43c2 [layer23] use the TSC that is passed from L1 when going in dedicated mode 2010-06-24 18:57:28 +02:00
Sylvain Munaut 16cd41e809 l1a_l23_interface: Update DM EST REQ format
We include all the parameters we're gonna need to support
TS!=0, hopping, TSC, ...

We also assume the upper layer have decoded the low level
bit fields and gives us neat accessible variables and a
sorted ARFCN array for the Mobile Allocation

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-24 18:57:28 +02:00
Andreas.Eversberg d9ac6a51ad layer23: Now receiver of IMM.ASS checks for timeslot when matching request.
This implies that random access confirm now works and is used.
2010-06-24 18:42:33 +00:00
Andreas.Eversberg 4b9ef28ca9 layer23: Corrected PLMN format when selecting RPLMN via VTY. 2010-06-24 18:41:39 +00:00
Sylvain Munaut 880df617a5 host/layer23: Update test application to support combined/non-combined CCCH
We start by listening to BCCH only then once we have a SI3, we inspect
it and enable to good CCCH mode.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-22 06:37:09 +02:00
Sylvain Munaut 38c6b4b35a fw/layer1: Add support CCCH combined/non-combined
We introduce the concept of CCCH mode. It can be either
 - NONE: receive BCCCH only
 - COMBINED: CCCH on a BCCH/CCCH+SDDCH/4
 - NON_COMBINED: CCCH on a BCCH/CCCH

There is also a new command to change the mode without having
to do the resync.

Currently, we keep the previous default behavior of requesting
a combined CCCH by default

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-22 06:37:09 +02:00
Sylvain Munaut a3e0c559a4 layer23/gsm322: Make a wrapper for fbsb_req to avoid repeating params
The params are virtually always the same, so use a wrapper to
change them easily

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-22 06:36:18 +02:00
Sylvain Munaut 1f7c5c1b3e layer23: Add info about SNCB GSM-R network
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-22 06:36:18 +02:00
Harald Welte 45f7b8bddf [layer23] Add debug print of _CONF messages 2010-06-20 19:42:49 +02:00
Harald Welte 281ea80498 [L1CTL] rename primitives to comply with official naming s/_REQ/_CONF/
When L23 issues a REQ, we should respond with CONF, rather than _RESP
2010-06-20 19:10:21 +02:00
Harald Welte cdc91973ee [L1CTL] rename L1CTL_RESET to L1CTL_RESET_IND
and define a new structure that indicates the type of reset
2010-06-20 18:44:27 +02:00
Andreas.Eversberg 562ff2dd89 layer23: Added CLIP and CLIR feature. 2010-06-20 18:18:45 +00:00
Andreas.Eversberg 17e0a2c075 layer23: Added support for waiting calls, hold/retrieve calls. 2010-06-20 17:43:55 +00:00
Andreas.Eversberg 05d6b5d213 layer23 radio ressource: Added signal loss condition in release state. 2010-06-20 16:23:30 +00:00
Andreas.Eversberg 7bde7938ae layer23: Fixed name of "DB Systel GSM-R" for MNC 10 in Germany. 2010-06-20 12:25:53 +00:00
Andreas.Eversberg f84a8c4b7e layer23: Complete rework of MCC and MNC structure.
Instead of handling numerical MCC and MNC, they are now stored and handled
hexadecimal, like they are received by the network. This makes it possible
to correctly handle 2 and 3 digits MNC. Internally 2 digit MNCs are stored
as 0xXXf, and 3 digits MNC are stored as 0xXXX, where X is the digit 0..9.

The length of MNC in the IMSI (2 or 3 digits) depend on the MNC length
trying to match. Anyway that MNC name can be printed even without knowing the
actual length. This is done by matching the IMSI against list of networks.

PLEASE REMOVE "/etc/osmocom/*.ba", because the MCC and MNC stored there is
not valid anymore.
2010-06-20 11:19:06 +00:00
Jan Luebbe b76f3d0686 l1ctl.c: add missing ntohs for band_arfcn
This fixes mangled ARFCN numbers in gsmtap.
2010-06-17 10:02:16 +02:00
Andreas.Eversberg 04acfa2e4b layer23: Corrected MCC in network table. -1 is used to indicate the counter rather than network name. 2010-06-16 22:06:46 +00:00
Andreas.Eversberg 73b57dcd3c layer23: Complete list of GSM operators and countries.
Just check out "On-waves", "GSM-R", or "OpenBSC".
2010-06-16 21:43:00 +00:00
Andreas.Eversberg 4c5eb30929 layer23 manual network search: Fixed searching behavior.
First of all I cleaned up the VTY commands. Instead of something like
"barred-access (yes|no)", I use now "barred-access" and "no barred-access".
Your stored configuration file will not load, because config format has
changed. Just remove the lines that cannot be parsed by VTY from your
config. Then the default values are used on next startup. Modify these as
desired via VTY using the new commands.

Use "rplmn <mcc> <mnc>" or "no rplmn" to set the initial behaviour of
network search. If RPLMN is set, this network is selected. If it is not
found, it will be displayed, then it is time to do a search
"network search 1".

If you have set "no rplmn" the search is started automatically on power on.
After the search you can see available networks and show the cells using
"show cell 1" or the detailed information "show cell 1 <arfcn>".

For testing all that be sure to set the "sim" to "test" and the
"network-search" to "manual". Do "show run" to see all commands to be set.
2010-06-16 18:21:59 +00:00
Andreas.Eversberg 9f77ea40b1 This commit belongs to the last one. 2010-06-16 17:19:40 +00:00
Andreas.Eversberg f195635d31 layer23: Added VTY command to display current states.
Also rejecting ASSIGNMENT COMMAND.
2010-06-16 17:17:29 +00:00
Andreas.Eversberg 4fff9fbd8e layer23 VTY: "end" now ends configuration in all config subnodes. 2010-06-16 17:13:52 +00:00
Andreas.Eversberg 7f79cb8e03 layer23: Added some more detailed debugging parameters. 2010-06-15 20:16:52 +00:00
Andreas.Eversberg 73cef8017e layer23: Fixed release problems of call control.
Now hangup command from mobile station results in a clean release of
CC and MM.
2010-06-15 20:15:03 +00:00
Andreas.Eversberg 55e3d970d9 layer23 call control: Fixed sending of RELEASE COMPLETE.
This had caused a crash due to double free of transaction instance.
2010-06-14 19:45:30 +00:00
Andreas.Eversberg f6299e657c layer23 cell selection: Fix in cell selection after leaving dedicated mode.
Only the known BA (band allocation) is used to check for the cell to camp
on. If there is no BA or if nothing is found, the process triggers normal
cell selection.

After location update (for example), the mobile switches to the strongest
cell in the current band allocation.
2010-06-14 19:38:06 +00:00
Andreas.Eversberg 9a2484b782 layer23: Added more logging to transaction.c 2010-06-13 22:35:45 +00:00
Andreas.Eversberg a9eb601cc8 layer23: Added more logging to call control. 2010-06-13 22:34:36 +00:00
Andreas.Eversberg 1e0eba000f lapdm: Minor fix. 2010-06-13 18:44:50 +00:00
Andreas.Eversberg a6ee911418 layer23: IMSI detach works now.
Pressing CTRL+c causes the detach process to run, then the mobile exits.
This procedure only runs after attachment (location update) and if detach
is required.

The SABM with the detach message is confirmed by a DISC message. the BS11
says that this is caused by sequence error or N200+1 error. Maybe someone
can trace that.
2010-06-13 18:41:07 +00:00
Andreas.Eversberg f479eff3d5 layer23: Added VTY messages to call application.
VTY now shows the process of call establishment, incomming call, and release.
2010-06-13 17:18:15 +00:00
Andreas.Eversberg 22f4e35243 layer23: Added feature to do emergency calls without a SIM card.
While testing, you may find out that making an emergency call is rejected
with cause 5 (illegal ME), because emergency facilities in some countries
like to reject calls without knowing the subscriber.

An emergency IMSI can be defined via VTY, so it is possible to make calls
with that IMSI, even without the SIM, because authentication is not
applicable during emergency call establishment.

All the information above, I received from the freely available 3GPP TS 04.08.
See NOTE at sub clause 4.5.1.5.
2010-06-13 14:41:55 +00:00
Andreas.Eversberg c6e756aab6 layer23: Fixed issues about location update and it's result.
Now location update reject works. The rejected network/cell is stored in
an appropriate list. The lists can be dumped from the VTY.

A fake authentication response is generated until the SIM interface is
available. If the network rejects the test SIM, due to authentication
failure, it is removed and limited service state is entered. This currenlty
works on networks with SDCCH on the TS0 only.
2010-06-13 13:51:30 +00:00
Andreas.Eversberg ec0baea9cf lapdm: Fixed length check for SABM frame. 2010-06-13 13:50:27 +00:00
Andreas.Eversberg 786054d117 cell selection: Added temporary hack to sync multiple times until the sync
failure is accepted.
2010-06-13 12:09:30 +00:00
Andreas.Eversberg fb48144c2b MNCCms: Added missing return value. 2010-06-13 12:08:35 +00:00
Andreas.Eversberg eb16b40ad0 radio ressource: After loosing signal, the process must return to IDLE state and trigger cell re-selection. 2010-06-13 12:07:31 +00:00
Andreas.Eversberg f2dc51dd44 mobility management: Fixes.
In case of registration not possible / requried, the appropriate result
message (REG_FAILED / REG_SUCCESS) must be returned to PLMN process.

Location updating message fix.
2010-06-13 12:03:17 +00:00
Andreas.Eversberg e0bf06d1fd lapdm: Fixed double free issues. (segfaults) 2010-06-13 12:01:37 +00:00
Andreas.Eversberg bba7716fee Added more release cases between RR and MM layer. 2010-06-12 18:44:21 +00:00
Andreas.Eversberg 426c76cee7 Fixed ARFCN output on sysinfo dumping. 2010-06-12 17:45:47 +00:00
Andreas.Eversberg 247ec7acf3 Radio ressources now has functions for release of radio link.
The "BA range" is used for cell re-selection.

Due to layer 1 issues, the process gets stuck very often or looses
synchronization.

After location update, I can now make a call via VTY on SDCCH:
Call control sends SETUP request after requesting an MM connection.
My phone on the network side rang!! Call control fails and requires
further debugging...
2010-06-12 16:16:54 +00:00
Andreas.Eversberg 78f6fb7713 Fixed CM SERVICE REQUEST message. 2010-06-12 16:14:28 +00:00
Andreas.Eversberg cbce277e90 Added missing proto_descr content filling in call control. 2010-06-12 16:13:01 +00:00
Andreas.Eversberg 3c0a6b5b63 Added ARFCN to system information dump. 2010-06-12 16:11:35 +00:00
Andreas.Eversberg 6eaa91786e Updated description of buffers and queues in lapdm.c, changed queue name. 2010-06-12 16:07:49 +00:00
Andreas.Eversberg d8cc251cf1 Fixes and improvements of RR, MM, CC processes. 2010-06-06 18:19:46 +00:00
Andreas.Eversberg ff555175d1 Added call application to mnccms.c and added commands to dial/answer/hangup to VTY. 2010-06-06 18:17:15 +00:00
Andreas.Eversberg 95f7d2c99c Added new logging category for summary of process. 2010-06-06 18:16:01 +00:00