aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2010-12-30smscb: Prepare to fill in the info for CBCH in SI4laforge/27c3Holger Hans Peter Freyther4-6/+45
Pass the number of bytes the rest octet for si4 should fill. We will need to include info for CBCH in our SI4. WIP: SMSCB... this should reuse the lchan2desc if it works... smscb: Add vty command for experimentation...
2010-12-30ussd: Prepare being able to send custom L3 messages to the phone. WIP: ↵Holger Hans Peter Freyther5-1/+209
custom l3 message....
2010-12-29subscr: Stop stopping paging requests behind the back of subscrHolger Hans Peter Freyther3-12/+39
The transaction layer was stopping paging requests that might or might not have been owned by the transaction. This makes the subscr code get stuck delivering requests. This code is mostly a band aid and just makes sure that we will kick the queue if it is needed.
2010-12-29subscr: Remember if we need to call subscr_put_channel at the end.Holger Hans Peter Freyther3-0/+10
Remember if this channel got opened due a paging response and in that case when we close it down we will call subscr_put_channel that will try to page the subscriber again. This highlights the lack of a good subscriber management in the MSC code.
2010-12-29paging: Handle the possible OOM message as well.Holger Hans Peter Freyther1-0/+1
2010-12-29sms: Improve the logging of the paging callback.Holger Hans Peter Freyther1-1/+3
2010-12-29subscr: Add a vty option to kick the queue.Holger Hans Peter Freyther3-0/+29
2010-12-29subscr: Dump the pending requests to help with debugging state.Holger Hans Peter Freyther5-0/+42
2010-12-29subscr: Store the state of a subscr request for inspection.Holger Hans Peter Freyther1-0/+16
2010-12-29subscr: Fix subscr leaks in the KI code.Holger Hans Peter Freyther1-2/+8
2010-12-29subscr: Make it possible to clear pending requests for a subscriberHolger Hans Peter Freyther3-0/+40
2010-12-28subscr: Show the number of pending requests on this subscriber.Holger Hans Peter Freyther3-3/+19
2010-12-28subscr: Stop all paging requests if one is failing.Holger Hans Peter Freyther2-1/+13
If one paging request is timing out the others will timeout soon as well. With the current code the next timeout would expire the next request in the queue. We will now stop all paging requests and then issue a next paging request. So for both paging success and failure we will now stop all the other requests. This is mostly a workaround, one should count on how many BTSes we are paging and wait for all failures before we remove the item from the queue.
2010-12-28subscr: Kick the queue in case of a paging timeoutHolger Hans Peter Freyther1-0/+3
Kick the queue in case the paging was timing out. No one is going to call subscr_put_channel for us so we will do it on the subscriber. There is also another problem with multiple BTS in the LAC and paging timeout. We will need to remember how many BTSes we have paged.
2010-12-28gsm_04_08_utils: Fix Channel Request mode for e0/e0 and neci=1Sylvain Munaut1-1/+1
According to the specs (GSM 04.08 Table 9.9), the only possibility if neci=1 and this cause is used is "Originating call and TCH/F is needed" Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-12-28msc: Attempt to fix a bug with 'stuck' SMS due RF failure on authHolger Hans Peter Freyther1-0/+7
If we have a RF failure between the paging response and the auth success we will not inform the subscriber layer of the failed paging and instead just 'drop' the SMS. In case we have not completed the auth and close the channel we will now send an auth failure.
2010-12-28sms: Add new SMS requests to the end of the list.Holger Hans Peter Freyther1-1/+1
2010-12-28sms: Fix the log message of pending subscribersHolger Hans Peter Freyther1-1/+1
2010-12-28sms: Argh... reset the pending after we have cleared the queue.Holger Hans Peter Freyther1-0/+1
2010-12-28sms: Fix crash by saving the gsm_networkHolger Hans Peter Freyther1-1/+4
The conn might be released during the loop and then conn->bts is a null pointer and we end up crashing. Store the gsm_network in a local variable and access this one.
2010-12-28subscr: Make the subscr_put_channel work with the subscrHolger Hans Peter Freyther3-6/+9
The active channel might or might not be gone when the transaction has been released. Instead of passing an invalid subscriber conn we will pass the subscr that is ref-counted and guranteed to be valid at this point. subscr_put_channel could search the connections for an active connection if that is ever needed.
2010-12-28sms: Show the amount of failures and the SMS we want to send.Holger Hans Peter Freyther1-2/+3
Improve the debugging possibilities and print the failed attempts and the sms that was attempted to be delivered. this should help with debugging the code.
2010-12-28sms: Fix the log message and end with a new newline.Holger Hans Peter Freyther1-1/+1
2010-12-27mncc: Do not print the BTS at all as it might not be presentHolger Hans Peter Freyther1-4/+3
In contrast to the previous believe we may not have a conn here as we are still paging for the sub. Instead of printing the BTS print the lac where we think the subscriber is located.
2010-12-27mncc: bts can be NULL, attempt to find the bts from the transactionHolger Hans Peter Freyther1-1/+1
Follow trans->conn->lchan to the BTS instead of using the BTS that is guranteed to be NULL in the codepath we have entered here. The trans->conn should still be there, and the lchan should be valid as well as we have reordered the clear statements.
2010-12-27mncc: Do not use bts->nr as it might be NULL.Holger Hans Peter Freyther1-2/+3
2010-12-27bsc: Clear the hand-over in case the new_lchan is failingHolger Hans Peter Freyther3-5/+9
When the new_lchan for handover is failing we should stop the handover operation. This is fixing a crash that we get a timeout on the lchan and have no conn set to it. Introduce a flag to the bsc_clear_handover to not free the lchan. In case the ho_lchan is failing we do not want to call lchan_release as it would reset the state.
2010-12-27lchan: Every SS_LCHAN signal now sends a struct lchan_sig_dataHolger Hans Peter Freyther7-26/+43
The SS_LCHAN signals now always include the lchan_sig_data. For the measurement report it will optionally include the measurement report as well. Attempt to update all handlers of this signal as well
2010-12-27bsc: Some S_LCHAN signals don't provide an lchanHolger Hans Peter Freyther1-0/+14
Check the signal and only continue if it is any of the signals we want to handle. In the case of measurement reports we would cast some random code to a lchan.
2010-12-27auth: Release the security operation after we sent out a messageHolger Hans Peter Freyther1-1/+3
The release might release the lchan we want to send the response on. Reorder the code to first send the message and then give up the security operation which might release the lchan.
2010-12-27bsc: Avoid crashing when no lchan is present in the subscriber connectionHolger Hans Peter Freyther1-1/+11
If someone wants to send a message but we have no lchan anymore we will now complain, delete the message and return.
2010-12-27fix spelling mistake in log messageHarald Welte1-1/+1
2010-12-26GSM 04.08: Ask for IMEISV instead of IMEIHarald Welte1-2/+2
2010-12-26re-order the sequence of events in bsc_api:handle_release()Harald Welte1-7/+6
This should make sure conn->lchan is valid throughout the release cause, especially make trau_mux_unmap() happy that conn->lchan still exists.
2010-12-26[db] Fix double-quoting in libdbi backendHarald Welte1-2/+2
2010-12-26MNCC: avoid segfault in DEBUGP due to non-existing conn->lchanHarald Welte1-1/+1
2010-12-26RTP Proxy: disable the ugly hack fiddling with RTP sequence numbersHarald Welte1-0/+2
2010-12-26[SGSN] Fix processing of RA Update Request regarding TLLIHarald Welte2-1/+27
In case we get a RA UPD REQ on a new cell (both served by the same SGSN), the LLC stack should not allocate a ne LLE/LLME, as the latter would reset the V(u)sent / V(u)recv to zero and make the MS discard our responses. Instead, whenever the LLC stack sees a foreign TLLI, it should always convert it to the local TLLI before doing any lookup for a LLE/LLME.
2010-12-26MNCC: fix copy+paste mistake in log message and change it to DEBUGHarald Welte1-1/+1
2010-12-26mncc_sock: Fix potential segfault in case MNCC app diesHarald Welte2-1/+4
We create a loop by not setting trans->callref = 0 before calling trans_free(), as the latter would again send a MNCC_REL_IND up the stack. Also: Fix memory leak in case we try to read from mncc_sock but socket is just gone.
2010-12-26mncc_sock: Use proper logging directives and levels, don't printf.Harald Welte1-5/+14
2010-12-26MNCC: Introduce bsc_hack argument '-m' for enabling MNCC socketHarald Welte1-2/+14
2010-12-26mncc_sock: Add new 'mncc handler' functionHarald Welte2-1/+39
This adds mncc_sock_from_cc() as a handler function for CC messages to be passed to the MNCC interface. If there is no MNCC socket registered, we immediately release any CC related messages. Together with flushing all established CC transaction at MNCC socket close time, this ensures that all resources are released and no new resources can be established until the MNCC applicaiton has re-attached.
2010-12-26MNCC: pass the actual 'struct msgb' down the mncc_recv() callbackHarald Welte6-11/+15
this is required as we no longer have a dequeue-handler that can take care of free()ing the message after passing it to the MNCC handler.
2010-12-26GSM 04.08 / MNCC interface: verbuse logging of incoming MNCC primitivesHarald Welte1-5/+22
2010-12-26mncc_sock: Clear all calls if MNCC application (LCR) disconnectsHarald Welte3-1/+16
2010-12-26mncc_sock: Add an assert() in case our queue peek trick goes wrongHarald Welte1-2/+5
2010-12-26MNCC: remove 'upqueue'Harald Welte4-23/+4
The MNCC messages now again get directly handled by the net->mncc_recv() callback. If the callee wants to put them in a queue, it' his business to do that.
2010-12-26MNCC: move cc_tx_to_mncc() from gsm_data.h into mncc.cHarald Welte3-6/+6
2010-12-26MNCC socket: Export MNCC interface via unix domain socketHarald Welte2-1/+290
Using this code we will soon be able to use LCR or other MNCC applications via a unix domain socket. The code is not actually used yet after this patch.