aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2010-01-13[mgcp] Rename rtp and rtcp variables to net_rtp and net_rtcpHolger Hans Peter Freyther1-11/+11
Rename the variables to refer to the fact that they are the ports of the remote. So we have: rtp_port as the local address we are binding to net_rtp for the network rtp bsc_rtp for the bsc rtp
2010-01-13[mgcp] Make it possible to not specify a bts ipHolger Hans Peter Freyther1-7/+8
This way the mgcp will allow anyone to be the BTS.. in the future we might need to communicate things properly between BSC and MGCP.
2010-01-13[nat] Use the right len for the packages..Holger Hans Peter Freyther1-2/+2
2010-01-13[sccp] Add a utility for the nat..Holger Hans Peter Freyther2-0/+14
Add a small helper to determine the type of a message
2010-01-13[nat] Really forward the data to the BSCHolger Hans Peter Freyther1-0/+1
2010-01-13[nat] Make sure the ipaccess_bsc_cb will be called..Holger Hans Peter Freyther1-0/+1
2010-01-13[nat] Unregister the fd before leaving..Holger Hans Peter Freyther1-0/+1
2010-01-13[nat] First code to simply forward data from the MSC to the real BSCHolger Hans Peter Freyther1-0/+97
First code to simply forward the data, no filtering or patching is in place. This will need to happen soon.
2010-01-13[ipaccess] Create a method to send the ID ACK messagesHolger Hans Peter Freyther2-1/+8
2010-01-12[nat] Turn off compiler warning...Holger Hans Peter Freyther1-0/+1
2010-01-12[nat] Security will become important at some point...Holger Hans Peter Freyther1-0/+1
2010-01-12[nat] Start to listen for the incoming BTSHolger Hans Peter Freyther1-1/+74
2010-01-12[nat] Connect to the MSC like the real BSCHolger Hans Peter Freyther1-0/+107
Use the connect_to_msc method to connect to the MSC and create structure to handle and forward messages to the real BSC.
2010-01-12[bsc_msc] Move the connect to the MSC routine into a new fileHolger Hans Peter Freyther5-49/+109
2010-01-11[bsc-nat] Start with a simple NAT/MUX for a BSCHolger Hans Peter Freyther2-1/+119
Harald actually pointed out that this feature is just NAT. We want to connect n-real BSCs to one BSC Mux. We will talk the ip.access protocol and SCCP over of this link. The mux will drop certain GSM messages (like the reset), it will replace source local reference (NAT functionality) and it will handle some GSM08.08 specially. Get the thing started...
2010-01-08[on-waves] Use a default rtp_base_port, write it out in the configHolger Hans Peter Freyther3-1/+3
Currently "write memory" will not store the rtp_base_port of the network. Fix that by writing it out in write_net. Also set it to 4000 by default in the MGCP and in the BSC.
2010-01-07Tag on-waves 0.2 releaseon-waves/0.2Holger Hans Peter Freyther1-1/+1
2010-01-07[bssap] Return u_int16_t from the get_*_code methodsHolger Hans Peter Freyther1-4/+4
The LAI generation wants to have 16bit unsigned, just keep them like this already. This means the int32_t will be truncated inside the get_*_code methods which is better than doing it somewhere else.
2010-01-07[bssap] More brown paper... Make variables really signedHolger Hans Peter Freyther1-2/+2
-1 is assigned in case the variables are not set. This means it must be a signed type (as the comment says), now really use a signed type.
2010-01-07[bssap] Fix brown paper bag... Keep the air id ...*sigh*Holger Hans Peter Freyther1-2/+2
We want to use the real number on the Um... Using the core network code is totally wrong in this scope...
2010-01-07[bssap] Allow to use a different country code tooHolger Hans Peter Freyther4-16/+42
* Be able to have a country code in the air but use a different country code when talking to the core network. * Now both country and network code can be different on air and on the MSC communication.
2010-01-06[rsl] Partial revert of the GSM speech mode for the nanoBTSHolger Hans Peter Freyther1-23/+3
This is partially reverting 0603c9d9e58b5d29105361a89ab8cb295da29366, it is true that the ip.access Wireshark dissectors differentiate TCH/H from TCH/F but in my test I'm unable to send RTP on to the BTS. It might be that the RTP payload provided in the MDCX is not the one it will accept with the 0x05 mode. More work needs to be done to understand this, that is the reason it is comitted to the on-waves's branch instead of master.
2010-01-05[bsc_msc_ip] Turn the MNC hack into a config optionHolger Hans Peter Freyther4-6/+37
* Make it possible to have a different MNC in the RSL traffic than in the core network. * Introduce the "core network code NUMBER" variable. If it is set this network code will be used in traffic with the MSC. * Use the core_network_code number when sending a packet to the MSC * Regenerate the LAI (this is where I could have a bug) when sending packets to the BTS. * Add size checks. This is not tested, I might got something wrong.
2010-01-05[bsc_mgcp] Set the right remote rtp and rtcp portHolger Hans Peter Freyther1-0/+2
* It is the same as local endpoint port
2010-01-05[bsc_mgcp] Fix writing of the config file...Holger Hans Peter Freyther1-0/+2
* Add the new forward audio option
2010-01-05[bsc_mgcp] Print a message which mode is configuredHolger Hans Peter Freyther1-0/+4
2010-01-05[bsc_mgcp] Add a new forward only mode to the bsc_mgcpHolger Hans Peter Freyther1-25/+61
With forward IP in the config and early bind on we will simply forward RTP data on the endpoints from BTS to the forward IP address. This is implemented by disabling MGCP functionality when a forward IP address was specified, setting the forward IP in the endp->remote and assigning a ci != CI_UNUSED. Early bind will make sure the sockets are created, the BSC FD's are registered and then the normal dispatch code will do the forwarding.
2010-01-05[bssap] Set the right GSM08.08 speech version indicatorHolger Hans Peter Freyther1-6/+13
* For half rate we also need to set the 3rd bit to one * See GSM08.08 §3.2.2.51 and then §3.2.2.11
2009-12-22[misc] Move handover into libmsc.aHolger Hans Peter Freyther1-3/+4
Handover is a high level decision, it can span multiple BSCs and belongs mostly into the MSC domain.
2009-12-22Merge commit 'origin/master' into on-waves/bsc-masterHolger Hans Peter Freyther58-936/+4372
Conflicts: openbsc/include/openbsc/Makefile.am openbsc/include/openbsc/gsm_data.h openbsc/src/Makefile.am openbsc/src/abis_rsl.c openbsc/src/chan_alloc.c openbsc/src/gsm_04_08.c openbsc/src/gsm_data.c openbsc/src/vty_interface.c The biggest problem is the moving of the RTP code into the RSL layer. This may break quite some things...
2009-12-22[misc] Move rtp_proxy.c into the libbsc.cHolger Hans Peter Freyther1-2/+2
For the time being RSL has to know about Layer4 and upwards and is using the RTP socket class....
2009-12-22[gsm48] Move gsm48_parse_meas_rep to gsm_04_08_utilsHolger Hans Peter Freyther2-68/+69
Move the function over to the _utils side as handover measurement is compiled into libbsc and we don't want to end up with linking errors.
2009-12-22keep some internal statistics inside OpenBSCHarald Welte8-1/+128
the statistics will give us some idea about the network load and performance.
2009-12-21it's LOGL_ERROR, not LOG_ERRORHarald Welte2-3/+3
2009-12-21[sms] bugfix: additional functionality indicator only appears in ↵Steffen Neubauer1-1/+2
TP_VPF_ENHANCED - not in TP_VPF_ABSOLUTE
2009-12-21make sure bootstrap_bts() only contains static initializationHarald Welte1-3/+5
values that might change at runtime are moved to set_system_infos() which we might now also call at runtime to update the BTS with changes in the SI
2009-12-21remove duplicate flag for cell barringHarald Welte3-7/+4
it's sufficient if we keep the state of cell barring in one place
2009-12-21ipaccess: Fix two minor bugs regarding multi-TRX setupHarald Welte1-2/+3
we need to set newbfd->priv_nr to 2+trx_id, rather than keeping it '2' all the time, as it is used to look-up the e1i_ts when we receive a packet. A constant '2' would always match to TRX 0. we also need to keep one separate bit for each TRX state in order to properly generate the EVT_E1_TEI_UP event for trx > 0.
2009-12-21[gprs] SI 13 should only be generated on C0 (BCCH-carrying TRX)Harald Welte1-7/+8
2009-12-21fix crash in A-bis OML plugin in recent wireshark versionsHarald Welte1-8/+8
2009-12-21[abis] Do not access an array with N elements at index NHolger Hans Peter Freyther1-3/+3
Possible crash fixes by preventing accessing the array out of bounds.
2009-12-21[abis] Properly compare obj_inst->trx_nr to bts->num_trxHolger Hans Peter Freyther1-2/+2
* Use >= in this case as we start counting the trx from 0 * This is fixing a problem with multi trx config
2009-12-21make handover algorithm parameters configurable from VTYHarald Welte1-0/+65
2009-12-21[handover] Real handover algorithmHarald Welte5-27/+241
This implements the handover algorithm (and associated parameters) as described in Chapter 8 of the book "Performance Enhancements in a Frequency |Hopping GSM Network" by Thomas Toftegard Nielsen and Jeroen Wigard. The parameters such as averaging windows are configured in struct gsm_network. We keep some state to trakc up to 10 neighbors as they are being reported from the MS. This has so far only been tested in a network with two BTS that have each other as neighbor. Networks with morge neighbors might encounter bugs.
2009-12-21handover: set old channel to INACTIVE stateHarald Welte1-1/+4
After receiving the HANDOVER COMPLETE on the new channel, we mark the old channel as INACTIVE and try to release it ASAP.
2009-12-21RSL: keep track if a channel is active or notHarald Welte2-0/+19
This allows us to block packets that we have received after the channel is no longer being used. This is visible during handover, where we still receive a measurement report after the MS has switched to the new channel. This leftover measurement report then attempts to trigger another handover, which si bogus and will fail - and thus only consumes resources. With the new LCHAN_S_ACTIVE state, we can check for this when processing the measurement report.
2009-12-21meas_rep: utility function for processing of measurement reportsHarald Welte3-1/+142
This provides two functions: get_meas_rep_avg() to obtain the sliding window average of one particular field, and meas_rep_n_out_of_m_be() to check if at least N out of M measurments are >= BE.
2009-12-21Fix typo s/memcpy/memcmp in trau_frame.cAndreas Eversberg1-1/+1
2009-12-21chan_alloc: Delete T3101 on lchan_free as wellSylvain Munaut1-0/+1
If a RF channel is assigned but no response is ever heard from the phone, we will receive a CONNECTION FAIL from the BTS, triggering a RF release freeing the channel. Then sometime later, T3101 will expire as well and free the channel again ... Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-21[db] Fix queries for unsent SMSSylvain Munaut1-3/+5
- Need to use sms.id for the ORDER BY since 'subscriber' also has 'id' - Need to add the join clause between 'SMS' and 'subscriber' - Add a LIMIT 1 (probably no impact for the db size we're dealing with here, but with large DB and mysql/postgresql this can help the planner) - (fix a wrong comment in passing ...) Signed-off-by: Sylvain Munaut <tnt@246tNt.com>