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