Good Day,
I have been working with OpenBSC for the past few weeks and I am able to
make voice calls and send SMS messages within the private network without
issues.
I am now attempting to add GPRS to the mix, and have been having less
success. I have been able to make it to the internet from my phones
occasionally, but in general, there appears to be an issue between
osmo-sgsn and OpenGSN. My hope is that it is a simple configuration
issue. However, I suspect it may be due to an issue in the code, or
perhaps something mentioned last May (I have been scouring the mail
archive) regarding foreign vs local TLLIs.
My current setup is:
One Linux workstation which runs all three pertinent executables:
osmo-nitb, osmo-sgsn and ggsn.
A nanoBTS 165BU (PCS1900)
Two Nokia 6013b phones
I am working in an RF chamber. I have some T-Mobile SIMs so, I have the
network set to T-Mobile rather than the test network.
I had previously been able to connect to the internet perhaps 1 in 10
times, presumably because the PDP contexts were not being created (the ggsn
output would not state that it was creating a context when I tried to
connect from the phone). I modified gprs_llc.c to handle the issue that
Frank Maas mentioned in May, regarding llme_alloc not localizing the TLLI.
Now, I can usually connect with a phone more consistently (but not always)
on a fresh restart of the three executables.
However, after connecting to the internet via the phone, if I cycle the
power on the phone, I am usually not able to connect to the internet again.
Sometimes the ggsn states that it "Received create PDP context request,"
and sometimes it doesn't state it when the sgsn (apparently) makes a
request. At times, the ggsn reports "Received packet with no
destination!!!" During these times, when I check the PDP contexts in
osmo-sgsn, I get:
OsmoSGSN> show pdp-context all
PDP Context IMSI: 310260XXXXXXXXX, SAPI: 3, NSAPI: 5
APN: epc.tmobile.com
PDP Address: IPv4 192.168.100.3
SGSN PDP Context Statistics:
User Data Messages ( In): 0 (0/s 0/m 0/h 0/d)
User Data Messages (Out): 0 (0/s 0/m 0/h 0/d)
User Data Bytes ( In): 0 (0/s 0/m 0/h 0/d)
User Data Bytes (Out): 0 (0/s 0/m 0/h 0/d)
The times when the ggsn does not state that it received a create PDP
context request, the "show pdp-context all" command shows nothing.
My newbie guess is that osmo-sgsn is saving the state of the phone's
connection (based on the IMSI?), and is not releasing or clearing it when
the phone is powered off. When the phone is powered back on, it will have
different connection parameters, but it will use the original parameters
after retrieving them based on the IMSI. I have started to look through
the code in the src/gprs directory to see if this is the case.
I am wondering if anyone might have some insight into why the connection is
not fully restored. Or perhaps they can offer guidance where I might begin
to look in the code. I can send logs and pcap files of a typical session if
anyone is interested.
Thanks!
John
hi all,
i am new comer in this group, i already have installed openbsc until to
this step, i have problems would you mind all giving me a hand in the
future?
thank you very much
Best Regards
Dear Pablo,
Daniel was adding keepalive support to the socket used to talk to
the bts. This was done in commit 8c2591d95e17eb6fa868e4d886a63ac62f3ca8af
of OpenBSC and somehow needs to find its way to master of OpenBSC or
libosmo-abis.
I think it belongs into libosmo-abis but I am not sure where exactly. Is
the keepalive setting something that belongs into the e1inp_line and
configuration? Do you have an idea where I should add it?
thanks
holger
Hi all!
This is the announcement for the next Osmocom Berlin meeting.
Sept 19, 8pm @ CCC Berlin, Marienstr. 11, 10113 Berlin
There is no formal presentation scheduled for this meeting.
If you are interested to show up, feel free to do so. There is no
registration required. The meeting is free as in "free beer", despite
no actual free beer being around.
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
I want asking about protocol GSM header like this.
ex :
/* A-bis Interface Management Messages */
NM_MT_ESTABLISH_TEI = 0x21,
where it came from 0x21, explain please.
anyone have more reference
Thank You
I´m selling a ip.access nanoBTS 165B 1900Mhz EDGE BTS, this one is right
now fully functional with openBSC. More info about it, email me out of the
list.
Adolfo.
Hello,
I am interested in buying a NanoBTS 165AU for research and education.
Does anyone sell a NanoBTS 165 with GSM (A5/1, A5/2) and GPRS/EDGE support?
Regards
Patrick
Hi!
First of all, let me thank you all the developers and contributors of
both OpenBSC and LCR. Congratulations for your amazing work!
I am stuck with a problem while trying to get LCR and openbsc to work
together through their unix socket (/tmp/bsc_mncc), and I was wondering
if anyone on this list would be kind enough to give me some pointers.
I include more details below, but this is the executive summary:
I have two MS that can call each other with no problem when I start
openbsc (osmo-nitb) in standalone mode (i.e. without the "--mncc-sock"
option). However, when I start omso-nitb with that option, and I also
start LCR, a call between the two MS cannot be establised.
I think the problem may be related with the fact that LCR is not being
able to identify the calling number, nor the called number, nor the IMSI
of the caller. This can be seen in the following trace/debug messages of
LCR:
---
000000 TRACE 13.09.12 18:17:49.248 CH(1): MNCC_SETUP_IND LCR<->BSC
calling imsi= dialing number=
[...]
000000 DEBUG (in apppbx.cpp/ea_message_port() line 2476): EPOINT(1)
incoming call from callerid=imsi-, dialing=
---
AFAIK, I'm using the latest version of each tool: I am using clones of
the following git repositories, made around 10:00 AM CET today (13sep12):
---
git clone git://git.osmocom.org/libosmocore.git
git clone git://git.osmocom.org/libosmo-abis.git
git clone git://git.osmocom.org/openbsc.git
git clone git://git.misdn.eu/lcr.git/
---
At the end of this message I include a list of the last commits of these
repositories, for reference.
--- Executive summary ends here ---
The long version of the explanation of the problem follows. I hope to
have included enough information, but if you need extra details, please
do not hesitate to let me know.
First, without LCR, I start openbsc (osmo-nitb) in standalone mode, make
a call from 2203 to 2201 (extension numbers I assigned in hlr.sqlite3),
and everything works fine (the call gets established and voice flows in
both directions):
---
root@tli-pc-2001:/usr/local/bin# cat start-bsc-standalone
#!/bin/sh
echo ""
echo "Starting _new_ BSC (openbsc) (=osmo-nitb) standalone..."
/opt/new/openbsc/bin/osmo-nitb -c /etc/opt/new/openbsc/openbsc.cfg \
-l /var/opt/new/openbsc/hlr.sqlite3
root@tli-pc-2001:/usr/local/bin# start-bsc-standalone
Starting _new_ BSC (openbsc) (=osmo-nitb) standalone...
<0019> input/ipaccess.c:923 enabling ipaccess BSC mode
DB: Database initialized.
DB: Database prepared.
<0007> sms_queue.c:232 Attempting to send 20 SMS
<0019> input/ipa.c:322 accept()ed new link from 10.10.10.21 to port 3002
Failure Event Report Type=communication failure Severity=critical
failure Probable cause= 03 03 11 Additional Text=
<0019> input/ipa.c:322 accept()ed new link from 10.10.10.21 to port 3003
<0004> bsc_init.c:282 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 1
using MCC=001 MNC=01 LAC=2 CID=0 BSIC=63 TSC=7
<000b> bsc_api.c:374 Sending ChanModify for speech 33 1
<000b> osmo_msc.c:73 Assignment complete should not have been reached.
<000b> bsc_api.c:374 Sending ChanModify for speech 33 1
<000b> osmo_msc.c:73 Assignment complete should not have been reached.
---
Then, I shut down osmo_nitb with CTRL-C.
Then, I start osmo-nitb for use with LCR (--mncc-sock):
---
root@tli-pc-2001:/usr/local/bin# cat start-bsc-for_lcr
#!/bin/sh
echo ""
echo "Starting _new_ BSC (openbsc) (=osmo-nitb) for use with LCR..."
/opt/new/openbsc/bin/osmo-nitb -c /etc/opt/new/openbsc/openbsc.cfg \
-l /var/opt/new/openbsc/hlr.sqlite3 \
--mncc-sock --rtp-proxy
root@tli-pc-2001:/usr/local/bin# start-bsc-for_lcr
Starting _new_ BSC (openbsc) (=osmo-nitb) for use with LCR...
<0019> input/ipaccess.c:923 enabling ipaccess BSC mode
DB: Database initialized.
DB: Database prepared.
<0007> sms_queue.c:232 Attempting to send 20 SMS
<0019> input/ipa.c:322 accept()ed new link from 10.10.10.21 to port 3002
<0019> input/ipa.c:322 accept()ed new link from 10.10.10.21 to port 3003
<0004> bsc_init.c:282 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 1
using MCC=001 MNC=01 LAC=2 CID=0 BSIC=63 TSC=7
Failure Event Report Type=communication failure Severity=critical
failure Probable cause= 03 03 11 Additional Text=
---
Then, I start LCR:
---
root@tli-pc-2001:/usr/local/bin# cat start-lcr
#!/bin/sh
echo ""
echo "Starting _new_ LCR..."
/opt/new/lcr/sbin/lcr start
root@tli-pc-2001:/usr/local/bin#
root@tli-pc-2001:/usr/local/bin# start-lcr
Starting _new_ LCR...
** LCR Version 1.12
000000 DEBUG (in route.c/getrulesetbyname() line 1871): ruleset main found.
000000 DEBUG (in sip.cpp/sip_init() line 1913): SIP globals initialized
000000 DEBUG (in gsm.cpp/mncc_socket_retry_cb() line 1173): Connected to
MNCC socket /tmp/bsc_mncc!
LCR 1.12 started, waiting for calls...
000000 TRACE 13.09.12 18:16:22.091 --: LCR 1.12 started, waiting for
calls...
---
It attaches OK to the MNCC socket of openbsc. This message is displayed
by openbsc:
---
<0006> mncc_sock.c:274 MNCC Socket has connection with external call
control application
---
Then, I attempt to establish the same call as before, from 2203 to 2201.
The call does not get established, and LCR shows the following messages:
---
000000 DEBUG (in port.cpp/Port() line 197): new port (1) of type 0x3101,
name 'GSM-0-in'
000000 DEBUG (in gsm.cpp/Pgsm() line 194): Created new GSMPort(GSM-0-in).
000000 DEBUG (in gsm_bs.cpp/Pgsm_bs() line 56): Created new
GSMBSPort(GSM-0-in).
000000 TRACE 13.09.12 18:17:49.248 CH(1): New call ref LCR<->BSC
callref new=0x80000001
000000 TRACE 13.09.12 18:17:49.248 CH(1): Codec negotiation LCR<->BSC
bearer capa='given by MS' speech version='AMR given' ignored='Not
suitable for LCR' version='EFR given' ignored='Not suitable for LCR'
version='Full Rate given' version='AMR Half Rate given' ignored='Not
suitable for LCR' version='Half Rate given' ignored='Not suitable for LCR'
000000 TRACE 13.09.12 18:17:49.248 CH(1): MNCC_SETUP_IND LCR<->BSC
calling imsi= dialing number=
000000 DEBUG (in endpoint.cpp/Endpoint() line 48): EPOINT(1): Allocating
enpoint 1 and connecting it with: ioport
000000 DEBUG (in endpoint.cpp/portlist_new() line 150): EPOINT(1)
allocating port_list, attaching to port 1
000000 DEBUG (in port.cpp/epointlist_new() line 128): PORT(1) allocating
epoint_list.
000000 TRACE 13.09.12 18:17:49.249 CH(1): MNCC_LCHAN_MODIFY LCR<->BSC
speech version='Full/Half Rate given' mode 0x01
000000 TRACE 13.09.12 18:17:49.249 CH(1): MNCC_CALL_PROC_REQ LCR<->BSC
progress coding=3 location=1 descr=8
000000 DEBUG (in port.cpp/new_state() line 261): PORT(GSM-0-in) new
state PORT_STATE_IDLE --> PORT_STATE_IN_PROCEEDING
000000 TRACE 13.09.12 18:17:49.249 CH(1): unknown LCR<->BSC
000000 DEBUG (in message.c/_message_put() line 61): message
MESSAGE_SETUP written from 1 to 1 (memory 8bfaf48 at file gsm_bs.cpp,
line 576)
000000 DEBUG (in message.c/message_get() line 106): message
MESSAGE_SETUP reading from 1 to 1 (memory 8bfaf48)
000000 DEBUG (in apppbx.cpp/ea_message_port() line 2476): EPOINT(1)
incoming call from callerid=imsi-, dialing=
000000 TRACE 13.09.12 18:17:49.249 EP(1): SETUP from CH(1) caller id
number=imsi- present='not available' complete true
000000 DEBUG (in apppbx.cpp/port_setup() line 1372): EPOINT(1) incoming
call is extension
000000 DEBUG (in apppbx.cpp/port_setup() line 1382): EPOINT(1) call from
extension 'imsi-'
the given extension doesn't exist:
"/opt/new/lcr/var/lib/lcr/extensions/imsi-/settings"
000000 DEBUG (in extension.c/read_extension() line 58): the given
extension doesn't exist:
"/opt/new/lcr/var/lib/lcr/extensions/imsi-/settings"
000000 TRACE 13.09.12 18:17:49.250 EP(1): EXTENSION (not created)
extension imsi-
000000 DEBUG (in message.c/_message_put() line 61): message
MESSAGE_DISCONNECT written from 1 to 1 (memory 8bfe800 at file
apppbx.cpp, line 4213)
000000 TRACE 13.09.12 18:17:49.250 EP(1): DISCONNECT to CH(1) cause
value=21 location=1-Local-PBX
000000 DEBUG (in message.c/_message_put() line 61): message MESSAGE_TONE
written from 1 to 1 (memory 8c020b8 at file apppbx.cpp, line 579)
000000 TRACE 13.09.12 18:17:49.250 EP(1): TONE to CH(1) directory
default name cause_80
000000 DEBUG (in message.c/message_get() line 106): message
MESSAGE_DISCONNECT reading from 1 to 1 (memory 8bfe800)
000000 TRACE 13.09.12 18:17:49.251 CH(1): MNCC_DISC_REQ LCR<->BSC
progress coding=3 location=1 descr=8 cause coding=3 location=1 value=21
000000 DEBUG (in port.cpp/new_state() line 261): PORT(GSM-0-in) new
state PORT_STATE_IN_PROCEEDING --> PORT_STATE_OUT_DISCONNECT
000000 DEBUG (in message.c/message_get() line 106): message MESSAGE_TONE
reading from 1 to 1 (memory 8c020b8)
000000 DEBUG (in port.cpp/message_epoint() line 611): PORT(GSM-0-in)
setting tone 'cause_80' dir ''
000000 TRACE 13.09.12 18:17:49.708 CH(1): MNCC_REL_IND LCR<->BSC
000000 DEBUG (in message.c/_message_put() line 61): message
MESSAGE_RELEASE written from 1 to 1 (memory 8bf9950 at file gsm.cpp,
line 585)
000000 DEBUG (in port.cpp/free_epointlist() line 84): PORT(1) removed
epoint from port
000000 DEBUG (in port.cpp/new_state() line 261): PORT(GSM-0-in) new
state PORT_STATE_OUT_DISCONNECT --> PORT_STATE_RELEASE
000000 DEBUG (in message.c/message_get() line 106): message
MESSAGE_RELEASE reading from 1 to 1 (memory 8bf9950)
000000 DEBUG (in apppbx.cpp/ea_message_port() line 2562): EPOINT(1)
release with cause=16 location=0 (terminal '', caller id 'imsi-')
000000 TRACE 13.09.12 18:17:49.709 EP(1): RELEASE from CH(1) cause
value=16 location=0-User
000000 DEBUG (in apppbx.cpp/port_disconnect_release() line 2043):
EPOINT(1) current multipoint cause 0 location 0, received cause 16
location 0.
000000 DEBUG (in apppbx.cpp/port_disconnect_release() line 2045):
EPOINT(1) new multipoint cause 16 location 0.
000000 DEBUG (in action.cpp/process_hangup() line 2428): EPOINT(1):
terminal ''
000000 DEBUG (in endpoint.cpp/free_portlist() line 189): EPOINT(1)
removed port 1 from port_list of endpoint
000000 DEBUG (in apppbx.cpp/release() line 222): EPOINT(1): do pending
release (joincause 16 location 0)
000000 DEBUG (in apppbx.cpp/release() line 240): EPOINT(1) do pending
release (portcause 16 portlocation)
000000 DEBUG (in apppbx.cpp/release() line 319): EPOINT(1) do pending
release of epoint itself.
000000 DEBUG (in gsm_bs.cpp/~Pgsm_bs() line 64): Destroyed GSM BS
process(GSM-0-in).
000000 DEBUG (in gsm.cpp/~Pgsm() line 202): Destroyed GSM process(GSM-0-in).
000000 DEBUG (in port.cpp/~Port() line 209): removing port (1) of type
0x3101, name 'GSM-0-in'
000000 DEBUG (in endpoint.cpp/~Endpoint() line 138): removed endpoint 1.
---
Latest commit of each tool:
---
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2/libosmocore# git log | head -6
commit eacba189b1a03c6a213b76df07dd766697017438
Author: Holger Hans Peter Freyther <zecke(a)selfish.org>
Date: Tue Sep 11 12:27:47 2012 +0200
git: Ignore generated tests executables
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2/libosmocore# cd ..
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2# cd libosmo-abis/
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2/libosmo-abis# git log | head -6
commit 84e5cb9b3496527d43af974f2f89396d8145d743
Author: Pablo Neira Ayuso <pablo(a)gnumonks.org>
Date: Thu Aug 23 23:41:54 2012 +0200
ipaccess: fix leak of IPA control messages in the BTS side
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2/libosmo-abis# cd ..
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2# cd openbsc
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2/openbsc# cd openbsc
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2/openbsc/openbsc# git log |
head -6
commit ca5d2111131101f7b8df40207b4c597b0e53f2cb
Merge: c11889f 31b245b
Author: Holger Hans Peter Freyther <zecke(a)selfish.org>
Date: Tue Sep 11 18:02:46 2012 +0200
Merge branch 'feature/local-mscs'
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2/openbsc/openbsc# cd ../..
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2# cd lcr
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2/lcr# git log | head -6
commit 6911e09b77aa1eaac35b595bb4082e1f4c59ca71
Author: Andreas Eversberg <jolly(a)eversberg.eu>
Date: Sun Aug 19 20:50:10 2012 +0200
Allow calls to multiple interfaces simultaniosuly
root@tli-pc-2001:/home/tliuser1/sw_openbsc_2/lcr#
---
Any guidance would be appreciated.
Best regards,
David.
----
David Perez
Founder & Senior Security Analyst
Taddong
david(a)taddong.com | +34-699982432 | www.taddong.com
----
13sep12 19:50