Commit Graph

361 Commits

Author SHA1 Message Date
Vadim Yanitskiy fbfd836fc2 burst_sdcch_subslot_filter: implement and expose GET/SET API 2017-07-21 07:34:05 +07:00
Vadim Yanitskiy ccc7183e42 burst_fnr_filter: implement and expose GET/SET API 2017-07-21 07:33:56 +07:00
Vadim Yanitskiy 91195eb5bf burst_timeslot_filter: implement and expose GET/SET API 2017-07-21 07:04:30 +07:00
Piotr Krysik 5eb5db2fc1 Added clock offset measurement in ppm as it is usable for debugging. 2017-07-20 09:06:08 +02:00
Vadim Yanitskiy 5b7c60af7a trx_interface: implement built-in timeslot filter
There is a dedicated block named 'Burst Timeslot Filter', which
could be used, but one doesn't expose the API to change the
timeslot index 'on fly'.

This change implements built-in timeslot filter in 'TRX Interface'
block, which will be used until the proper block expose API.
2017-07-19 17:30:44 +07:00
Vadim Yanitskiy 1d6b628c5a trx_interface: set proper burst type in GSMTAP header
If received burst is a RACH burst, one should contain the RACH
synchronization sequence (GSM 05.02 Chapter 5.2.7) and long
guard period filled by 0x00.
2017-07-19 14:32:35 +07:00
Vadim Yanitskiy ac3a527c98 trx_interface: implement incoming data handler
This change implements a receive path for UL bursts, namely
the OsmoTRX style header conversation to GSMTAP.
2017-07-19 14:02:49 +07:00
Vadim Yanitskiy c36c49889c trx_interface: append two unused bytes at the end of messages
Despite the last two bytes at the end of messages on DATA
interface are not used, let's keep the protocol compatibility
and fill them by 0x00.
2017-07-16 23:25:01 +07:00
Vadim Yanitskiy 89fc14ba44 Implement transceiver interface
This change introduces a new block 'TRX Interface', which is aimed
to provide an interface for external applications, such as Osmocom
MS side stack implementation - OsmocomBB. Currently one allows to
exchange raw GSM bursts between GR-GSM and other applications.

Moreover, there is a new 'trx.py' application, which implements a
simple follow graph, where all demodulated bursts are being sent
to external application via UDP link provided by 'TRX Interface'.
OsmoTRX (Osmocom's fork of OpenBTS transceiver) like control
interface is used to initialize, configure, start and stop the
application. Messages on this interface are human readable ASCII
strings, which contain a command and some related parameters.
2017-07-07 22:12:52 +07:00
Piotr Krysik b31689d227 Changed mask for System Information type 2ter. Closes #281. 2017-06-11 20:30:56 +02:00
Piotr Krysik a081366dad Quick hack to interpret unencrypted assignment commands 2017-04-02 17:19:13 +02:00
Piotr Krysik 8f121c1e7c Added interpretation of SC (start ciphering) field in cmc extractor 2017-03-30 10:55:08 +02:00
Steve Glass 263f00d036 Fix operator precedence in comparisons 2017-03-02 20:40:22 +10:00
Piotr Krysik 369bdb37c1 Merge branch 'master' into collect-system-info 2017-02-16 20:51:36 +01:00
Piotr Krysik 654d652a73 Ressurected old frequency correction function 2017-01-23 21:53:48 +01:00
Piotr Krysik 9bc0fc0c59 Changed frequency estimator to the old one that worked better 2017-01-18 21:53:17 +01:00
Roman Khassraf 98581a8e92 Implemented system info collection block 2017-01-11 13:33:12 +01:00
Piotr Krysik 81f9700762 Merge branch 'development' into libosmocore_integration 2017-01-03 09:34:45 +01:00
Piotr Krysik 70c25a112a Changes in decoding:
-copied decoding routines from libosmocore to gr-gsm,
-made cmake files entries for new source files and added linking with libosmocodec,
-moved sch.c file to decoding folder.
2017-01-03 08:01:23 +01:00
Piotr Krysik 01f9c1975e Merge pull request #241 from romankh/cmc-extractor
Merging CMC extraction block written by @romankh
2016-12-29 13:12:16 +01:00
Piotr Krysik 25ae3e2066 Merge branch '213-3digit-mnc' of https://github.com/romankh/gr-gsm into libosmocore_integration 2016-12-29 13:01:48 +01:00
Roman Khassraf e5ddab3e1d #240: Implemented block for extraction of information from cipher mode command messages 2016-12-04 16:19:40 +01:00
Roman Khassraf ddd096e6b4 #213: Fixes 3-digit MNC 2016-11-28 21:57:19 +01:00
Roman Khassraf 1591cdebdf Fix for #232 (incorrect facch subtype) 2016-11-20 21:50:23 +01:00
aurelienduarte b52c15f968 Include of grgsm/endian.h allows for make on OSX
If this is not included the following error occurs during make.

gr-gsm/lib/flow_control/uplink_downlink_splitter_impl.cc:58:30: error: use of undeclared identifier 'be16toh'
2016-10-10 20:27:11 +02:00
Piotr Krysik 694ed81d7b TCH decoding with libosmocore 2016-10-02 18:56:04 +02:00
Piotr Krysik ea90c6d640 License statement in clock offset control 2016-10-02 18:55:30 +02:00
Piotr Krysik b8d33d90f7 Control channels decoding with libosmocore 2016-10-02 18:54:46 +02:00
Piotr Krysik ea34c017b5 Added license statements where it was missing 2016-10-02 18:53:43 +02:00
Piotr Krysik 61696edd01 SCH decoding with libosmocore 2016-10-02 18:51:43 +02:00
Piotr Krysik 5878225d8a Correction of comment in the decryption block 2016-09-28 11:53:51 +02:00
Piotr Krysik b516e6dcdb Moved control channels decoder to libosmocore implementation 2016-09-28 11:53:26 +02:00
Piotr Krysik a3405b285d Changed path (flow_control) and name of uplink_downlink_filter to splitter 2016-08-30 21:31:24 +02:00
Piotr Krysik d61f85ba6d Changed method of frequency estimation 2016-08-29 07:38:25 +02:00
Piotr Krysik 0a932e638d Commented out one include 2016-08-29 07:37:30 +02:00
Piotr Krysik d01e222f39 Removed call to delete_head_blocking that was removed from new gnu radio 2016-08-18 18:58:46 +02:00
Piotr Krysik 5c9afd38f0 TCH/F decoding correction - less wrong messages interpreted as voice frames 2016-08-18 18:57:02 +02:00
Piotr Krysik 601195bc18 Little corrections to uplink/downlink filter 2016-08-18 18:56:24 +02:00
Piotr Krysik 2bb54c8fcd Added uplink/downlink splitter 2016-08-16 16:05:23 +02:00
Piotr Krysik 8a77346c7d Merge branch 'master' of https://github.com/m-alizadeh/gr-gsm into m-alizadeh-master 2016-07-26 08:30:09 +02:00
Piotr Krysik 43af70d360 Don't compute requency offset when freq. correction was triggered during FCCH burst 2016-07-20 21:37:24 +02:00
Your Name 4e898834e4 modified: lib/demapping/tch_f_chans_demapper_impl.cc
modified:   lib/demapping/tch_f_chans_demapper_impl.h
2016-07-19 17:21:58 +04:30
Piotr Krysik cab0604a04 Corrected msg_to_tag and controlled resampler's headers 2016-07-18 10:39:31 +02:00
Piotr Krysik 74c4ca9627 Removed blocks related to old frequency correction loop (controlled const source and old clock offset corrector) 2016-07-18 10:23:24 +02:00
Piotr Krysik 83afe7390f Changed clock offset controller and company in order to remove from the gsm_input one of the resamplers. 2016-07-17 22:48:35 +02:00
Piotr Krysik 4a1ca9897b Changes in the buildsystem for new blocks 2016-07-15 13:39:19 +02:00
Piotr Krysik f7b3fc236d Removed unneeded prints from controlled resampler 2016-07-15 13:38:57 +02:00
Piotr Krysik 19028868cc Merge branch 'development' of https://github.com/ptrkrysik/gr-gsm into development 2016-07-15 13:21:44 +02:00
Piotr Krysik 0982673af1 New clock offset corrector and clock offset control 2016-07-15 13:14:24 +02:00
Piotr Krysik 74c4f2c14c New blocks (msg to tag and controlled resampler) related stuff 2016-07-15 13:12:46 +02:00
Piotr Krysik 938cda4686 Simplified uplink fix for the dehopper 2016-07-14 11:44:45 +02:00
Piotr Krysik 2fef1611e8 Merge uplink fix from 'm-alizadeh-master' into development 2016-07-13 10:16:48 +02:00
Your Name a7976a3b42 Dehopping for Uplink channels has been added. 2016-07-12 17:23:13 +04:30
Piotr Krysik 47ab20e45e Added a controlled fractional resampler 2016-07-04 21:23:51 +02:00
Piotr Krysik 0a60e7a70a Corrections of tch/f decoder - removal of parameter continued 2016-06-29 22:22:27 +02:00
Piotr Krysik 2b97cb1cc3 Added voice output, removed saving to file from inside the decoder - now it should be done GNU Radio way 2016-06-29 15:00:07 +02:00
Piotr Krysik c6eb3b5c6a Added msg_to_tag block - currently it does nothing 2016-05-29 13:06:39 +02:00
Piotr Krysik af8ad5dddf Changed GSM_API to GRGSM_API so gr_modtool created blocks don't have to be modified 2016-05-29 13:05:48 +02:00
Piotr Krysik 27085acf2e Corrected setting of header fields in the universal demapper 2016-05-22 14:07:16 +02:00
Piotr Krysik f517bea1cc Added check of sizes of vectors passed to universal demapper block 2016-05-21 09:02:12 +02:00
Piotr Krysik 773a194c32 Big change of the universal control channels demapper:
-simplification of the universal demapper,
-addition of hierarhical blocks for each of the demappers - so they also look well and readable in python,
-addition of helper script for compilation of the demappers.
2016-05-20 12:45:54 +02:00
Piotr Krysik 8630fac60c Merged uplink-decoding branch (with complete support for control channels decoding on uplink)
# Conflicts:
#	examples
#	lib/demapping/universal_ctrl_chans_demapper_impl.cc
#	lib/receiver/receiver_impl.cc
2016-05-14 19:37:14 +02:00
Piotr Krysik f0ec659303 Removed burst detection - everything on hopping channels is treated as bursts now. 2016-03-11 09:05:46 +01:00
Piotr Krysik 4ea1b92ff5 Correction of the last merge 2016-02-28 11:25:52 +01:00
Piotr Krysik ae3470dff3 Merged the changes for building on OSX #161 2016-02-27 23:58:08 +01:00
Piotr Krysik 9e61a129df Merge branch 'fix-osx' of https://github.com/stiabhan/gr-gsm into stiabhan-fix-osx 2016-02-27 23:14:51 +01:00
Steve Glass 6b20e1fcdc Fix buffer overrun/silence compiler warning 2016-02-27 19:48:52 +10:00
Steve Glass c8edec53d8 Changes to silence compiler warnings on OSX 2016-02-27 10:33:01 +10:00
Piotr Krysik 0f0cf589ef Replaced C++11 statemets. Solves #150 2016-02-23 09:58:53 +01:00
Piotr Krysik 0fdbfdd658 Next corrections to the buildsystem 2016-02-19 19:33:17 +01:00
Piotr Krysik 8722be54f4 Changed parts with "gnuradio_grgsm" to grgsm from cmake files 2016-02-19 15:22:51 +01:00
Piotr Krysik 97d4f8a4ca Removed old and now not needed hack from the receiver's synchronization algorithm 2016-02-11 08:40:44 +01:00
Piotr Krysik 34935e9b05 Corrected of MCC field interpretation 2015-11-22 08:07:02 +01:00
Roman Khassraf 74efd100da Added parsing arfcn's from cell description in SIT1. 2015-09-27 10:49:23 +02:00
Roman Khassraf 9f4feb5c38 Added parsing CCCH Config in system info extractor 2015-09-26 18:44:56 +02:00
Roman Khassraf a1dd7eef16 Added MCC parsing in system info extractor, fixed MNC parsing for 2-digit MNC's 2015-09-26 17:20:49 +02:00
Piotr Krysik 29bcd398cd Added missing include of endian.h to the message printer 2015-09-20 13:15:51 +02:00
Roman Khassraf 9a54c7bfcf Replaced frame count calculation by libosmogsm function 2015-09-13 11:04:42 +02:00
Roman Khassraf dfe7009435 Added options to print frame number and A5 frame count in message printer. Issue #127 2015-09-13 10:59:56 +02:00
David Holm 41b63f27ea misc_utils: Include endian.h from grgsm
MacOS X does not have endian.h and the build will fail unless
grgsm/endian.h is used.
2015-08-22 16:52:42 +02:00
iZsh 6698793a24 Fix issue #112 (copy messages instead of modifying the input msg) 2015-08-16 14:52:01 +02:00
iZsh 868abf7283 fix compilation and linking on Mac OS X 2015-08-16 13:50:20 +02:00
Roman Khassraf d36123dac8 Fixed missing GSM 06.10 header for FR audio frames. 2015-08-11 12:44:56 +02:00
Roman Khassraf 23c8d8a92f Implemented boundary check for voice decoding. Issue 107 2015-08-11 11:52:15 +02:00
Roman Khassraf 8b64d873ca Implemented burst sdcch subslot filter. Issue #100 2015-08-06 17:30:04 +02:00
Roman Khassraf d7e3eec3ae Implemented burst timeslot filter. Issue #100 2015-08-06 11:54:22 +02:00
Piotr Krysik 9f723fd771 Changed control channels demappers in order to support uplink. Values of parameters for uplink are incorrect at this stage. 2015-08-06 10:23:52 +02:00
ptrkrysik 380dea8a76 Added uplink processing to the receiver 2015-08-06 10:11:58 +02:00
ptrkrysik 202788ec37 Added function for subtraction of timeslots from bursts counter 2015-08-06 10:09:43 +02:00
ptrkrysik 5e37674adf Changes in extract_system_info 2015-08-06 10:02:04 +02:00
Roman Khassraf e91edbdc11 Merged origin/msg-file-sink-source-101 into dev, fixed conflicts. Issue #101 2015-08-05 13:23:38 +02:00
Roman Khassraf 98da635ccc Merged origin/flow-control-100 into dev, fixed conflicts 2015-08-05 13:02:12 +02:00
Roman Khassraf 64c74463ba Merged origin/test-utils-98 into dev, fixed conflicts 2015-08-05 12:51:33 +02:00
Roman Khassraf 1fc0565aa9 Merge remote-tracking branch 'origin/burst-printer-issue-95' into dev 2015-08-05 12:41:13 +02:00
Roman Khassraf a1eb188b97 Implemented burst sub-slot splitter. Issue #100 2015-08-05 12:30:29 +02:00
Roman Khassraf 7cccb52ef3 Implemented dummy burst filter. Issue #100 2015-08-04 12:26:54 +02:00
Roman Khassraf 8e3b0eca89 Implemented burst framenumber filter. Issue #100 2015-08-04 11:16:04 +02:00
Roman Khassraf dbc3a50c31 Implemented burst timeslot splitter for flow control. Issue #100 2015-08-03 23:20:20 +02:00
Roman Khassraf c323454a3f Implemented message file source and sink. Issue #101 2015-08-03 16:17:46 +02:00
Roman Khassraf 1ce4469fd2 Renamed burst_sink_qa/burst_source_qa to burst_sink/burst_source 2015-08-03 11:16:10 +02:00
Roman Khassraf 1c3419e88f Renamed burst sink/source to burst file sink/source 2015-08-03 10:58:57 +02:00
Roman Khassraf b8f4909d37 Moved qa utilities to a separate directory 2015-08-03 10:08:18 +02:00
Roman Khassraf 0a2e5c8a7e Merge remote-tracking branch 'upstream/master' into message-source-sink 2015-08-03 09:48:17 +02:00
Roman Khassraf 277ed307fd Added include for scoped_ptr 2015-08-03 09:47:36 +02:00
ptrkrysik 09405388e0 Added interpretation of neighbour cells from SI2bis and SI2ter messages.
Removed code borrowed from Wireshark replacing it with libosmocore's function.
2015-08-02 22:02:52 +02:00
Martin Hauke a7cafdd9cf Added missing include in burst_source_qa_impl.cc 2015-08-01 13:01:24 +02:00
Roman Khassraf 1e82b8d4d1 Implemented message sink block for unit testing 2015-07-29 11:01:34 +02:00
Roman Khassraf adea86fec5 Implemented message source block for unit testing 2015-07-27 15:52:02 +02:00
Roman Khassraf 2bf49e4dd5 Added option to message printer that allows printing the gsmtap header. 2015-07-26 13:47:26 +02:00
Roman Khassraf 7faabf37af Added option to burst printer for ignoring dummy bursts. Issue #95 2015-07-24 14:14:16 +02:00
Piotr Krysik 590d96c887 Merge pull request #93 from romankh/a53-decryption-issue-85
A53 decryption
2015-07-22 19:05:35 +02:00
Roman Khassraf b8942892bc Added block burst_sink_qa for unit testing of burst-based blocks 2015-07-21 10:53:41 +02:00
Roman Khassraf 462fa4522d Added block burst_source_qa for unit testing of burst-based blocks 2015-07-20 17:46:52 +02:00
Roman Khassraf f28790422d Fix for burst source thread join() bug. Issue #89 2015-07-19 22:04:46 +02:00
Roman Khassraf 4dec540b6e Added support for A5/2, A5/3, A5/4. Issue #85 2015-07-17 18:32:22 +02:00
Roman Khassraf c51f12bb4e Changed decryption block to use osmo_a5 function, in preparation for issue 85 2015-07-17 15:18:10 +02:00
Roman Khassraf 9c58846b04 Added libosmocore to build. Preparation for issue #85 2015-07-17 13:57:24 +02:00
Piotr Krysik f329ae5633 Merge pull request #82 from rpp0/rpp0-hopping-checks
Added input validation to CX channel hopper block
2015-07-16 21:19:34 +02:00
Piotr Krysik bc8de9cd0f Merge pull request #83 from romankh/amr-decoding
Added handling of channel mode modify messages for AMR
2015-07-16 21:19:22 +02:00
Piotr Krysik 8b60acab97 Merge pull request #87 from romankh/ia-collector
Immediate Assignment Extractor
2015-07-16 21:19:01 +02:00
Roman Khassraf f1111eb047 Added some doc to burst printer block. Issue #86 2015-07-13 13:58:25 +02:00
Roman Khassraf 634449656e Added options to burst printer to have partial output compatibility to airprobe. See issue #86 2015-07-13 13:42:57 +02:00
Roman Khassraf 1669e93c4c Implemented option to extract only one Immediate Assignment per request reference in the extractor. Enhancement of issue #84 2015-07-13 11:18:22 +02:00
Roman Khassraf 2b5ca4850d Added option to ignore Immediate Assignments for GPRS channels in the extractor. Enhancement of issue #84 2015-07-13 10:28:17 +02:00
Roman Khassraf a212ca2dd7 Added option to enable/disable information printing in immediate assignment extractor, plus code cleanup 2015-07-12 21:19:35 +02:00
Roman Khassraf 95c6f9dfba Added functions for retrieving data from immediate assignment extractor 2015-07-12 19:02:32 +02:00
Roman Khassraf 4a7b645bd4 Merge remote-tracking branch 'upstream/master' into ia-collector 2015-07-12 09:25:41 +02:00
Roman Khassraf b86836781e Added handling of channel mode modify messages for AMR 2015-07-11 15:08:01 +02:00
rpp 11b549e7ea Added input validation to CX channel hopper block 2015-07-10 15:30:00 +02:00
ptrkrysik 42411c6ef0 Added more includes of STL containers definitions.
In some configurations lack of these includes cause compile errors.
2015-07-08 10:50:41 +02:00
ptrkrysik 3fe7584125 Added includes of map and set to extract_system_info block 2015-07-07 16:51:06 +02:00
ptrkrysik d1312138ad Applied again bugfix for issue #65 (it was removed during one of merges) 2015-07-06 18:48:13 +02:00
ptrkrysik e9539c1fca Implemented interpretation of bit map and variable bit map cell lists formats in system info extractor. 2015-07-06 08:34:22 +02:00
ptrkrysik dfdf878ac2 Changes to buildsystem from libgnuradio-gsm to libgnuradio-grgsm 2015-06-27 10:43:30 +02:00
Roman Khassraf 5bd14f20b3 Implementation of a block for extracting immediate assignments from control channel messages. Currently only printing to terminal. 2015-06-24 17:59:13 +02:00
Martin Jesper Low Madsen f3105d9585 Include endian.h in cx_channel_hopper_impl and make burst_sink/source link Boost thread library 2015-06-24 13:46:22 +02:00
ptrkrysik 9ee374b53e Merge remote-tracking branch 'origin/romankh-master'
with implementation of AMR decoding

Conflicts:
	lib/decoding/tch_f_decoder_impl.cc
	lib/decoding/tch_f_decoder_impl.h
2015-06-20 09:22:01 +02:00
Roman Khassraf b6c63675e6 Merge remote-tracking branch 'upstream/master' 2015-06-13 13:12:35 +02:00
Roman Khassraf b99d551f43 Bugfix for issue #65 (compilation failure due to c++ 11 array initialization) 2015-06-13 13:12:02 +02:00
rpp 267214a06d Implemented channel hopping for CX channels 2015-06-10 11:49:55 +02:00
rpp 4f0f3b5fbf Added CX channel hopper block 2015-06-10 10:23:30 +02:00
ptrkrysik 91c28357fb Corrected CX channels timeslot numbering
Corrected bug where channels other than C0 had incorrect timeslot number - greater by 1 from the correct value.
2015-06-07 18:36:15 +02:00
Roman Khassraf 8851d6638a Removed unused or duplicate code 2015-06-07 16:42:37 +02:00
Roman Khassraf d38206c29f Implemented / integrated AMR decoding 2015-06-07 16:26:29 +02:00
Roman Khassraf 67089d6dd3 Removed check for tail bits, as it may lead to false discarding of frames 2015-06-02 13:23:15 +02:00
Roman Khassraf e159333f8f Moved variable declaration to header file 2015-06-02 13:19:01 +02:00
Roman Khassraf fa7058b64b Changed tch_mode enum to support AMR 2015-06-02 09:21:11 +02:00
Roman Khassraf aa8fa99d0e Added missing Viterbi decoder source 2015-06-02 09:20:03 +02:00
Roman Khassraf d71e658ecb Updated BitVector to recent source 2015-06-02 08:49:12 +02:00
ptrkrysik b85c0626d9 Changed place where thread join function is invoked to run(). 2015-06-01 14:21:20 +02:00