aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-07-27debian: Update changelog to 0.14.0-fw.1fairwaves/0.14.0-fw.1Ivan Kluchnikov1-0/+7
2015-07-27utils: 'meas_json' utility to convert measurement feed into a JSON feed.Alexander Chemeris3-1/+175
2015-07-22sub: Add the ability to set prefix for randomly generated extensionsIvan Kluchnikov7-13/+33
Prefix is added before randomly generated extension. Prefix is useful in case of "accept-all" authentication mode is used and routing based on number prefix is used. Added optional configuration parameter "extension-prefix".
2015-07-22debian: osmocom-meas-utils should not depend on -dev packagesIvan Kluchnikov1-2/+2
2015-05-30libbsc: Update a BTS's SIs when ms_max_power is changed from VTY.Alexander Chemeris1-0/+8
Otherwise you have to restart BTS or at least break the RSL connection to apply the change.
2015-05-30libbsc: Abstract out SIs update/generation for a BTS into a separate function.Alexander Chemeris3-14/+28
The code to do that doesn't belong to the control interface, so abstract it out to a separate function gsm_bts_set_system_infos().
2015-05-30debian: Add osmocom-meas-utils packageIvan Kluchnikov3-2/+21
2015-05-27libmsc: Update 'max_power_red' VTY command.Alexander Chemeris1-9/+24
Changes: * Apply change even if the supplied value is odd, just warn that it is rounded. * Apply change even if the supplied value is higher than the 24dB maximum suggested by the standard, just warn about this. * Apply change to the BTS over OML immediately.
2015-05-27debian: build only osmo-nitb packageIvan Kluchnikov3-99/+3
- enable smpp support - disable the gbproxy test (failing)
2015-05-26gsm_04_08: Use osmo_assert for transt->conn and conn only in case of paging ↵Ivan Kluchnikov1-3/+2
succeeded setup_trig_pag_evt function can receive parameter conn = NULL, if T3113 expires.
2015-05-26osmo-nitb support for codec negotiationAndreas Eversberg5-71/+111
The caller's most preferred codec is selected out of the union of codecs, which both parties support. Since codec negotiation is done automatically, there is no need to define codec for TCH/F and TCH/H via VTY anymore. Conflicts: openbsc/src/libmsc/gsm_04_08.c openbsc/src/libmsc/vty_interface_layer3.c
2015-05-26If requested TCH/H channel is not available, try assigning TCH/FAndreas Eversberg1-0/+10
If MNCC application requests a half rate channel, the channel might not be available, due to different cell configuration, so the full rate channel is used instead.
2015-05-26Fix: If paging for half rate was requested, use hr, if supported by MSAndreas Eversberg1-1/+1
2015-05-26Add full AMR multirate IE support with VTY config for MS and BTS sideAndreas Eversberg9-42/+474
Conflicts: openbsc/include/openbsc/gsm_data_shared.h openbsc/src/libbsc/bsc_vty.c openbsc/src/libbsc/chan_alloc.c
2015-05-26Drop bad speech frames rather than forwarding them via RTPAndreas Eversberg1-0/+9
Some RTP endpoints may not check for bad frame indications, so a frame that is marked as bad may be still forwarded, which creates anoying noise. This patch drops these frames. It depends on the other RTP endpoint how dropped frames are handled. (insert silence, extrapolate speech...)
2015-05-26Add check for non existing lchan at tch_frame_down()Andreas Eversberg1-0/+4
Traffic cannot sent to BTS, if there is (currently) no logical channel associated with the transaction. This happens, if TCH traffic is received from upper layer, but there is no lchan available before completing immediate assignment, handover or assignment process.
2015-05-26Send RADIO LINK TIMEOUT value via OML attribute to BTSAndreas Eversberg1-0/+4
The same radio link timeout value is used for BTS and MS side.
2015-05-26Add option to set RADIO LINK TIMEOUT value via VTYAndreas Eversberg4-3/+33
2015-05-26Allow dynamic RTP payload types between application and MNCC interfaceAndreas Eversberg4-18/+46
Since EFR/AMR/HR codecs use dynamic RTP payload, the payload type can be set. If it is set, the frame type must be set also, so OpenBSC knows what frame types are received via RTP. This modification only affects traffic beween application and MNCC interface, not the RTP traffic between OpenBSC and BTS. Conflicts: openbsc/src/libtrau/rtp_proxy.c
2015-05-26Add traffic forwarding via RTP to remote applicationAndreas Eversberg15-43/+253
Instead of forwarding traffic through MNCC interface, traffic can be forwarded to a given RTP peer directly. A special MNCC message is used to control the peer's destination. The traffic can still be forwarded through MNCC interface when this special MNCC message is not used. It also works with E1 based BTSs. In conjunction with LCR's "rtp-bridge" feature, the RTP traffic can be directly exchanged with a remote SIP endpoint, so that the traffic is not forwarded by LCR itself. This way the performance of handling traffic only depends on OpenBSC and the remote SIP endpoint. Also the traffic is exchanged with the SIP endpoint without transcoding, to have maximum performance. Increment MNCC version to 5. Conflicts: openbsc/tests/gbproxy/gbproxy_test.c
2015-05-05Merge branch 'zecke/features/gprs-gsup-fixes'Holger Hans Peter Freyther11-10/+170
When communicating with a GGSN that is not the OpenGGSN the PDP context activation does fail. This is because on the activation of the first PDP context we need to supply a MSISDN. Extend the protocol, parse the MSISDN and then send it to the GGSN. The second item is that we have only forwarded the requested QoS of the subscriber. In most cases this is 0x0, 0x0, ... which means one requests a rate 0 byte/sec which the GGSN will not allow. Make it possible to receive, store and use the subscribed QoS of the Subscriber.
2015-05-05sgsn: Show the QoS that has been assignedHolger Hans Peter Freyther1-1/+2
2015-05-05sgsn: Dump the E164 (encoded) assigned to the subscriberHolger Hans Peter Freyther1-0/+5
2015-05-05sgsn: Handle different levels of QoSHolger Hans Peter Freyther1-5/+12
If QoS is only three bytes it does not include the allocation/ retention policy. Otherwise it does. Copy it depending on that. We should have a macro for the clamping to reduce code duplication. The insanity does come from the MAP data and this seems to be the easiest in terms of complexity. It is an array of bytes that is transported from MAPProxy to the SGSN and then simply forwarded. The case of more than three bytes is neither unit nor manually tested so far.
2015-05-05sgsn: Store subscribed QoS and attempt to use itHolger Hans Peter Freyther5-4/+41
sgsn_create_pdp_ctx should use the subscribed QoS. When selecting the PDP context we inject the QoS to be used into the TLV structure and use it during the request. Assume a "qos-Subscribed" structure only with three bytes and prepend the Allocation/Retention policy to the request.
2015-05-05sgsn: Copy the msisdn to the sgsn_data and use it in PDP activationHolger Hans Peter Freyther4-2/+36
The MSISDN should be present for "security" reasons in the first activation of a PDP context. Take the encoded MSISDN, store it for future use and then put it into the PDP activation request. The MM Context contains a field for a decoded MSISDN already. As we need to forward the data to the GGSN I want to avoid having to store TON and NPI in another place. Simply store the data in the encoded form.
2015-05-05gsup: Extract the QoS fieldHolger Hans Peter Freyther3-1/+15
Add roundtrip test for the new QoS IE. It will be consumed in later commits.
2015-05-05gsup: Extract the new MSISDN stringHolger Hans Peter Freyther3-0/+17
Extract the new MSISDN IE from the GSUP message and verify that it is read/written to the message.
2015-05-05gsup: Specify the QoS service for the PDP infoHolger Hans Peter Freyther1-0/+22
QoS is a mess. In MAP there is qos-Subscribed which is then extended using ext-QoS-Subscribed, ext2-QoS-Subscribed, ext3-QoS-Subscribed and maybe even ext4-QoS-Subscribed by now. The MAP ASN1 files defined how these need to be "linearized". Instead of copying this I have decided to include the two semantics with/without the Allocation/Retention policy using the size of the data.
2015-05-05gsup: Document passing MSISDN as part of the responseHolger Hans Peter Freyther1-0/+23
When asking the GGSN to create/open a PDP context one needs to send a MSISDN. The MSISDN can only be provided through the GSUP interface.
2015-05-03Merge branch 'zecke/features/acc-list'Holger Hans Peter Freyther28-713/+1098
Integrate the change and see how it is going. The unit tests for the NAT look good so we might not have regressions.
2015-05-03bsc: Send a LU Reject in case it has been filteredHolger Hans Peter Freyther1-8/+42
In case we filter the request and it was a Location Updating Procedure we should reject it.
2015-05-03bsc: Add access list filtering to the BSCHolger Hans Peter Freyther4-4/+63
2015-05-03bsc: Add access lists to the MSC and the BSCHolger Hans Peter Freyther6-2/+84
It is a bit arbitary to decide which one is the global and which one is the local one. We might change it around. I don't think we want to introduce it based on BTS.
2015-05-03filter: Move the con_type into the filter_stateHolger Hans Peter Freyther11-52/+54
2015-05-03filter: Move from DNAT to DFILTER categoryHolger Hans Peter Freyther3-12/+18
2015-05-03filter: Remove bsc_connection from the filter APIHolger Hans Peter Freyther3-37/+37
Remove the last occurence of NAT datastructures in the filtering module and add the ctx to the filter request structure.
2015-05-03filter: Remove nat_sccp_connection from public APIHolger Hans Peter Freyther7-27/+35
2015-05-03filter: Remove the bsc_connection from the internal functionsHolger Hans Peter Freyther1-6/+6
2015-05-03filter: Put all the parameters in a struct to avoid order issuesHolger Hans Peter Freyther1-19/+31
With the "local" and "global" list name we might pick the wrong argument. Avoid it by passing them as a struct.
2015-05-03filter: Remove NAT knowledge from auth_imsiHolger Hans Peter Freyther1-8/+17
Push back the parameters we need to pass. auth_imsi doesn't know anything about the nat now.
2015-05-03filter: Separate SCCP/BSSAP extraction and gsm48 codeHolger Hans Peter Freyther6-57/+130
For the BSC we will have the gsm48_hdr and don't need to find data within SCCP. For legacy reasons we need to initialize con_type, imsi, reject causes early on and need to do the same in the filter method.
2015-05-03filter: More renaming and remove of "NAT" from itHolger Hans Peter Freyther5-41/+41
2015-05-03filter: Rename BSC to LOCAL and NAT to GLOBALHolger Hans Peter Freyther3-6/+6
2015-05-03filter: Remove nat from bsc_nat_acc_lst and replace with msgHolger Hans Peter Freyther9-63/+63
2015-05-03filter: Cease out "struct bsc_nat" from the APIHolger Hans Peter Freyther7-26/+24
This means we need to require a talloc context and simply operate on the list. I had considered creating a structure to hold the list head but I didn't find any other members so omitted it for now.
2015-05-03filter: Move VTY code into the filter moduleHolger Hans Peter Freyther4-111/+149
2015-05-03filter: Move the access list management aroundHolger Hans Peter Freyther6-97/+128
2015-05-03filter: Move the method definition to the filter moduleHolger Hans Peter Freyther9-59/+80
Move the filter methods to the filter module. This is still only usable for the NAT and the _dt/_cr filter routines need to move back to the bsc_nat in the long run.
2015-05-03filter: Move the gsm 04.08 filter to a common placeHolger Hans Peter Freyther6-4/+16
For customer requirements we want to be able to do filtering on the BSC as well. The same messages need to be scanned and the same access-lists will be looked at. In the future we might even split traffic based on the IMSI. Begin with moving the code to a new top level directory and then renaming and removing the nat dependency.