aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
AgeCommit message (Collapse)AuthorFilesLines
2010-09-15bsc: Create struct osmo_msc_data to hold MSC information, handle signalsHolger Hans Peter Freyther3-2/+39
2010-09-15nat: Start inspecting every message coming from the BSC for the IMSIHolger Hans Peter Freyther1-0/+2
Return early in case the IMSI was already checked, if not we need to look at the connection and check if the message could contain a imsi we want/need to filter.
2010-09-15nat: Remember if we have check the imsi.Holger Hans Peter Freyther1-0/+1
Return -1 if the IMSI should be filtered, 0 if the IMSI could not be checked and 1 if the IMSI was checked and allowed to pass. In the future this will be used to inspect every message coming by.
2010-09-06[paging] Only page if we have some free channels right nowHolger Hans Peter Freyther1-0/+3
Only page if we have a load that is acceptable for paging. This option is off by default, and can be enabled per bts. The idea is that when we have no resources right now we will not page as it will only create more RACHs and increase the load. By default we are keeping the old behavior to always page and only by changing a setting one is using the new behavior.
2010-09-06[paging] When we ran down to 0 available paging slots start a credit timerHolger Hans Peter Freyther1-0/+1
It might be that we run down to zero available slots but the BTS might not send us a load indication. This can happen if we think we send paging requests and the BTS disagrees and considers them as errors and does not count the paging message. When we drop to zero we will start a credit timer to give us extra credit after six seconds, if we get a CCCH load indication before we will stop the timer.
2010-09-06chan: Add configuration to handle paging any with TCHHolger Hans Peter Freyther1-0/+3
It is possible that the MSC is not sending the channel type it needs for the operations it wants to do. Add a configuration option to assign a TCH in case of paging any requests. It can be a good idea to leave SDCCHs free for location updating requests and use the TCH for SMS-MT and CC-MT.
2010-09-06chan: Store the to be assigned channel type in the GSM Network.Holger Hans Peter Freyther2-2/+5
Store the mapping from request to channel type in the GSM Network struct as there is some policy involved with handling the request. E.g. in a half rate network we don't want emergy calls to be getting a TCH/F, or we want to have a different policy for early/late assignment of phone calls. Update the table when creating the network and when the neci is changed.
2010-09-06bsc_init: Allow DTXu and enable DTXd on RSL (experimental)Holger Hans Peter Freyther1-0/+4
Allow the MS to use uplink discontinous transmission by setting the right bit in the SystemInformation and set DTXd/DTXu on the RSL channel commands. This is configurable via dtx-used (0|1) on the network level and still considered as experimental.
2010-09-06[alloc] Assign a TCH for LU when all SDCCHs are occupied.Holger Hans Peter Freyther1-1/+1
When the cell becomes visible we will be bombed with location updating requests and to reduce the load on the network we should assign as many channels for it as possible. During load peek it is even more important than to have a spare voice channel and in general the LU procedure is pretty fast.
2010-09-01nat: We have 1 to 31 available to the BSC.Holger Hans Peter Freyther1-1/+1
2010-08-30nat: Replace the MGCP Endpoint if that is requiredHolger Hans Peter Freyther1-1/+1
Add code to replace the Endpoint number for the mgcp.
2010-08-29nat: Attempt to assign the BSC Timeslot based on a free listHolger Hans Peter Freyther1-1/+5
Do attempt to not reassign an endpoint immediately but go to the next free one.
2010-08-29nat: Remove the CRCX value from the natHolger Hans Peter Freyther1-1/+0
Assume that if the MSC has assigned a timeslot/multiplex it will also be used for the MGCP. So we just assume that it was allocated on the BSC as well... in the worse case we will send a DLCX downstream but it should be fine.
2010-08-29nat: Make the code work in terms of endpoints instead of timeslot/multiplexHolger Hans Peter Freyther1-3/+6
We are going to have more than one trunk, so all code hardcoding the multiplex to zero must go. Avoid this kind of problem by saving the MGCP endpoint number and comparing that.
2010-08-29mgcp: Add method to go back from endpoint to multiplex/timeslotHolger Hans Peter Freyther1-0/+9
2010-08-29mgcp: Speculative mgcp fix...Holger Hans Peter Freyther1-1/+1
We really have 32 channels per multiplex... so use the right number... or at least it seems we do have 32.
2010-08-26vty: Provide a is_config_node for the VTY and use it for the bscHolger Hans Peter Freyther1-0/+2
Right now only bsc_hack and osmo_bsc need to have a custom config handling as they use the subscr/oml nodes.
2010-08-06mgcp: Remember if the endpoint was allocated...Holger Hans Peter Freyther1-0/+1
Do not use the CI_UNUSED to decide if an endpoint is allocated but introduce a new flag. This way only the CRCX and free_endp play with the allocated field.
2010-08-06mgcp: Add a callback to inform the client that an endpoint got reallocatedHolger Hans Peter Freyther1-0/+2
2010-08-06nat: Keep the state (CRCX,MDCX,DLCX) of the operation..Holger Hans Peter Freyther1-0/+2
This will allow to have additional debug information and to use the state inside the forwarding code.
2010-08-06mgcp: Make the CI uint32_t all the way to avoid mismatchHolger Hans Peter Freyther3-3/+3
2010-08-06mgcp: Add a call tap feature to forward audio to another forward portHolger Hans Peter Freyther1-0/+18
For debugging it is useful to forward (tee) UDP packets to another system and use gstreamer to inspect the rtp stream. This is untested code and might contain bugs.... and of course only tap your own calls.
2010-08-05mgcp: Patch RTP packets again if that is allowed.openbsc/0.9.3Holger Hans Peter Freyther1-0/+3
2010-08-05mgcp: Allow to dynamically allocate ports from a range..Holger Hans Peter Freyther1-0/+2
Allow to switch to a dynamic port allocator and not reuse the ports for a long time... This should help with a crazy network sending two streams at the same time.
2010-08-05mgcp: Allow to have a different port allocation modeHolger Hans Peter Freyther1-0/+5
2010-08-05mgcp: Prepare to have different port allocation strategies.Holger Hans Peter Freyther1-2/+16
2010-08-05mgcp: Allocate a different port for the networking...Holger Hans Peter Freyther2-0/+3
Use the right source port when sending the message.
2010-08-05mgcp: Rename the base port to bts_base as it will be used for the btsHolger Hans Peter Freyther1-1/+1
2010-08-05mgcp: Move the bfd for rtp/rtcp into the portHolger Hans Peter Freyther1-8/+6
Stop using the memset in the mgcp_rtp_end_reset as we will reset the list pointers and then have a mess..
2010-08-05mgcp: Make the function internal, only used by the init/config codeHolger Hans Peter Freyther2-1/+1
2010-08-05mgcp: Rename the bind method to show it is only binding for the bts portHolger Hans Peter Freyther1-1/+1
2010-08-05mgcp: Only use early bind for the BTS socket.Holger Hans Peter Freyther1-1/+0
Simplify the code by onlt allowing one way to allocate a socket.
2010-08-05mgcp: Attempt to separate the RTP/RTCP port for the Network and for the BTSHolger Hans Peter Freyther2-4/+3
We plan to have two different ports for the network and for the BTS to avoid detecting the BTS and to dynamically allocate the port to have old data not go to a new socket.
2010-08-05mgcp: Group the state for bts/net into a struct and have two instancesHolger Hans Peter Freyther1-13/+14
Group the data that each end (network/bts) have into a struct and use this struct throughout the sourcecode.
2010-08-05mgcp: Remove the forwarding mode as it was not used.Holger Hans Peter Freyther1-3/+0
2010-08-04vty: Remove the logging command that is in libosmocoreHolger Hans Peter Freyther1-1/+0
2010-08-03mgcp: Only patch the header if we had a change in SSRCopenbsc/0.9.1Holger Hans Peter Freyther1-0/+1
2010-08-03mgcp: Allow switching the audio streams, patch the headerHolger Hans Peter Freyther1-0/+5
Patch the sequence number, the SSRC and the timestamp to allow to mix various voice streams, e.g. toggling the loop during the call.
2010-08-03mgcp: Move the rtp state into a structHolger Hans Peter Freyther1-4/+8
Use a struct to group the rtp state for the up and the down link of the bts.
2010-08-03Use new include paths of libosmo-sccp 0.0.2Harald Welte1-1/+1
2010-08-03mgcp: Allow to change the receive (the loopback part) via the VTYHolger Hans Peter Freyther1-0/+1
2010-08-03mgcp: Implement the "loopback" mode for a connection endpoint.Holger Hans Peter Freyther1-0/+9
2010-07-31nat: Fix compilation with nat not being enabled.Holger Hans Peter Freyther3-64/+95
common_vty.c was including bsc_nat.h which tried to get the sccp/sccp_types.h which is not required to be installed. Move all structs using/embedding SCCP structures into the bsc_nat_sccp.h and include. This should fix the compilation.
2010-07-31chan_alloc: Change Channel Release to release SAPIs, then the channelHolger Hans Peter Freyther2-0/+3
Currently every SAPI release indication will trigger the channel. It was possible that we had SAPI=3 and SAPI=0 allocated and we tried to release the channel by sending a RF Channel Release, the BTS answered with a RF Channel Release ACK but also sent the SAPI Release Indication which triggered a channel release here. So it was possible that we would have released a newly allocated channel because of the SAPI release of the old connection. This code now works by releasing all SAPIs from highest to lowest, then sending a SACH Deactivate and finally releasing the channel. This approach is in use on the on-waves/bsc-master.
2010-07-31sccp: Use the external libosmo-sccp as sccp implementationHolger Hans Peter Freyther4-600/+1
Add --enable-nat and --enable-osmo-bsc to build applications requiring the Osmo SCCP library to be installed. We are not using autodiscover as this is out of fashion.
2010-07-30[BSC] Add support for configfile-hardcoded System Information messagesHarald Welte1-0/+4
2010-07-30Add more RSL <-> Osmo SI type mappings, export osmo_sitype_strs[]Harald Welte1-0/+3
2010-07-29mgcp: Attempt to count missing RTP packets with a basic calculationHolger Hans Peter Freyther1-0/+6
This code compares the UDP sequence numbers of two RTP messages and guesses if packets are missing. It is guessing in two ways: 1.) by default the sequence number is 0, so on the first value we ignore the jump... we might ignore a real issue in case of a wrap around which is easily possible as the sequence should be a random number. 2.) the UDP stream might have been reordered on the network and we would see the jump... In any case these two shortcomings are acceptable for the feature that is meant to provide some basic analysis..
2010-07-29osmo_bsc_rf: Add a grace command, send a signalHolger Hans Peter Freyther1-0/+12
2010-07-27mgcp: Rename TOS to DSCPHolger Hans Peter Freyther1-1/+1
DSCP is the more modern information for TOS and the kernel will set parts of TOS by itself (e.g. for ECN).