aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
AgeCommit message (Collapse)AuthorFilesLines
2010-05-01VTY: ensure all cmd_elements are declared 'static'Harald Welte1-0/+21
While doing 'nm' on a VTY-using object file I noticed that all cmd_elements are global symbols, which is not good. Unfortuantely there are some vty-internal cmd_elements that need to span across object files, so I had to introduce gDEFUN() and gALIAS(). The old macros now all declare static structures.
2010-04-30define 'struct openbsc_msgb_cb' and accessor macro OBSC_MSGB_CB()Harald Welte1-0/+7
2010-04-30remove any reference to 'struct gsm_bts_link'Harald Welte1-5/+0
2010-04-30[vty] Allow to create a buffer in a given context.Holger Hans Peter Freyther1-1/+1
Stop using the global vty context for all allocations and allow to embed the buffer into a given context, and allocate sub buffers with the context of its parent.
2010-04-25[vty] Allow to set the RACH NM attributes on a per BTS basisHolger Hans Peter Freyther1-0/+4
Be able to tune the RACH settings of the BTS via the vty interface, by default they are initialized to -1 which means we will use the content of the static array (BTS default) and can be changed via the VTY interface. I have verified the setting on the nanoBTS with wireshark and I have tested writing the config file.
2010-04-25Merge branch 'on-waves/sccp'Holger Hans Peter Freyther1-0/+6
2010-04-25[sccp] Parse the error message and add a unit test for it.Holger Hans Peter Freyther1-0/+6
2010-04-25Merge branch 'on-waves/mgcp'Holger Hans Peter Freyther1-0/+1
2010-04-25[mgcp] Add a dummy send method...Holger Hans Peter Freyther1-0/+1
This can be used by higher level code to send one dummy message from the audio port to the network. This can be used to make the remote discover the nated port of this endpoint.
2010-04-18GPRS: change 'gprs enabled <0-1>' to 'gprs mode (none|gprs|egprs)'Harald Welte1-1/+10
This causes some config file breakage but sounds like a much cleaner approach than to have two separate config variables for this.
2010-04-18GPRS: Add Support for the GPRS Cell Option Extension Info IEHarald Welte1-0/+11
Extension Information is part of the GPRS Cell Options IE, as specified in Chapter 12.24 of TS 04.60. It is needed for indicating EDGE capabilities of the BTS to the MS. This simply adds the code to encode this IE as part of SI13, but does not actually use the code yet.
2010-04-17[statistics] Keep track of OML/RSL failures of the BTS.Holger Hans Peter Freyther1-0/+4
2010-04-17[statistics] Keep track of rf failures and rll release failuresHolger Hans Peter Freyther1-0/+4
Add two new counters to count the RF Failures and the RLL Release failure and make them available via the vty interface.
2010-04-15[vty] Separate BSC and MSC statistics. Make it easy to print them.Holger Hans Peter Freyther1-0/+4
Move the statistics command into the MSC part and move the BSC statistics printing into a subroutine.
2010-04-15[bsc_init] When the RSL/OML connection drops, free all lchansHolger Hans Peter Freyther1-0/+1
Free all allocated channels on the TRX that failed, go through lchan_free to signal higher layers and then force a reset of the channel. Make the TRX and TS unusable by setting the operational set to 0 (not really defined) which should be reset once the RSL is coming up again.
2010-04-15[ipa] Handle losing the RSL/OML connection..Holger Hans Peter Freyther1-0/+2
This is addressing multiple issues regarding the loss of the OML/RSL link to the BTS. 1.) When we lose the OML link, close down all RSL connections on all TRXs (only tested with one TRX) and free the e1inp_line allocated for the OML connection. 2.) When we lose the RSL link on any TRX and we know to which lines this connection belongs, we will close down the OML connection as we have a problem to just reactivate one RSL link. 3.) When we lose the RSL link on any TRX and we do not know where it belongs to we will free the bfd we have allocated in the rsl listen/accept method and we properly close the socket (i could not test this one properly). This is made under the assumption the BTS has not responded to the ID request. 4.) When we already have a bts->oml_link we will throw it away and use the new link (it should not happen) and the same applies to the rsl link.
2010-04-12ipaccess: Send RTP Payload IE for CRCX & MDCXSylvain Munaut2-0/+7
For GSM V1 FR, the payload type is fixed to 3 in the RFC. But for the other codecs, the payload type is dynamically assigned between 96 and 127. Here, we use a static mapping internal to OpenBSC. This patch is needed to make a rather old 139 unit (with sw version 120a002_v149b42d0) work with something else than FR codec. I also tested this patch on a newer 139 (with sw version 120a352_v267b22d0) to make sure it didn't add a regression. More testing with newer EDGE units should be done by whoever has some of theses. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-04-10[rsl] Introduce a method to set the state of the lchanHolger Hans Peter Freyther1-0/+2
Setting the state through a dedicated method allows us to track the state transitions and check if they are done in a proper way.
2010-04-10[rsl] Remove method that is not called by anything.Holger Hans Peter Freyther1-1/+0
2010-04-10[paging] Simplify the last request and treat llist as a queueHolger Hans Peter Freyther1-1/+0
The current code was overly complex. It tried to iterate over the list in a round robin and we had to keep track of the last element, see if we remove that one, check if the list becomes empty... This can all replaced by treating the double linked list as a queue. We take the item at the front, do something on it and then and then put it back to the list at the end.
2010-04-07Merge branch 'on-waves/sccp'Holger Hans Peter Freyther1-1/+6
2010-04-07Merge branch 'on-waves/mgcp'Holger Hans Peter Freyther2-1/+27
2010-04-07[mgcp] Add an option to allow using reallocing an endpointHolger Hans Peter Freyther1-0/+3
For some mode of operation it can be acceptable to reallocate an already allocated endpoint. This can be the case when we only deal with one call agent that is keeping track of the endpoint but slightly confused.
2010-04-07[mgcp] Count incoming RTP packets from the BTS and remoteHolger Hans Peter Freyther1-0/+4
2010-04-06[vty] Move the VTY logging commands to a new fileHolger Hans Peter Freyther2-1/+8
Currently vty_interface.c is used for the BSC config, in case of the MGCP Gateway or the BSC Nat process these logging commands are not available. Move the commands to a new vty_interface_cmds.c file to allow to share basic commands across different programs.
2010-04-05[mgcp] Export header parsing via mgcp internalHolger Hans Peter Freyther1-0/+9
This will be used by the NAT code to implement custom protocol handling on top of that.
2010-04-05[mgcp] Add a new config option to set the call agent ip addrHolger Hans Peter Freyther1-0/+1
In the case of the nat we only want to communicate with one upstream call agent and this can now be configured.
2010-04-05[mgcp] Add a helper function to convert from GSM0808 ts/mux to MGCP endpointHolger Hans Peter Freyther1-0/+8
Move the conversion of GSM0808 timeslot and multiplex from the bssap.c into the mgcp.h so it can be reused by multiple users. The weird math comes from the mapping of the MSC...
2010-04-05[mgcp] Add some parsing for RSIP messages coming inHolger Hans Peter Freyther1-0/+2
This will just call a callback and leave all the handling to the application.
2010-04-05[mgcp] Remove the sending of RSIPHolger Hans Peter Freyther1-1/+0
This message is ignored by the call agent and we were sending this on the first request which we maybe should not ignore...
2010-04-05[sccp] Add a force_free method for connectionsHolger Hans Peter Freyther1-0/+5
E.g. when the underlying connection transport medium is gone one needs to force to close SCCP connections, add this helper. It will remove the connection from the list of connections and it will free the data.
2010-03-28remove gsm48_mi_to_string() as it is now in libosmocore 0.1.3Harald Welte1-1/+0
2010-03-28chan_alloc: Support allocating TCH/F of a dynamic TCH/F + PDCHHarald Welte1-0/+13
This code simply enables the channel allocator to understand the dynamic TCH/F / PDCH channel type as used by ip.access nanoBTS. It does not actually try to switch the dynamic mode, but instead sends signals to a (not yet present) dynamic switching algorithm.
2010-03-28RSL: keep track of ip.access dynamic TCH/PDCH activationHarald Welte2-2/+2
We use the (currently unusued) flags member of the bts_trx_ts structure to track if a dynamic TCH/PDCH is currently on PDCH mode or not.
2010-03-26move log/debug codebase to libosmocoreHarald Welte2-86/+7
The logging/debugging code is generic enough to move it into libosmocore while keeping OpenBSC specific definitions in openbsc itself. This commit uses the logging support present in libosmocore-0.1.2, you will have to update your library to this version.
2010-03-26sccp: Change the ownership of the msgb passed to the callbackHolger Hans Peter Freyther1-1/+1
Instead of deleting the msgb within the SCCP library the implementor of the write callback needs to free it. This is required for non blocking io with the server.
2010-03-25db: Fix a bug where no pending SMS were foundHolger Hans Peter Freyther1-2/+2
The "sms send pending" VTY command did not work due a mismatch of types. We are specifying a unsigned long long in the query and provided DBI with a signed integer type. The result was a failure do find any information. Change the API to operate on unsigned long long that is matching the id of the SMS and the Subscriber and the mismatch with the query string is gone and pending SMS are sent.
2010-03-25Store the GSM BTS in the gsm subscriber connectionHolger Hans Peter Freyther1-1/+2
Remove further usage of lchan from the gsm 04.11 bits
2010-03-25bsc: Start creating 08.08 like APIHolger Hans Peter Freyther2-1/+7
The 08.08 API will interface with the internal BSC code and it is the boundary between MSC and BSC. So nothing that calls the BSC functionality should know about lchan or such.
2010-03-25sms: First run of removing lchan usage from MSC code paths.Holger Hans Peter Freyther1-1/+1
2010-03-25lchan: Change transaction to work on the GSM Subscriber ConnectionHolger Hans Peter Freyther1-4/+4
Change the MSC transaction code to operate on a GSM Subscriber Connection instead of the lchan. This will help us to separate the two commands properly.
2010-03-25lchan: Create a structure for MSC data of the lchanHolger Hans Peter Freyther1-27/+36
Prepare to split the BSC and the MSC part by putting the MSC data for a connection into a "gsm_subscriber_connection" struct and renaming the macros.
2010-03-22GPRS: make NSEI configurable from VTYHarald Welte1-0/+1
2010-03-22GPRS: make NSVC parameters VTY-configurableHarald Welte1-0/+4
2010-03-22Create new gprs-conf branch with the non-SGSN part of the gprs branchHarald Welte2-0/+14
This new gprs-conf branch is intended to contain everything needed to configure GPRS in the nanoBTS, but without implementing the SGSN/GGSN functionality. The SGSN/GGSN development will happen in a branch based on this branch called "gprs-sgsn"
2010-03-22ipa-firmware: Write the firmware parts to a fileHolger Hans Peter Freyther1-0/+1
The first non working version to dump the content of the sdp to the terminal..
2010-03-22ipa-firmware: Remove the part_length from the struct sdp_firmwareHolger Hans Peter Freyther1-2/+1
* The length of the table is not at a fixed position. We will need to read the offset, seek there, read the data, convert it to the host endianes. * Prepare the code to work with offsets of 0...
2010-03-07move large parts of mncc.h and gsm48 encode/decode into libosmocoreHarald Welte1-63/+1
2010-03-04decleare gsm_bts_model_register()Harald Welte1-0/+2
2010-03-04move some gsm48 utility functions to libosmocoreHarald Welte2-9/+0
* gsm48_generate_lai() gsm48_generate_mid_from_tmsi() gsm48_generate_mid_from_imsi() * gsm48_cc_msg_names[]