aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gsm_04_08.c
AgeCommit message (Collapse)AuthorFilesLines
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 Welte1-1/+3
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-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 Welte1-0/+12
2010-12-26MNCC: rename mncc_send() to mncc_tx_to_cc()Harald Welte1-1/+1
This name clearly indicates: MNCC api transmits to Call Control, i.e. down from the L4/application into the L3 04.08 code.
2010-12-26MNCC: rename mncc_upq_enqueue() to cc_tx_to_mncc()Harald Welte1-1/+1
The new function name clearly indicates: The Call Control (TS 04.08, msc-side in OpenBSC) wants to transmit something to the MNCC interface.
2010-12-25paging: Introduce a GSM_PAGING_BUSY event for a special timeoutHolger Hans Peter Freyther1-0/+1
Start counting the attempts of each paging request and call the callback with the PAGING_BUSY type when the paging request timed out but the subscriber was not paged at all. This can only happen with a huge paging backlog. In case the system has so many pending paging
2010-12-24BSC Call Control: Actually implement call statisticsHarald Welte1-0/+7
The existing call realated statistics counters apparently were never used. This introduces a new set of counters, two for the MO and MT case.
2010-12-23Authentication: use ENUM instead of magic numbersHarald Welte1-2/+2
This improves readability of the code...
2010-12-22gsm48: Release the LU procedure only after the TMSI REALL_COMPLHolger Hans Peter Freyther1-2/+6
We send a LU Accept with the TMSI as the MI. According to the spec the phone should store this new TMSI and send a TMSI REALLOCATION COMPLETE to us. We will release the LU then and this should trigger the release procedure.
2010-12-22MNCC: introduce mncc_upq_enqueue() wrapper around msgb_enqueue()Harald Welte1-1/+1
This wrapper will allow us to add queue related code at one single location in the code as opposed to three locations.
2010-12-22gsm48: Use NULL instead of 0 for pointers in C.Holger Hans Peter Freyther1-1/+1
2010-12-21gsm48_tx_release_compl(): Don't use transaction after trans_free()Harald Welte1-1/+4
In commit 39e2eadc99c38876c39700cc2f8fa2a2973c1fdd a bug was introduced that used the 'trans' after trans_free() had already been called. This became visible now when the openbsc+lcr combination was calling an unknown/invalid telephone number in a MO call, resulting in a segfault.
2010-12-01gsm_04_08: Make gsm48_secure_channel available globallySylvain Munaut1-2/+2
Can't declare it in gsm_04_08.h tough ... gsm_cbfn is defined in gsm_data.h and trying to include that in gsm_04_08 just creates a huge mess. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-12-01gsm_04_08: Use subscr_get_channel instead of directly paging_requestSylvain Munaut1-3/+4
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-12-01gsm_04_08: Don't set ciphering manually but call gsm0808_cipher_modeSylvain Munaut1-10/+4
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-15bsc_api: Change submit dtap to allow to automatically use the SACHHolger Hans Peter Freyther1-1/+1
For SAPI=3 on a TCH it might be nice to use the SACH to submit the message. The api allows to automatically use the SACH if a message like this is submitted.
2010-11-15bsc_api: Look into the msg and call the right API functionsHolger Hans Peter Freyther1-3/+0
For certain messages we will need to call other GSM0808 functions. To keep the bsc_hack working we will try to send this through the normal messages first and then fallback to dtap if no handler is registered. The gsm_04_08.c code is not forced to handle the IPA activation and channel modify ack anymore. This is done transparently by the BSC API now.
2010-11-15bsc_api: Fix a use after free error in the Clear Request pathHolger Hans Peter Freyther1-2/+0
The implementation of bsc_hack would call subscr_con_free before the BSC API has had the chance to call gsm0808_clear to try to release other channels. Fix that by adding a return value.
2010-09-30gsm_04_80: Require libosmocore for creating USSD messagesHolger Hans Peter Freyther1-0/+1
Use the libosmocore to create USSD messages, increase the minimum version of libosmocore, add header files, remove the code.
2010-09-30gsm0408: Reorder the includes, openbsc first, osmocore secondHolger Hans Peter Freyther1-6/+7
2010-09-18janitor: Move the * to the variable nameHolger Hans Peter Freyther1-1/+1
2010-09-16bsc_api: Do not free the subscriber conn on clear and clear requestHolger Hans Peter Freyther1-0/+2
Do not free the GSM Subscriber Connection when a channel is failing or if a clear is requested, instead just give up _all_ the channels, reset them to NULL and free the remaining channels.
2010-08-12gsm48: Add method to send a separate facility message...Holger Hans Peter Freyther1-1/+19
Send a facility messages with notifySS/CNAP as payload to the phone... the function is not called from anywhere in the tree yet but I use it locally.
2010-07-05msc: Create a dummy operation to keep the channel open for five secondsHolger Hans Peter Freyther1-0/+39
* We should create the transaction for SMS, CC on the CM Service Request but for now we will use a band aid and create a dummy operarion to wait five seconds for the transaction to be opened.
2010-06-30msc: Add includes to silence a compiler warning.Holger Hans Peter Freyther1-0/+1
2010-06-28bsc_msc: Remove use_count from the subscriber connectionHolger Hans Peter Freyther1-16/+8
A channel will be released in case of * Errors via the clear_request callback... * no more transactions and operations are going on. This means that if we do something without a transaction the channel might be closed down right away. The bug fix will be to create a transaction/operation.
2010-06-21bsc_api: Remove the lchan usage from the Paging Response handling.Holger Hans Peter Freyther1-4/+4
2010-06-21silent_call: Use the gsm_subscriber_connection instead of lchan->connHolger Hans Peter Freyther1-2/+2
2010-06-17bsc_api: Set the l3h header from within the dtap methodHolger Hans Peter Freyther1-1/+0
This is fixing USSD which broke when the code was switched to use the BSC API.
2010-06-17bsc_api: Remove the lchan from the USSD code...Holger Hans Peter Freyther1-1/+1
2010-06-17bsc_api: Kill &lchan->conn usage, stop msg->lchan too..Holger Hans Peter Freyther1-49/+37
2010-06-17bsc_api: Move gsm48_rcvmsg into the BSC API and dispatch.Holger Hans Peter Freyther1-3/+3
The next step in the way to the BSC API. We have a clear a new connection was opened signal now... and the MSC could use it...
2010-06-17bsc_api: Make paging/silent call work with the subscriber_connectionHolger Hans Peter Freyther1-4/+4
Do not use the lchan for the paging but operate on the subscriber_connection, change the signals too to not carry the lchan but the subscriber connection... the silent call and vty code still assume there is a lchan inside the subscriber connection.
2010-06-16bsc_api: Pass the subscriber connection to the SMS...Holger Hans Peter Freyther1-1/+1
2010-06-16bsc_api: Use gsm_subscriber_connection in rrlp.cHolger Hans Peter Freyther1-3/+3
2010-06-16bsc_api: Rename lchan_for_subscr to connection_for_subscr and update codeHolger Hans Peter Freyther1-7/+7
With handover and late/early assignment there might be two channels for one subscriber and only the BSC knows which one to use, so use the gsm_subscriber_connection everywhere...
2010-06-16gsm48: Release the "operation" after sending out data...Holger Hans Peter Freyther1-3/+2
* With an immediate release we would release the lchan before sending the data... change it.
2010-06-16bsc_api: Remove the lchan from the secure channel code...Holger Hans Peter Freyther1-32/+29
The code still needs to stop touching the lchan directly and put stuff into it.
2010-06-16bsc_api: Cut back on direct lchan usage.Holger Hans Peter Freyther1-16/+16
2010-06-15gsm48: Split LU Reject sending and generation into two.Holger Hans Peter Freyther1-9/+9
2010-06-15gsm48: Separate CM Service Reject sending and creation.Holger Hans Peter Freyther1-9/+7
Split out the msg generation from the sending, this will be used by the nat to send a refusal message.
2010-06-15bsc_api: Remove the lchan argument from gsm48_tx_mm_info.Holger Hans Peter Freyther1-5/+5
2010-06-15bsc_api: Remove the lchan argument from the mm_tx_identity_req method.Holger Hans Peter Freyther1-6/+6
2010-06-15bsc_api: Remove lchan from LU Reject...Holger Hans Peter Freyther1-8/+6
Remove the lchan from the signature, the removal of the msg->lchan will follow as a next step.
2010-06-15bsc_api: Kill the lchan argument from the LU Accept Method.Holger Hans Peter Freyther1-6/+6
2010-06-15bsc_api: Move most of GSM0408 to the DTAP API...Holger Hans Peter Freyther1-31/+63
* gsm_04_08_utils.c will directly send the message... * gsm_04_08.c will use the DTAP API, add a new method to pull in the data from the transaction...
2010-06-15bsc_api: Switch gsm_04_08.c to use the clear request of the API.Holger Hans Peter Freyther1-18/+6
2010-06-14gsm_04_08: Improve gsm48_rx_mm_auth_resp debug in failure caseSylvain Munaut1-1/+7
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-14gsm_04_08: Establish secure channel on CM SERVICE REQUESTSylvain Munaut1-1/+30
Note that establishing a secure channel is considered to be an implicit CM SERVICE ACK. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>