9
0
Fork 0
Commit Graph

5746 Commits

Author SHA1 Message Date
Alexander Couzens 03121afb4c split MM states from PMM states
Change-Id: Ib78300de12b1cbf0f8c9a943aee8770ae8fee7cd
2017-01-31 16:53:11 +01:00
Alexander Couzens 1b1bf1a4be sgsn: rename gprs->mm_state -> gmm_state
GMM is the right term. MM state is already occupied.

Change-Id: I9cfdcf921e4ebd14a5e7ce7489ec4ce5d1f5515f
2017-01-31 16:53:11 +01:00
Alexander Couzens 61e51f7ebc sgsn/gprs_gmm: use qos parameters from ggsn
Change-Id: Id1b23c6f616a5dbd28834a846fac4e28f2b1692c
2017-01-31 16:53:11 +01:00
Alexander Couzens 9e29068f67 fixup! pcu_sock: Fix broken paging command 2017-01-31 16:53:11 +01:00
Philipp Maier eec5972538 pcu_sock: Fix broken paging command
The pcu sends us an already made up MAC-Block that contains the
paging request. pcu_sock.c is parsing this paging request
wrongly and fails silently, which results into a dropping of the
request.

This commit fixes the parsing problems.
2017-01-17 14:46:56 +01:00
Philipp Maier 1c04803ad2 fixup for: gprs: T3186 encoding in Sysinfo 13 2016-12-20 19:31:23 +01:00
Philipp Maier 8bd7fba562 gprs: T3186 encoding in Sysinfo 13
The timer T3186, which is described in 3GPP TS 44.060, is using 3
bits of the si13 mac block. This requires special encoding. In the
case of T3186, the value is encoded by the formula: bits = t/500-1.
Our implementation uses the formula bits=t/500, which is incorrect.
2016-12-20 14:23:45 +01:00
Philipp Maier b0a32e58d1 sndcp: Allow empty SNDCP-XID indications
In some rare cases the modem might send a xid indication that does
not contain anything except the version number field. The sgsn
ignors such SNDCP-XID indications by stripping the entire field
from the response. We found a modem in the wild that started to
act problematic when the empty SNDCP-XID was missing in the
response. This patch changes the XID negotiation behaviour in
a way that if a modem should send empty SNDCP-XID indications,
the reply will also contain an empty SNDCP-XID indication. Apart
from that the SNDCP-XID version number is now parsed and echoed
in the response. This ensures that we always reply with the version
number that the modem expects. (The version was 0 in all cases we
observed so far)
2016-12-16 16:03:28 +01:00
Philipp Maier 74cf9351db pcu_sock: Avoid allowing MCS, when no GPRS is configured
The pcu sock interface excidantly tells the PCU that MCS
coding schemes are enabled (allowed), even when no EGPRS
is configured. With this commit sending the MCS flags
will be explicitly avoided when EGPRS is not configured.
2016-12-15 17:40:40 +01:00
Philipp Maier 99237a0c3b LLC: Fixup element order in LLC-XID
When the LLC-XID request is constructed the order of the elements
in the TLV structure is reversed. This is in theory not a problem,
but differs from what we know from our practical experience. This
commit fixes the problem.

Change-Id: I1d71c947350d3c5a85ff36b71c1b8f036071d162
2016-12-15 14:22:37 +01:00
Philipp Maier 220998d8b8 abis_rsl: add check for field tag in IMM.ass sent msg
The parsing of IMM.ass sent does not check the tag, this
commit introduces a check to make at least sure that we
are reading out the right field
2016-12-09 18:35:14 +01:00
Philipp Maier 10a1ec6229 cosmetic: removed a few straying debug printfs 2016-12-09 17:26:37 +01:00
Philipp Maier 755a668745 bsc_init/bts_ericsson: Improved log output
callback functions now display the received signals in the logs
2016-12-08 17:34:12 +01:00
Alexander Couzens 51cd830692 fixup PCU_IF_SAPI_AGCH_DT sapi_string()
Change-Id: Id6588ca342267b2af092c0a4c2c195606081dfc7
2016-12-02 19:10:51 +01:00
Philipp Maier 5812639b89 Draft implementation to catch the Immedaiate assign messign
message and forward it to the PCU

Change-Id: Ice099c4ed7008200ed179e581aba1899c6c29455
2016-12-02 19:09:21 +01:00
Alexander Couzens 31c516e7d5 pcu_sock: implement direct tlli on AGCH
Ericsson allows to attach a reference to immediate assignments. A
confirmation of the transmission is then sent back, but only containing
the reference, not the whole RLC packet.

Change-Id: I945f49e62e2a74a7906e2d49940927773edd04a9
2016-12-02 18:57:35 +01:00
Alexander Couzens 250b78f5cc libbsc: add rsl_ericsson_imm_assign_cmd() which reply with a confirmation message
ericsson can handle a reference at the end of the message which is used in
the confirm message. The confirm message is only sent if the trailer is present.

Change-Id: I88560291b5a3a3d7a0bac4d3c089b45f1f6b297f
2016-12-02 18:25:41 +01:00
Alexander Couzens ab8924a6dc libbsc: use 32bit random instead of 24 bit randomness
I expected the last byte must be zero which is'nt required

Change-Id: I7be14e82b9f1fc0da8e27e20e46c1710a0a9c7db
2016-12-02 17:24:07 +01:00
Alexander Couzens 008b812f42 libbsc: add ericsson specific f1 trail to receive a confirmation
Change-Id: I0fdb279ce178037f99a698b99391a1720ef45c30
2016-12-02 05:21:45 +01:00
Alexander Couzens ea29a1d311 libbsc/abis_om2000: fix typo and compiler warning
Change-Id: Idea6b63cc6ec36bc855746572bf404aba42e974e
2016-12-01 03:42:02 +01:00
Alexander Couzens 4cd8a1718a libbsc/pcu_sock: remove const qualifier
store and load use regular uint8_t.

Change-Id: I180cd1a6b1ef73c7f6e794980f4db9f06fbaf9f9
2016-12-01 03:38:10 +01:00
Alexander Couzens 096cb5faf9 pcu_sock: add missing headers
Change-Id: I4d79063c84f82be0babc742f3e34eb05ab11f4c6
2016-12-01 03:38:10 +01:00
Alexander Couzens fb58c6a921 abis_om2k: protect mo fsms by NULL check
also set them NULL

Change-Id: I30df0b9ab8bc47ba9756c8388e977deed0e40200
2016-12-01 03:38:10 +01:00
Alexander Couzens 5b8d2b93f0 libbsc/rbs2000: delay the ALTRQ request by 3 sec
Change-Id: I1bb48ba7f7cbe4010b0c40710d3f33a930f77927
2016-12-01 03:38:09 +01:00
Alexander Couzens cc9e9f47cf libbsc: fix wrong mask introduced by 95db69b7 in chreq
Change-Id: I06568afe2c4728d27dcce0c84cedd7914abf8264
2016-11-29 12:46:58 +01:00
Alexander Couzens 0f29585d5b libbsc/pcu_sock.c: pcu_tx_info_ind allow to use TRX not starting from 0
It would prevent using only e.g. TRX 1 when TRX 0 is disabled.

Change-Id: I68dc5e837bd2a3602f7875063c85da4082196274
2016-11-29 00:21:18 +01:00
Alexander Couzens c64d12a1a4 libbsc: enable pcu_direct to flag PCU_IF_FLAG_SYSMO
The use of PCU_IF_FLAG_SYSMO enable the PCU to use DIRECT_PHY code path

Change-Id: I1f5407264fc4f209456ffcb73d7853ff315aab86
2016-11-29 00:18:26 +01:00
Alexander Couzens 95db69b770 libbsc: add chreq type for CHREQ_T_PDCH_ONE_PHASE & CHREQ_T_PDCH_TWO_PHASE
When using a BSC located PCU the BSC must understand PDCH requests.

Change-Id: Ie7f4ed000cf1b40d269873cf0ddf5ff9f5bbc18a
2016-11-28 23:26:50 +01:00
Harald Welte f710c89c43 pcu_sock: Send non-NULL hLayer1 to PCU
The BSC-located PCU case looks to the PCU like a BTS-located PCU with
"direct PHY" access, i.e. the data related primitives are communicated
from the PCU directly towards the TRAU Frames or whatever transport
method is used between CCU and PCU.

In order to make the PCU believe that, we need to pass in a 'layer 1
handle'.  As we don't use it, we can just pass any non-zero value and be
happy.

Change-Id: I8170bd4134904702b6b272e496100361ba473cbc
2016-11-21 01:33:22 +01:00
Harald Welte 84249281c4 pcu_sock: Forward paging request from PCU via RSL to BTS
Change-Id: I28bf0995699618f3f5fa15fc8e1733beddfc482f
2016-11-17 20:56:11 +01:00
Harald Welte 1992b439e7 RBS2000 RSL: Support for sending RSL PAGING CMD for GPRS
Change-Id: I66541f9b20e7fd67fbec329283fc3c821c970a56
2016-11-17 20:54:04 +01:00
Harald Welte bdb22ef7c0 pcu_if: remove function to transmit RTS request
The BSC will never be in charge of sending RTS requests to the PCU.

Change-Id: I3473f47eaa686375a39e3e49cfdfadf1f238106f
2016-11-17 19:17:21 +01:00
Harald Welte 3b090abf45 pcu_sock: get rid of magic numbers and use ARRAY_SIZE() for array iteration
Change-Id: I602b581fab67b3a1c3c03c73a3a99e9afd564e29
2016-11-17 18:39:36 +01:00
Harald Welte 0a1571e462 pcu_sock: Don't re-implement core functionality like gsm_bts_trx_num()
Change-Id: I5ea506c8240dac124ccf5522d02ba18e4f0cb90d
2016-11-17 18:11:20 +01:00
Harald Welte 7830c0592e pcu_if: make pcu_connected() private
Code like RSL shoudln't have to worry about whether a PCU is connected
or not.  Hide this behind the API.

Change-Id: I9583d2e9b2742516a7e7ca28b045402018ee3a31
2016-11-17 18:11:20 +01:00
Harald Welte c2abdbb2be HACK: re-activate dynamic PDCH after activation failure
Change-Id: Iaa6ace3da2439610e12804bdd1b3186c1d269be6
2016-11-17 18:11:20 +01:00
Harald Welte be86e3cbe4 WIP: PCU interface integration into BSC
This still has plenty of details to be ironed out.

Change-Id: I44c8d84e5fb240af605483312dd5d1f86adbf758
2016-11-17 18:11:16 +01:00
Philipp Maier 7138ba5b08 pcu_if: original pcu sock interface from osmo-bts
The pcu interface required to support bsc co-located
pcu uses pcu_sock.c and its related header files as
a starting point.

See also:
osmo-bts.git: ced9a5d0e2c7e3371760f1c07df7b41cfe7ab71d

Change-Id: I46b0a65f1633c40053d43b57b786b042f20f12bd
2016-11-17 15:24:40 +01:00
Harald Welte 9b6171df7f RBS2000: Add the P-GSL Timer IE to RSL CHAN ACT for PDCH
This seems to be mandatory when an Ericsson RBS2000 uses a SuperChannel
as back-haul.

Change-Id: I793e7d62df1ca9f9c38d39e22d3868064d446c8d
2016-11-16 18:20:26 +01:00
Harald Welte d4ee48ee60 OM2000: Send ALTCRQ for SuperChannel after receiving IS Enable Req Ack
When the BTS is configured to use a SuperChannel and it is using a
unix domain socket based transport towards the L2TP daemon, then
we must instruct the L2TP daemon to instruct the SIU to change the Abis
Lower Transport Mode using the ALTCRQ / ALTCRP L2TP signalling.

Change-Id: I672bfaa09c42fbeb0c8459f24b2222b952de954b
2016-11-16 18:20:25 +01:00
Harald Welte c8dd9081c1 OM2000: Change the order of MO initialization
So far: CF-IS-CON-TF
Now: CF-TF-CON-IS

Change-Id: I8efd9bafdcf9504d2e5fc85c44c708fa53f4dff8
2016-11-16 18:20:24 +01:00
Harald Welte b52581334e OM2000: Add FIXME comments for missing resolving of RX/TX MO!
Change-Id: I45708df724c5fc3316eca6bd2ac2c0738b19a45b
2016-11-16 18:20:24 +01:00
Harald Welte a543a3fdbe HACK: Don't require TRX numbers to start at 0
Change-Id: I6c5fcb06bdbe0377e2ebc46ecd73d11e834a6d99
2016-11-16 18:20:22 +01:00
Alexander Couzens bac36f29b4 unixsocket: include UNIXSOCKET into sabm
Change-Id: If98c037119142cc33b46ab5c1bf02d4cda81c81e
2016-11-16 18:20:22 +01:00
Harald Welte 80ccb95267 OM2000: Fix missing dynamic TCH initialization
When OM2000 has confirmed that a TS is started, call dyn_ts_init()
on the timeslot to start the processing for fully dynamic (osmocom
style) TCH/F_TCH/H_PDCH.  This should in turn trigger the activation of
idle timeslots as PDCH until we want to allocate any of them for TCH/F
or TCH/H.

Change-Id: I1a1fd61d6afd85449cacad4bacfb830252dab6b1
2016-11-16 18:20:22 +01:00
Harald Welte 96638d141e OM2000: Add three IEs to TCH activation about which we have no clue
Change-Id: Ie3067606033e894c558659ddf0025d01b8198cf9
2016-11-16 18:20:21 +01:00
Philipp Maier 309425e105 rsl: support for ericssons propritary SI13 format
Ericsson has introduced a propritary format to issue the S13 BCCH
information. Normally the system info type field for SI13 would
be encoded as 0x28. Ericsson encodes that field as 0x02 and ads
a bcch mapping parameter, (IEI=F2) This patch sets the BCCH mapping
to 0x00 (=BCCH Normal) statically (0xF200)

The new constands are added to libosmocore, see commit:
f0f9c8c29daaefbf9cff19177ade4a13ffb2e36c

Change-Id: Ie0900f9b810744172b3090ce1b0ef7b7a1132946
2016-11-16 16:36:17 +00:00
Philipp Maier 38cba5aa79 OM2000: Fixup based on Coverity Scan suggestion
This commit fixes Coverity Scan defect:

CID 151901:  Insecure data handling  (TAINTED_SCALAR)
Passing tainted variable "tag_len" to a tainted sink.

Change-Id: Ic71ed6a3bbb228bc03e95bfc4a6f5fe09cf5a021
2016-11-16 16:35:42 +00:00
Philipp Maier fb89b9b00b rbs2000: Add missing bts feature definitions
function bts_model_rbs2k_start() in bts_ericsson_rbs2000.c lacks
the feature definition for GPRS and EGPRS.

Change-Id: I777a67862084aa6cca39cfc43f5708e47608b0e6
2016-11-16 16:35:05 +00:00
Max c04c6ed4af abisip-find: use protocol constant
Use library define instead of directly using hardcoded value.

Change-Id: Ie9b8bc55bf40cf005434f27e205d47ffab959413
2016-11-15 22:35:38 +00:00