aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src
AgeCommit message (Collapse)AuthorFilesLines
2011-10-16GRPS LLC: Fix TLLI change: Use caller-supplied old_tlli!laforge/santosHarald Welte1-1/+1
2011-10-16gprs: Also check tlli_new in sgsn_mm_ctx_by_tlliJonathan Santos1-2/+3
2011-10-16gprs: Reset LLC state when Timer 3350 expiresJonathan Santos2-0/+25
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.
2011-10-16gprs: Suspend user data transmission during Routing Area UpdatingJonathan Santos2-0/+22
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.
2011-10-16gprs: Set GMM state to GMM_REGISTERED_NORMAL after ATTACH_COMPLETE receivedJonathan Santos1-3/+1
The SGSN was updating the GMM state when sending the ATTACH_ACCEPT, when it should enter that state after the ATTACH_COMPLETE is received.
2011-10-16gprs: Delete GMM and PDP contexts if ATTACH_REQUEST received from ↵Jonathan Santos2-8/+35
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.
2011-10-16gprs: Fix bug where SGSN was sending all LLC UI frames with N(U)=0Jonathan Santos1-1/+1
Convert foreign TLLIs to local TLLIs for storage in LLME context.
2011-10-16GPRS: Allow MS Network Capability of up to 32 bytesHarald Welte1-1/+1
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. Thanks to Jonathan Santos <jrsantos@jonathanrsantos.com> for spotting this.
2011-10-16GPRS: Support MS Radio Access Capability up to 255 bytesHarald Welte1-2/+0
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. Thanks to Jonathan Santos <jrsantos@jonathanrsantos.com> for spotting this.
2011-10-16GPRS GMM: When we receive a RA UPD REQ, we are NORMAL even after SUSPENDHarald Welte1-0/+3
There is no explicit BSSGP RESUME in case the MS sends a RA UPD REQ after being in SUSPEND previously.
2011-10-16GPRS LLC: fix compiler warningHarald Welte1-1/+1
2011-10-16GPRS GMM: Send LLGMM-RESET.req when talking to unknown MSHarald Welte1-0/+5
In case a MS (of which we have no MM context) sends us anything but a GMM ATTACH REQUEST, we need to send it a LLC XID RESET (by means of issuing LLGMM-RESET.req). Otherwise the phone will expect us to send a specific unacknowledged sequence number that we don't know. Thanks to Holger for pointing this bug out to me. It seems to commonly occur when a MS is doing network re-selection and (erroneously) sends a RA UPD REQ instead of an ATTACH REQ. The RA UPD REJ that we sent was never seen by the GMM entity in the MS, as the LLC entity discarded it due to sequence number mis-match.
2011-10-16LLC: Add minimal LLGMM-RESET.req implementationHarald Welte1-11/+67
Using LLGMM-RESET.req, the GMM can request the LLC of the MS to reset all its parameters, particularly the sequence numbers. We don't yet do XID RESET retransmissions, and we don't yet generate a LLGMM-RESET.conf primitive back to GMM.
2011-10-16misc: Linking fixes for Ubuntu 11.10 CompilerHolger Hans Peter Freyther7-19/+27
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'
2011-10-14gprs: Fix various compiler warningsHolger Hans Peter Freyther1-2/+2
2011-10-14gprs: Fix compiler warnings in the codeHolger Hans Peter Freyther2-2/+4
2011-10-14gprs_gmm: Fix various compiler warningsHolger Hans Peter Freyther1-4/+7
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
2011-10-12libctrl: only free() msgb if it was alloc()edAlexander Huemer1-1/+1
Before this patch a SIGABRT was caused when doing e.g.: $ ncat 127.0.0.1 4249 ^C
2011-10-12bsc: Put the full stop before the \n in the log messageHolger Hans Peter Freyther1-1/+1
2011-10-12bsc: Add new SCCP connections to the tailHolger Hans Peter Freyther1-1/+1
2011-10-12bsc: Drop the BTS instead of exiting the applicationHolger Hans Peter Freyther1-7/+12
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
2011-10-12vty: Document more VTY parameters of a commandHolger Hans Peter Freyther1-33/+55
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); + } + } }
2011-09-29Undo my changes to bts_siemens_bs11.c it works as it was.Andreas Eversberg1-35/+0
2011-09-29All 3 E1-BTS should now work with dahdi and misdn_lapd driver.Andreas Eversberg3-9/+41
2011-09-26Fix Ericsson RBS2000 support after libosmo-abis mergeHarald Welte2-21/+11
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.
2011-09-26gsm_data_shared: use 'const' whenever applicableHarald Welte1-7/+7
2011-09-13bsc_api: Add some more comments to the codeHarald Welte1-0/+10
2011-09-06fix fprintf format specifiers in osmo-bsc_mgcpAlexander Huemer1-2/+2
2011-09-06fix some "implicit declaration" warnings in libbscAlexander Huemer1-0/+2
2011-09-06fix some "implicit declaration" warnings in libtrauAlexander Huemer2-0/+2
2011-09-06fix some "implicit declaration" warnings in osmo-nitbAlexander Huemer1-0/+4
2011-09-03Add VTY command to specify default speech codecHarald Welte4-5/+94
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'
2011-09-03bsc_api: Make sure to use correct MS Power on ASSIGNMENT CMDDieter Spaar1-1/+1
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"
2011-08-30bsc: Fix a crash in case we get a NACK from the BTS for a new channelHolger Hans Peter Freyther1-5/+5
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.
2011-08-26BTS support: nokia/ericcson - use e1inp_ts->lapdHarald Welte2-4/+4
the lapd member has moved from the .driver.dahdi.lapd to the more generic lapd location inside 'struct e1inp_ts'
2011-08-23Revert "we don't have openbsc/ipaccess.h anymore"Harald Welte1-1/+1
This reverts commit 8697e43bb2b9d6f217090ca93057d9d4ab6942a9.
2011-08-22osmo-bsc: Use NM_OPSTATE_* to check for operational attributesDaniel Willmann1-1/+1
2011-08-22libctrl: Add a function to create the cmdHolger Hans Peter Freyther1-0/+12
2011-08-22libctrl: Don't overwrite error reply if the verify function sets oneDaniel Willmann1-1/+3
2011-08-22libctrl: Mark the cmd set/get/verify functions staticDaniel Willmann3-19/+19
2011-08-22libctrl: Bind control interface to localhostDaniel Willmann1-1/+1
2011-08-22libctrl: Use DCTRL as logging destination in libctrlHolger Hans Peter Freyther2-28/+28
2011-08-22nat: Fix error in get_next_free_bsc_idDaniel Willmann1-15/+20
The new function now mimcis the behaviour of assign_src_local_reference from bsc_sccp.c
2011-08-22bsc: Fix crash that can occur on RF FailureHolger Hans Peter Freyther1-3/+12
When we got a clear request we did not clear the internal association between the gsm_subscriber_connection and the SCCP part. When we got a DTAP message before the CLEAR COMMAND we will end up in a crash as the ->bts pointer of the connection has been cleared. #0 bsc_scan_msc_msg (conn=0xde178, msg=<value optimized out>) at osmo_bsc_filter.c:258 #1 0x000112c8 in bsc_handle_dt1 (conn=0xdebd8, msg=0xd1f58, len=<value optimized out>) at osmo_bsc_bssap.c:507 #2 0x00010208 in msc_outgoing_sccp_data (conn=<value optimized out>, msg=0xdfacc, len=858696) at osmo_bsc_sccp.c:73 #3 0x0003c110 in sccp_system_incoming (msgb=0xd1f58) at sccp.c:1064
2011-08-22audio: Move the setting of MultiRateConfig to one placeHolger Hans Peter Freyther1-14/+19
Move it to one place so it is more easy to make changes to that.
2011-08-22audio: From RTP point of view we can use one payload for HR/FR AMRHolger Hans Peter Freyther1-2/+1
Remove the separation of half-rate and full-rate AMR. The used rate can be found inside the AMR payload. The signalling of what kind of traffic channel is used can be done with the GSM 08.08 Chosen Channel IE in the Assignment Complete message. This way I can use a fixed payload type in the MGCP GateWay but have a mixed TCH/F and TCH/H config. E.g. use TCH/F FR3 for some subscribers when connected to MSC A but use AMR5.9 on a TCH/F for MSC B when all TCH/Hs are gone.
2011-08-22audio: Remove the hardcoding of the RTP PayloadHolger Hans Peter Freyther2-5/+0
The MGCP config must be correct and use 99 for RTP AMR.
2011-08-22mgcp: Make CRCX deal better with UDP retransmissionsHolger Hans Peter Freyther1-24/+44
When the CRCX 200 is lost on the way to the CallAgent we will get another CRCX (retransmission) which was answered with a 400. Change the code to extract the CallID, Mode and the optional LocalOptions first. Then check if the endp is allocated with the same call identifier, in that case return the current session information.
2011-08-22mgcp: FreeSWITCH requiresn us to provide the o= and t= paramHolger Hans Peter Freyther1-3/+5
The SDP file for FreeSWITCH should contain o= (Origin) and the t= (Timing) for the session. The data of the Origin should be globally unique but this is not the case yet. We will need to store the (NTP) time of the creation of the endpoint.
2011-08-22misc: Move the bsc_parse_reg to libcommom and name it gsm_parse_regHolger Hans Peter Freyther3-29/+31
Move the regexp parsing code from the NAT to libcommon as it will be used by the NAT and BSC code. This also adds the #include <regex.h> include to gsm_data. This header should be split up.