aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
AgeCommit message (Collapse)AuthorFilesLines
2012-12-19abis: Create a routine that can parse all SW Descriptions of a SW ConfigHolger Hans Peter Freyther1-0/+15
Be able to parse the entire SW Config IE. Parse the SW Descruption into a struct provided by the caller.
2012-12-16mgcp: Allow to freely control the a=fmtp line for experimentsHolger Hans Peter Freyther2-0/+3
In case of AMR one can specify the available codecs out-of-band. Allow to configure this line statically in the configuration file.
2012-12-10mgcp: Test and implement re-transmission handlingHolger Hans Peter Freyther2-1/+5
MGCP is used over UDP and a response might be lost. The MGCP RFC asks for keeping a list of responses and then using the previous response to answer a duplicate request. I tried to conserve memory and just wanted to remember the last transaction identifier and result-code and re-generate the result from that. This made the code look bad and this is why the entire response will now be stored. It sadly increases the memory usage but can not be avoided at this time. Remove the msg->l3h pointer for the RQNT callback as strtok has modified the content of it.
2012-12-10mgcp: Methods generating a response now include the endpoint pointerHolger Hans Peter Freyther1-1/+0
This is required for remembering the last result in a central place and is required to properly implement detection of re-transmissions.
2012-12-03bsc: Send the USSD message after the location updating accept.Holger Hans Peter Freyther2-2/+5
Make sure to accept the phone first before sending the USSD message.
2012-12-01sms: Kill the linkid as we are using SAPI=3 all the timeHolger Hans Peter Freyther1-2/+0
For GSM (not GPRS) we will never use a SAPI!=3. Simplify the code and remove the link_id=0.
2012-12-01sms: Replaced the SMR process by new implementation in libosmocoreAndreas Eversberg1-2/+2
Rebased, tested and fixed by Holger Freyther. Release the transaction only once the SMC is asking for the release and set the cb's to NULL to catch a use after free early.
2012-12-01sms: Replaced the SMC process by new implementation in libosmocoreAndreas Eversberg1-3/+3
This has been rebased and fixed by Holger Freyther. The change of the debug area was split out in a previous commit and the is_mt was put back into the transaction code. The transaction is now freed from the RELEASE_REQ sent by the SMC layer and not inside the error path. When clearing the SMC instance we also clear the callbacks.
2012-12-01nitb: Release the channel if there is nothing on itHolger Hans Peter Freyther1-0/+1
This is more a work around and one still needs to implement a proper dispatch on the opening of the connection. If there is no operation left, no transaction and no silent call, close down the channel.
2012-11-29mgcp: Begin handling of the RQNT message as needed for DTMFHolger Hans Peter Freyther1-2/+4
Introduce a callback for the request and forward the signalrequest to the callback. This is not a full implementation of MGCP RQNT.
2012-11-24SMPP: add small utility program 'smpp_mirror'Harald Welte1-3/+1
This program binds as ESME transceiver to a SMSC and simply mirrors back all SMS that it receives.
2012-11-24SMPP: Implement support for MO SMSHarald Welte1-0/+8
Each ESME can have a number of prefix-matching routes, or it can be a 'default route' to whcih all otherwise unknown SMS destinations are routed.
2012-11-24SMPP: VTY configuration of SMPP code, authentication supportHarald Welte1-0/+2
2012-11-21sms: Use the DLSMS instead of the DSMS category throughout our codeHolger Hans Peter Freyther1-1/+0
2012-11-16SMPP: Implement transaction mode for SUBMIT-SMHarald Welte1-0/+17
WARNING: if the ESME disconnects, osmo_esme gets freed, and sms->smpp.esme might point to invalid/unallocated memory!
2012-11-16Initial support of SMPP interface for MT-SMSHarald Welte1-0/+1
2012-11-12nat: Move the ctrl handling code into a separate fileHolger Hans Peter Freyther1-0/+4
Move to the control command handling out of the main file into a dedicated module. There are still some calls embedded into the main code but it will be moved soon.
2012-11-12mgcp: Send the jitter statistics at the end of the callHolger Hans Peter Freyther1-0/+1
2012-11-12mgcp: Calculate the jitter with the formula/code from the appendixHolger Hans Peter Freyther1-0/+2
Use a usec timestamp for the local time. The seconds to usec will swap over to the lower bits but this appears to be correct. The CLOCK_MONOTONIC is used to fulfill the RFC 3550 requirement even if it is a bit slower than the gettimeofday. Make sure to initialize transit in a way that the first transit time will be 0. Otherwise the jitter will contain the difference of the localtime and the remote time.
2012-11-12mgcp: Calculate the packet loss as of Appendix A of RFC 3550Holger Hans Peter Freyther1-2/+5
Calculate the expected packages and packet loss as of RFC 3550. The values should be clamped but our packet loss counter is 32 bits and not 24 and we should clamp at other values but I am waiting for some issues first before dealing with that.
2012-11-12mgcp: Calculate the wrap around as of Appendix A in RFC 3550Holger Hans Peter Freyther1-0/+1
This is missing the probation and the dealing with a remote restart. For the remote restart we will simply write a log statement as this is unlikely to happen during a call or if it does happen the call will be taken down by the BSC anyway.
2012-11-12mgcp: Align the variable naming with Appendix A of RFC 3550Holger Hans Peter Freyther1-2/+4
Align the naming inside the mgcp_rtp_state with the naming inside the 'source' struct of the appendix. Make first_seq_no/base_seq a uint16_t. This is removing rules for alignments and reduces the struct from 40 bytes to 36.
2012-11-12mgcp: Include statistics at the end of a connectionHolger Hans Peter Freyther1-0/+1
Follow the MGCP specification and send the collected statistics at the end of a call. Right now this does not include jitter, packet loss and delay.
2012-11-12mgcp: Remember the initial sequence number of the streamHolger Hans Peter Freyther1-0/+1
This information is required for calculating the packet loss at the end of a phone call.
2012-11-12mgcp: Count the received octets as of the MGCP specificationHolger Hans Peter Freyther1-0/+1
Count the received octets. This is encouraged by the MGCP specification. Use a 32bit counter that is good enough for more than 12 hours of a EFR call. This limit is good enough for the current configuration.
2012-11-12mgcp: Remove the lost_no from the mgcp statisticsHolger Hans Peter Freyther1-1/+0
The RFC 3435 specifies a different formula for calculating the lost packages. It involves the number of received packages and the delta of the sequence number.
2012-11-11bts: Really drop the BTS in case of an OML NACKHolger Hans Peter Freyther1-0/+1
The previous code didn't work as expected. The trx and dst pointer are located in an union and in the case of the Abis code the dst is used to point to the signalling link timeslot and not the TRX. The is_ipaccess_bts always returned false because the dst was casted to a trx while it was no trx. This fix was tested with the nack_test/NACKTest.st of the test repo.
2012-10-22si: Partially implement the range encoding for the SI.Holger Hans Peter Freyther2-1/+28
I saw the old copy of the "Appendix J" code too late and I have discovered some quirks and I am more familar with my implementation. Most noticable 'w' only needs to be as big as the input arfcn but requires the 'w' to be initialized. The power_of_2 implementation differs as well (mine matches the output of wirehsark). The f0 could be chosen in a better way but right now picking the lower bound is the easiest. It is not clear if to use modulo if the range is chosen in the middle. This can be improved in the future. Right now I have no bit fiddling for range128, 256 and 1024 as I was running out of time.
2012-09-11bsc: Look for CM Service Requests with emergency causeHolger Hans Peter Freyther1-0/+1
Look for emergency calls and send them to a MSC that can handle them properly.
2012-09-11bsc: Introduce a local MSC type and forbid it from being selectedHolger Hans Peter Freyther1-0/+7
2012-09-11bsc: Hand the msc_connection to the UDT handling, pass it to pagingHolger Hans Peter Freyther1-1/+1
Pass the osmo_msc_data to the paging sub system, change the code to pass the osmo_msc_data instead of network + bsc_msc_conn.
2012-09-11bsc: Move the finding of a MSC into the filter codeHolger Hans Peter Freyther1-0/+1
For responding to paging on the right link we will need to figure out if the msg is a paging response.
2012-09-11bsc: Select a MSC in a round-robin fashionHolger Hans Peter Freyther1-1/+2
Select a MSC, add it to the back of the list after we have selected it.
2012-09-11bsc: Allow to configure more than one MSC in the VTYHolger Hans Peter Freyther1-0/+1
2012-09-11libctrl, osmo-bsc: Get rid of net prefixDaniel Willmann1-1/+0
net is now implicit in the root node
2012-09-11osmo-bsc: Include rf statistics in the location-state TRAP as wellDaniel Willmann1-0/+25
The first fields are still the location up to the height. The next field is "operational" if any of the trx are operational, otherwise "inoperational" The second to last field contains "locked" if all of the trx are in the admin state, otherwise "unlocked". The last field represents the rf policy currently in effect. It is one of (on|off|grace|unknown). <tstamp>,<valid>,<lat>,<lon>,<height>,<oper>,<admin>,<policy>
2012-09-11gsm_data: Include a structure for the geographical location in gsm_btsDaniel Willmann1-0/+18
2012-09-11ctrl: Improve error handling if controlif setup failsDaniel Willmann1-1/+1
2012-09-11osmo-bsc: Put the control commands in osmo_bsc_ctrl.cDaniel Willmann1-0/+1
2012-09-11libctrl: Add function ctrl_cmd_send_to_allDaniel Willmann1-0/+3
Sends a command to all ctrl connections except the one it originated from.
2012-09-11libctrl: Add trap helper functionDaniel Willmann1-0/+1
2012-09-11libctrl: Change controlif_setup so it returns the ctrl handleDaniel Willmann4-2/+15
nat: Catch up with controlif_setup API change We now save a control handle reference in the nat osmo-bsc: Catch up with controlif_setup API change We now save a control handle reference in the gsm network
2012-08-29RSL: Add basic support for CSD transparent modeHarald Welte1-0/+13
We now have a lchan->csd_mode member that determines if RSL should activate the channel in CSD transparent services or not. The previous code always assumed CSD is non-transparent. (This requires libosmocore >= eed26116c96f03c6128fac3dead9054714af6cab)
2012-08-17VTY: dynamically create BTS "type" command syntaxHarald Welte2-0/+4
2012-08-17dynamically generate a proper VTY reference for phys_chan_configHarald Welte1-0/+4
this uses vty_cmd_string_from_valstr() from _very_ recent libosmocore, so you have to update the library, sorry.
2012-08-14abis_nm: Add function abis_nm_get_attr() to get attributes from BTSHarald Welte1-0/+3
2012-07-12move BTS-specific timezone override into sub-structureHarald Welte1-3/+5
Group all three structure members involved in bts-specific timezone handling into a sub-structure.
2012-07-02BSC: introduce new "sysmobts" BTS modelHarald Welte3-0/+4
so far, osmo-bts/sysmobts used to be entered as "sysmobts" type in the configuration file. However, there are some differences in the protocol/behaviour and we should reflect that by a new BTS plugin (with lots of code reuse from the nanobts driver).
2012-06-28gsm_data_shared: add structure for decoded parameters of RLC configHarald Welte1-0/+45
this is primarily needed on the BTS side, but we should also use it on the BSC side and make the parameters VTY-configurable.
2012-06-17use new external libosmogb (part of libosmocore.git)0.12.0Harald Welte10-637/+1
This removes the libgb (GPRS NS/BSSGP) code from the openbsc.git repository and uses the new version from libosmocore.git instead.