aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gsm_data.h
AgeCommit message (Collapse)AuthorFilesLines
2009-11-20[vty] Add option to disable RF on a given TRX.Holger Hans Peter Freyther1-0/+5
- Make sure that on runtime the Radio Carrier can be locked and unlocked. The vty code calls into the Abis NM to lock/unlock the channel and the state is stored there. - Make sure that on start the Radio Carries remains offline and we are not starting it. On start the radio carrier is either locked or unlocked. This means the RSL will not connect until the RF is unlocked. It will connect then. To see RSL bringup failures one needs to parse the RSL nack message.
2009-11-20[lchan] Release the channel ones its' usecount drops to zeroHolger Hans Peter Freyther1-23/+0
Remove the timer handling from the LCHAN and release the channel ones the use count is dropping to zero. Change code that was sending/using the lchan after the release and change the send data method to warn in case the lchan is used after it has been freed.
2009-11-20[bsc] Add a rtp base port to the BSC config tooHolger Hans Peter Freyther1-0/+1
Stop having a global variable... keep it in the gsm network or the mgcp
2009-11-20[ipacc] Add a way to override the rtp payload for MDCXHolger Hans Peter Freyther1-0/+1
2009-11-20[bsc] Send the SCCP IT message in a given intervalHolger Hans Peter Freyther1-0/+3
Send the message every 60 seconds on every SCCP connection. The 60 seconds were taken from a protocol trace obtained on the network.
2009-11-20[vty] Add configuration for the preferred speech versionHolger Hans Peter Freyther1-0/+11
Add network configuration option to specify which audio codecs are supported by the BTS. This allows the BSC to pick the audio codec in the GSM0808 Assignment Request.
2009-11-20[bssap] First go at implementing channel assignment...Holger Hans Peter Freyther1-1/+0
2009-11-20[bssap] First go at implementing ASSIGNMENT REQUESTHolger Hans Peter Freyther1-0/+10
2009-11-20[bssap] Start to queue messages to the BTS and to the MSCHolger Hans Peter Freyther1-0/+7
For the MSC we need to queue GSM04.08 messages until the SCCP connection is confirmed to be open and then can send the stored messages. The queue is limited to 10 messages at which point new ones will be dropped. Currently the only messages we get are measurement indication messages but it is better to be safe than sorry. The SCCP messages are sent as soon as the connection is considered established and then no queueing happens any more. While replacing sccp_connection_write calls various memory leaks has been fixed. For the MS we might have received a DTAP and need to do an operation that requires a roundtrip and want to send wait until this has happened. The two scenerios are sending a SMS to the phone that requires to do something special for the different SAPI. Currently it is assumed that only one SAPI=0 -> SAPI=3 change happen during the connection. For the first SAPI != 0 we will send the rll_ request and then wait for the timeout or confirmation. In case of timeout a SAPI "n" reject is sent and in case of success the queue is getting emptied.
2009-11-20[bsc_msc_ip] This is a BSC that connects to real MSC via IPHolger Hans Peter Freyther1-0/+20
This is a BSC to be used by on-waves.com to connect to a real MSC using SCCP over IP. The following messages and features are currently implemented: - IPA identity ack's - COMPLETE LAYER3 INFORMATION - DTAP - PAGING COMMAND - CLEAR COMPLETE/CLEAR REQUEST - CIPHER MODE COMMAND/ REJECT /COMPLETE It comes with a tool to create the enum's from the spec and a very simple test server to do the handshaking.
2009-11-19[lchan] RSL and RR need the multirate config, place it in the lchanHolger Hans Peter Freyther1-0/+3
Both GSM 04.08 RR and GSM 08.58 RSL need the multirate config in the channel modify. Place the config in the lchan, change the gsm48 methods to not take the argument, change the RSL implementation to make use of it with the right IE. The other code should use the t(l)v_put routines as well but were left untouched for now.
2009-11-17[si] Make it possible to set the NECI value...Holger Hans Peter Freyther1-0/+1
Allow to configure the NECI value... and change code that is relying on the NECI value.
2009-11-12move 'struct value_string' and 'get_value_string()' to gsm_dataHarald Welte1-0/+7
2009-11-07change some identifiers from u_int64_t to unsigned long longHarald Welte1-1/+1
makes printf much easier on 64bit platforms...
2009-10-29[lchan] Keep track which SAPIs has been established with the BTSHolger Hans Peter Freyther1-0/+8
Keep track of which SAPIs have been established either by the BTS (from the MS) or by us. This can be used by the on-waves BSC code to figure out if a new request should be made.
2009-10-27misc: Make bitfields unsigned int...Holger Hans Peter Freyther1-2/+2
There is no use to have a signed bit in bitfields..
2009-10-24[GPRS] introudce PDCH and PDCH/TCH physical channelsHarald Welte1-0/+2
GPRS needs PDCH (Packet Data Channels), and we need support in our data model as well as OML and RSL for it
2009-10-24[GPRS] add data structures for OML of NSE,CELL,NSVCEHarald Welte1-0/+17
Supporting GPRS means we have a number of additional OML objects to deal with. We need to extend our gsm_bts structure to at least include the nm_state for each of those objects.
2009-10-05[ipaccess] Add nanoBTS 1900 supportMike Haben1-4/+2
Add support for 1900 nanoBTS by using unified bts_type GSM_BTS_TYPE_NANOBTS for 900, 1800 and 1900 versions. Reduce the nanoBTS enum values to one and derive the version from the user supplied band. In the future we might want to do auto band detection. The configuration file needs to be changed to refer to nanobts instead of nanobts900/nanobts1800. Signed-off-by: Mike Haben <michael.haben@btinternet.com> Signed-off-by: Holger Hans Peter Freyther <zecke@selfish.org>
2009-09-30[lac] The lac must be 16 bit. Change it in gsm_bts and vty parsingHolger Hans Peter Freyther1-1/+1
The LAC can be 16bit of size. the generation of the LAI, struct gsm_subsriber and the BSC<->MSC was already using it as a 16bit (short) value. Change struct gsm_bts to parse 16bit and change the vty configuration parsing code to deal with a short too.
2009-09-28[bsc] Store the cell_identity in gsm_bts and set it on the SI3 and SI6Holger Hans Peter Freyther1-0/+2
Transfering the cell_identity from BSC to MSC is required for the on-waves.com support. Allow to set the cell_identity in the cfg file and patch the system information tables to set it.
2009-08-30add VTY/configfile command for setting encryption (A5) levelHarald Welte1-0/+1
This is just configuring the gsm_network property, nobody uses it yet
2009-08-30A5 support for RSL and 04.08 (not used yet)Harald Welte1-0/+9
This just adds the 04.08 and RSL bits for A5, but not the logic for performing authentication. The caller would first set lchan->encr and then call gsm48_send_rr_ciph_mode(lchan), which encapsulates the 04.08 CIPHERING MODE COMMAND into a RSL ENCRYPTION COMMAND and sends it to the BTS for execution + forwarding.
2009-08-13add 'ms max power' vty command to set the maximum MS power in dBmHarald Welte (local)1-0/+2
2009-08-12implement bts->cell_barred feature, configurable in VTYHarald Welte (local)1-0/+1
2009-08-12add a authorization policy field to the network and VTYHarald Welte (local)1-0/+11
this is not being used yet
2009-08-10introduce bts->chan_alloc_reverse flagHarald Welte1-0/+4
The channel allocator can be set in ascending or descending order. Ascnending means we first try to allocate channels on TRX0, then TRX1, etc. Descending means we first try to allocate cahnnels on TRXn, then n-1 down to 0.
2009-08-10add new 'is_siemens_bts()' functionHarald Welte1-0/+12
2009-08-10add T3101 to release lchan in case MS never responds to IMMEDIATE ASSIGNHarald Welte1-0/+2
2009-08-09verify bs11 channel combination constraintsHarald Welte1-0/+1
2009-08-08the actual config file code (not just config files)Harald Welte1-1/+6
this was missing from commit a08a9acdb6bff0ee4fdf0f58b78b6525017a1f9f
2009-08-08first 'working' SMS implementationHarald Welte1-6/+10
we now have the full path from the MS into the database (SUBMIT), as well as back from the database to the MS (DELIVER). The database gets correctly updated once a SMS has been successfully delivered. What's still missing is the periodic scan over all undelivered messages, trying to deliver them to the respective MS. So far, you have to manually trigger this on the telnet interface with 'sms send pending 1'
2009-08-08parse_btstype() can use const qualifierHarald Welte1-1/+1
2009-08-07Merge branch 'master' into smsHarald Welte1-0/+1
2009-08-07add function declaration for gsm_pchan_parse()Harald Welte1-0/+1
2009-08-06Merge branch 'master' into smsHarald Welte1-0/+5
2009-08-06add HARDCODED_BTSn_TS to define the base TS for each BTSHarald Welte1-0/+5
2009-07-29Merge branch 'master' into smsHarald Welte1-1/+4
2009-07-29generalize channel activation / channel mode modifyHarald Welte1-1/+4
* we only need one piece of code to calculate rsl_ie_chan_mode from our run-time data structures (gsm_lchan) * add some more channel modes for TCH/H and data * use enum's to make the compiler warn us about unhandled enum values * make sure the caller determines the (signalling,speech,data) mode
2009-07-28Merge branch 'master' into smsHarald Welte1-0/+2
2009-07-28add RTP proxy mode for ip.accessHarald Welte1-0/+2
Up until now, we only supported direct RTP streams between ip.access BTS. With this commit, the user can specify '-P' to the command line to enable a RTP/RTCP proxy inside OpenBSC. The nanoBTS will then send all their voice data to OpenBSC, which will relay it to the respective destination BTS (which can be the same BTS). The default behaviour remains unchanged. Without '-P' on the command line, RTP/RTCP is exchanged directly.
2009-07-27further steps towards better, transaction based SMSHarald Welte1-0/+5
2009-07-26move definition of 'struct gsm_trans' to transaction.hHarald Welte1-38/+0
2009-07-23remove bogus 'network' member of 'struct gsm_transaction'Harald Welte1-3/+0
Since a transaction is associated to a gsm_subscriber, and the subsciber is part of a network, we don't need to have a dedicated transaction->network pointer.
2009-07-23gms_transactions data model reorganizationHarald Welte1-12/+22
This changeset factors out gsm_transaction as something independent of call control in preparation to re-use the code from SMS. A transaction is uniquely identified by either its callref, or by a tuple of (transaction_id, protocol, subscriber).
2009-07-23remove bogus 'network' member of 'struct gsm_transaction'Harald Welte1-3/+0
Since a transaction is associated to a gsm_subscriber, and the subsciber is part of a network, we don't need to have a dedicated transaction->network pointer.
2009-07-23gms_transactions data model reorganizationHarald Welte1-12/+22
This changeset factors out gsm_transaction as something independent of call control in preparation to re-use the code from SMS. A transaction is uniquely identified by either its callref, or by a tuple of (transaction_id, protocol, subscriber).
2009-07-19Merge branch 'master' into smsHarald Welte1-2/+2
2009-07-12rename ip.access structure field members and variablesHarald Welte1-2/+2
to reflect that we now know their true names/meanings
2009-07-05more SMS improvementsHarald Welte1-1/+3
* describe data structures in gsm_04_11.h * increae LCHAN RELEASE TIMEOUT for case of long SMS * convert header field in sql table from NUMERIC to BLOB * initial handling for validity period * send RP ERROR messages with meaningful RP CAUSE in case of error