-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hey there,
I have come across a nanoBTS 165AU but since is used and not tested from the previous owner, I guess it has set a static IP.
After turned on is booting (RED light) and then remains (ORANGE not flashing) even if the eth is connected to the router.
At the moment I am trying with ipaccess-find and BtsInstaller to find in on my LAN .
Unfortunately it is not answering and is not even getting an IP from the router by the DHCP daemon.
Two possibilities, I have thought:
- - an hw/sw issue;
- - a Static IP is set.
Supposing that is the 2nd possibility, I was thinking:
- - to change private class of my LAN, to see if it changes something;
- - to make an hard reset of the bts.
Do you know if it possible to reset in someway?
Ever happened this issue to you guys?
Suggestions or insults are welcome.
Thanks in advance.
Cheers,
Luca
P.S.: I don't recall exactly, but one time I heard that is possible to reset by short-circuiting some pins of the LAN/48VDC eth connector. Is it right?!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
iQIcBAEBAgAGBQJSE682AAoJEPLE1Qsi6ZiTuKkQAJaYGFTgMF5XlWuZuCI1eSvU
lVCvpdB+fDRY7o6iut3y0fGlS1ZOIS8X93c7/T0XKUvSJaZ2ARIGjqi81A4XlkAK
pdFvBNPKixYATYZYhP3nIggC1QGK9fuWQSUKVEGgnswsXt0VaJKdEwgn0CX7ttku
uoh6FM3vtp30drB4t9oe0bW9M9qzGz6yyw+8asaqQBs8bafOHm4+S4kJsN6lYmPU
wY/s8ctzqZerNI0MwBVASZCFldsyWe0NuduquYZlwg4god996srFNkVQL+o9nrmF
vmPb896DTsCdivwqs+UyaZOgp1mKxjtfco275pVATG4qSAgz/JYQBxWK6fWQr+Zv
PIzQvFLME1kh/29nUihxw93mzju5Rz1naTosx5+Fs7jPjCFocqD5Var3hkU4iu78
kNALJNx6UGOdfbqcInO30ltSm21HH1QBJnIoZf6MblELvHcvHbBNyPB8zM13suoS
y3/oD/wcXefQaMaSa5HFc30ydJHBWS+adNlVp3fdYYArZaVkFxaVjJx8fW1juPVx
54aco5j7/tZD5tfg9FCOTHqmAiOVDqjs7nZrOpsRdkdPJHq2uHbGmHGqyhZlVWNv
B+9/eiOdQyKZ5R+3vvRrmhBe9g2a28xtRI7N8KxwCov0wbA6R0h8l2UtGza6NTcn
EUdW3ptIWP216tSFdVTs
=9Ctc
-----END PGP SIGNATURE-----
Hi Harald (sorry for the typo).
I think that line 10 is a log of the USSD call I made.
My configuration is:
- Followed the tutorial. (
http://openbsc.osmocom.org/trac/wiki/network_from_scratch (using all
configurations shown in the tutoria, except the network name, that I
changed to DCG).
- Using a Ettus USRP N210
- All libraries installed in my notebook, with Ubuntu 13.04
kernel 3.8.0-29-generic.
- Starting osmo-nitb with the following command: osmo-nitb -c
~/.osmocom/open-bsc.cfg -l ~/.osmocom/hlr.sqlite3 -P -m -C
--debug=DRLL:DCC:DMM:DRR:DRSL:DNM
- I manually select the network in the Network Preferences. The phone is an
old Motorola Z6.
Hope it helps. If you need more information, just ask. If you need, I can
use other configurations or command options.
Best Regard,
On Sat, Aug 24, 2013 at 5:37 PM, Alexander Chemeris <
alexander.chemeris(a)gmail.com> wrote:
> Of-list: His name is "Harald", not "Herald" :)
>
> On Sun, Aug 25, 2013 at 12:36 AM, Alexander Chemeris
> <alexander.chemeris(a)gmail.com> wrote:
> > Maicon,
> >
> > Your log doesn't show any user activity, so you either (1) haven't
> > enabled enough logging or (2) your phone is not attached to the
> > OsmoNITB network.
> >
> > If you followed instructions from
> > http://openbsc.osmocom.org/trac/wiki/network_from_scratch, then you
> > should have enough logging enabled. In this case we have only option
> > (2) left and it would be great if you specify your software and
> > hardware setup and describe the procedure you're using to select the
> > network in your phone.
> >
> > On Sat, Aug 24, 2013 at 11:46 PM, Maicon Kist <maicon.kist(a)inf.ufrgs.br>
> wrote:
> >> Hi Herald,
> >>
> >> I'm trying to check the log messages. I'm trying to understand whats
> >> happening, but so far nothing came to my mind.
> >> I'm attaching the osmo-nitb log messages right before I call the *#100#
> >> number.
> >>
> >> Do you have any suggestion?
> >>
> >> PS: SMS and calls are working perfectly.
> >>
> >> Best Regards,
> >>
> >>
> >> On Sat, Aug 24, 2013 at 11:59 AM, Alexander Chemeris
> >> <alexander.chemeris(a)gmail.com> wrote:
> >>>
> >>> On Thu, Aug 22, 2013 at 9:40 PM, Maicon Kist <maicon.kist(a)inf.ufrgs.br
> >
> >>> wrote:
> >>> > Is there a tutorial in how to make a USSD application work in a
> OpenBSC
> >>> > network?
> >>> > Firstly I'm want to implement a simple "Hello World" application. eg.
> >>> > the
> >>> > client enter with a valid USSD number (*something) and the "Hello
> World"
> >>> > application executes.
> >>>
> >>> Look at the openbsc/src/libmsc/ussd.c file - it's very easy to extend
> >>> it to respond to various USSD requests. It would be great if we have a
> >>> kind of external API for implementing external USSD applications
> >>> without touching the OsmoNITB code. Patches for this are welcome.
> >>>
> >>> --
> >>> Regards,
> >>> Alexander Chemeris.
> >>> CEO, Fairwaves LLC / ООО УмРадио
> >>> http://fairwaves.ru
> >>
> >>
> >
> >
> >
> > --
> > Regards,
> > Alexander Chemeris.
> > CEO, Fairwaves LLC / ООО УмРадио
> > http://fairwaves.ru
>
>
>
> --
> Regards,
> Alexander Chemeris.
> CEO, Fairwaves LLC / ООО УмРадио
> http://fairwaves.ru
>
Hi list,
Peter, thank you for your reply.
I still have questions about media control:
1) when parsing MGCP CRCX, sdp is not expected. May I change it?
2) I still can't run media in BSC mode. Seems I'm missing something.
osmo-bsc and osmo-bsc_mgcp are running
BSSAP works perfectly
But it seems two interfaces are working completely independent:
-- MGCP between MSC and BSC
-- interface between BSC and BTS (ip.access):
at MGCP, connection is acknowledged, endpoint is allocated (at BSC
ip=192.168.1.11)
at ip.access interface between BSC and BTS, BTS replies to ip.accessCRCX
with proper acknowledgement with proper ip:port at BTS (192.168.1.9) , then
BSC issues ip.accessMDCX with endpoint ip zero:
7e:73:01:09:f8:00:2d:*f0:00:00:00:00*:f1:0f:be:f4:00:f2:03
My attempts to modify connection at MGCP interface has no impact on
ip.access interface
The key question, I'm not getting how osmo-bsc and osmo0bsc_mgcp are
interacting.
Thank you,
Dmitri
PS my configs are
mgcp
local ip 192.168.1.11
bts ip 192.168.1.9
bind ip 192.168.1.11
bind port 2427
rtp base 6000
sdp audio payload number 3
sdp audio payload name GSM/8000
number endpoints 31
and
e1_input
e1_line 0 driver ipa
network
network country code 250
mobile network code 07
short name OsmoBSC
long name OsmoBSC
auth policy closed
location updating reject cause 13
! encryption a5 1
neci 1
paging any use tch 0
rrlp mode none
mm info 1
handover 0
handover window rxlev averaging 10
handover window rxqual averaging 1
handover window rxlev neighbor averaging 10
handover power budget interval 6
handover power budget hysteresis 3
handover maximum distance 9999
timer t3101 10
timer t3103 0
timer t3105 0
timer t3107 0
timer t3109 0
timer t3111 0
timer t3113 60
timer t3115 0
timer t3117 0
timer t3119 0
timer t3122 0
timer t3141 0
dtx-used 0
subscriber-keep-in-ram 0
bts 0
type nanobts
band PCS1900
cell_identity 2611
location_area_code 51601
training_sequence_code 7
base_station_id_code 63
ms max power 15
cell reselection hysteresis 4
rxlev access min 0
channel allocator ascending
rach tx integer 9
rach max transmission 7
ip.access unit_id 1801 0
oml ip.access stream_id 255 line 0
neighbor-list mode manual-si5
gprs mode none
trx 0
rf_locked 0
arfcn 810
nominal power 0
max_power_red 20
rsl e1 tei 0
timeslot 0
phys_chan_config CCCH+SDCCH4
hopping enabled 0
timeslot 1
phys_chan_config TCH/F
hopping enabled 0
timeslot 2
phys_chan_config TCH/F
hopping enabled 0
timeslot 3
phys_chan_config TCH/F
hopping enabled 0
timeslot 4
phys_chan_config TCH/F
hopping enabled 0
timeslot 5
phys_chan_config TCH/F
hopping enabled 0
timeslot 6
phys_chan_config TCH/F
hopping enabled 0
timeslot 7
phys_chan_config TCH/F
hopping enabled 0
msc
! ip.access rtp-base 6000
timeout-ping 20
timeout-pong 5
dest 192.168.50.10 5000 0
in fact, BSSAP goes from a card over VPN, while MGCP comes from
self-written TRAU running locally, the same host as BSC
Change '%s(bsc)#' to '%s(config-bsc)# '. The missing trailing blank
brakes osmopy's VTYInteract.command() because the blank is contained
in the end patterns which are checked to decide whether to leave the
select loop. Thus trying to execute the 'bsc' command there blocks
the test script forever.
---
openbsc/src/osmo-bsc/osmo_bsc_vty.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_vty.c b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
index 8eaa55b..f6cf1a0 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_vty.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
@@ -43,7 +43,7 @@ static struct osmo_msc_data *osmo_msc_data(struct vty *vty)
static struct cmd_node bsc_node = {
BSC_NODE,
- "%s(bsc)#",
+ "%s(config-bsc)# ",
1,
};
--
1.7.9.5
Hello,
Where can download/find the *.SWL file for flash the BS11 ?
Thanks
bye
On 12/06/2013 00:48, choukoumoun wrote:
> Hello,
>
> Thanks you very much for your help (Love the open-source/hacker community)
> I'll try that tomorrow and soon I will return.
>
> Bye!
>
> Le 12/06/2013 00:06, Sergey V. Efimov a écrit :
>> Hello,
>>
>> Yep, it seems you need to reflash your BS11. You can start with
>> "bs11_config -S" to download the safety file into the station if you
>> have one.
>> The next step is to download the real working firmware into the
>> station. It can take up to 1,5 hours depending on the various conditions.
>> You need to get several files, listed at
>> http://openbsc.osmocom.org/trac/wiki/bs11_config, try to ask your seller.
>>
>> At the end of the flashing process (after reboot) you should see
>> MBCCU0/MBCCU1 No Load / Load messages.
>>
>> Sergey.
>>
>> On Jun 12, 2013, at 1:48 AM, choukoumoun wrote:
>>
>>> Hello,
>>>
>>> it is the boot-up log for my Bs11
>>>
>>>
>>>
>>> LMT LOGON: ACK
>>>
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 load SMU Intended Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>> PHASE: 1 Unknow Abis-link: down
>>>
>>>
>>> Iawait yourreplywith great pleasure
>>>
>>> best,
>>> Choukoumoun
>>>
>>> Le 10/06/2013 11:58, Sergey V. Efimov a écrit :
>>>> Hello,
>>>>
>>>> I recall that something similar happened when I tried to monitor freshly received
>>>> BS-11 without operating firmware. Could you please provide full boot-up log.
>>>>
>>>> Sergey.
>>>>
>>>> On Jun 10, 2013, at 1:36 AM, choukoumoun wrote:
>>>>
>>>>> Hello list,
>>>>>
>>>>> I have a problem with BS11 at startup:
>>>>>
>>>>>
>>>>> When I put the BS11 voltage and that I connect in serial and I run:
>>>>>
>>>>> ./bs11_config-p / dev/ttyUSB0 query
>>>>>
>>>>> I like the result:
>>>>>
>>>>>
>>>>> PHASE 1: unknown Abis-link: Down
>>>>>
>>>>> PHASE 1: unknown Abis-link: Down
>>>>>
>>>>> PHASE 1: unknown Abis-link: Down
>>>>>
>>>>> PHASE 1: unknown Abis-link: Down
>>>>>
>>>>> PHASE 1: unknown Abis-link: Down
>>>>>
>>>>> PHASE 1: unknown Abis-link: Down
>>>>>
>>>>> PHASE 1: unknown Abis-link: Down
>>>>>
>>>>>
>>>>> constantly and eternally ......
>>>>>
>>>>> Any idea??
>>>>>
>>>>>
>>>>> thank you
>>>>>
>>>>>
>>>
>>>
>>
>
Hi,
As the caption states, it removes duplicated library linkage. in
tests/db/Makefile.am.
--
Regards,
Alexander Chemeris.
CEO, Fairwaves LLC / ООО УмРадио
http://fairwaves.ru
Hi Harald,
We're trying out SMPP interconnection and found that for Submit_SM
(aka MT-SMS) sender is always set to an extension of subscriber ID 1.
Looking into the code, this happens because we set "sms->sender" to
point to subscriber ID 1 in submit_to_sms() function in SMPP code:
/* fill in the source address */
sms->sender = subscr_get_by_id(net, 1);
sms->src.ton = submit->source_addr_ton;
sms->src.npi = submit->source_addr_npi;
strncpy(sms->src.addr, (char *)submit->source_addr, sizeof(sms->src.addr)-1);
And then src.addr/ton/npi are ignored when we store to the SMS DB and
only subscriber ID is stored:
/* FIXME: correct validity period */
result = dbi_conn_queryf(conn,
"INSERT INTO SMS "
"(created, sender_id, receiver_id, valid_until, "
"reply_path_req, status_rep_req, protocol_id, "
"data_coding_scheme, ud_hdr_ind, dest_addr, "
"user_data, text) VALUES "
"(datetime('now'), %llu, %llu, %u, "
"%u, %u, %u, %u, %u, %s, %s, %s)",
sms->sender->id,
sms->receiver ? sms->receiver->id : 0, validity_timestamp,
sms->reply_path_req, sms->status_rep_req, sms->protocol_id,
sms->data_coding_scheme, sms->ud_hdr_ind,
q_daddr, q_udata, q_text);
So when we read SMS back from the DB, sender address is taken from
that subscriber.
It seems that a solution is to store actual ton/npi/addr in the SMS DB
instead of storing ID. Then we could set sms->sender to NULL and just
ignore it.
Is there anything wrong with this approach? Otherwise we'll work on a
patch to implement that.
PS What is the current policy about changing DB layouts - just
increase SCHEMA_REVISION?
--
Regards,
Alexander Chemeris.
CEO, Fairwaves LLC / ООО УмРадио
http://fairwaves.ru
Good day list
We acquired a BS-11 microBTS a while ago and in the preliminary stages
of setting up the equipment came upon the following:
background -
1. we installed OpenBSC as per the OpenBSC wiki.
2. we manufactured a serial cable to interact with the BS-11.
3. using bs11_config as per the bs11_config wiki page we started the
BS-11 and got the following:
$ ./bs11_config -p /dev/ttyUSB0
bs11_config (C) 2009 by Harald Welte and Dieter Spaar
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
LMT LOGON: ACK
PHASE: 1 Warm Up Abis-link: Down
PHASE: 1 Warm Up Abis-link: Down
PHASE: 1 Warm Up Abis-link: Down
.
.
PHASE: 1 Warm Up Abis-link: Down
PHASE: 1 Software required Abis-link: Down
No valid safety Load file "BTSBMC76.SWI"
After this nothing further happens.
From the wiki page I conclude that the file in question is the SMU safety load that is needed to create the minimal configuration to get the BS-11 to boot.
There seem to be another firmware image needed for the BS-11 namely the HS011106.SWL
Am I correct in my assumption that the BS-11 was not preloaded with this software?
Where do I get these firmware images as the wiki page states that the project can't provide any of the firmware due to copyright constraints.
Regards
--
Paul van Wyk
_____________________________________________________
TruTeq Wireless (Pty) Ltd. Tel +27 12 667 1530
http://www.truteq.com Fax +27 12 667 1531
Copyright & Legal: http://truteq.com/legal_notice.pdf
Hi list,
Is there a tutorial in how to make a USSD application work in a OpenBSC
network?
Firstly I'm want to implement a simple "Hello World" application. eg. the
client enter with a valid USSD number (*something) and the "Hello World"
application executes.
Best Regards,
Hi Everyone.
On the OpenBSC wiki it states:
"Sending of SMS from external applications by writing to the SQL table"s .... I was wondering if anyone could fill me in how this happens and if the SMSC automatically sends the inserted SMS.
Is it as simple as inserting in to the hlr.sqlite db as follows?
INSERT INTO SMS
(created, sender_id, receiver_id, reply_path_req, status_rep_req, protocol_id, data_coding_scheme, ud_hdr_ind, text) VALUES (date, 1, 123, 0, 0, 0, 0, 0, helloworld) My end goal would be to insert a the a binary data SMS that has UDH header in the data payload I was wondering if anyone has tried this and if it will work?. Regards Adam
Hi list,
I'm trying to install the OpenBSC and made it work with a USRP N210 device.
I'm having trouble installing the OsmoBTS (following this tutorial:
http://openbsc.osmocom.org/trac/wiki/network_from_scratch). However, if I
understood correctly, this tutorial is to use the with a UmTx device, right?
Is there a tutorial to configure all the environment for a USRP device ?
Btw, I having the following compile error when compiling the OsmoBTS with
the --with-trx option:
In file included from sysmobts_test.c:22:0:
../../src/osmo-bts-sysmo/femtobts.h:7:42: fatal error:
sysmocom/femtobts/superfemto.h: No such file or directory
Best Regards,
Hello,
What is the reference of the 2 RF connector in the nanoBTS 139U?
Best,
Choukoumoun.
* Anglais - détecté
* Anglais
* Anglais
<javascript:void(0);>
Hi,
At each event since like 27c3 (or maybe even 26c3), we comment out a
part of the rtp_send_frame method to solve some audio issues (glitch
and sometime progressively increasing delay).
This is the piece of code in question:
{
struct timeval tv, tv_diff;
long int usec_diff, frame_diff;
gettimeofday(&tv, NULL);
tv_difference(&tv_diff, &rs->transmit.last_tv, &tv);
rs->transmit.last_tv = tv;
usec_diff = tv_diff.tv_sec * 1000000 + tv_diff.tv_usec;
frame_diff = (usec_diff / 20000);
if (abs(frame_diff) > 1) {
long int frame_diff_excess = frame_diff - 1;
LOGP(DLMUX, LOGL_NOTICE,
"Correcting frame difference of %ld
frames\n", frame_diff_excess);
rs->transmit.sequence += frame_diff_excess;
rs->transmit.timestamp += frame_diff_excess * duration;
}
}
introduced by :
commit 392736d38bf9dae29800bde630c9ceee8a3914f3
Author: Harald Welte <laforge(a)netfilter.org>
Date: Sun Dec 20 13:16:14 2009 +0100
RTP Proxy: Fix RTP sequence number and timestamp in case of dropped frames
During handover, we will not send RTP frames for quite some time. However,
the way the rtp_send code is structured, it will increment the timestamp
with a fixed amount every time we send a frame, independent how
much wallclock
time has actually passed.
This code is a hack to update the sequence number and timestamp in case it
seems to be wrong. It makes handover much more reliable.
Does this speak to anyone ?
Cheers,
Sylvain
Hi
I'm still trying to run OpenBSC against a legacy MSC. All is fine, except
rtp/mgcp stuff.
All other procedures are performed well.
Call set up is done properly, both BSSAP and MGCP. At downlink direction,
GSM-FR coded messages are reaching endpoints at BSC side, and that's all:
no RTP traffic between BSC and BTS. And I also found no control traffic in
between osmo-bsc_mgcp and osmo-bsc or BTS
Could you please give me a key.
I would appreciate your help, and would be glad to write a wiki afterwards.
osmo-bsc is configured with --enable-osmo-bsc
the only trick here I had to do - to allow GSM FR (version 1) manually,
there is a temporary patch to osmo-bsc: could not configure it from a file.
Btw, what is the reason to keep such sort of knowledge at BSC side, and
what is the proper way to define permitted codecs?
osmo-bsc_mgcp is running, answers MGCP commands, allocates endpoints etc.
MGCP call setup is done properly, MGCP allocates endpoints at BSC side (at
server), but there is no RTP traffic in between BSC and BTS.
Thank you,
Dmitri
rtp path is as follows, all MGCP formalities are met
(card) 192.168.50.10:4036 <--G.711--> 172.44.3.2:4036--(transcoding)--
192.168.1.11:5036 <--GSM FR --> 192.168.1.11:16036 (osmo-bsc_mgcp)
where (card) is A-nterface GW, (transcoding) is my software
I'm getting an error
<000b> mgcp_network.c:348 Endpoint 0x13 data from wrong address
192.168.1.11 vs. 0.0.0.0
CallAgent is at 192.168.50.10, interfaced over OpenVPN tunnel (172.44.2.XX)
So, server has two interfaces:
192.168.1.11 and 172.44.3.2 (OpenVPN)
BTS is 192.168.1.4
So, mgcp is bind to 0.0.0.0, cause MGCP is controlled over VPN interface
mgcp.cfg is
bind ip 0.0.0.0
bind port 2427
bind early 1
rtp base 4000
sdp audio payload number 3
sdp audio payload name GSM/8000
number endpoints 31
loop 1
osmo-bsc.fcg is
e1_input
e1_line 0 driver ipa
network
network country code 250
mobile network code 07
short name OsmoBSC
long name OsmoBSC
auth policy closed
location updating reject cause 13
! encryption a5 1
neci 1
paging any use tch 0
rrlp mode none
mm info 1
handover 0
handover window rxlev averaging 10
handover window rxqual averaging 1
handover window rxlev neighbor averaging 10
handover power budget interval 6
handover power budget hysteresis 3
handover maximum distance 9999
timer t3101 10
timer t3103 0
timer t3105 0
timer t3107 0
timer t3109 0
timer t3111 0
timer t3113 60
timer t3115 0
timer t3117 0
timer t3119 0
timer t3122 0
timer t3141 0
dtx-used 0
subscriber-keep-in-ram 0
bts 0
type nanobts
band PCS1900
cell_identity 2611
location_area_code 51601
training_sequence_code 7
base_station_id_code 63
ms max power 15
cell reselection hysteresis 4
rxlev access min 0
channel allocator ascending
rach tx integer 9
rach max transmission 7
ip.access unit_id 1801 0
oml ip.access stream_id 255 line 0
neighbor-list mode manual-si5
gprs mode none
trx 0
rf_locked 0
arfcn 800
nominal power 0
max_power_red 20
rsl e1 tei 0
timeslot 0
phys_chan_config CCCH+SDCCH4
hopping enabled 0
timeslot 1
phys_chan_config TCH/F
hopping enabled 0
timeslot 2
phys_chan_config TCH/F
hopping enabled 0
timeslot 3
phys_chan_config TCH/F
hopping enabled 0
timeslot 4
phys_chan_config TCH/F
hopping enabled 0
timeslot 5
phys_chan_config TCH/F
hopping enabled 0
timeslot 6
phys_chan_config TCH/F
hopping enabled 0
timeslot 7
phys_chan_config TCH/F
hopping enabled 0
msc
ip.access rtp-base 6000
timeout-ping 20
timeout-pong 5
dest 192.168.50.10 5000 0
CRCX 147 0012@mgw MGCP 1.0
M: sendrecv
L: p:20, s: off, e: off, a: GSM
C: 18
v=0
c=IN IP4 192.168.1.11
m=audio 5036 RTP/AVP 3
200 147 OK
I: 6
v=0
o=- 6 23 IN IP4 192.168.1.11
c=IN IP4 192.168.1.11
t=0 0
m=audio 16036 RTP/AVP 3
a=rtpmap:3 GSM/8000
Add a new core/defs.h file for definitions that can be used from
within header files without including prototypes and extern
declarations. It's primarily meant for macro definitions and basic
typedefs.
Move the definition of OSMO_DEPRECATED there and use compiler version
info to avoid compiler errors.
---
include/osmocom/core/defs.h | 39 +++++++++++++++++++++++++++++++++++++++
include/osmocom/gsm/gsm_utils.h | 14 +-------------
2 files changed, 40 insertions(+), 13 deletions(-)
create mode 100644 include/osmocom/core/defs.h
diff --git a/include/osmocom/core/defs.h b/include/osmocom/core/defs.h
new file mode 100644
index 0000000..e3afbff
--- /dev/null
+++ b/include/osmocom/core/defs.h
@@ -0,0 +1,39 @@
+#ifndef OSMOCORE_DEFS_H
+#define OSMOCORE_DEFS_H
+
+/*! \defgroup utils General-purpose utility functions
+ * @{
+ */
+
+/*! \file defs.h
+ * \brief General definitions that are meant to be included from header files.
+ */
+
+/*! \brief Check for gcc and version.
+ *
+ * \note Albeit glibc provides a features.h file that contains a similar
+ * definition (__GNUC_PREREQ), this definition has been copied from there
+ * to have it available with other libraries, too.
+ *
+ * \return != 0 iff gcc is used and it's version is at least maj.min.
+ */
+#if defined __GNUC__ && defined __GNUC_MINOR__
+# define OSMO_GNUC_PREREQ(maj, min) \
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#else
+# define OSMO_GNUC_PREREQ(maj, min) 0
+#endif
+
+/*! \brief Set the deprecated attribute with a message.
+ */
+#if ! defined(__GNUC__)
+# define OSMO_DEPRECATED(text)
+#elif OSMO_GNUC_PREREQ(4,5)
+# define OSMO_DEPRECATED(text) __attribute__((__deprecated__(text)))
+#else
+# define OSMO_DEPRECATED(text) __attribute__((__deprecated__))
+#endif
+
+/*! @} */
+
+#endif
diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h
index 1c55dfb..f412e3e 100644
--- a/include/osmocom/gsm/gsm_utils.h
+++ b/include/osmocom/gsm/gsm_utils.h
@@ -28,7 +28,7 @@
#include <stddef.h>
#include <stdint.h>
-#include <osmocom/gsm/gsm_utils.h>
+#include <osmocom/core/defs.h>
#define ADD_MODULO(sum, delta, modulo) do { \
if ((sum += delta) >= modulo) \
@@ -37,18 +37,6 @@
#define GSM_MAX_FN (26*51*2048)
-/*! \brief Set the deprecated attribute with a message.
- *
- * \todo Move this to a global header utility file.
- * \todo Check for compiler version to selectivly enable the message.
- */
-#if 0
-#define OSMO_DEPRECATED(text) __attribute__((deprecated(text)))
-#else
-#define OSMO_DEPRECATED(text) __attribute__((__deprecated__))
-#endif
-
-
struct gsm_time {
uint32_t fn; /* FN count */
uint16_t t1; /* FN div (26*51) */
--
1.7.9.5
dear holger,
i tried your channel allocation stress-test patch for openbsc with
osmo-bts-trx. i had no crashes, but it helped me to find a bug in the
scheduler. i remember that there was an issue that causes a crash of
osmo-bts (sysmobts, trx ?), but i am not sure. if so, can you give me a
hint, which test procedure caused a crash?
regards,
andreas
Hi,
Is MultiCarrier operation possible with the UmTRX in combination either
OsmoBTS? On another note, is it possible for the outbound MNCC interface to
pass call control to a standard SIP softswitch (kamaillio?) without going
through LCR?
The New function offers the actual octet that is needed to correctly
compose USSD response.
---
openbsc/src/libmsc/gsm_04_80.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/openbsc/src/libmsc/gsm_04_80.c b/openbsc/src/libmsc/gsm_04_80.c
index 39738a5..1b1c449 100644
--- a/openbsc/src/libmsc/gsm_04_80.c
+++ b/openbsc/src/libmsc/gsm_04_80.c
@@ -72,7 +72,7 @@ int gsm0480_send_ussd_response(struct gsm_subscriber_connection *conn,
/* First put the payload text into the message */
ptr8 = msgb_put(msg, 0);
- response_len = gsm_7bit_encode(ptr8, response_text);
+ gsm_7bit_encode_ussd(ptr8, response_text, &response_len);
msgb_put(msg, response_len);
/* Then wrap it as an Octet String */
--
1.7.3.4
Bit of a random one,
After I start Osmo-NITB is there any way for me to stop the process. I have
had a look around the VTY interface, with not much luck.
The only way I have found so far is by pressing CTRL+Z in the terminal
window, but I then have to restart the computer to be able to start
Osmo-NITB again.
Many thanks,
Ash
Compiled with ubuntu 1204 (precise), where -Wformat-security is enabled by
-Wall.
Test yields ok, but the current implementation doesn't properly support
multi-character separators and end strings. So the test output is truncated.
Addresses:
utils.c: In function 'vty_cmd_string_from_valstr':
utils.c:84:2: warning: format not a string literal and no format arguments [-Wformat-security]
utils.c:84:2: warning: format not a string literal and no format arguments [-Wformat-security]
utils.c:108:2: warning: format not a string literal and no format arguments [-Wformat-security]
utils.c:108:2: warning: format not a string literal and no format arguments [-Wformat-security]
---
.gitignore | 1 +
src/vty/utils.c | 4 ++--
tests/Makefile.am | 9 +++++--
tests/testsuite.at | 6 +++++
tests/vty/vty_test.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++
tests/vty/vty_test.ok | 3 +++
6 files changed, 81 insertions(+), 4 deletions(-)
create mode 100644 tests/vty/vty_test.c
create mode 100644 tests/vty/vty_test.ok
diff --git a/.gitignore b/.gitignore
index 2ed0144..da36165 100644
--- a/.gitignore
+++ b/.gitignore
@@ -72,6 +72,7 @@ tests/fr/fr_test
tests/loggingrb/loggingrb_test
tests/ringbuf/ringbuf_test
tests/strrb/strrb_test
+tests/vty/vty_test
utils/osmo-arfcn
utils/osmo-auc-gen
diff --git a/src/vty/utils.c b/src/vty/utils.c
index e9c0d2d..88932fa 100644
--- a/src/vty/utils.c
+++ b/src/vty/utils.c
@@ -81,7 +81,7 @@ char *vty_cmd_string_from_valstr(void *ctx, const struct value_string *vals,
if (!str)
return NULL;
- ret = snprintf(str + offset, rem, prefix);
+ ret = snprintf(str + offset, rem, "%s", prefix);
if (ret < 0)
goto err;
OSMO_SNPRINTF_RET(ret, rem, offset, len);
@@ -105,7 +105,7 @@ char *vty_cmd_string_from_valstr(void *ctx, const struct value_string *vals,
offset--; /* to remove the trailing | */
rem++;
- ret = snprintf(str + offset, rem, end);
+ ret = snprintf(str + offset, rem, "%s", end);
if (ret < 0)
goto err;
OSMO_SNPRINTF_RET(ret, rem, offset, len);
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e5fc718..ecb2b6c 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -5,7 +5,8 @@ check_PROGRAMS = timer/timer_test sms/sms_test ussd/ussd_test \
conv/conv_test auth/milenage_test lapd/lapd_test \
gsm0808/gsm0808_test gsm0408/gsm0408_test \
gb/bssgp_fc_test logging/logging_test fr/fr_test \
- loggingrb/loggingrb_test strrb/strrb_test
+ loggingrb/loggingrb_test strrb/strrb_test \
+ vty/vty_test
if ENABLE_MSGFILE
check_PROGRAMS += msgfile/msgfile_test
@@ -62,6 +63,9 @@ loggingrb_loggingrb_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_buildd
strrb_strrb_test_SOURCES = strrb/strrb_test.c
strrb_strrb_test_LDADD = $(top_builddir)/src/libosmocore.la
+vty_vty_test_SOURCES = vty/vty_test.c
+vty_vty_test_LDADD = $(top_builddir)/src/vty/libosmovty.la $(top_builddir)/src/libosmocore.la
+
# The `:;' works around a Bash 3.2 bug when the output is not writeable.
$(srcdir)/package.m4: $(top_srcdir)/configure.ac
@@ -91,7 +95,8 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \
msgfile/msgfile_test.ok msgfile/msgconfig.cfg \
logging/logging_test.ok logging/logging_test.err \
fr/fr_test.ok loggingrb/logging_test.ok \
- loggingrb/logging_test.err strrb/strrb_test.ok
+ loggingrb/logging_test.err strrb/strrb_test.ok \
+ vty/vty_test.ok
DISTCLEANFILES = atconfig
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 684ec4f..1a6fa55 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -112,3 +112,9 @@ AT_KEYWORDS([strrb])
cat $abs_srcdir/strrb/strrb_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/strrb/strrb_test], [0], [expout], [ignore])
AT_CLEANUP
+
+AT_SETUP([vty])
+AT_KEYWORDS([vty])
+cat $abs_srcdir/vty/vty_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/vty/vty_test], [0], [expout], [ignore])
+AT_CLEANUP
diff --git a/tests/vty/vty_test.c b/tests/vty/vty_test.c
new file mode 100644
index 0000000..6a53fb8
--- /dev/null
+++ b/tests/vty/vty_test.c
@@ -0,0 +1,62 @@
+/* (C) 2013 by Jacob Erlbeck <jerlbeck(a)osmocom.de>
+ * All Rights Reserved
+ *
+ * This program is iree software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#include <stdio.h>
+#include <string.h>
+
+#include <osmocom/core/talloc.h>
+#include <osmocom/core/logging.h>
+#include <osmocom/core/utils.h>
+#include <osmocom/vty/misc.h>
+
+static void init_vty(void)
+{
+}
+
+static void free_vty(void)
+{
+}
+
+static void test_cmd_string_from_valstr(void)
+{
+ char *cmd;
+ const struct value_string printf_seq_vs[] = {
+ { .value = 42, .str = "[foo%s%s%s%s%s]"},
+ { .value = 43, .str = "[bar%s%s%s%s%s]"},
+ { .value = 0, .str = NULL}
+ };
+
+ printf("Going to test vty_cmd_string_from_valstr()\n");
+
+ // check against character strings that could break printf
+
+ cmd = vty_cmd_string_from_valstr (NULL, printf_seq_vs, "[prefix%s%s%s%s%s]", "[sep%s%s%s%s%s]", "[end%s%s%s%s%s]", 1);
+ printf ("Tested with %%s-strings, resulting cmd = '%s'\n", cmd);
+ talloc_free (cmd);
+}
+
+int main(int argc, char **argv)
+{
+ init_vty();
+ test_cmd_string_from_valstr();
+ printf("All tests passed\n");
+
+ free_vty();
+ return 0;
+}
diff --git a/tests/vty/vty_test.ok b/tests/vty/vty_test.ok
new file mode 100644
index 0000000..9ff68c8
--- /dev/null
+++ b/tests/vty/vty_test.ok
@@ -0,0 +1,3 @@
+Going to test vty_cmd_string_from_valstr()
+Tested with %s-strings, resulting cmd = '[prefix%s%s%s%s%s][foo%s%s%s%s%s][sep%s%s%s%s%s]['
+All tests passed
--
1.7.9.5
Patrick Klapper <ptmk06 <at> googlemail.com> writes:
>
> Hello,
>
> I am interested in buying a nanoBTS.
> The sales department of ip.access told me, that they only sell their
products to mobile operators.
>
> Where can I buy an ip.access nanoBTS (GSM1800) and what's its price?
>
> Regards
>
> Patrick
>
>
Hello Patrick,
Still searching for the nanoBTS?
I have one for sale.
Kind regards,
Patrick
=======
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hey folks,
I have just received this new piece of hardware and I wanted to share some preliminary info about it.
As far as I noticed, the picocell was used by Orange UK some years ago.
As you will see from the photos below the board has different populated pins, which one of them seems a 14-pin JTAG connector. (I apologise for the low quality of the images, but at the moment is the best I can do)
At the moment I am unable to fully test it cause logic analyzer, jtag and uart connectors are physically not with me.
In the meanwhile I will get them, I was wondering if someone of you guys already had the opportunity to play with it. Or have more info/specs/etc. about it.
- -------------------------------------
IC PRIXPH425BT (Intel):
- -------------------------------------
http://media.digikey.com/pdf/Data%20Sheets/Intel%20PDFs/IXP42X,%20IXC1100.p…http://media.digikey.com/pdf/Data%20Sheets/Intel%20PDFs/IXP42X,%20IXC1100%2…
- -------------------------------------
PHOTOS
- -------------------------------------
http://imageshack.us/a/img856/5395/d0xt.jpghttp://imageshack.us/a/img266/8011/x64h.jpghttp://imageshack.us/a/img801/9504/0zir.jpghttp://imageshack.us/a/img839/4488/sq4r.jpg
- -------------------------------------
NMAP SCAN
- -------------------------------------
These are the ports available on the LAN side:
PORT STATE SERVICE VERSION
22/tcp open ssh Dropbear sshd 0.47 (protocol 2.0)
23/tcp open telnet NASLite-SMB/Sveasoft Alchemy firmware telnetd
53/tcp open domain dnsmasq 2.31
80/tcp open http Boa HTTPd 0.93.15
443/tcp open ssl/http Boa HTTPd 0.93.15
I have already tried a known vuln for Boa HTTPd 0.93.15 to bypass auth, but since the webapp is customized, that flaw is no longer available.
At the moment I am trying to bruteforce ssh/telnet, but I guess it would not get any result.
Overall, while continuing to disassemble and test it, If someone have some hints or material to share, is welcome.
Cheers,
Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
iQIcBAEBAgAGBQJR/izEAAoJEPLE1Qsi6ZiTOBYP+wTEeqOYpUxULV24dF8FBu/W
ZwL18Dw8zZAp2AEn7C4bGbajH/OAmrTz0Ae0a/jiZCxDEtN7MlF82+9cy8aQvQh/
xMeA3BiA9HlmDKJJO3fsCBoUNXXLIMt4/8F779qPtE2kNRGCkwafVkID93kU2qtA
KGUsLeXHZyOzTbxtvwzxwQmAAyna3I2Z4jLzj3O61fpElR2CwFLSokcAqfYp1wNL
gw/ofYZhBISqsCn403DMRcZTrfiO8YuqG0I3gdOtrrI2u2UPW3U6OGgtNi3Lz0Gn
vLCeS5PMjrhdDKGGEd0IJRZu20QWKJVHUeksQ+fVI6o28TQ84bmvkohkuE8mhzYA
rVPzva9+QJbGCHce0+UX3mSjtNl4Tsr1qJ6+useqQaa0KmHLR5SRMEBRAdvMAVQ7
5cgetujabmwyzeNtZECIxZlLmpfscm2ckiSYvnnH4gM3xhS0FZ6i3a5zSCdzCNHT
RqFOlBLAUHopS9p5AoAQP5nWqK+xuj3iVWGq++pk6Q/aK7kvMNtlAIpQNhcDN236
9iHloZfeW/eIIBVhtNe6NEuAt4ry8hbeiuGjzJtAR+WAR/PwCtgdEQdOZnLD2LWV
FhVNsGySrVvP63gZqhhsW8sUpP8IUaTzoKBgyZ7+fLDoRdqKFVcs+xhqzIfV5dm8
YumNguOR7GwCcAGgBW8g
=d+QM
-----END PGP SIGNATURE-----
Hi Peter,
> Ok. Do you have a later message from the following line?
> LOGP(DLLAPD, LOGL_INFO, "I received in state %s\n", lapd_state_names[dl->state]);
Sure, this is how it looks with all relevant debugging enabled:
Fri Aug 2 16:50:13 2013 <0018> lapd_core.c:1465 I received in state LAPD_STATE_MF_EST
Fri Aug 2 16:50:13 2013 <0018> lapd_core.c:1548 incrementing V(R) to 1
Fri Aug 2 16:50:13 2013 <0018> lapd_core.c:222 stop T203
Fri Aug 2 16:50:13 2013 <0018> lapd_core.c:206 start T203
Fri Aug 2 16:50:13 2013 <0018> lapd_core.c:1557 message in single I frame
Fri Aug 2 16:50:13 2013 <001b> e1_input.c:594 RX: 80 80 00 08 81 00 00 01 5f 23 01 01 sapi=62 tei=1
Fri Aug 2 16:50:13 2013 <0005> bts_nokia_site.c:1668 Nokia: Abis received!
Fri Aug 2 16:50:13 2013 <0005> bts_nokia_site.c:1688 ABIS_OM_MDISC_FOM
Fri Aug 2 16:50:13 2013 <0005> bts_nokia_site.c:1515 (0x81) NOKIA_BTS_ACK
Fri Aug 2 16:50:13 2013 <0005> bts_nokia_site.c:1547 ACK = 1
Fri Aug 2 16:50:13 2013 <0005> bts_nokia_site.c:1588 Nokia: STOP OML
& RSL lapd (cause: RESET)
Fri Aug 2 16:50:13 2013 <0018> input/lapd.c:513 LAPD DL-RELEASE request TEI=1 SAPI=62
Fri Aug 2 16:50:13 2013 <0018> lapd_core.c:2183 Message DL-RELEASE-REQUEST received in state LAPD_STATE_MF_EST
Fri Aug 2 16:50:13 2013 <0018> lapd_core.c:2024 perform local release
Fri Aug 2 16:50:13 2013 <0018> lapd_core.c:229 new state LAPD_STATE_MF_EST -> LAPD_STATE_IDLE
Fri Aug 2 16:50:13 2013 <0018> lapd_core.c:222 stop T203
Fri Aug 2 16:50:13 2013 <0018> input/lapd.c:628 LAPD DL-RELEASE confirm TEI=1 SAPI=62
Fri Aug 2 16:50:13 2013 <001b> e1_input.c:585 DL_REL: sapi(62) tei(1)
Fri Aug 2 16:50:13 2013 <001b> bsc_init.c:318 Lost some E1 TEI link: 1 0x887f038
Fri Aug 2 16:50:13 2013 <0018> lapd_core.c:1781 lapd_send_i() called from line 1615
Segmentation fault (core dumped)
bsc_init.c probably complaining because the LAPD connection is closed,
but the OML context does not. Maybe this is the root cause of the
problem: if the OML context not disconnected with the LAPD connection,
it still listens on the OML timeslot and if something got received, it
tries to process it. But still: this is not how it should work. The
OML context is not closed, because we are waiting for the already
resetting BTS, then the OML lapd got restarted again (after the
RESET_TIMER expired). My opinion is that after we closed the lapd
connection, it should not reactivate itself, if data appears on the OML
TS.
BR,
Csaba
Not really, if I have a temporary subscriber coming onto the network, I
would like to be able just to use their IMEI instead of going through the
trouble of getting their IMSI.
T
hats a shame. Reading http://openbsc.osmocom.org/trac/wiki/osmo-nitb
it states;
"
We obtain the IMSI and IMEI of every LOCATION UPDATING REQUEST, and then if
neccessary create a new entry for the equipment as well as the subscribers
in the respective tables.
"
Is there a specific table that all rejected handsets go into or a mixture
of Equipment, EquipmentWatch, Meta and Subcriber?
Many thanks,
Is there a way to add subscribers by just using their IMEI, this is a lot
easier to obtain the the IMSI.
I can see there is and Equipment and EquipmentWatch table in hlr.sqlite in
the Osmo-NITB folder, but there is no Authorised field like in the
Subscribers table.
Many thanks,
Hi Holger,
I was able to narrow it down, and it seems this is the patch that
causing the problem:
http://cgit.osmocom.org/libosmocore/commit/?id=f5a079f739c57d8be7c59149fd45…
Up to that patch it works (more or less), but after I applied it, I
got this seg faults.
I don't know how to do back traces but I try to get some info about
this topic and will send the results.
Csaba
Hello,
I am wonder how to add support for other Transceivers, in particular the
BladeRF ( http://nuand.com/ ). If anyone has a start point for me to learn
how to do this, it would be fantastic!
Many thanks
On Tue, Jul 02, 2013 at 11:51:49PM -0700, Caleb Pal wrote:
> Holger,
Hi,
I have a reliable re-producer of the issue. It happens when the PCU is
dead and we still receive segmented data from the GGSN. The re-producer
is inside a branch of mine of the OsmoPCU code[1]. The commit message
has some information about how to re-produce (what is missing is the
ACL config of the SGSN to allow this test).
Maybe you want to try to fix the issue based on this setup?
kind regards
holger
[1] http://git.osmocom.org/osmo-pcu/commit/?h=zecke/features/emulator&id=a727a2…
the gprs_llc_tx_ui() will call down to BSSGP/NS, which in turn will
call msgb_free() themselves in their error path, so the msgb is
already freed at that time.
As discussed on the mailing list quite some time ago, msgb ownership
policy/rules and implementation need to be more clearly defined, and
this definition adopted in the implementation.
Thanks to Holger for reproducing this.
---
openbsc/src/gprs/gprs_sndcp.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/openbsc/src/gprs/gprs_sndcp.c b/openbsc/src/gprs/gprs_sndcp.c
index 853f8db..6564ffb 100644
--- a/openbsc/src/gprs/gprs_sndcp.c
+++ b/openbsc/src/gprs/gprs_sndcp.c
@@ -420,7 +420,8 @@ static int sndcp_send_ud_frag(struct sndcp_frag_state *fs)
rc = gprs_llc_tx_ui(fmsg, lle->sapi, 0, fs->mmcontext);
if (rc < 0) {
/* abort in case of error, do not advance frag_nr / next_byte */
- msgb_free(fmsg);
+ /* do not msgb_free() here, as the lower layer is doing
+ * that if an actual transmission error occurs */
return rc;
}
--
1.8.3.2
--
- 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'm running OpenBSC in BSC-only mode, where my A-interface gateway
substitutes an MSC (soft switch) to BSC. On the other side, A-interface
gateway has a legacy BSSAP/e1 connectivity.
OpenBSC configuration file is derived from
doc/examples/osmo-bsc/osmo-bsc.cfg
everything is fine with control over sccp/ip, but MGCP gateway port (2427)
is not binded to a public ip.
so, my questions are
- in which way media control is assumed to be performed?
- how this control is reflected in osmo-bsc.cfg
in fact, I'm expecting osmo-BSC to run exactly as the BSC from ip.access,
that establishes SCCP/ip link and accepts MGCP commands from a soft switch
Thank you,
Dmitri