Hi all,
I believe I have finally figured out how this 'MS assisted' RRLP mode works.
Not sure if I am the first or the last one to understand it, just wanted to
share what I know:
Just to recap, RRLP has three modes:
* E-OTD of different BTS signals (AFAIK not used)
* MS-based GPS positioning (optionally with assistance data from the GSM net)
* MS-assisted GPS positioning (what I'm talking about now)
On Wed, Dec 08, 2010 at 08:53:48AM +0000, Dieter Spaar wrote:
> This is from the RRLP specification, those are some of the data for
> assisted measurements (those "low-level" data I refered to):
>
> Data sent to the phone (for every satellite)
>
> Doppler
> Doppler uncertainty
> Code phase
> Int code phase
> GPS bit number
> Code phase search window
> Azimuth
> Elevation
Basically this tells the phone:
* which doppler shift to expect (result from movement speed of satellite),
typically in the range of +/- 5kHz of the GPS L1 frequency
* the 'code phase', i.e. the difference between a certain GSM bit (in a
specified timeslot/frame number/bcch carrier) and a specified GPS bit
(TOW, bit, chip, ...)
* which azimuth/elevation to expect (not sure how the phone should use this,
unless it knows the orientation of the antenna and has a MIMO receiver)
what happens now is that the MS will lock onto one specific satellite. It can
do this quickly, as it altready knows
* a certain doppler frequency shift (range)
in which it should apply a known scrambling code sequence (the satellite
number corresponds to a given pseudo-random sequence), and the
* expected 'code phase', i.e. the difference between the time at which a
certain bit is transmitted on the BCCH carrier of a GSM cell, and which chip
of the given satellite will be expected to be received within the GSM cell.
Once it acquires the signal, it will measure the number of whole (and
fractional) GPS chips that it has observed between
* the start of a given GSM frame number (called 'reference frame') and the
* wrap of the GPS 1023bit pseudo-random sequence
This is then sent back to the network:
> Data sent back from the phone (for every satellite)
>
> Carrier Noise Ratio
> Doppler
this is the actually measured doppler shift for this satellite in the MS receiver
> Whole Chips (0..1022)
> Fractional Chips (0..1023)
and this is the number of GPS chips between the wrap of the GSM reference frame
number and the wrap of the GPS 1023 bit chip sequence. The specification
states "The resolution of the fractional portion is approximately 0.3m"
So all the phone actually ever does is measurement of timing difference. It
will never try to decode the actual GPS signal at all.
The network (SMLC) can then compute the GPS position, as it can get the timing
information for all the satellites the phone has received, and it already knows
all the other data (almanac/ephemeris/...) from a local database and/or its own
reference receiver.
Pretty interesting. If only I had the time to implement it ;)
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
hello
i still don't know how 2 bs11 in multi-drop config are connected
correctly. nothing's to find on openbsc.com.
someone may send a schematic to me, please.
T.
--
Wer Rechtschreibfehler findet, darf sie behalten!
hello
how do i set the tei and timeslot for a bs11? of course i know
bs11_config and the tei_oml parameter, but it don't seem to work. i
tried ./bs11_config tei_oml 4 30 and 30 4 (to set the timeslot to 4 and
tei to 30). but when i query the bs11, it still says timeslot=1 and
tei=25. I tried it with and without disconnection of the bs11.
how do i call bs11_config correct for that purpose?
T.
--
Wer Rechtschreibfehler findet, darf sie behalten!
Hi all,
this is just a general request to everyone with git commit access on
the OpenBSC / Osmocom repositories.
I would appreciate to restrict the use of 'git merge' to the absolute
minimum neccessarry, as it makes the commitlog and timeline much harder
to understand.
If you're working on some private branch on a particular feature, please
rebase that private branch on current master before pushing the changes.
Thanks!
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
This is a Mailman mailing list bounce action notice:
List: OpenBSC
Member: Barrie.Mcclarity(a)zeusmail.org
Action: Subscription disabled.
Reason: Excessive or fatal bounces.
The triggering bounce notice is attached below.
Questions? Contact the Mailman site administrator at
mailman(a)lists.gnumonks.org.
> Andreas: Do you have some SuperSIM to test the new pySIM patch mode
and
> integrate it with OpenBSC? If not, I will send you some sample cards
monday
> next week.
please send me some cards. i have not followed the pySIM talk in the
mailing list. what reader do i need?
Hi Holger,
If you remember we are the students from Uppsala University Sweden.
I am glad to inform you that we have done with our project. We have
successfully implemented SMS capable MSC and VLR in Erlang, integrated with
Mobile Arts SMSC, HLR and OpenBSC.
We are also planning to make our project Open source and will inform you as
soon as we will finalize it.
--
*Thanks & Regards
Tejas Oza
Masters in Computer Science,
Department of Information Technology,
Uppsala University, Sweden.*
Hi Daniel,
i am occasionally browsing the commitlog of the daniel/controlif branch
and am wondering what exactly is happening there.
It seems much more to me that 'controlif' is about reimplementing a lot
of the functionality that already exists in the VTY, which I think is bad.
My original understanding of the idea of SNMP support was:
1) we mostly want to export counters that we already have, but in
a consistent/machine-parseable way. This is read-only
2) we may want to have traps
3) we have some (few!) things like rf_lock which should be issued (written)
by the external SNMP process.
Has the focus changed since this last discussion? Can anyone explain why
that is?
Even if we suddenly have a need for a lot of write/modify type settings from
the SNMP side, we should not have two ways how to modify a single parameter
inside OpenBSC. In that case we may need some code that can sort-of
automatically 'export' all controlif parameter to the VTY, and remove the
current code that sets this parameter from the VTY.
Any ideas?
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi, list!
I'd like to try to compile OpenBSC with the A-over-IP in order to
connect it to a real MSC.
I found this document:
http://openbsc.osmocom.org/trac/wiki/OpenBSCWithSCCP
But when I try to get the branch I get an error:
$ git checkout -b on-waves/bsc-master origin/bsc-master
git checkout: updating paths is incompatible with switching branches/forcing
Did you intend to checkout 'origin/bsc-master' which can not be
resolved as commit?
Is now this project in another branch? Can someone say me, what I have to
do to compile it?
Thanks a lot!
--
_______________________________________________________________________
Luca Bertoncello
Entwicklung Mail: bertoncello(a)netzing.de
NETZING Solutions AG Tel.: 0351/41381 - 23
Fröbelstr. 57, 01159 Dresden Fax: 0351/41381 - 12
_______________________________________________________________________
Impressum:
NETZING Solutions AG - Fröbelstraße 57 - 01159 Dresden
Sitz der Gesellschaft Amtsgericht Dresden HRB 18926
Vorstand Dieter Schneider - Aufsichtsratsvorsitzender Volker Kanitz
USt.Id DE211326547 Mail: netzing.ag(a)netzing.de
Hi,
I'm now having another look at implementing MT ciphering.
For this, I need to work inside the paging system.
What I'd like is that the MSC part instead of ever using
paging_request directly, that they all use subscr_get_channel.
Then this would also encapsulate securing the channel and only call
the call back when the channel has been ciphered and is ready for the
MSC part.
This requires making some gsm_04_08 call inside the
subscr_get_channel, so I need to move that call to the 'msc' side of
gsm_subscr.c
To me, it makes sense. I don't see in what context a BSC would use
get/put channel ... the BSC doesn't decide, it's just ordered what to
do by the MSC IIUC.
I would then also replace all calls to paging_request in gsm_04_08.c
by calls to subscr_get_channel.
And also move the "paging_succeded" signal dispatch to the
subscr_get_channel call back and not directly from gsm_04_08_utils.c
(since that signal is used currently to trigger SMS delivery and other
"side" things when we have a channel, it's more a MSC thing).
Finally, I'd need to pass the msgb paging response all the way to the
paging callback because it contains important field to enable
ciphering.
Any objections to this plan ? Did I miss something ?
Cheers,
Sylvain