aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-09-03debian: Update changelog to 0.15.1-fw.10fairwaves/0.15.1-fw.10fairwaves/master-rebaseIvan Kluchnikov1-0/+6
Change-Id: I90357438ec9941e354583b79a310be3505f3887d
2018-09-03gsm48_parse_meas_rep(): set num_cell=0 if no neighbor cells are reportedNeels Hofmeyr1-1/+4
Set mr->num_cell to 0 if the bits reflect 0x7, which means that no neighbor cell measurements are enclosed in the report. The code in gsm48_parse_meas_rep() acknowledges that, but nevertheless left num_cell == 7, and evaluating code commonly runs into the mistake of assuming that actually seven neighbors are being reported on, like: MEASUREMENT REPORT 0: arfcn=0 bsic=0 neigh_idx=0 rxlev=0 flags=0 1: arfcn=0 bsic=0 neigh_idx=0 rxlev=0 flags=0 2: arfcn=0 bsic=0 neigh_idx=0 rxlev=0 flags=0 3: arfcn=0 bsic=0 neigh_idx=0 rxlev=0 flags=0 4: arfcn=0 bsic=0 neigh_idx=0 rxlev=0 flags=0 5: arfcn=0 bsic=0 neigh_idx=0 rxlev=0 flags=0 6: arfcn=0 bsic=0 neigh_idx=0 rxlev=0 flags=0 There are only up to 6 slots for neighbors, the above listing actually printed 7, because num_cell == 7, which is a potential segfault. (sometimes it printed uninitialized values instead of 0) We could fix all meas rep consumers to know what num_cell == 7 means, but instead setting it to 0 trivially fixes all of them. Change-Id: If2da33915e9a5eba02e83fa5372908ab10044911
2018-09-03fixup: neigh_meas_avg: fix condition to reduce window sizeNeels Hofmeyr1-1/+1
Change-Id: I5b44758b84f9f8c088e38cc186575495bd9d05d4
2018-09-03fixup: neigh_meas_avg: detect invalid window size as <=0, log if invalidNeels Hofmeyr1-1/+3
Change-Id: I162eb751c36b4f3c959706df1c640c550742a95e
2018-09-03HO: Count neighbor measurements and reduce window of neigh_meas_avgAndreas Eversberg1-0/+8
Always start with a counter of 0 for a new measurement report. If the neigh_meas_avg is caluclated over the given window, the window is reduced, if there are less measurement reports received so far. Change-Id: If476838dc14729b894693f371e181ac657b84017
2018-05-21debian: Update changelog to 0.15.1-fw.9fairwaves/master-rebasefairwaves/0.15.1-fw.9Ivan Kluchnikov1-0/+6
Change-Id: I37eeeb0a9da6e466a307b9f5ade29561a435bc5f
2018-05-21sms charging: Implement SMS online ECUR charging based on 3GPP TS 32.274Ivan Klyuchnikov4-32/+378
Event Charging with Unit Reservation (ECUR) principle is used for SMS online charging in osmo-nitb. Osmo-nitb generates Reserve Units information which is transferred to OCS. For this purpose, osmo-nitb utilizes the Reserve Units procedure that is specified in TS 32.274 and TS 32.299. The Reserve Units procedure employs the Reserve Units Request and Reserve Units Response messages. Change-Id: I12b681f65cdcdb281da04b49a63ceb140be7e643
2018-05-21sms charging: Add socket for connection to OCS for sms chargingIvan Klyuchnikov2-0/+27
We use implementation of gsup client for this connection, but it makes sense to implement a separate client for these types of connection. Change-Id: I5089c2b68fd8c67dd838290256e677c213416d46
2018-05-21sms charging: Implement Session Id to support charging sessionsIvan Klyuchnikov5-0/+44
Session Id: - identify specific charging session - must be globally and eternally unique - h and l are decimal representations of the high and low 32 bits of a monotonically increasing 64-bit value Change-Id: I986d62c34be849f3911cf2e4c83ead0ac8044571
2017-08-23debian: Update changelog to 0.15.1-fw.8fairwaves/0.15.1-fw.8Ivan Kluchnikov1-0/+6
Change-Id: Ia6e53901efb6de4b60ff09ef2499594dc611bf1d
2017-08-23handover: Implement proper handover procedure handling at any stage of the callIvan Kluchnikov5-82/+199
Enhancements for each stage of handover procedure should be implemented in order to support handover at any stage of the call. For these purposes new in_handover state and ho_queue for call control messages was introduced for gsm_subscriber_connection. Stage 1: HO-Command is sent to MS gsm_subscriber_connection state should be changed to in_handover=1. In this state all transmission of signalling layer messages (except RR messages needed for handover procedure) should be suspended until resuming is indicated. All call control messages for connection received from network side should be buffered in ho_queue. All call control messages for connection received from MS side should be ignored. Channel mode modification procedures should be also suspended. Stage 2: HO-Detect is received from MS Audio path should be switched on network side. Stage 3-1: HO-Complete is received from MS Resumption procedure after successful handover should be performed: - gsm_subscriber_connection state should be changed to normal (in_handover=0). - all buffered call control messages (ho_queue) should be sent to MS on new lchan. - suspended channel mode modification procedures should be performed on new lchan. Stage 3-2: HO-Fail is received from MS Resumption procedure after failed handover should be performed: - gsm_subscriber_connection state should be changed to normal (in_handover=0). - all buffered call control messages (ho_queue) should be sent to MS on old lchan. - suspended channel mode modification procedures should be performed on old lchan. Stage 3-3: T3103 expired: Handover has failed without HO-Complete or HO-Fail Resumption procedure should not be performed in case of T3103 expired: - gsm_subscriber_connection state should be changed to normal (in_handover=0). - all buffered call control messages (ho_queue) should be cleaned without sending them to MS. - suspended channel mode modification procedures should not be performed. Change-Id: Icb9b5c35ef0c894af2ea762e539f1a9216447fb7
2017-08-23transaction: Add new function trans_find_by_lchanIvan Kluchnikov2-0/+27
Function returns transaction for given lchan. In case of active call hold procedure it could be two transactions in a list with links to the same lchan: * transaction for call on hold * transaction for active call. In this case function ignores transaction which was put on hold and returns active call transaction. Change-Id: I41171d4e61abfa5f2b01d6fbf4a0ac98073d97a9
2017-08-23handover_decision: Add more log messages to get more information about HO ↵Ivan Kluchnikov1-5/+17
causes in logs Change-Id: Ib0a0787ac8b877ac63455d72886389b546e7a337
2017-08-23handover_decision: Fix condition for power budget handover attemptIvan Kluchnikov1-1/+1
Handover attempt for power budget case should be performed every N SACCH frames, where N = Power Budget Interval. First measurement report with mr->nr = 0 was used for the first handover attempt in this case, which is not correct, because first usable report should have mr->nr = net->handover.pwr_interval-1. Moreover using the first measurement report with mr->nr = 0 for handover attempt could lead to unnecessary handover, because usually av_rxlev for first measurement report from MS is worse than for following reports. Change-Id: If7f54a4cb179eaa9e5eb147b9477633ac618e69e
2017-08-10handover_logic: set correct link to bts for subscriber_connection in case of ↵Ivan Kluchnikov1-0/+1
moving this connection to another bts In case of successful completion of handover gsm_subscriber_connection could be moved from one bts to another, so connection link to bts should be replaced by link to bts, which owns new_lchan. This bug was detected, because conn->bts->nr is used in call control log messages and wrong number of bts was observed in these messages after handover. Change-Id: Idc7dd412b7580c451e716b73ef7549826c60b0d9
2017-07-19debian: Update changelog to 0.15.1-fw.7fairwaves/0.15.1-fw.7Ivan Kluchnikov1-0/+8
2017-07-19gsm_04_08: Implement support of placing an existing call on hold when ↵Ivan Kluchnikov1-0/+4
another call comes in and switching to new call In this case two transactions with links to the same lchan are in transaction list: * transaction for call on hold * transaction for active call. New condition was added for searching function to avoid selecting transaction which was put on hold and use active call transaction for rtp handling and handover procedures.
2017-07-19gsm_04_08: Enable mncc_rtp_connect_pending flag for conn after receiving ↵Ivan Kluchnikov1-0/+1
retrieve ind to be able to re-connect rtp
2017-07-19gsm_04_08: Add handling of rtp bridge mode in tch_recv_mncc function to ↵Ivan Kluchnikov1-0/+4
avoid executing code which is used for rtp proxy mode
2017-07-11debian: Update changelog to 0.15.1-fw.6fairwaves/0.15.1-fw.6Ivan Kluchnikov1-0/+7
2017-07-11libcommon: Fix log output for bts>0.Alexander Chemeris5-9/+11
Fixes regression probably introduced in c696cc28. For bts>0 logging doesn't show bts number correctly when printing lchan identification string - it will always show it as "bts=0". The reason for this is that the identification string is cached before bts->nr value is set to a proper value. This patch sets bts->nr as part of the first step of the bts structure initialization, before caching happens thus making sure the cached identification string is cached with the correct values. Change-Id: I61c18a7f021fcb1ec00d34a745f4e3ab03416c2d
2017-07-11libmsc: Fix VTY output for handover counters.Alexander Chemeris1-5/+5
Handover countrs belong to BSC, but we mistakenly take values from MSC counters. Change-Id: I9512330f2e91d2f526751c5228e6e8e0fe17d579
2017-07-04debian: Update changelog to 0.15.1-fw.5fairwaves/0.15.1-fw.5Ivan Kluchnikov1-0/+6
2017-07-04Implement handover support for mncc bridge modeIvan Kluchnikov3-0/+77
* Introduced mncc message with type MNCC_RTP_MODIFY for forwarding modified rtp info to external application. * Added handler for HANDOVER_DETECT signal, which forwards rtp info (modified during handover process) to external application via mncc.
2017-05-16debian: Update changelog to 0.15.1-fw.4fairwaves/0.15.1-fw.4Ivan Kluchnikov1-0/+6
2017-05-16ussd: Avoid crashing when no connection is present in the transactionIvan Kluchnikov1-0/+7
If we get a ussd response for transaction, but there is no connection for this transaction, we will now complain, delete the message and return.
2017-02-16debian: Update changelog to 0.15.1-fw.3fairwaves/0.15.1-fw.3Ivan Kluchnikov1-0/+7
2017-02-16debian: Add openbsc-dev package to control, it is required for osmo-bts-trx ↵Ivan Kluchnikov1-0/+11
packaging
2017-02-16debian: Update changelog to 0.15.1-fw.2fairwaves/0.15.1-fw.2Ivan Kluchnikov1-0/+7
2017-02-16debian: Add libcdk5-dev and libsqlite3-dev packages to dependencies, because ↵Ivan Kluchnikov1-0/+2
they are required for building osmo-meas-utils
2017-02-15fix: Include headers which were lost during rebaseIvan Kluchnikov3-0/+3
2017-02-15debian: Update changelog to 0.15.1-fw.1fairwaves/0.15.1-fw.1Ivan Kluchnikov1-0/+6
2017-02-07gsup: Update code after rebase to updated gsup implementationIvan Klyuchnikov18-285/+151
2017-02-07osmo-nitb: Send purge ms to reg-proxy and handle responseIvan Kluchnikov5-0/+28
2017-02-07reg-proxy: Implement purge ms forwarding and handlingIvan Kluchnikov4-15/+44
2017-02-07gsm_04_08: Change reject cause for not "attached" subscribers from ↵Ivan Kluchnikov1-1/+1
"destination out of order" to "no user responding"
2017-02-07reg-proxy: fix osip transactions releasing procedureIvan Kluchnikov2-2/+12
* implement nict_trans_free function for checking list of osip_nict_transactions and releasing transactions in terminated state * call nict_trans_free function in main loop * transactions should not be released in message callback functions, so remove osip_transaction_free and osip_message_free from sip_cb_rcv2xx function
2017-02-07reg-proxy: use osip_strdup function, because we should allocate memory for ↵Ivan Kluchnikov1-2/+2
scheme and host values to be used in osip_uri_set_ functions
2017-02-07reg-proxy: we shouldn't free call_id_num and seq_num_str, because they are ↵Ivan Kluchnikov1-2/+0
used in osip_message and will be freed by osip_message_free function
2017-02-07reg-proxy: free allocated ipa control messages in ipa_sock_server_cb functionIvan Kluchnikov1-0/+1
2017-02-07reg-proxy: free all allocated osip elements, messages and transactionsIvan Kluchnikov1-2/+13
2017-02-07gsm_sup: check connection before use it, because it can be already closedIvan Kluchnikov1-4/+5
2017-02-07ussd_proxy: fix decoding GSM7 to latin1Sergey.Kostanbaev1-1/+1
2017-02-07fix incorrect autorebaseSergey Kostanbaev1-7/+4
2017-02-07fixup after rebaseSergey Kostanbaev2-3/+1
2017-02-07reg-proxy: Implement handling LU responses without msisdnIvan Kluchnikov2-8/+11
If we receive 200 ok response with imsi instead of msisdn in sip contact header, we should send LU response message to osmo-nitb without msisdn.
2017-02-07gsm_sup: Update subscriber info in database only if msisdn is received in LU ↵Ivan Kluchnikov1-2/+1
response
2017-02-07msc: Increase value of location update timer to 10 secIvan Kluchnikov1-1/+1
We should increase this timer, because LU procedure can take more than 5 sec, if 'remote' auth policy is used.
2017-02-07sms: Route all sms from/to subscribers with extension length = 5 to local smscIvan Kluchnikov3-3/+49
2017-02-07sup: pass subscriber group parameter to subscr_get_by_extension functionIvan Kluchnikov3-4/+7
Subscriber group parameter should be set for subscriber in subscr_get_by_extension function, because it is used in connection_for_subscr function.