aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
AgeCommit message (Collapse)AuthorFilesLines
2011-01-10silent sms: Fix the silent SMS feature once againHolger Hans Peter Freyther1-1/+1
It got broken in the refactoring of 20474ad02983861cb6a9542916eaeb78a6615604.
2011-01-10sms: Allow to specify the DCS for the SMS.Holger Hans Peter Freyther4-5/+5
2011-01-10sms: Move the sms_from_text to gsm_04_11Holger Hans Peter Freyther4-27/+26
Move the SMS from text code from the VTY interface into the gsm_04_11.c code next to the sms_alloc and sms_free.
2011-01-07ipa: Only use one IPA number for Osmo extensionsHolger Hans Peter Freyther7-10/+17
Instead of using more numbers from the proto range we will use the 0xee and then have a mini header with our new proto id in there. For a start rename the use types to _OLD.
2011-01-07mgcp: Return with NULL if we fail the size check.Holger Hans Peter Freyther1-0/+1
2011-01-07mgcp: We want to count trunks starting from one.Holger Hans Peter Freyther2-5/+5
2011-01-06mgcp: Parse a Digital Trunk endpoint name.Holger Hans Peter Freyther5-6/+139
2011-01-06mgcp: Include a MGCP Response String in the responseHolger Hans Peter Freyther2-31/+35
Switch to a \r\n at the end of the query. Both \n and \r\n are valid according to the spec but this makes us match responses of other equipment.
2011-01-06subscr: 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.
2011-01-06subscr: 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.
2011-01-06paging: Handle the possible OOM message as well.Holger Hans Peter Freyther1-0/+1
2011-01-06sms: Improve the logging of the paging callback.Holger Hans Peter Freyther1-1/+3
2011-01-06subscr: Add a vty option to kick the queue.Holger Hans Peter Freyther3-0/+29
2011-01-06subscr: Dump the pending requests to help with debugging state.Holger Hans Peter Freyther5-0/+42
2011-01-06subscr: Store the state of a subscr request for inspection.Holger Hans Peter Freyther1-0/+16
2011-01-06subscr: Fix subscr leaks in the KI code.Holger Hans Peter Freyther1-2/+8
2011-01-06subscr: Make it possible to clear pending requests for a subscriberHolger Hans Peter Freyther3-0/+40
2011-01-06subscr: Show the number of pending requests on this subscriber.Holger Hans Peter Freyther3-3/+19
2011-01-06subscr: 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.
2011-01-06subscr: 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.
2011-01-06msc: 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.
2011-01-06sms: Add new SMS requests to the end of the list.Holger Hans Peter Freyther1-1/+1
2011-01-06sms: Argh... reset the pending after we have cleared the queue.Holger Hans Peter Freyther1-0/+1
2011-01-06sms: 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.
2011-01-06sms: 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.
2011-01-06sms: Fix the log message and end with a new newline.Holger Hans Peter Freyther1-1/+1
2011-01-06subscr: 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.
2011-01-06mncc: 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.
2011-01-06mncc: 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.
2011-01-06mncc: Do not use bts->nr as it might be NULL.Holger Hans Peter Freyther1-2/+3
2011-01-06bsc: 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.
2011-01-06misc: Remove unused variable from the function.Holger Hans Peter Freyther1-1/+0
2011-01-06misc: Fix compiler warning about incompatible pointersHolger Hans Peter Freyther4-5/+6
2011-01-06misc: Fix warning about the cast.Holger Hans Peter Freyther1-1/+1
2011-01-06misc: Remove unused variable from the db.Holger Hans Peter Freyther1-1/+0
2011-01-06misc: Forward declare the struct gsm_bts_trx_ts to avoid warning.Holger Hans Peter Freyther1-0/+1
2011-01-06mncc: Move the cc_tx_to_mncc code into the libbsc.aHolger Hans Peter Freyther3-5/+28
The trau_mux likes to call cc_tx_to_mncc for each received frame from the E1 link. Using a signal for each audio frame is messy as well. The best thing I could think of is to put this into the BSC to deref the pointer. The other option would be to include the gsm_data.h in the mncc.h header and have the method as inline.
2011-01-06mncc: Switch the header file from u_int to uintHolger Hans Peter Freyther1-7/+9
Include stdint.h to have the C99 data types.
2011-01-06rtp: Move the RTP Proxy code out of RSL into the BSC/MSC domainHolger Hans Peter Freyther5-74/+98
Instead of creating the sockets in the RSL code we will do this in the CRCX_ACK, MDCX_ACK, DLCX_IND signal handler of gsm_04_08. Introduce a handover signal so we can repatch the RTP sockets in the gsm_04_08 as well.
2011-01-01fix spelling mistake in log messageHarald Welte1-1/+1
2011-01-01re-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.
2011-01-01[db] Fix double-quoting in libdbi backendHarald Welte1-2/+2
2011-01-01MNCC: avoid segfault in DEBUGP due to non-existing conn->lchanHarald Welte1-1/+1
2011-01-01[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.
2011-01-01MNCC: fix copy+paste mistake in log message and change it to DEBUGHarald Welte1-1/+1
2011-01-01mncc_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.
2011-01-01mncc_sock: Use proper logging directives and levels, don't printf.Harald Welte1-5/+14
2011-01-01MNCC: Introduce bsc_hack argument '-m' for enabling MNCC socketHarald Welte1-2/+14
2011-01-01mncc_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.
2011-01-01MNCC: 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.