Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I90357438ec9941e354583b79a310be3505f3887d
|
|
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
|
|
Change-Id: I5b44758b84f9f8c088e38cc186575495bd9d05d4
|
|
Change-Id: I162eb751c36b4f3c959706df1c640c550742a95e
|
|
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
|
|
Change-Id: I37eeeb0a9da6e466a307b9f5ade29561a435bc5f
|
|
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
|
|
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
|
|
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
|
|
Change-Id: Ia6e53901efb6de4b60ff09ef2499594dc611bf1d
|
|
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
|
|
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
|
|
causes in logs
Change-Id: Ib0a0787ac8b877ac63455d72886389b546e7a337
|
|
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
|
|
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
|
|
|
|
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.
|
|
retrieve ind to be able to re-connect rtp
|
|
avoid executing code which is used for rtp proxy mode
|
|
|
|
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
|
|
Handover countrs belong to BSC, but we mistakenly take values from MSC counters.
Change-Id: I9512330f2e91d2f526751c5228e6e8e0fe17d579
|
|
|
|
* 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.
|
|
|
|
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.
|
|
|
|
packaging
|
|
|
|
they are required for building osmo-meas-utils
|
|
|
|
|
|
|
|
|
|
|
|
"destination out of order" to "no user responding"
|
|
* 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
|
|
scheme and host values to be used in osip_uri_set_ functions
|
|
used in osip_message and will be freed by osip_message_free function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
response
|
|
We should increase this timer, because LU procedure can take more than 5 sec, if 'remote' auth policy is used.
|
|
|
|
Subscriber group parameter should be set for subscriber in subscr_get_by_extension function, because it is used in connection_for_subscr function.
|