osmo-pcu/src
Jacob Erlbeck 39645b824a bssgp: Handle BSSGP STATUS messages
Currently incoming BSSGP STATUS messages are just logged and apart
from that ignored. Since it is possible that the gbproxy can
eventually send both valid replies (from the primary SGSN) and
STATUS(unknown BVCI) messages (from the secondary SGSN). Since the
PCU assumes in this case that the BVC has been successfully reset and
unblocked, it will not send a BVC RESET message after receiving an
NS_UNBLOCK.

This commit changes gprs_bssgp_pcu_rcvmsg to pass BSSGP STATUS
messages to bssgp_rcvmsg() which will in turn call bssgp_prim_cb()
with primitive NM_STATUS. Then the BVC RESET or UNBLOCK procedure
will be started if the IE in the message matches and the PCU assumes
that the BVC should have been successfully reset and unblocked
respectively while the STATUS message tells otherwise.

Note that bssgp_rcvmsg() from libosmocore is otherwise used for the
SGSN side only, albeit it generally just decodes messages, does basic
protocol handling and eventually invokes PRIM indications. The only
exception here is the handling of BVC RESET, which is implemented
specifically for the SGSN.

Ticket: OW#1414
Sponsored-by: On-Waves ehf
2015-03-17 10:44:07 +01:00
..
.gitignore Adding .gitignore to source directory 2012-06-27 17:45:15 +02:00
Makefile.am tbf: Split out UL/DL TBF methods into separate files 2014-08-12 19:24:49 +02:00
bitvector.cpp bitvector: Address compiler warnings about unsigned/signed 2013-08-02 13:39:13 +04:00
bitvector.h bitvector: Address compiler warnings about unsigned/signed 2013-08-02 13:39:13 +04:00
bts.cpp tbf: Don't use 'old' DL TBFs after reuse_tbf 2015-02-26 16:22:34 +01:00
bts.h bts: Change parameter in BTS::trigger_dl_ass() to DL TBF 2014-08-07 16:12:04 +02:00
csn1.cpp csn1: Add spaces between string literal and identifier 2014-06-04 17:17:48 +02:00
csn1.h Ported fixes and improvements from Wireshark for RLC/MAC control block decoding. Part 1. 2012-10-10 19:43:37 +04:00
decoding.cpp decoding: Cosmetic - change rbb decoding 2013-12-12 11:09:17 +01:00
decoding.h tbf/rlc: Move the parsing of RBB to Decoding, move window marking out 2013-11-26 20:57:24 +01:00
encoding.cpp tbf, ...: Make the fields in the dl/ul struct member variables 2014-08-07 16:12:05 +02:00
encoding.h encoding: Change function signature to use UL TBFs where it makes sense 2014-08-07 16:12:05 +02:00
femtobts.c femtobts: Remove code that is causing warnings with GCC 4.8 2013-08-02 13:36:52 +04:00
femtobts.h femtobts: Remove code that is causing warnings with GCC 4.8 2013-08-02 13:36:52 +04:00
gprs_bssgp_pcu.cpp bssgp: Handle BSSGP STATUS messages 2015-03-17 10:44:07 +01:00
gprs_bssgp_pcu.h Always exit and don't try to recover 2014-06-15 19:28:51 +02:00
gprs_debug.cpp Introduce new file for various measurements 2013-03-17 17:16:44 +01:00
gprs_debug.h Introduce new file for various measurements 2013-03-17 17:16:44 +01:00
gprs_rlcmac.cpp debug_diagram: Remove the special debug_diagram compilation mode 2013-11-26 20:57:24 +01:00
gprs_rlcmac.h tbf, gprs_rlcmac_meas: Move the DL bandwidth variables to the DL TBF 2014-08-08 14:15:24 +02:00
gprs_rlcmac_meas.cpp tbf, gprs_rlcmac_meas: Move the DL bandwidth variables to the DL TBF 2014-08-08 14:15:24 +02:00
gprs_rlcmac_sched.cpp sched: Modify DL scheduling to use different priorities 2015-03-06 19:28:10 +01:00
gprs_rlcmac_ts_alloc.cpp tbf, ...: Make the fields in the dl/ul struct member variables 2014-08-07 16:12:05 +02:00
gsm_rlcmac.cpp Fix warnings in gsm_rlcmac.cpp 2014-01-09 20:01:48 +01:00
gsm_rlcmac.h Ported fixes and improvements from Wireshark for RLC/MAC control block decoding. Part 1. 2012-10-10 19:43:37 +04:00
gsm_timer.cpp bts: Move the frame_number into the BTS sructure 2013-10-30 21:20:45 +01:00
gsm_timer.h move everything to src/ subdirectory 2012-06-14 20:48:42 +08:00
llc.cpp llc: Calculate the average queuing delay of the LLC queues 2013-12-25 14:55:04 +01:00
llc.h llc: Calculate the average queuing delay of the LLC queues 2013-12-25 14:55:04 +01:00
openbts_sock.cpp Always exit and don't try to recover 2014-06-15 19:28:51 +02:00
pcu_l1_if.cpp Always exit and don't try to recover 2014-06-15 19:28:51 +02:00
pcu_l1_if.h bts: Move the frame_number into the BTS sructure 2013-10-30 21:20:45 +01:00
pcu_main.cpp Always exit and don't try to recover 2014-06-15 19:28:51 +02:00
pcu_vty.c Fix VTY documentation 2014-12-20 15:22:09 +01:00
pcu_vty.h VTY implementation 2012-07-13 12:30:03 +02:00
pcuif_proto.h Add RSSI of data blocks to PCU interface 2013-03-17 17:16:18 +01:00
poll_controller.cpp poll_controller: Be stricter with the timeout handling 2014-09-10 19:19:58 +02:00
poll_controller.h misc: Do not mix struct/class in the forward declaration 2014-07-02 14:48:44 +02:00
rlc.cpp tbf, ...: Make the fields in the dl/ul struct member variables 2014-08-07 16:12:05 +02:00
rlc.h tbf, ...: Make the fields in the dl/ul struct member variables 2014-08-07 16:12:05 +02:00
sba.cpp sba: Move freeing a sba into a central place 2013-10-30 21:24:12 +01:00
sba.h misc: Do not mix struct/class in the forward declaration 2014-07-02 14:48:44 +02:00
sysmo_l1_fwd.c Adding direct access to DSP of sysmoBTS for PDTCH traffice 2012-12-18 10:47:28 +01:00
sysmo_l1_hw.c l1if: Include string.h to fix possible coverity issue 2013-12-12 14:32:33 +01:00
sysmo_l1_if.c pcu: Fix log message 2015-02-26 16:24:32 +01:00
sysmo_l1_if.h Adding direct access to DSP of sysmoBTS for PDTCH traffice 2012-12-18 10:47:28 +01:00
sysmo_sock.cpp Always exit and don't try to recover 2014-06-15 19:28:51 +02:00
ta.cpp tbf: Update the timing advance for the new tlli based on the old one 2013-10-30 21:24:13 +01:00
ta.h tbf: Update the timing advance for the new tlli based on the old one 2013-10-30 21:24:13 +01:00
tbf.cpp tbf: Reduce m_new_tbf logging messages 2015-03-06 19:28:08 +01:00
tbf.h tbf: Fix scheduling for DL Ack/Nack request 2015-03-12 18:08:18 +01:00
tbf.txt Doc: Update on README and tbf.txt 2012-12-18 10:04:03 +01:00
tbf_dl.cpp tbf: Fix scheduling for DL Ack/Nack request 2015-03-12 18:08:18 +01:00
tbf_ul.cpp tbf: Split out UL/DL TBF methods into separate files 2014-08-12 19:24:49 +02:00