Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
If, for some reason, the mobile did not receive an ATTACH ACCEPT
it resends an ATTACH REQUEST. The SGSN then would send a new
ATTACH ACCEPT. However, after sending the new ATTACH REQUEST, it
was unable to find the GMM context if the mobile uses the old
foreign tlli (as it is allowed to do). This fixes that.
|
|
During the GPRS Attach procedure, the SGSN was changing the TLLI
to the new TLLI when sending the second Identity Request. This
was caused by the sgsn_mm_ctx_by_tlli() function changing the TLLI.
It is usually bad form to have a lookup function change values.
|
|
This reverts commit bd92172bf42c1589ded17d976dd0af3b90adc871.
|
|
This works around a problem that occurs if a mobile loses packet
data connectivity, e.g. moves out of coverage or switches over
to a circuit-switched call, while a data transfer is occurring.
The mobile would reset its LLC state, causing it to be
unsynchronized with the SGSN. Therefore the SGSN would drop
incoming frames until the sequence numbers matched. This
workaround resets the LLC state in the SGSN if T3350 expires,
indicating that Routing Area Updating Request, Attach Request,
or P-TMSI Realloc Command has failed.
|
|
According to TS 44.064 section 8.4.2, the LLC layer should only
drop UI frames if V(UR)-32 <= N(U) < V(UR). The code was dropping
frames whenever N(U) < V(UR). Consequently, large amounts of
packets could be dropped if, e.g., V(UR)==511 and the frame with
N(U)==511 was lost. All frames would be dropped until the next
time a frame with N(U)==511 is received.
|
|
TS 24.008 version 9.5.0 Release 9 sec 4.7.5:
In A/Gb mode, user data transmission in the MS shall be
suspended during the routing area updating procedure, except
if the routing area updating procedure is triggered by a PS
handover procedure as described in 3GPP TS 43.129 [113];
user data reception shall be possible. User data transmission
in the network may be suspended during the routing area
updating procedure.
|
|
The SGSN was updating the GMM state when sending the ATTACH_ACCEPT, when
it should enter that state after the ATTACH_COMPLETE is received.
|
|
already-attached MS
TS 24.008 version 9.5.0 Release 9 sec 4.7.3.1.6:
If an ATTACH REQUEST message is received in state GMM-REGISTERED
the network may initiate the GMM common procedures; if it turned
out that the ATTACH REQUEST message was send by an MS that has
already been attached, the GMM context, PDP contexts and MBMS
contexts, if any, are deleted and the new ATTACH REQUEST is
progressed.
|
|
|
|
|
|
Convert foreign TLLIs to local TLLIs for storage in LLME context.
|
|
than 4 octets
The SGSN was allowing MS Network Capability of up to 8 octets, but only allocating
storage for 4 octets.
TS 23.060 version 9.7.0 Release 9 section 6.14.2 states:
To allow for the addition of future features, the SGSN shall
store the UE Network Capability and the MS Network Capability
even if either or both is larger than specified in TS 24.008
[13]/TS 24.301 [102], up to a maximum size of 32 octets for
each IE.
|
|
than 14 octets
Newer phones are using a MS Radio Access Capability larger than the
14 octets specified in 04.08 Release 1998 (up to 50 octets in Rel 9).
This caused the SGSN to crash since it only allocated storage for
14 octets but tried to store up to 51 octets.
TS 23.060 version 9.7.0 Release 9 section 6.14.1.1 states:
To allow for the addition of future radio technologies, frequency
bands, and other enhancements, the SGSN shall store the MS radio
access capability even if it is larger than specified in TS 24.008
[13], up to a maximum size of 255 octets.
|
|
Ubuntu 11.10 has changed some linker/compiler flags. Some fixes for this
can be seen here[1]. In general the to be linked libs need to be moved into
the LDADD section of parameters. This is with the old BFD linker (not gold).
This is likely to end in some ping-pong with other versions of the linker.
[1] https://bugs.launchpad.net/ubuntu/+source/nis/+bug/771034
Errors:
/usr/bin/ld.bfd.real: bsc_hack.o: undefined reference to symbol 'osmo_init_ignore_signals'
/usr/bin/ld.bfd.real: note: 'osmo_init_ignore_signals' is defined in DSO /home/ich/install/openbsc/lib/libosmocore.so so try adding it to the linker command line
/home/ich/install/openbsc/lib/libosmocore.so: could not read symbols: Invalid operation
...
../../src/libbsc/libbsc.a(rest_octets.o):/home/ich/source/gsm/openbsc/openbsc/src/libbsc/rest_octets.c:381: more undefined references to `bitvec_set_bit' follow
../../src/libbsc/libbsc.a(rest_octets.o): In function `rest_octets_si13':
/home/ich/source/gsm/openbsc/openbsc/src/libbsc/rest_octets.c:382: undefined reference to `bitvec_set_uint'
/home/ich/source/gsm/openbsc/openbsc/src/libbsc/rest_octets.c:383: undefined reference to `bitvec_set_uint'
/home/ich/source/gsm/openbsc/openbsc/src/libbsc/rest_octets.c:385: undefined reference to `bitvec_set_bit'
/home/ich/source/gsm/openbsc/openbsc/src/libbsc/rest_octets.c:402: undefined reference to `bitvec_set_bit'
/home/ich/source/gsm/openbsc/openbsc/src/libbsc/rest_octets.c:403: undefined reference to `bitvec_set_uint'
|
|
|
|
|
|
gprs_gmm.c:240:2: warning: passing argument 4 of ‘gprs_llc_tx_ui’ discards qualifiers from pointer target type
../../include/openbsc/gprs_llc.h:151:5: note: expected ‘void *’ but argument is of type ‘const struct sgsn_mm_ctx *’
gprs_gmm.c:349:11: warning: unused variable ‘ptsig’
gprs_gmm.c:601:5: warning: too many arguments for format
gprs_gmm.c:987:25: warning: initialization discards qualifiers from pointer target type
gprs_gmm.c:1010:6: warning: ‘rc’ may be used uninitialized in this function
|
|
|
|
|
|
Provide an exmaple that is accepted by osmo-sgsn.
|
|
Before this patch a SIGABRT was caused when doing e.g.:
$ ncat 127.0.0.1 4249
^C
|
|
|
|
|
|
When the BTS reboots it might not want to accept our BTS Attr,
do not leave the bsc_msc_ip/bsc_nitb but simply drop the BTS
connection.
Manually cherry-picked from: 54e6c8b3400b376ed36fe84f28f7930d2d9ff24b
|
|
The below is used to identify commands that need proper documentation
diff --git a/src/vty/command.c b/src/vty/command.c
index ab1eaca..bcf72d0 100644
--- a/src/vty/command.c
+++ b/src/vty/command.c
@@ -426,6 +426,20 @@ void install_element(enum node_type ntype, struct cmd_element *cmd)
cmd->strvec = cmd_make_descvec(cmd->string, cmd->doc);
cmd->cmdsize = cmd_cmdsize(cmd->strvec);
+
+ printf("NODE: %d\n", ntype);
+
+ int j;
+ for (j = 0; j < vector_count(cmd->strvec); ++j) {
+ vector descvec = vector_slot(cmd->strvec, j);
+ int i;
+ for (i = 0; i < vector_active(descvec); i++) {
+ struct desc *desc = vector_slot(descvec, i);
+ if (desc == NULL)
+ continue;
+ printf(" %s %s\n", desc->cmd, desc->str);
+ }
+ }
}
|
|
|
|
|
|
|
|
|
|
The libosmo-abis merge broke Ericsson RBS support, as it didn't get the
part right where the per-TRX OML sign_link is determined while
transmitting OM2000 messages.
As a result of this fix, we can remove the 'to_trx_oml' parameter to
_abis_nm_sendmsg(), which is a nice cleanup.
|
|
|
|
While submitting the A-bis OML wireshark dissector I noticed one bug
in it that results in bogus message labeling.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In order to have the MNCC application reliably decide on the codec type,
it needs to know if we are running on a TCH/F or TCH/H. Thus, we pass
lchan_mode as a new parameter to the 'struct gsm_mncc'
|
|
When gsm48_send_rr_ass_cmd() is being called to send the ASSIGNMENT
COMMAND, we need to use the propwer lchan->ms_power setting, not
some fixed magic "0x3" number.
Without this patch, every MS would transmit at a very high output power
fullowing an assignment command - more than what was set in the config
file with "ms max power"
|
|
In case of a nack the secondary_lchan will be NULLed but then the T10
timeout will attempt to release the channel and we will try to release
a NULL pointer.
Daniel witnessed this crash at the camp and added the NULL check at:
28d9ccbca0cb522c90f551cf4bf243acab7a1944, it is also the proper fix
given the _NAK handling.
|
|
the lapd member has moved from the .driver.dahdi.lapd to the more
generic lapd location inside 'struct e1inp_ts'
|
|
gsm_data_shared.h references structures defined in abis/e1_input.h
|
|
This reverts commit 8697e43bb2b9d6f217090ca93057d9d4ab6942a9.
|