Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
and add some more comments to help understand the complex release
procedures.
|
|
* afert we receive a CM SERVICE REQUEST
* after we receive a PAGING RESPONSE
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
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'
|
|
this task is performed by the paging.c code already.
|
|
|
|
* 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
|
|
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.
|
|
|
|
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.
|
|
Conflicts:
openbsc/include/openbsc/transaction.h
openbsc/src/gsm_04_11.c
openbsc/src/transaction.c
|
|
This is much more optimal than checking if the context exists every
time we allocate the respective object.
|
|
... rather than the previous incomplete (lchan, transaction_id) tuple
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|
|
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.
|
|
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).
|
|
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.
|
|
|
|
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.
|
|
|
|
to reflect that we now know their true names/meanings
|
|
|
|
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.
|
|
As Dieter points out, the logic level is inverted. 0 means valid.
|
|
IT sems that if a MS uses the TMSI of a previous network, we did not start
the reject timer. Thanks to Andreas Eversberg.
|
|
As Andreas points out, we already check for this condition some 10 lines
below, no need to check twice.
|
|
As Andreas Eversberg has pointed out, we need to use signal_data
rather than handler_data.
|
|
|
|
disable it by default
|
|
|
|
* 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
|