I have some questions:
1) When I start bsc_hack bsc_init.c first establishes OML link and
initializes the bts then it establishes RSL link and bts starts
broadcasting. However, it takes so much time to start the bts. Instead of
this I want to do the following: it establishes OML link at the beginning
and only once, then when i want to start broadcasting it establishes just
the RSL link and bts will start faster since i don't have to wait for OML
link. What should be done for this?
2) If i send one or two word messages from telnet interface it is okay. But
if i send a longer message the phone could't receive the end of the message
correctly(last words may be incomplete). Did any one encounter with this
problem? What is wrong with me?
3) Could I send SMS in which extension of the sender is text not integer.
For example, i want to send an information SMS that this is a test network.
For this purpose i want to send an SMS from 'OpenBSC'. I set the extension
of the first subscriber in database as text and tried to send the SMS but
SMS wasn't delivered. What should i do?
4) Can i add SMS externally to SMS table of database?
Thanks.
Jason
<DISCLAIMER> Please follow-up to openbsc(a)lists.osmocom.org </DISCLAIMER>
Hi all,
this idea has been around for quite some time, and for 2012 I really
want to turn it into reality:
I'd like to have a Osmocom developer workshop
The idea here is to get all the active contributors of the project
together for a couple of days (maybe 2-4 days), in order to exchange
ideas, get to know each other better and last but not least work
together on ironing out some of the more difficult issues.
* City:
Regarding the location: I think for me it is only possible to organize
it if it is to be held in Berlin. I'mn happy if somebody else wants to
host it at some other location, but then that person would also have to
take care of local organization. Berlin also has good train and flight
connections, which is definitely a plus.
* Venue:
If it is in Berlin, we might consider talking with c-base or
Raumfahrtagentur as possible venues.
* Date:
Regarding a proposed date, I'm completely open for suggestions. Of
course there shouldn't be any overlap with other major FOSS or Sescurity
related conferences, and it should also not coincide with major public
holidays, as that only makes travel + accomodation more expensive.
* Funding:
As we don't have that many commercial users of Osmocom projects, getting
funding for e.g. travel / accomodation is probably going to be
difficult. We can ask the "usual suspects" among those commercial users
we know,, but I guess it will only be possible in exceptional cases to
provide that kind of funding.
Any ideas / comments / feedback is much appreciated. If somebody has
a particular suggestion.
<DISCLAIMER> Please follow-up to openbsc(a)lists.osmocom.org </DISCLAIMER>
Cheers,
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)
Attached is a patch to support sending time to the device.
It adds two per-bts configuration elements: tzunits and tzdir.
tzunits are the number of units from GMT. Each unit represents 15
minutes of time.
tzdir is the direction of the units from GMT. tzdir 0 means
GMT-tzunits and tzdir 1 means GMT+tzunits.
So for example, if you're GMT+1 you want:
bts 0
type nanobts
band PCS1900
cell_identity 0
location_area_code 1
training_sequence_code 7
base_station_id_code 63
tzunits 4
tzdir 1
ms max power 15
cell reselection hysteresis 4
Thanks,
Gus
Hi all,
I'm thinking of starting a project that would allow us to
* perform SIM and USIM card pre-personalization
* read/dump and explore [U]SIM contents interactively
* perform SIM card simulation
The idea is to start with some generic data structure that can represent
the filesystem tree (DFs, EFs) and their "external" properties, i.e.
file type, size, permissions, FID, SFID, etc.
This data structure could also have the actual file content associated
with each EF.
The second step would be some code that can take that data structure and
program a freely-programmable card (like sysmoSIM-GR1) and create the
files according to that structure.
Another module would implement card-simulation (via BT SAP, SIMtrace or
virtual PC/SC card). After all, only a few instructions have to be
imilpemented if the filesystem and its content is already in a generic
data structure that the program can access..
Next step would be to associate parser and generator routines for the
content of each individual file as it is specified in TS 11.11.
After that has been done, we could think of representing the FS tree and
the parsed contents of each file in some kind of graphical / user
friendly representation. The idea here is that the UI code would be
generic and not know any of the actual ecnoding/decoding of the EF
content.
The biggest question is what language to use for this. Some kind of
object orientation might very well resemble the idea of a 'file object'
in a tree, with many different file types, each having it's own
parser/encoder.
On the other hand, Erlang's bit field syntax would probably come very
handy in terms of encoding/decoding the various EF content. However, at
least once we start to want some kidn of UI, Erlan really sucsk. Also,
almost nobody here reads/writes Erlang [yet?].
Writing all this in C seems like a bit much of an effort, probably even
more so on the UI side. However, we already have quite a bit of C code
for parsing/generating things like LAI, etc. which are stored like 04.08
inside the sim card files.
Python might be a good idea in terms of tons of available
libraries/modules, object orientation and good UI bindings. The biggest
problem here is that my python skills are really limited so far, so my
productivity might not be as high as I expect.
The individual components could even be written in different
languages, but then we would have to have some common format for
exchanging data back and forth - which might not be worth it, given the
small scope of the project.
any ideas / comments / feedback?
--
- 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
Our plan is to offer an subscription to get our mensa menu via sms. If
just one MS get the sms everything works fine. But if two MSs are online
and OpenBSC sends the sms paralell (for each TS) something goes wrong.
The first two parts for both SMS will be transmitted correctly. But than
we receive a malformed packet from the BTS (see No. 103 from
wrong-sms.xml). After that the MS seems to be "confused" or something
else is wrong, because the following parts (and part 2) will be
transmitted several times. This is because the MS don't ack the sms
correctly. On a previous test we get 14 sms parts instead of just 5 parts:
1. part: 1 times
2. part: 2 times
3. part: 3 times
4. part: 4 times
5. part: 4 times
Attached are two gammu-logfiles.
right-sms.xml: Only one MS is online and the sms is transmitted correctly.
wrong-sms.xml: Two MSs are online. In the logfile you can only see one
MS. Until packet No. 102 everything seems to be OK.
ATM i don't know were to search on the code. I don't think there is a
sms bug. I think there is a memory bug, because the packet No 103 seems
to be random (or contains previous data).
Maybe someone can give me an advice.
Thanks in advance
Dennis Wehrle
Hello,
I am trying to set up an OpenBSC based GSM network. The GSM part was easy
and relatively quick to do, but I have a problem with GPRS. I have read the
documentation for OpenSGSN
(http://openbsc.osmocom.org/trac/wiki/) and OpenGGSN (man page). After a
couple of days searching for more information and trying whatever came to my
mind, GPRS still does not work.
BTS is ip.access nanoBTS, using IP address 192.168.2.3 (was set up like
that, I got it second hand). It is connected to eth1 (192.168.2.1). The PC
is running osmo-nitb, osmo-sgsn and ggsn (started in reverse order).
Interface eth0 is internet connection (behind NAT).
**********
bash-4.1# ifconfig
eth0 Link encap:Ethernet HWaddr 00:22:15:99:86:2E
inet addr:192.168.110.34 Bcast:192.168.110.255
Mask:255.255.255.0
inet6 addr: fe80::222:15ff:fe99:862e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22233 errors:0 dropped:1314 overruns:0 frame:0
TX packets:4200 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4119511 (3.9 Mb) TX bytes:514598 (502.5 Kb)
Interrupt:20 Memory:f9fc0000-f9fe0000
eth1 Link encap:Ethernet HWaddr 00:E0:7D:D6:7D:2D
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:7dff:fed6:7d2d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7311 errors:0 dropped:0 overruns:0 frame:0
TX packets:7211 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:630759 (615.9 Kb) TX bytes:445274 (434.8 Kb)
Interrupt:17 Base address:0xe800
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)
lo:1 Link encap:Local Loopback
inet addr:192.168.3.2 Mask:255.255.255.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
lo:2 Link encap:Local Loopback
inet addr:192.168.3.3 Mask:255.255.255.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
tun0 Link encap:UNSPEC HWaddr
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.254.1 P-t-P:192.168.254.1 Mask:255.255.255.0
UP POINTOPOINT RUNNING MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
**********
bash-4.1# cat /proc/sys/net/ipv4/ip_forward
1
**********
I have also added a rule to iptables:
iptables -A POSTROUTING -s 192.168.254.0/24 -t nat -o eth0 -j MASQUERADE
**********
Here are my configuration files:
**********
GPRS section of nitb.conf:
**********
gprs mode gprs
gprs routing area 0
gprs cell bvci 2
gprs nsei 101
gprs nsvc 0 nsvci 101
gprs nsvc 0 local udp port 23000
gprs nsvc 0 remote udp port 23000
gprs nsvc 0 remote ip 192.168.2.1
**********
sgsn.conf:
**********
!
! Osmocom SGSN configuration
!
line vty
no login
!
sgsn
gtp local-ip 192.168.3.2
ggsn 0 remote-ip 192.168.3.3
ggsn 0 gtp-version 1
!
ns
timer tns-block 3
timer tns-block-retries 3
timer tns-reset 3
timer tns-reset-retries 3
timer tns-test 30
timer tns-alive 3
timer tns-alive-retries 10
encapsulation udp local-ip 192.168.2.1
encapsulation udp local-port 23000
encapsulation framerelay-gre enabled 0 !
bssgp
!
**********
ggsn.conf:
**********
pidfile /var/run/ggsn.pid
statedir /var/lib/ggsn/
listen 192.168.3.3
net 192.168.254.0/24
dynip 192.168.254.0/24
timelimit 0
I am using Wireshark with patches from openbsc git applied. GSM calls and
SMS work fine. BTS is able to connect to SGSN, as can be seen from the
output:
**********
rado@openbsc:~$ osmo-sgsn -c sgsn.conf
<0011> gprs_ns.c:151 NSVCI=65534 Creating NS-VC <0011> gprs_ns.c:151
NSVCI=65535 Creating NS-VC <0011> gprs_ns.c:738 Creating NS-VC for BSS at
192.168.2.3:23000 <0011> gprs_ns.c:620 NSEI=65535 Rx NS RESET (NSVCI=0,
cause=O&M intervention) <0011> gprs_ns.c:488 NSEI=101 Tx NS RESET ACK
(NSVCI=101) <0011> gprs_ns.c:797 NSEI=101 Rx NS UNBLOCK <0012>
gprs_bssgp.c:246 BSSGP BVCI=0 Rx RESET cause=Transmission capacity modified
<0012> gprs_bssgp.c:246 BSSGP BVCI=2 Rx RESET cause=O&M intervention <0012>
gprs_bssgp.c:269 Cell 230-10-1209-0 CI 2984 on BVCI 2 <0012>
gprs_bssgp.c:322 BSSGP BVCI=2 Rx BVC-UNBLOCK <0012> gprs_bssgp.c:462 BSSGP
BVCI=2 Rx Flow Control BVC
**********
When trying to use GPRS from mobile phone:
**********
<0012> gprs_bssgp.c:346 BSSGP TLLI=0x7ed21cb5 Rx UPLINK-UNITDATA
<0013> gprs_llc.c:478 LLC SAPI=1 C FCS=0x17cd30CMD=UI DATA
<0013> gprs_llc.c:741 LLC RX: unknown TLLI 0x7ed21cb5, creating LLME on the
fly <0012> gprs_bssgp.c:346 BSSGP TLLI=0x7ed21cb5 Rx UPLINK-UNITDATA
<0013> gprs_llc.c:478 LLC SAPI=1 C FCS=0x17cd32CMD=UI DATA
<0012> gprs_bssgp.c:346 BSSGP TLLI=0x7ed21cb5 Rx UPLINK-UNITDATA
<0013> gprs_llc.c:478 LLC SAPI=1 C FCS=0x17cd4cCMD=UI DATA
and so on until phone timeouts.
The problem is in my opinion between SGSN and GGSN, as no data is
transferred through the tunnel (or the lo interface). But I checked the
settings multiple times and tried other configurations (alias for eth1).
Openbsc, openggsn, libosmocore, libosmo-abis are all compiled from git
repositories.
I do not understand what I am doing wrong and I am out of options. So I am
asking for help. Thank you for your time.
Rado Krkos
Hello,
I am trying to set up an OpenBSC based GSM network. The GSM part was
easy and relatively quick to do, but I have a problem with GPRS. I
have read the documentation for OpenSGSN
(http://openbsc.osmocom.org/trac/wiki/) and OpenGGSN (man page). After
a couple of days searching for more information and trying whatever
came to my mind, GPRS still does not work.
BTS is ip.access nanoBTS, using IP address 192.168.2.3 (was set up
like that, I got it second hand). It is connected to eth1
(192.168.2.1). The PC is running osmo-nitb, osmo-sgsn and ggsn
(started in reverse order). Interface eth0 is internet connection
(behind NAT).
**********
bash-4.1# ifconfig
eth0 Link encap:Ethernet HWaddr 00:22:15:99:86:2E
inet addr:192.168.110.34 Bcast:192.168.110.255 Mask:255.255.255.0
inet6 addr: fe80::222:15ff:fe99:862e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22233 errors:0 dropped:1314 overruns:0 frame:0
TX packets:4200 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4119511 (3.9 Mb) TX bytes:514598 (502.5 Kb)
Interrupt:20 Memory:f9fc0000-f9fe0000
eth1 Link encap:Ethernet HWaddr 00:E0:7D:D6:7D:2D
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:7dff:fed6:7d2d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7311 errors:0 dropped:0 overruns:0 frame:0
TX packets:7211 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:630759 (615.9 Kb) TX bytes:445274 (434.8 Kb)
Interrupt:17 Base address:0xe800
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)
lo:1 Link encap:Local Loopback
inet addr:192.168.3.2 Mask:255.255.255.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
lo:2 Link encap:Local Loopback
inet addr:192.168.3.3 Mask:255.255.255.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
tun0 Link encap:UNSPEC HWaddr
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.254.1 P-t-P:192.168.254.1 Mask:255.255.255.0
UP POINTOPOINT RUNNING MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
**********
bash-4.1# cat /proc/sys/net/ipv4/ip_forward
1
**********
I have also added a rule to iptables:
iptables -A POSTROUTING -s 192.168.254.0/24 -t nat -o eth0 -j MASQUERADE
**********
Here are my configuration files:
**********
GPRS section of nitb.conf:
**********
gprs mode gprs
gprs routing area 0
gprs cell bvci 2
gprs nsei 101
gprs nsvc 0 nsvci 101
gprs nsvc 0 local udp port 23000
gprs nsvc 0 remote udp port 23000
gprs nsvc 0 remote ip 192.168.2.1
**********
sgsn.conf:
**********
!
! Osmocom SGSN configuration
!
line vty
no login
!
sgsn
gtp local-ip 192.168.3.2
ggsn 0 remote-ip 192.168.3.3
ggsn 0 gtp-version 1
!
ns
timer tns-block 3
timer tns-block-retries 3
timer tns-reset 3
timer tns-reset-retries 3
timer tns-test 30
timer tns-alive 3
timer tns-alive-retries 10
encapsulation udp local-ip 192.168.2.1
encapsulation udp local-port 23000
encapsulation framerelay-gre enabled 0
!
bssgp
!
**********
ggsn.conf:
**********
pidfile /var/run/ggsn.pid
statedir /var/lib/ggsn/
listen 192.168.3.3
net 192.168.254.0/24
dynip 192.168.254.0/24
timelimit 0
I am using Wireshark with patches from openbsc git applied. GSM calls
and SMS work fine. BTS is able to connect to SGSN, as can be seen from
the output:
**********
rado@openbsc:~$ osmo-sgsn -c sgsn.conf
<0011> gprs_ns.c:151 NSVCI=65534 Creating NS-VC
<0011> gprs_ns.c:151 NSVCI=65535 Creating NS-VC
<0011> gprs_ns.c:738 Creating NS-VC for BSS at 192.168.2.3:23000
<0011> gprs_ns.c:620 NSEI=65535 Rx NS RESET (NSVCI=0, cause=O&M intervention)
<0011> gprs_ns.c:488 NSEI=101 Tx NS RESET ACK (NSVCI=101)
<0011> gprs_ns.c:797 NSEI=101 Rx NS UNBLOCK
<0012> gprs_bssgp.c:246 BSSGP BVCI=0 Rx RESET cause=Transmission
capacity modified
<0012> gprs_bssgp.c:246 BSSGP BVCI=2 Rx RESET cause=O&M intervention
<0012> gprs_bssgp.c:269 Cell 230-10-1209-0 CI 2984 on BVCI 2
<0012> gprs_bssgp.c:322 BSSGP BVCI=2 Rx BVC-UNBLOCK
<0012> gprs_bssgp.c:462 BSSGP BVCI=2 Rx Flow Control BVC
**********
When trying to use GPRS from mobile phone:
**********
<0012> gprs_bssgp.c:346 BSSGP TLLI=0x7ed21cb5 Rx UPLINK-UNITDATA
<0013> gprs_llc.c:478 LLC SAPI=1 C FCS=0x17cd30CMD=UI DATA
<0013> gprs_llc.c:741 LLC RX: unknown TLLI 0x7ed21cb5, creating LLME
on the fly
<0012> gprs_bssgp.c:346 BSSGP TLLI=0x7ed21cb5 Rx UPLINK-UNITDATA
<0013> gprs_llc.c:478 LLC SAPI=1 C FCS=0x17cd32CMD=UI DATA
<0012> gprs_bssgp.c:346 BSSGP TLLI=0x7ed21cb5 Rx UPLINK-UNITDATA
<0013> gprs_llc.c:478 LLC SAPI=1 C FCS=0x17cd4cCMD=UI DATA
and so on until phone timeouts.
The problem is in my opinion between SGSN and GGSN, as no data is
transferred through the tunnel (or the lo interface). But I checked
the settings multiple times and tried other configurations (alias for
eth1).
Openbsc, openggsn, libosmocore, libosmo-abis are all compiled from git
repositories.
I do not understand what I am doing wrong and I am out of options. So
I am asking for help. Thank you for your time.
Rado Krkos
Hi all,
as can be seen here[1] I have merged the GNU autotest setup to libosmocore and
the tests are now being executed during the normal build. I encourage everyone
to write new tests for bugfixes in libosmocore but in other projects as well.
How to write a test:
- Create a new test executable or add a new function to one of the existing
tests. Make repeatable output go to stdout, errors and things that can
change to stderr.
- Capture the stdout into the app_name.ok, add this file to the EXTRA_DIST
of the Makefile.am
- Append your test to the tests/testsuite.at file (copy and pasting one
of the previous test cases)
- test locally with make check
- If you access local files during the test, add them to the EXTRA_DIST as
well
- Use make distcheck to verify everything is okay.
regard
holger
[1]
http://jenkins.osmocom.org/jenkins/job/libosmocore/label=linux_i386_debian_…
(no permalink)
Hi all,
I personally would like to keep track of the changes that happen in most
of the osmocom git repositories. Generally there are currently two ways
to do that.
a)
The atom feed that cgit offers, e.g.
http://cgit.osmocom.org/cgit/osmocom-bb/atom/?h=jolly/testing
cgit does not offer this feature in a way firefox would recognize, but
it works. Atom feeds are quite convenient, but in the way this works ATM
one has to opt-in explicitly to every branch one wants to "follow".
Newly created branches are not advertised, ...
b)
The commitlog ML, which does not have any of the drawbacks of the cgit
atom feed, but does not show the actual patch, in case there is one,
only the revision hash.
There are several thinkable ways to bring together the best of both
systems, IMHO the easiest thing to do is modify the way the commitlog ML
composes its emails.
The example post-receive-email scripts of git (1.7.8rc1) contains the
following comment:
# hooks.showrev
# The shell command used to format each revision in the email, with
# "%s" replaced with the commit id. Defaults to "git rev-list -1
# --pretty %s", displaying the commit id, author, date and log
# message. To list full patches separated by a blank line, you
# could set this to "git show -C %s; echo".
# To list a gitweb/cgit URL *and* a full patch for each change set,
# use this:
# "t=%s; printf 'http://.../?id=%%s' \$t; echo;echo; git show -C
# \$t; echo"
# Be careful if "..." contains things that will be expanded by shell
# "eval"
# or printf.
The whole file is attached.
As stated on IRC, I think pasting the patches in the emails would be
most convenient, must takes up quite some space in mailboxes over time.
Of course that problem would be addressable with rm and there is
gmane/tin, ...
In any case, an added cgit link does not harm and also provides an easy
way to read the patches.
Any comments and ideas how to do a similar RSS/atom feed welcome!
Kind regards
-Alex
All -
I realize this is slightly off topic, but I have just set up a mailing list for discussion of the UMTS specifications. This list is not about building a specific implementation of UMTS (although it might lead to that) but it is instead a forum for discussion of the interpretation of the specifications. It is my impression so far that the 3GPP documents are constructed so as to meet some minimum legal requirement for the specification of the technology while still avoiding the conveyance of critical information actually required to implement the system. The likely purpose of this approach is to deter the implementation of 3G technology by anyone outside of the set of companies that staffed the specification committee. The eventual product of this list could be an alternative, wikipedia-style spec that conveys all of the information needed to actually build some minimum-but-fuctional 3G system. Anyone who is interested breaking down the door to this club, please subscribe here:
https://lists.sourceforge.net/lists/listinfo/openbts-umts-discuss
Thanks.
-- David
David A. Burgess
Range Networks, Inc.
560 Brannan St.
San Francisco, CA 94107
USA
cell +1 707 208 2622
Hi all,
I wanted to write this mail earlier, but somehow didn't get around to.
MAny people have been assuming that there again will be a GSM network
at the 28C3 conference in late december. However, given the large
amount of work that was involved in the GSM network at the camp this
summer, I have decided that I want to pull out a bit of this network
operation.
This means that I hope there will be some other project members that
will step up to make it happen again.
I've already applied for the regulatory license some 4 weeks ago (no
response yet, but I doubt there will be any problems). So that should
be OK (6 ARFCN, GSM 1800, 200mW each, indoor).
The BTSs have always come from a quite large number of individuals and
companies, and I'm sure we will be able to pool them together again.
Whoever is able to provide a GSM1800 nanoBTS during the event should
probably add themselves (and the number of BTS) to the following wiki
page: http://openbsc.osmocom.org/trac/wiki/FieldTests/28c3
The BTSs will have to be available from at least 23rd of december to
31st december. Likely they'll be unmounted on 30th night, but nobody
can guarantee that.
What needs to be done:
* BTS physical installation, patching + PoE
This is typically done on dec 24 or 25, depends a bit when roh is
doing the patching and when the house technicians lift up the big
cross beam in the main hall
* configuring osmo-nitb + LCR to connect with the POC, do some testing
This again involves getting some physical E1 line from/to the PoC
patched, and when the POC is available for configuring their side of
the link
* programming of SIM cards
we have some 100 to 150 left-over 16in1 sim cards from the camp, but
sysmocom will soon receive 1000 sysmoSIM' cards. Those cards store
only one IMSI (not 16), but are otherwise much more flexible in terms
of programming. You can create any file (DF/EF) and put any content
inside, even files not specified in TS 11.11.
The cards will need to be programmed (simple, quick). sysmocom will
take care they are of that.
* selling of SIM cards
In the past, this has been done by the POC. However, there has been
some discontempt with the fact that they get all the user questions
and cannot do anything regarding GSM, and also they never got any
share of the money (not that we made huge profits on it anyway).
So I'd suggest to involve the POC more in the network, give them
telnet access to the BSC so they can try to anlyze problems
themselves, and maybe see if (at least in the beginning) one of the
OpenBSC project members could spend some time at the POC desk to help
with SIM card sales and user questions
* putting together a publik wiki page (mostly copy+paste from last year)
* Testing of newer BTSs. Both Fairwaves as well as sysmocom are
develoing some new BTSs. We probably don't want them operational
during all of the event, the network should run on nanoBTS. But
when we feel like doing a test, we will shut down one nanoBTS and
start up one of the new BTS models and check for bugs / performance.
All in all, I will not be gone completely from the even GSM network but
still be around and willing to help if some nasty problem needs to be
debugged.
And thanks at this point for the kind help of Peter Stuge and Khorben
for helping with GSM @ the camp, as well as the POC for the SIM card
sales in past years!
[please make sure to keep the Cc list of this mail, as I don't think the
POC guys are on the openbsc list...]
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 Harald,
I can also provide 3 fully functioning GSM1800 nanoBTS units, I just do not
have the extension cables for multiTRX use, but I have adapters for external
antennas if required.
I would be able to assist for configuring, maintenance and testing the whole
setup starting at 25th in Berlin as well.
Best,
Daniel
Hi Pablo, all
I have pushed GNU autotest[1] integration of libosmocore into the
zecke/gnu-autotest branch and invoking make check will execute the testsuite.
The output looks like this:
## ------------------------------------- ##
## libosmocore 0.4.0.10-c015 test suite. ##
## ------------------------------------- ##
Regression tests.
1: bits ok
2: msgfile ok
3: sms ok
4: smscb ok
5: timer FAILED (testsuite.at:38)
6: ussd FAILED (testsuite.at:44)
GNU autotest will execute an external application and then can check the exit
code, compare the stdout/stderr to a file. In this case the timer test fails
as the test itself is randomized and does not always provide the same output.
Pablo if your time permits it would be nice if you could:
- Provide a cli option to make the test have less iterations (to make
make check run faster)
- Provide a cli option to produce a repeatable output (e.g. by
omitting the expired output).
What do you think? In some ways I think that executing the timer test as part
of our regression tests makes sense but maybe specially on a loaded machine
the test might be flaky...
holger
[1] http://www.gnu.org/s/hello/manual/autoconf/Using-Autotest.html#Using-Autote…
If the timer test takes more than 2 * (number of steps + 10), we
abort the test. This calculation is based on the maximum timeout
randomly set (10 seconds) plus the number of steps (some existing
timers may be reset in each step). We double this to have some
extra grace time to finish.
---
tests/timer/timer_test.c | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/tests/timer/timer_test.c b/tests/timer/timer_test.c
index 72c07a9..3775151 100644
--- a/tests/timer/timer_test.c
+++ b/tests/timer/timer_test.c
@@ -24,6 +24,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include <signal.h>
#include <getopt.h>
#include <osmocom/core/talloc.h>
@@ -137,10 +138,22 @@ static void secondary_timer_fired(void *data)
}
}
+static void alarm_handler(int signum)
+{
+ fprintf(stderr, "ERROR: We took too long to run the timer test, "
+ "something seems broken, aborting.\n");
+ exit(EXIT_FAILURE);
+}
+
int main(int argc, char *argv[])
{
int c;
+ if (signal(SIGALRM, alarm_handler) == SIG_ERR) {
+ perror("cannot register signal handler");
+ exit(EXIT_FAILURE);
+ }
+
while ((c = getopt_long(argc, argv, "s:", NULL, NULL)) != -1) {
switch(c) {
case 's':
@@ -162,6 +175,12 @@ int main(int argc, char *argv[])
osmo_timer_schedule(&main_timer, 1, 0);
+ /* if the test takes too long, we may consider that the timer scheduler
+ * has hung. We set some maximum wait time which is the double of the
+ * maximum timeout randomly set (10 seconds, worst case) plus the
+ * number of steps (since some of them are reset each step). */
+ alarm(2 * (10 + timer_nsteps));
+
#ifdef HAVE_SYS_SELECT_H
while (1) {
osmo_select_main(0);
--
1.7.2.5
--fdj2RfSjLxBAspz7--
Hi,
While updating libosmocore in osmocom-bb, a problem arised: 100%CPU
usage and hanging. Turns out 'mobile' sometimes call
osmo_timer_schedule for an already scheduled timer.
Obviously this used to work and now it doesn't. The question is : Was
there a defined semantics for this case previously ? Or is it supposed
to be unsupported ? What would you expect it to do ?
Cheers,
Sylvain
On Sun, Nov 13, 2011 at 11:45:28AM +0100, Harald Welte wrote:
> Hi Pablo and Sylvain,
>
> On Sun, Nov 13, 2011 at 01:28:30AM +0100, Pablo Neira Ayuso wrote:
>
> > Hm, I think I found one weird scenario which is not handled fine with
> > your patch. [...]
> >
> > Yes, this scenario is strange, but I think we try to cover all possible
> > situations. So I think my patch should be applied instead.
>
> Will the two of you please figure out what is the best option to
> proceed? Revert one of Sylvains patches and apply Pablos patch?
I think so. I can make it myself if you want.
Hi,
>> Yes, this scenario is strange, but I think we try to cover all possible
>> situations. So I think my patch should be applied instead.
>
> Will the two of you please figure out what is the best option to
> proceed? Revert one of Sylvains patches and apply Pablos patch?
I applied Pablo's patch this morning after testing it worked as well.
Cheers,
Sylvain
Hi all,
i compiled and configured all (mISDN, lcr, asterisk, etc...), unfortunately, when i try to place a call from the softphone to the MS, i can ear only the voice originated from the laptop to the MS and not viceversa.
I'm using it on an Ubuntu 10.4, Asterisk 1.6.2.5 and the others sources from "last git".
Configurations:
- extension.conf: http://pastebin.com/mHH46HbQ
- sip.conf: http://pastebin.com/SkPN3z6q
- gsm.conf: http://pastebin.com/C1Eckdgh
- interface.conf: http://pastebin.com/ctGapa1F
- options.conf: http://pastebin.com/6xhgL0P1
- routing.conf: http://pastebin.com/TVNvwTEB
Logs:
- osmo-nitb's log: http://pastebin.com/X10B5NjE
- lcr's log: http://pastebin.com/uLY9VAiB
- Asterisk's log: http://pastebin.com/8qzw6aMn
As you can see from Asterisk, there is a mismatch:
"NOTICE[2315]: channel.c:2960 __ast_read: Dropping incompatible voice frame on lcr/1 of format alaw since our native format has changed to 0x0 (nothing) "
I tried to set alaw / ulaw on the configurations, to change efr, fr and amr, but it didn't change nothing.
Ideas or hints for further investigations are welcome.
Regards,
Luca
Hi Jolly, all,
I spent some time figuring out why LCR and OpenBSC wouldn't want to work with
each other. The reason was the addition of an element to the MNCC structure. I
propose to send a hello packet down the MNCC socket and leave it to the client
to decide if the version is acceptable.
I will need to move the mncc header to libosmocore as osmocomBB is currently
using a copy of the OpenBSC header.
comments
holger