aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gsm_04_08.c
AgeCommit message (Collapse)AuthorFilesLines
2009-08-15move talloc context creation out of on_dso / constructorsHarald Welte (local)1-3/+1
the various constructors get called in a non-obvious, linker determined order, which makes certain objects disappear from the talloc report. This change moves the talloc context creation into a new talloc_ctx.c file
2009-08-14respect the link_id, not only the SAPI from SMS codeHarald Welte (local)1-2/+2
SMS related messages are all sent over SAPI=3. But in addition to that, we also need to send it over the correct link identifier, i.e. SACCH or main signalling channel
2009-08-13when in token auth mode, accept phones that are authorizedHarald Welte (local)1-0/+2
2009-08-13Encode the network name int the MM info messages in GSM 7bit alphabet.Daniel Willmann1-1/+34
2009-08-13remove FIRST_CONTACT signal, the subscriber flag is sufficientHarald Welte (local)1-10/+4
2009-08-13replace the command line option -a with the auth-policy config optionJan Luebbe1-10/+8
2009-08-12add functions to send AUTH REQ and REJECTHarald Welte1-0/+28
2009-08-12look up subscriber in memory before loading from DBJan Luebbe1-2/+9
2009-08-12flag new subscriber structs in memory and send a signalJan Luebbe1-1/+8
2009-08-10rename rsl_channel_release to rsl_rf_channel_releaseHarald Welte1-1/+1
and add some more comments to help understand the complex release procedures.
2009-08-10add code to GSM 04.08 to send MRPCI message once we have classmark2Harald Welte1-0/+22
* afert we receive a CM SERVICE REQUEST * after we receive a PAGING RESPONSE
2009-08-10revert commit b400dd8f646a69f7fe0013065fa9b4711f60a45e regarding NECI=0Harald Welte1-6/+6
As it turns out, we start to allocate SDCCH for voice calls. Since we don't yet implement switching from SDCCH to TCH during call setup, this leads to various problems.
2009-08-10We're using NECI=0, but the channel reauest reasons we're seeing from MS's ↵Harald Welte1-6/+6
are wrong So we don't know what's the problem. Using the NECI=1 tables makes us allocate SDCCH for MO SMS, which is good.
2009-08-09ensure we send the LOCATION UPDATE ACCEPT before issuing any signalHarald Welte1-2/+10
2009-08-09move search for existing lchan for subscriber to new functionHarald Welte1-21/+3
There's now a new function called 'lchan_for_subscr()' which can be used to determine if there is any existing lchan for this subscriber.
2009-08-08first 'working' SMS implementationHarald Welte1-1/+2
we now have the full path from the MS into the database (SUBMIT), as well as back from the database to the MS (DELIVER). The database gets correctly updated once a SMS has been successfully delivered. What's still missing is the periodic scan over all undelivered messages, trying to deliver them to the respective MS. So far, you have to manually trigger this on the telnet interface with 'sms send pending 1'
2009-08-01gsm_04_08 no longer needs to iterate over all BTS in LACHarald Welte1-16/+3
this task is performed by the paging.c code already.
2009-07-29Merge branch 'master' into smsHarald Welte1-7/+19
2009-07-29generalize channel activation / channel mode modifyHarald Welte1-0/+1
* we only need one piece of code to calculate rsl_ie_chan_mode from our run-time data structures (gsm_lchan) * add some more channel modes for TCH/H and data * use enum's to make the compiler warn us about unhandled enum values * make sure the caller determines the (signalling,speech,data) mode
2009-07-29postpone IPAC_BIND until we do a LCHAN_MODIFYHarald Welte1-7/+18
only after the LCHAN_MODIFY we know the final mode of the channel, so we have to postpone our IPAC_BIND until then to make sure we set the correct speech codec.
2009-07-28Merge branch 'master' into smsHarald Welte1-22/+110
2009-07-28add RTP proxy mode for ip.accessHarald Welte1-22/+110
Up until now, we only supported direct RTP streams between ip.access BTS. With this commit, the user can specify '-P' to the command line to enable a RTP/RTCP proxy inside OpenBSC. The nanoBTS will then send all their voice data to OpenBSC, which will relay it to the respective destination BTS (which can be the same BTS). The default behaviour remains unchanged. Without '-P' on the command line, RTP/RTCP is exchanged directly.
2009-07-28Merge branch 'master' into smsHarald Welte1-3/+2
Conflicts: openbsc/include/openbsc/transaction.h openbsc/src/gsm_04_11.c openbsc/src/transaction.c
2009-07-28move allocation of talloc contexts into link-time constructorHarald Welte1-3/+2
This is much more optimal than checking if the context exists every time we allocate the respective object.
2009-07-23look-up by (subscriber, protocol, transaction_id) tupleHarald Welte1-1/+1
... rather than the previous incomplete (lchan, transaction_id) tuple
2009-07-23move allocating new transaction_ids to transaction.cHarald Welte1-17/+4
2009-07-23move allocating new transaction_ids to transaction.cHarald Welte1-17/+4
2009-07-23Merge branch 'master' into smsHarald Welte1-87/+49
2009-07-23trans->transaction_id now reflects the actual (unshifted) valueHarald Welte1-9/+9
2009-07-23centralize the code that needs to deal with transaction_idHarald Welte1-79/+41
There were many places in the code where we had to explicitly reference the transaction_id and put it into a packet. By introducing and optional gsm_trans parameter to gsm48_sendmsg(), we can implement this code once rather than dozens of time.
2009-07-23make sure subscr->net is always setHarald Welte1-10/+17
since a subscriber is an element of the gsm_network, we have to ensure subscr->net is always set correctly. We do this by using gsm_network as an argument to all functions that resolve or create a subscriber.
2009-07-23remove bogus 'network' member of 'struct gsm_transaction'Harald Welte1-30/+35
Since a transaction is associated to a gsm_subscriber, and the subsciber is part of a network, we don't need to have a dedicated transaction->network pointer.
2009-07-23gms_transactions data model reorganizationHarald Welte1-117/+66
This changeset factors out gsm_transaction as something independent of call control in preparation to re-use the code from SMS. A transaction is uniquely identified by either its callref, or by a tuple of (transaction_id, protocol, subscriber).
2009-07-23remove bogus 'network' member of 'struct gsm_transaction'Harald Welte1-30/+35
Since a transaction is associated to a gsm_subscriber, and the subsciber is part of a network, we don't need to have a dedicated transaction->network pointer.
2009-07-23gms_transactions data model reorganizationHarald Welte1-117/+66
This changeset factors out gsm_transaction as something independent of call control in preparation to re-use the code from SMS. A transaction is uniquely identified by either its callref, or by a tuple of (transaction_id, protocol, subscriber).
2009-07-23make sure subscr->net is always setHarald Welte1-10/+17
since a subscriber is an element of the gsm_network, we have to ensure subscr->net is always set correctly. We do this by using gsm_network as an argument to all functions that resolve or create a subscriber.
2009-07-19Merge branch 'master' into smsHarald Welte1-6/+14
2009-07-19send DEACTIVATE SACCH when sending RR CHANEL RELEASEHarald Welte1-1/+5
As per specification, we first send the RR CHANNEL RELEASE to the MS, and then tell the BTS to disable the SACCH on that channel.
2009-07-19fix copy+paste mistake in ecnoding short net name in mm infoHarald Welte1-1/+1
2009-07-12rename ip.access structure field members and variablesHarald Welte1-4/+8
to reflect that we now know their true names/meanings
2009-07-05Merge branch 'master' into smsHarald Welte1-10/+11
2009-07-05Store classmark1/2/3 in equipment SQL tableHarald Welte1-10/+11
For further evaluation/analysis, this patch stores the classmark 1, 2 and 3 values of every equipment in the SQL database. We can use this non-volatile data to determine the supported features for each handset that we've ever seen on our network.
2009-07-05fix measurement report parsing of MEAS VALID logicHarald Welte1-1/+1
As Dieter points out, the logic level is inverted. 0 means valid.
2009-07-04make sure we always schedule a location updating rejectHarald Welte1-6/+5
IT sems that if a MS uses the TMSI of a previous network, we did not start the reject timer. Thanks to Andreas Eversberg.
2009-07-04remove bogus extra check for data->imsi[0] in mncc_sendHarald Welte1-2/+1
As Andreas points out, we already check for this condition some 10 lines below, no need to check twice.
2009-07-04gsm48 lchan signal handling: use correct pointerHarald Welte1-1/+1
As Andreas Eversberg has pointed out, we need to use signal_data rather than handler_data.
2009-06-27cosmetic cleanup of LOCATION UPDATE REQ print-outHarald Welte1-8/+8
2009-06-27add new DMEAS debug category for measurement reportingHarald Welte1-6/+6
disable it by default
2009-06-26use taloc_zero() rather than talloc() and explisit memset()Harald Welte1-3/+2
2009-06-26fix two segfaultsHarald Welte1-2/+5
* when paging callback is called, we need to consider a failed paging operation (i.e. lchan == NULL) * we have to zero-initialize every transaction that is allocated