From craig.reading1 at gmail.com Mon Apr 1 14:12:08 2013 From: craig.reading1 at gmail.com (Craig Reading) Date: Mon, 1 Apr 2013 15:12:08 +0100 Subject: OpenBTS with handover support Message-ID: Hi, Is handover support implemented in the current Fairwaves branch of OpenBTS? Regards Craig -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.chemeris at gmail.com Mon Apr 1 18:13:30 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Mon, 1 Apr 2013 22:13:30 +0400 Subject: OpenBTS with handover support In-Reply-To: References: Message-ID: Right now it's in a separate branch. We should merge it to fairwaves/master soon. Please excuse typos. Written with a touchscreen keyboard. -- Regards, Alexander Chemeris CEO/Founder Fairwaves LLC http://fairwaves.ru On Apr 1, 2013 7:29 PM, "Craig Reading" wrote: > Hi, > > Is handover support implemented in the current Fairwaves branch of OpenBTS? > > Regards > Craig > -------------- next part -------------- An HTML attachment was scrubbed... URL: From craig.reading1 at gmail.com Mon Apr 1 20:04:32 2013 From: craig.reading1 at gmail.com (Craig Reading) Date: Mon, 1 Apr 2013 21:04:32 +0100 Subject: RRLP Message-ID: Before I start "playing" with RRLP in OpenBTS 2.8 with UmTRX I'm just wondering if anybody has some current advice. I note in CLI.cpp: //apparently non-function now -kurtis //addCommand("sendrrlp", sendrrlp, " -- send RRLP message to ."); There are plenty of atricles out there e.g. http://wush.net/trac/rangepublic/wiki/rrlp http://www.mentby.com/Group/openbts-discuss/question-regarding-the-rrlp-in-openbts-28.html Basically, does it work and hence worth persuing? Regards Craig -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.chemeris at gmail.com Mon Apr 1 20:22:51 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Tue, 2 Apr 2013 00:22:51 +0400 Subject: RRLP In-Reply-To: References: Message-ID: We have a guy here in the Moscow based community who speaks Erlang and who tried to play with RRLP. But IIRC he didn't tried hard enough to get RRLP working with OpenBTS. Share your experience and I'll nudge him to continue experiments as well. :) On Tue, Apr 2, 2013 at 12:04 AM, Craig Reading wrote: > Before I start "playing" with RRLP in OpenBTS 2.8 with UmTRX I'm just > wondering if anybody has some current advice. > > I note in CLI.cpp: > > //apparently non-function now -kurtis > //addCommand("sendrrlp", sendrrlp, " -- send RRLP message > to ."); > > There are plenty of atricles out there e.g. > > http://wush.net/trac/rangepublic/wiki/rrlp > http://www.mentby.com/Group/openbts-discuss/question-regarding-the-rrlp-in-openbts-28.html > > Basically, does it work and hence worth persuing? > > Regards > Craig -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From Max.Suraev at fairwaves.ru Tue Apr 2 10:07:31 2013 From: Max.Suraev at fairwaves.ru (=?UTF-8?B?4piO?=) Date: Tue, 02 Apr 2013 12:07:31 +0200 Subject: RRLP In-Reply-To: References: Message-ID: <515AADE3.6080804@fairwaves.ru> 01.04.2013 22:04, Craig Reading ?????: > Before I start "playing" with RRLP in OpenBTS 2.8 with UmTRX I'm just wondering if > anybody has some current advice. > I've played with it recently at EasterHegg-13 installation: the RRLP passed all the bundled tests, requests were sent to the phones (some flash gps indicator) and .cgi logs are filled with data but there were nothing in corresponding sqlite db. So to summarize - it works but not entirely the way it's planned :) Do run your own experiments, I didn't had time to carefully analyze code and logs yet but it seems quite promising. -- best regards, Max, http://fairwaves.ru From alexander.chemeris at gmail.com Tue Apr 2 10:51:48 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Tue, 2 Apr 2013 14:51:48 +0400 Subject: RRLP In-Reply-To: <515AADE3.6080804@fairwaves.ru> References: <515AADE3.6080804@fairwaves.ru> Message-ID: On Tue, Apr 2, 2013 at 2:07 PM, ? wrote: > 01.04.2013 22:04, Craig Reading ?????: >> Before I start "playing" with RRLP in OpenBTS 2.8 with UmTRX I'm just wondering if >> anybody has some current advice. >> > > I've played with it recently at EasterHegg-13 installation: the RRLP passed all the > bundled tests, requests were sent to the phones (some flash gps indicator) and .cgi > logs are filled with data but there were nothing in corresponding sqlite db. Was it indoors or outdoors? I suspect it doesn't work indoors due to unavailable GPS signal. -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From Max.Suraev at fairwaves.ru Tue Apr 2 17:53:24 2013 From: Max.Suraev at fairwaves.ru (=?UTF-8?B?4piO?=) Date: Tue, 02 Apr 2013 19:53:24 +0200 Subject: RRLP In-Reply-To: References: <515AADE3.6080804@fairwaves.ru> Message-ID: <515B1B14.1040302@fairwaves.ru> 02.04.2013 12:51, Alexander Chemeris ?????: > On Tue, Apr 2, 2013 at 2:07 PM, ? wrote: >> 01.04.2013 22:04, Craig Reading ?????: >>> Before I start "playing" with RRLP in OpenBTS 2.8 with UmTRX I'm just wondering if >>> anybody has some current advice. >>> >> >> I've played with it recently at EasterHegg-13 installation: the RRLP passed all the >> bundled tests, requests were sent to the phones (some flash gps indicator) and .cgi >> logs are filled with data but there were nothing in corresponding sqlite db. > > Was it indoors or outdoors? I suspect it doesn't work indoors due to > unavailable GPS signal. > The test were indeed indoors and the lack of reliable gps might be the case indeed. Or some misconfiguration on my part. Or something else. I do see some data in the logs (from .cgi) nevertheless but not in sqlite which is puzzling. -- best regards, Max, http://fairwaves.ru From craig.reading1 at gmail.com Tue Apr 2 20:03:43 2013 From: craig.reading1 at gmail.com (Craig Reading) Date: Tue, 2 Apr 2013 21:03:43 +0100 Subject: RRLP In-Reply-To: References: Message-ID: Alexander, Challenge accepted! I think I've managed to get my head around the technical aspects of RRLP with GPS - interesting so say the least! Looking forward to doing some playing and experimenting over the next few days. I'll post my experiences at www.genesysguru.com and copy back to the UmTRX mailing list. Regards Craig On 1 April 2013 21:22, Alexander Chemeris wrote: > We have a guy here in the Moscow based community who speaks Erlang and > who tried to play with RRLP. But IIRC he didn't tried hard enough to > get RRLP working with OpenBTS. > > Share your experience and I'll nudge him to continue experiments as well. > :) > > On Tue, Apr 2, 2013 at 12:04 AM, Craig Reading > wrote: > > Before I start "playing" with RRLP in OpenBTS 2.8 with UmTRX I'm just > > wondering if anybody has some current advice. > > > > I note in CLI.cpp: > > > > //apparently non-function now -kurtis > > //addCommand("sendrrlp", sendrrlp, " -- send RRLP > message > > to ."); > > > > There are plenty of atricles out there e.g. > > > > http://wush.net/trac/rangepublic/wiki/rrlp > > > http://www.mentby.com/Group/openbts-discuss/question-regarding-the-rrlp-in-openbts-28.html > > > > Basically, does it work and hence worth persuing? > > > > Regards > > Craig > > > > -- > Regards, > Alexander Chemeris. > CEO, Fairwaves LLC / ??? ??????? > http://fairwaves.ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From craig.reading1 at gmail.com Wed Apr 3 17:27:19 2013 From: craig.reading1 at gmail.com (Craig Reading) Date: Wed, 3 Apr 2013 18:27:19 +0100 Subject: RRLP update Message-ID: A quick update ahead of some full blown documentation on my blog. 1. You need to set your GPS seed position: The GPS positioning signal has a period of 1 ms, corresponding to a distance of about 300 km. This means that there are many potential solutions for the GPS positioning equations in an irregular lattice around the Earth. If the GPS receiver does not know its true position within about 200 km, it must check all of these potential solutions in a brute force search before making a reliable position estimate, a process that can take 20 minutes or longer. To avoid this delay, the GPS receiver requires a seed position within 200 km of its true location: config GSM.RRLP.SEED.ALTITUDE xx config GSM.RRLP.SEED.LATITUDE xx.xxxxxx config GSM.RRLP.SEED.LONGITUDE xx.xxxxxx Note: You can find your own latitude, longitude and altitude (in meters) for the seeds here: http://veloroutes.org/elevation 2. Make sure your server time is correct: Current time must be known to within a few seconds to make rough estimates of satellite position and bootstrap the positioning calculations. Like seed position, rough time can determined through a brute-force search, but that is very time-consuming. With OpenBTS the rough current time comes from the time-of-day clock on the machine running the RRLP server. 3. There are 4 OpenBTS configuration options which determine when a RRLP query is performed: e.g. during call setup, during call teardown, during a Location Update Request (LUR) or during a SMS: config Control.Call.QueryRRLP.Early 1 config Control.Call.QueryRRLP.Late 1 config Control.LUR.QueryRRLP 1 config Control.SMS.QueryRRLP 1 QueryIMEI determines if the MS is checked to see if it supports RRLP: config Control.LUR.QueryIMEI 1 4. A common problem as widely reported and also obsered by myself is: range error=ephemURA of xx.0 (xx) doesn't fit in (0,15) In RRLPServer.cpp this causes method transact to return early without as MS location being determined (and table RRLP being written to). This error is output in roundAndCheck at line 912 in rrlpserver.erl URA stands for User Range Accuracy. The URA index defined bounds are -16 to 15. The valid range for ephemURA data is defined in the ephemeris Adjustment Table that is used for Ephemeris corrections, scaling, etc at line 1164 in rrlpserver.erl e.g. 0-15. The adjustment table defines: Correction, Scale, Min, Max I suspect that the problem is that a negative number is being returned in the GPS ephemeris data e.g. in ftp://ftp.trimble.com/pub/eph/CurRnxN.nav - at the very least the correct URA bounds are -16 to 15 rather than 0 to 15. My hack (for now) is: {"ephemURA", [0, 0, -16, 256]}, I'll carry on trying to get to the bottom of this error and fix it properly. Regards Craig -------------- next part -------------- An HTML attachment was scrubbed... URL: From craig.reading1 at gmail.com Thu Apr 4 11:32:44 2013 From: craig.reading1 at gmail.com (Craig Reading) Date: Thu, 4 Apr 2013 12:32:44 +0100 Subject: RRLP update (range error=ephemURA of xx.0 (xx) doesn't fit in (0, 15) ) Message-ID: Fetched ?CurRnxN.nav? from ftp://ftp.trimble.com/pub/eph/and had a look at the raw data. The .nav data file is formatted as Receiver Independent Exchange Format (*RINEX*) 2.10 and contains GPS navigation methods. SV accuracy is defined in Broadcast Orbit Record 6 and this value is used as the URA at line 1084 of rrlpserver.erl. The problem seems to be that SV accuracy in meters is being used as the URA *index*. The confusion arises due to differences between the Receiver Independent Exchange Format (*RINEX*) 2.10 format and Interface Specification IS-GPS-200 (http://www.gps.gov/technical/icwg/). IS-GPS-200 section 20.3.3.3.1.3 states: ?SV Accuracy - Bits 13 through 16 of word three shall give the URA index of the SV. The URA index (N) is an integer in the range of 0 through 15.? Hence I think the RRLP server needs to be modified to support RINEX and specifically to add a mapping from SV accuracy to URA index like in the code example here: http://www.gpstk.org/doxygen/GPS__URA_8hpp-source.html#l00109 For now I changed line 1084 in rrlpserver.erl to assume a URA index of 6 e.g. SV accuracy in the range 13.65 ? 24 meters: stuff("ephemURA", nmth(7,1,Tokens), AdjustTable), Change to: stuff("ephemURA", ?6? , AdjustTable), Can any Erlang programmers help fix this? -------------- next part -------------- An HTML attachment was scrubbed... URL: From craig.reading1 at gmail.com Fri Apr 5 18:28:23 2013 From: craig.reading1 at gmail.com (Craig Reading) Date: Fri, 5 Apr 2013 19:28:23 +0100 Subject: RRLP success! Message-ID: <8A0CBD9B-E68B-4A9A-9B7D-99781AF16C4A@gmail.com> Finally manage to get an iPhone running iOS 6 to cough up a location response! It is a bit hit and miss at present. Along the way I think I've found a couple of bugs in the fairwaves openBTS branch. I've started posting my experiences at www.genesysguru.com More posts over the weekend. Great fun! Regards Craig From craig.reading1 at gmail.com Mon Apr 8 20:44:47 2013 From: craig.reading1 at gmail.com (Craig Reading) Date: Mon, 8 Apr 2013 21:44:47 +0100 Subject: I'm done with RRLP! Message-ID: PHew! - finally finished my experiments with RRLP. Full details at www.genesysguru.com In summary: range error=ephemURA of xx.0 (xx) doesn't fit in (0,15) The problem seems to be that SV accuracy in metres is being used as the URA index. The confusion arises due to differences between the Receiver Independent Exchange Format (RINEX) 2.10 format and Interface Specification IS-GPS-200 (http://www.gps.gov/technical/icwg/). IS-GPS-200 section 20.3.3.3.1.3 states: ?SV Accuracy - Bits 13 through 16 of word three shall give the URA index of the SV. The URA index (N) is an integer in the range of 0 through 15.? RRLP server needs to be modified to support RINEX and specifically to add a mapping from SV accuracy to URA index. For now I changed line 1084 in rrlpserver.erl to assume a URA index of 6 e.g. SV accuracy in the range 13.65 ? 24 metres: stuff("ephemURA", nmth(7,1,Tokens), AdjustTable), Change to: stuff("ephemURA", ?6? , AdjustTable), With Control.Call.QueryRRLP.Early OpenBTS option configured a crash occurs. OpenBTS: ../CommonLibs/Vector.h:189: void Vector::copyToSegment(Vector&, size_t, size_t) const [with T = char, size_t= unsigned int]: Assertion `base+span<=other.mEnd' failed. Hence the solution for now is to unconfigure this option: unconfig Control.Call.QueryRRLP.Early It looks at though the Almanac file downloaded from http://www.navcen.uscg.gov/?pageName=currentAlmanac&format=yuma is saved into /tmp/almanac as HTML rather than plain text: As a quick fix I changed my Almanac URL: config GSM.RRLP.ALMANAC.URL http://celestrak.com/GPS/almanac/Yuma/almanac.yuma.txt My final configuration options are: config GSM.RRLP.ACCURACY 40 config GSM.RRLP.ALMANAC.ASSIST.PRESENT 1 config GSM.RRLP.ALMANAC.URL http://celestrak.com/GPS/almanac/Yuma/almanac.yuma.txt config GSM.RRLP.EPHEMERIS.ASSIST.COUNT 3 config GSM.RRLP.EPHEMERIS.REFRESH.TIME 0.5 config GSM.RRLP.RESPONSETIME 6 Hope this helps! I'm moving on to experiments with Uplink-Time Difference of Arrival (U-TDOA) methods for locating mobile devices with a bit of GSM burst data analysis , Complex Event Processing (CEP) and data correlation thrown in ?. I call this Mobile Fingerprinting ? lets see! Regards Craig -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.chemeris at gmail.com Tue Apr 9 10:37:48 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Tue, 9 Apr 2013 14:37:48 +0400 Subject: I'm done with RRLP! In-Reply-To: References: Message-ID: Hi Craig, On Tue, Apr 9, 2013 at 12:44 AM, Craig Reading wrote: > PHew! - finally finished my experiments with RRLP. Full details at > www.genesysguru.com Your blog seems down - gives me 500/503 errors. > In summary: > > range error=ephemURA of xx.0 (xx) doesn't fit in (0,15) > > The problem seems to be that SV accuracy in metres is being used as the URA > index. The confusion arises due to differences between the Receiver > Independent Exchange Format (RINEX) 2.10 format and Interface Specification > IS-GPS-200 (http://www.gps.gov/technical/icwg/). IS-GPS-200 section > 20.3.3.3.1.3 states: ?SV Accuracy - Bits 13 through 16 of word three shall > give the URA index of the SV. The URA index (N) is an integer in the range > of 0 through 15.? > > RRLP server needs to be modified to support RINEX and specifically to add a > mapping from SV accuracy to URA index. For now I changed line 1084 in > rrlpserver.erl to assume a URA index of 6 e.g. SV accuracy in the range > 13.65 ? 24 metres: > > stuff("ephemURA", nmth(7,1,Tokens), AdjustTable), > > Change to: > > stuff("ephemURA", ?6? , AdjustTable), > > With Control.Call.QueryRRLP.Early OpenBTS option configured a crash occurs. > > OpenBTS: ../CommonLibs/Vector.h:189: void > Vector::copyToSegment(Vector&, size_t, size_t) const [with T = char, > size_t= unsigned int]: Assertion `base+span<=other.mEnd' failed. > > Hence the solution for now is to unconfigure this option: > > unconfig Control.Call.QueryRRLP.Early > > It looks at though the Almanac file downloaded from > http://www.navcen.uscg.gov/?pageName=currentAlmanac&format=yuma is saved > into /tmp/almanac as HTML rather than plain text: > > As a quick fix I changed my Almanac URL: > > config GSM.RRLP.ALMANAC.URL > http://celestrak.com/GPS/almanac/Yuma/almanac.yuma.txt > > My final configuration options are: > > config GSM.RRLP.ACCURACY 40 > config GSM.RRLP.ALMANAC.ASSIST.PRESENT 1 > config GSM.RRLP.ALMANAC.URL > http://celestrak.com/GPS/almanac/Yuma/almanac.yuma.txt > config GSM.RRLP.EPHEMERIS.ASSIST.COUNT 3 > config GSM.RRLP.EPHEMERIS.REFRESH.TIME 0.5 > config GSM.RRLP.RESPONSETIME 6 > > Hope this helps! Sounds great. Could you document this at the OpenBTS wiki? > I'm moving on to experiments with Uplink-Time Difference of Arrival (U-TDOA) > methods for locating mobile devices with a bit of GSM burst data analysis , > Complex Event Processing (CEP) and data correlation thrown in ?. I call this > Mobile Fingerprinting ? lets see! Looking forward to hear more about your results here - this sounds like an interesting area to explore. I see many applications where this would be useful. E.g. we're working with volunteering organization which search people in woods in Northern Russia - every year hundreds of people get lost. :( -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From alexander.chemeris at gmail.com Tue Apr 9 13:01:39 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Tue, 9 Apr 2013 17:01:39 +0400 Subject: Fwd: Network From Scratch documentation In-Reply-To: <51640642.70902@eversberg.eu> References: <51640642.70902@eversberg.eu> Message-ID: Hi all, Thanks to Andreas everyone now could run an OsmoBTS/OpenBSC using an UmTRX to get a real BTS. You could also use LCR to connect calls using your preferred SIP softswitch. This is a great achievement, as OsmoBTS seem to have a better and more stable GSM implementation than OpenBTS. So we even think about replacing GSM part of OpenBTS with Osmocom parts. And, well, OpenBTS SIP part with a high-level SIP library like reSIProcate/DUM. Though it will be OpenBTS only by architecture then. :) Anyway, I invite everyone to experiment with UmTRX+OsmoBTS and report your experience here. ---------- Forwarded message ---------- From: jolly Date: Tue, Apr 9, 2013 at 4:14 PM Subject: Network From Scratch documentation To: OpenBSC Mailing List hi, i just updated the transceiver/osmo-bts/openbsc/lcr documentation: http://openbsc.osmocom.org/trac/wiki/network_from_scratch the changes refer to some issues during UmTRX/Osmo-BTS workshop. especially it describes how to setup/run a network with and without LCR. regards, andreas -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From martin at windycitysdr.com Tue Apr 9 14:07:33 2013 From: martin at windycitysdr.com (Martin O'Shield) Date: Tue, 9 Apr 2013 09:07:33 -0500 Subject: This is sweet! ---> Re: Network From Scratch documentation Message-ID: On Tue, Apr 9, 2013 at 8:01 AM, Alexander Chemeris < alexander.chemeris at gmail.com> wrote: > Hi all, > > Thanks to Andreas everyone now could run an OsmoBTS/OpenBSC using an > UmTRX to get a real BTS. You could also use LCR to connect calls using > your preferred SIP softswitch. > > This is a great achievement, as OsmoBTS seem to have a better and more > stable GSM implementation than OpenBTS. So we even think about > replacing GSM part of OpenBTS with Osmocom parts. And, well, OpenBTS > SIP part with a high-level SIP library like reSIProcate/DUM. Though it > will be OpenBTS only by architecture then. :) > > Anyway, I invite everyone to experiment with UmTRX+OsmoBTS and report > your experience here. > > ---------- Forwarded message ---------- > From: jolly > Date: Tue, Apr 9, 2013 at 4:14 PM > Subject: Network From Scratch documentation > To: OpenBSC Mailing List > > > hi, > > i just updated the transceiver/osmo-bts/openbsc/lcr documentation: > http://openbsc.osmocom.org/trac/wiki/network_from_scratch > the changes refer to some issues during UmTRX/Osmo-BTS workshop. > especially it describes how to setup/run a network with and without LCR. > > regards, > > andreas > > > > > -- > Regards, > Alexander Chemeris. > CEO, Fairwaves LLC / ??? ??????? > http://fairwaves.ru > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.chemeris at gmail.com Tue Apr 9 14:18:29 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Tue, 9 Apr 2013 18:18:29 +0400 Subject: This is sweet! ---> Re: Network From Scratch documentation In-Reply-To: References: Message-ID: Martin, I appreciate your exciting, but please do _not_ abuse subject of an e-mail. Use e-mail body to tell what you want. Your usage of the subject line is very annoying for many people. Please read the mailing list rules and try to follow the etiquete: https://code.google.com/p/umtrx/wiki/MailingListRules On Tue, Apr 9, 2013 at 6:07 PM, Martin O'Shield wrote: > > > On Tue, Apr 9, 2013 at 8:01 AM, Alexander Chemeris > wrote: >> >> Hi all, >> >> Thanks to Andreas everyone now could run an OsmoBTS/OpenBSC using an >> UmTRX to get a real BTS. You could also use LCR to connect calls using >> your preferred SIP softswitch. >> >> This is a great achievement, as OsmoBTS seem to have a better and more >> stable GSM implementation than OpenBTS. So we even think about >> replacing GSM part of OpenBTS with Osmocom parts. And, well, OpenBTS >> SIP part with a high-level SIP library like reSIProcate/DUM. Though it >> will be OpenBTS only by architecture then. :) >> >> Anyway, I invite everyone to experiment with UmTRX+OsmoBTS and report >> your experience here. >> >> ---------- Forwarded message ---------- >> From: jolly >> Date: Tue, Apr 9, 2013 at 4:14 PM >> Subject: Network From Scratch documentation >> To: OpenBSC Mailing List >> >> >> hi, >> >> i just updated the transceiver/osmo-bts/openbsc/lcr documentation: >> http://openbsc.osmocom.org/trac/wiki/network_from_scratch >> the changes refer to some issues during UmTRX/Osmo-BTS workshop. >> especially it describes how to setup/run a network with and without LCR. >> >> regards, >> >> andreas >> >> >> >> >> -- >> Regards, >> Alexander Chemeris. >> CEO, Fairwaves LLC / ??? ??????? >> http://fairwaves.ru >> > -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From alexander.chemeris at gmail.com Sat Apr 13 09:31:58 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Sat, 13 Apr 2013 13:31:58 +0400 Subject: OpenSIPS Was: transceiver won't start; fpga build error In-Reply-To: <20130327173046.GB13162@shimaore.net> References: <20130327173046.GB13162@shimaore.net> Message-ID: Stephane, Sorry for slow response. On Wed, Mar 27, 2013 at 9:30 PM, wrote: > > Do you think we could use OpenSIPS not only as a registrar, but also > > as an authentication server? > > As I understand how OpenBTS works, I think the registrar does the > authentication of the phone as well. I haven't tried though (I don't > have blank SIM cards or cards with known keys). > > > And what do you think about routing calls with it? I was told that the > > best way to get it to scale is to use static routing, i.e. without an > > access to an external DB. But now the problem is that subscribers move > > from a BTS to a BTS and it can't be completely static. > > One solution is > > to actually have Location Areas as in GSM and use broadcasted SIP > > INVITEs in them. Or alternatively we could do some "virtual LA" on SIP > > level by creating a layered set of OpenSIPS instances. > > You'd scale this in similar ways you would scale a storage infrastructure, > with "many writes - one read" by duplicating ("broadcasting") the > REGISTER messages to multiple registrar instances; then during routing > you can query (=forward INVITEs to obtain 302 routing responses) to any > registrar. > > REGISTER messages and INVITE messages don't have to be processed by the > same proxies either; you create a line of front-end proxies that can > talk to OpenBTS, another one that can talk to SS7 gateways, etc. > This also allows you to modify the setup behind those front-end proxies > without having to modify OpenBTS / gateways / etc. > > For very large systems you would spread out the back-end load over > multiple registrar clusters based on an arbitrary random key (e.g. the > last 2 digits of the IMSI, or whichever identifier is used to > authenticate/route) which you then use to locate the proper > registrars (easiest way is using DNS: for example you'd say that > information about IMSI xxx..x56 can be found on cluster > "registrar-56.phone.example.net", and the front-end servers will do the > proper processing for OpenBTS / SS7 gateways / whatever). Thank you for the information! Now we just have to implement that :) > > SMS is another issue, because it requires a "store and forward" > > server. Did you know an existing solution for that? Or is it easier to > > just write the thing from scratch :) > > The store-and-forward part could be email (we know that can be made to > scale), An issue with e-mail, as I see it, is that it relies on "polling" model, while SMS is "push" model in its heart. I don't see a good fit here, or may be I don't understand your idea. > Jabber/XMPP (which should scale as well), Jabber is an interesting idea! The only issue I see is that it requires a TCP connection for every mobile connected to a BTS, which could be quite a load. > AMQP (e.g. RabbitMQ)... Interesting alternative. I haven't used AMQP yet, but reading about it, it seems like a viable alternative. > In all cases we'd need some kind of gateway between that and SIP (or > OpenBTS); FreeSwitch has some facilities for "chatplans", I haven't played > with those so I'm don't know whether they can be used for SMS-over-SIP the > way OpenBTS does it(?). I think the best way would be to actually embed this into the OpenBTS itself rather then adding another layer of conversion. > Also multimedia messages will be a challenge with anything but SMTP > (email) because of frame size limitations in XMPP and AMQP (although MMS > might rely on different protocols than SMS -- I sure don't know enough > GSM to answer that). Yes, that's definitely a separate story. Lets get our SMS to scale first. -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From alexander.chemeris at gmail.com Sat Apr 13 09:49:05 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Sat, 13 Apr 2013 13:49:05 +0400 Subject: OpenSIPS Was: transceiver won't start; fpga build error In-Reply-To: <20130327173046.GB13162@shimaore.net> References: <20130327173046.GB13162@shimaore.net> Message-ID: Stephane, On Wed, Mar 27, 2013 at 9:30 PM, wrote: >> Do you think we could use OpenSIPS not only as a registrar, but also >> as an authentication server? > > As I understand how OpenBTS works, I think the registrar does the > authentication of the phone as well. I haven't tried though (I don't > have blank SIM cards or cards with known keys). Yes, registrar is doing authentication in the case of OpenBTS as well. Btw, did you look at Kamailio which merged OpenIMS developments some time ago? -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From stephane at shimaore.net Sat Apr 13 14:55:48 2013 From: stephane at shimaore.net (stephane at shimaore.net) Date: Sat, 13 Apr 2013 16:55:48 +0200 Subject: OpenSIPS Was: transceiver won't start; fpga build error In-Reply-To: References: <20130327173046.GB13162@shimaore.net> Message-ID: <20130413145548.GB3249@shimaore.net> Alexander, > Btw, did you look at Kamailio which merged OpenIMS developments some time ago? No I hadn't. Now that I have, I wished I didn't. IMS sure looks like a good barrier to entry. There's more to it than the proxy though (call continuity / handover requires B2BUA from what I just read, which makes sense). [SMS] > An issue with e-mail, as I see it, is that it relies on "polling" > model, while SMS is "push" model in its heart. Good point; again, my limited knowledge of GSM tech in play. > Jabber is an interesting idea! The only issue I see is that it > requires a TCP connection for every mobile connected to a BTS [...] Not if you use a Jabber chatroom, but in that case you're better off using AMQP anyhow since it really is a machine-to-machine alternative. My understanding of AMQP is that you can subscribe to multiple queues over a single connection so that should scale OK. (Based on my limited experience with node-amqp.) S. From alexander.chemeris at gmail.com Sat Apr 13 15:10:19 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Sat, 13 Apr 2013 19:10:19 +0400 Subject: OpenSIPS Was: transceiver won't start; fpga build error In-Reply-To: <20130413145548.GB3249@shimaore.net> References: <20130327173046.GB13162@shimaore.net> <20130413145548.GB3249@shimaore.net> Message-ID: On Sat, Apr 13, 2013 at 6:55 PM, wrote: >> Btw, did you look at Kamailio which merged OpenIMS developments some time ago? > > No I hadn't. Now that I have, I wished I didn't. IMS sure looks like a > good barrier to entry. There's more to it than the proxy though (call > continuity / handover requires B2BUA from what I just read, which makes > sense). Could you point me to a place where you found description of call continuity / handover in IMS? When I did a quick search I didn't find it. Good point about IMS is that it's the standard for VoLTE and thus having OpenBTS compatible with IMS will make it easier to integrate with LTE networks. -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From stephane at shimaore.net Sat Apr 13 15:22:58 2013 From: stephane at shimaore.net (stephane at shimaore.net) Date: Sat, 13 Apr 2013 17:22:58 +0200 Subject: OpenSIPS Was: transceiver won't start; fpga build error In-Reply-To: References: <20130327173046.GB13162@shimaore.net> <20130413145548.GB3249@shimaore.net> Message-ID: <20130413152258.GA3953@shimaore.net> > Could you point me to a place where you found description of call > continuity / handover in IMS? When I did a quick search I didn't find > it. I read mostly the article on VCC here: http://catis-blog.com/?tag=as Pages 236-237 of this Tekelec presentation have call flows: http://www.iptel.org/files/sip_tutorial.pdf S. From alexander.chemeris at gmail.com Sun Apr 14 11:31:32 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Sun, 14 Apr 2013 15:31:32 +0400 Subject: OpenSIPS Was: transceiver won't start; fpga build error In-Reply-To: References: <20130327173046.GB13162@shimaore.net> <20130413145548.GB3249@shimaore.net> <20130413152258.GA3953@shimaore.net> Message-ID: On Sun, Apr 14, 2013 at 3:05 PM, Alexander Chemeris wrote: > All that said, the biggest problem right now is to have scalable SMSC > and registration/authentication. Everything else is a lesser issue. One more issue is billing support. On one hand, we want to decentralize the system as much as possible, but on the other hand we must support real-time billing. For OpenBTS we don't need a media proxy to provide real-time billing, because we OpenBTS is a trusted controlled entity. But there should be support for SIP keep-alives to prevent endless calls in case of a network fail between an OpenBTS and an billing point. -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From alexander.chemeris at gmail.com Sun Apr 14 11:05:00 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Sun, 14 Apr 2013 15:05:00 +0400 Subject: OpenSIPS Was: transceiver won't start; fpga build error In-Reply-To: <20130413152258.GA3953@shimaore.net> References: <20130327173046.GB13162@shimaore.net> <20130413145548.GB3249@shimaore.net> <20130413152258.GA3953@shimaore.net> Message-ID: On Sat, Apr 13, 2013 at 7:22 PM, wrote: >> Could you point me to a place where you found description of call >> continuity / handover in IMS? When I did a quick search I didn't find >> it. > > I read mostly the article on VCC here: > http://catis-blog.com/?tag=as Very nice description of IMS concepts. Do you know the author by a chance? Unfortunately, VCC is mostly focused on CS-IMS call flows which are not interesting for us, because in the OpenBTS architecture there are no CS calls at the core network. In general, we don't need CS interoperability part of IMS which is the ugliest part of it. IMS have nice concepts and logic behind it, but we should adopt it with creativity. My thoughts after reading that blog: 1. We could think about OpenBTS as a P-CSCF. There will be another P-CSCF(s) when we start connecting to other networks and implement roaming, but for a standalone network OpenBTS's are the only P-CSCFs. They could route SIP messages to a proper next CSCF, which could be different for different IMSIs and different SIP message types. 2. I-CSCF is what handles authentication and admission control, which is important when our subscribers roam and connect from other networks. For internal calls I-CSCF functions could be reduced or even completely split between other elements of a network. Or we could keep it for balancing or other purposes. 3. S-CSCF in IMS somehow combines proxy and registrar, which might be better to keep separate. I don't see a problem if OpenSIPS/Kamailio could serve as such a combined entity already, otherwise it would be easier to get the thing in pieces. 4. IMS defines a way to dynamically define triggering points (Initial Filter Criteria aka iFC) which tells a CSCF to route call one or another way. I believe we don't need this initially and could live with OpenSIPS/Kamailio configs. And later we could figure out whether iFC is needed at all or there are better ways to handle events, e.g. http://switchcoder.fairwaves.ru/ 5. HSS is a part we really need to have. The only viable open-source alternative I know of is a Mobicents Diameter solution. Have you ever played with it or at least with Java SLEE in general? It looks awful to me, but some people like it :) 6. SMSC isn't really specified in IMS tutorials I saw. Do they assume it's just one of Aplication Servers? We could use Mobicents SMSC (https://code.google.com/p/smscgateway/) with a SIP frontend and keep SIP/IMS architecture or we could use AMQP as we discussed earlier. And surely we could avoid using all those ugly abbreviations when we talk about OpenBTS network. It's enough to keep a kind of mapping documented. All that said, the biggest problem right now is to have scalable SMSC and registration/authentication. Everything else is a lesser issue. -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From joel at jointventure.com Sat Apr 20 19:37:54 2013 From: joel at jointventure.com (joel yabut) Date: Sun, 21 Apr 2013 03:37:54 +0800 Subject: CID / LAC / C1 / C2 broadcast Message-ID: Alex, Anyone know the problem if my Cell ID, LAC, C2 / C2 appears blank on my TEMS investigation when I am monitoring my BTS? Transmit power is good but despite my setting up and putting values on CID/LAC they are blank on my TEMS. Anyone knows why this is so? Thanks! Joel -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.chemeris at gmail.com Sat Apr 20 19:53:43 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Sat, 20 Apr 2013 23:53:43 +0400 Subject: CID / LAC / C1 / C2 broadcast In-Reply-To: References: Message-ID: Joel, It looks like this question is not really related to UmTRX and a general OpenBTS question. Please post it to the OpenBTS mailing list. Also I should say that you didn't provide enough information about the issue. The only thing someone could say is "well, check your OpenBTS software and hardware configuration and also check documentation for your TEMS phone". One possible problem I often saw is that phone can't see a BTS if it has too much power and overload phone's rx. On Sat, Apr 20, 2013 at 11:37 PM, joel yabut wrote: > Alex, > > Anyone know the problem if my Cell ID, LAC, C2 / C2 appears blank on my TEMS > investigation when I am monitoring my BTS? > > Transmit power is good but despite my setting up and putting values on > CID/LAC they are blank on my TEMS. > > Anyone knows why this is so? > > Thanks! > Joel > -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From alexander.chemeris at gmail.com Sat Apr 20 20:33:58 2013 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Sun, 21 Apr 2013 00:33:58 +0400 Subject: [ANNOUNCE] UmTRX sales start on the Hardware Freedom Day Message-ID: Dear all, (I'm sorry for cross-posting to several mailing lists, but it really belongs to all of them. Please respond only to a mailing list you're subscribed to.) UmTRX sales start =============== It's the Hardware Freedom Day and we're starting sales of UmTRX to celebrate it! Now you could order it directly from Fairwaves web-shop [1], UmTRX is a completely open-source hardware SDR transceiver designed for professional/industrial applications. We designed it for use with OpenBTS software [2], but it also works well with OsmoBTS/OpenBSC [3]. UmTRX uses a UHD [4] with only minor changes to interact with a host and thus works well with GnuRadio and other applications based on UHD. 1. http://shop.fairwaves.ru/ 2. https://code.google.com/p/umtrx/wiki/RunningOpenBTS 3. http://openbsc.osmocom.org/trac/wiki/OsmoBTS 4. https://github.com/fairwaves/UHD-Fairwaves Technical details ============== UmTRX is an SDR transceiver inspired by USRP N series. If you worked with USRP N you will find it familiar, but there are significant differences which are described below as well. * Single board with an integrated RF part. * Optimized for industrial use and high MTBF. * 1GbE Ethernet connectivity to a computer. * Two full-duplex RF channels (side "A" and "B" in UHD). * Single chip transceivers LMS6002D are used for AD/DA and RF processing (300MHz to 3.8GHz) * Stable reference clocks: - 26MHz TCXO (integer multiple of GSM sample rate) with 100ppb frequency stability. - DAC for TCXO frequency fine tuning. - Integrated GPS module for automatic TCXO frequency stabilization. - External clock source is possible. * Thermal sensors for temperature based calibration. * 100mW @ 900MHz, 50mW @ 1800MHz RF output power. * 8-28V DC input power supply. * Spartan 6 LX75 FPGA. PS Big thank you to Lime Microsystems for their excellent support of open-source users! Check out their chips if you're planning to develop and SDR system. GSM specific info ============== UmTRX was designed to be easy to use to use with OpenBTS and OsmoBTS. So far it's the easiest way to get them up and running in your lab. * Quad-band support without any changes * 100-200m coverage (with an external duplexer and a small omni antenna). * >2km coverage with an external 2W GSM repeater and a patch antenna * Two independent TRXs (*). * Single-ARFCN and Multi-ARFCN support. (*) OpenBTS doesn't support the second channel on UmTRX yet. We're working to implement this and plan to release this soon. I also want to say thank you to our beta testers who received earlier versions of UmTRX. Some of them even blogged about their experience :) http://blog.shimaore.net/2013/03/umtrx.html http://genesysguru.com/blog/blog/2013/03/23/umtrx-is-alive-again/ UmTRX package contents ======================== * UmTRXv2.1, flashed and ready to use. * Power supply, 12V/30W - http://www.phihong.com/assets/pdf/PSAC30U.pdf * U.FL-to-SMA-F pigtail cables. * Two small GSM antennas - one for Tx and one for Rx. * An active GPS antenna. * Thermal pads. Note 1: The power supply comes without a 220V power cord. Make sure to prepare one before you receive the UmTRX to be able to power it on immediately. ;) Note 2: You'll need a heatsink or a fan to prevent UmTRX from overheating during long continuous operation. We provide thermal pads, but you have to find a heatsink by yourself. HDD heatsinks are good options, because UmTRX has almost the same size as an HDD. -- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ??? ??????? http://fairwaves.ru From john.wilson at pathintelligence.com Mon Apr 22 08:14:57 2013 From: john.wilson at pathintelligence.com (John Wilson) Date: Mon, 22 Apr 2013 09:14:57 +0100 Subject: Multiple DDC chains on UMTRX Message-ID: Hello, I was wondering whether there is an FPGA image for the UmTRX which gives 4x DDC Rx chains (at the expense of the two DUC chains) like the USRP1 usrp1_fpga_4rx.rbf. I guess this is unlikely, due to the fact it looks like the majority of people are using the UmTRX for OpenBTS! How difficult would it be to change the current firmware to support this. Another couple of questions, what's the maximum achievable bandwidth through a single Rx chain so far and are there any constraints on what value of decimation to use (e.g. USRP has the requirement that to use both CIC filters decimation factors have to be a factor of 4, otherwise the frequency response will be affected)? When I increase the sample rate (e.g. 4.333 MHz) I start seeing the frequency response affected, the FFT plot seems to 'flicker' between a reasonably flat looking response and a poor frequency response (see attached files - both taken from the same running instance of a flow graph) Cheers, John -- *Dr. John Wilson* Product development engineer, Path Intelligence T +44 2392 388442 @pathintel DETECT ? ANALYSE ? PREDICT ? INFLUENCE Path Intelligence Limited, registered number 5176274. Registered in England, registered office at 1000 Lakeside North Harbour, Western Road, Portsmouth, UK, PO6 3EN -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Flat_freq_response.png Type: image/png Size: 51109 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Poor_freq_response.png Type: image/png Size: 51208 bytes Desc: not available URL: From 246tnt at gmail.com Mon Apr 22 08:32:59 2013 From: 246tnt at gmail.com (Sylvain Munaut) Date: Mon, 22 Apr 2013 10:32:59 +0200 Subject: Multiple DDC chains on UMTRX In-Reply-To: References: Message-ID: Hi, I was wondering whether there is an FPGA image for the UmTRX which gives 4x > DDC Rx chains (at the expense of the two DUC chains) like the USRP1 > usrp1_fpga_4rx.rbf. I guess this is unlikely, due to the fact it looks like > the majority of people are using the UmTRX for OpenBTS! How difficult would > it be to change the current firmware to support this. > It shouldn't be too hard I think, at least for someone familiar with fpga image. But still not trivial either, maybe a couple days work (depending on luck / testing /... ) > Another couple of questions, what's the maximum achievable bandwidth > through a single Rx chain so far and are there any constraints on what > value of decimation to use (e.g. USRP has the requirement that to use both > CIC filters decimation factors have to be a factor of 4, otherwise the > frequency response will be affected)? > The hw should support getting the full 26 MHz out, but ethernet bandwidth might saturate at that point (so may have to go to 8 bits). > When I increase the sample rate (e.g. 4.333 MHz) I start seeing the > frequency response affected, the FFT plot seems to 'flicker' between a > reasonably flat looking response and a poor frequency response (see > attached files - both taken from the same running instance of a flow graph) > The LMS chip has internal low pass filters, these need to be set appropriately and I'm not sure setting the sample rate is sufficient. (i.e. you need to set the bandwidth as well, assuming that UHD control of theses is implemented, to be checked). Cheers, Sylvain -------------- next part -------------- An HTML attachment was scrubbed... URL: