Hello everyone,
I've just finnished writing together a small web interface for the OpenBSC
HLR. It allows you to modify various parameters in the database and also
provides a set of functions to modify the HLR or sending SMSes in your own
scripts.
The project is still very alpha but it seems to work reasonably good. Feel
free to give any feedback!
Screenshots and source code is available on my website:
https://stormhub.org/simplehlr/
--
*Best regards,
Peter Caprioli*
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
Hi list!
I'm trying make calls between sip phones and mobiles throw OpenBSC but
doesn't works. I've registered extensions in Asterisk and mobile phones in
OpenBSC. When I try call inter mobile phones and LCR shows (error in red):
*000000 DEBUG (in Port() line 149): new port of type 4625, name 'GSM-1-in'*
*000000 DEBUG (in PmISDN() line 182): Created new mISDNPort(GSM-1-in).
Currently 1 objects use, port #1*
*000000 DEBUG (in Pgsm() line 151): Created new GSMPort(GSM-1-in).*
*000000 DEBUG (in Pgsm_bs() line 54): Created new GSMBSPort(GSM-1-in).*
*000000 TRACE 25.06.12 18:48:30.344 CH(18): MT_NEW_L3ID INDICATION port 1
callref new=0x8000000c*
*000000 TRACE 25.06.12 18:48:30.344 CH(18): CHANNEL SELECTION (setup) port
1 channel reserved=0 conclusion 'channel available' connect channel=1*
*000000 DEBUG (in seize_bchannel() line 1028): PmISDN(GSM-1-in) seizing
bchannel 1 (index 0)*
*000000 ERROR (in _bchannel_create() line 415): Error: Failed to bind
bchannel-socket for index 0 with mISDN-DSP layer (errno=92). Did you load
mISDN_dsp.ko?*
*000000 DEBUG (in bchannel_open() line 228): Activating GSM side channel
index 0.*
*000000 TRACE 25.06.12 18:48:30.345 CH(18): MNCC_SETUP_IND LCR<->BSC port
1 calling number=29848 imsi=460003113237934 dialing number=02000*
*000000 DEBUG (in Endpoint() line 48): EPOINT(18): Allocating enpoint 18
and connecting it with: ioport*
*000000 DEBUG (in portlist_new() line 146): EPOINT(18) allocating port_list.
*
*000000 DEBUG (in epointlist_new() line 125): PORT(18) allocating
epoint_list.*
*000000 TRACE 25.06.12 18:48:30.345 CH(18): unknown LCR<->BSC port 1 mode
0x01*
*000000 TRACE 25.06.12 18:48:30.345 CH(18): MNCC_CALL_PROC_REQ LCR<->BSC
port 1 progress coding=3 location=1 descr=8*
*000000 DEBUG (in new_state() line 252): PORT(GSM-1-in) new state
PORT_STATE_IDLE --> PORT_STATE_IN_PROCEEDING*
*000000 TRACE 25.06.12 18:48:30.345 CH(18): unknown LCR<->BSC port 1*
*000000 DEBUG (in message_put() line 61): message MESSAGE_SETUP written
from 18 to 18 (memory 8ccc588)*
*000000 DEBUG (in message_get() line 107): message MESSAGE_SETUP reading
from 18 to 18 (memory 8ccc588)*
*000000 DEBUG (in ea_message_port() line 2649): EPOINT(18) incoming call
from callerid=29848, dialing=02000*
*000000 TRACE 25.06.12 18:48:30.345 EP(18): SETUP from CH(18) caller id
number=29848 present=allowed dialing 02000 complete true*
*000000 DEBUG (in port_setup() line 1535): EPOINT(18) incoming call is
external or voip*
*000000 DEBUG (in port_setup() line 1616): EPOINT(18) call from external
port*
*000000 DEBUG (in message_put() line 61): message MESSAGE_TONE written from
18 to 18 (memory 8ccfe40)*
*000000 TRACE 25.06.12 18:48:30.345 EP(18): TONE to CH(18) directory
default name dialing*
*000000 DEBUG (in process_dialing() line 2300): EPOINT(18): terminal ''
dialing: '02000', checking matching rule of ruleset 'main'*
*000000 DEBUG (in route() line 1914): parsing ruleset 'main'*
*000000 DEBUG (in route() line 1916): checking rule in line 8*
*000000 TRACE 25.06.12 18:48:30.345 EP(18): ACTION (match) action remote
line 8*
*000000 DEBUG (in process_dialing() line 2324): EPOINT(18): a rule with
action 'remote' matches.*
*000000 DEBUG (in process_dialing() line 2361): EPOINT(18): terminal :
current action 'remote' has a init function, so we call it...*
*000000 DEBUG (in process_dialing() line 2372): EPOINT(18): terminal ''
action: remote (dialing '02000')*
*000000 DEBUG (in process_dialing() line 2375): EPOINT(18): terminal :
current action 'remote' has a dialing function, so we call it...*
*000000 DEBUG (in _action_init_call() line 34): EPOINT(18): Creating new
join instance.*
*000000 TRACE 25.06.12 18:48:30.346 EP(18): ACTION remote (not available)
applicatio astersik*
*000000 DEBUG (in message_put() line 61): message MESSAGE_DISCONNECT
written from 18 to 18 (memory 8cd36f8)*
*000000 TRACE 25.06.12 18:48:30.346 EP(18): DISCONNECT to CH(18) cause
value=27 location=1-Local-PBX*
*000000 DEBUG (in message_put() line 61): message MESSAGE_TONE written from
18 to 18 (memory 8cd6fb0)*
*000000 TRACE 25.06.12 18:48:30.346 EP(18): TONE to CH(18) directory
default name cause_1b*
*000000 DEBUG (in message_get() line 107): message MESSAGE_TONE reading
from 18 to 18 (memory 8ccfe40)*
*000000 DEBUG (in message_epoint() line 602): PORT(GSM-1-in) isdn port with
(caller id 29848) setting tone 'dialing' dir ''*
*000000 DEBUG (in set_tone() line 1532): isdn port now plays tone:'dialing'.
*
*000000 DEBUG (in message_get() line 107): message MESSAGE_DISCONNECT
reading from 18 to 18 (memory 8cd36f8)*
*000000 TRACE 25.06.12 18:48:30.346 CH(18): MNCC_DISC_REQ LCR<->BSC port 1
progress coding=3 location=1 descr=8 cause coding=3 location=1 value=27*
*000000 DEBUG (in new_state() line 252): PORT(GSM-1-in) new state
PORT_STATE_IN_PROCEEDING --> PORT_STATE_OUT_DISCONNECT*
*000000 DEBUG (in message_epoint() line 778): Pgsm_bs(GSM-1-in) gsm port
with (caller id 29848) received unhandled nessage: 11*
*000000 DEBUG (in message_get() line 107): message MESSAGE_TONE reading
from 18 to 18 (memory 8cd6fb0)*
*000000 DEBUG (in message_epoint() line 602): PORT(GSM-1-in) isdn port with
(caller id 29848) setting tone 'cause_1b' dir ''*
*000000 DEBUG (in set_tone() line 1532): isdn port now plays
tone:'cause_1b'.*
*000000 TRACE 25.06.12 18:48:40.552 CH(18): MNCC_REL_IND LCR<->BSC port 1
cause coding=3 location=0 value=16*
*000000 DEBUG (in message_put() line 61): message MESSAGE_RELEASE written
from 18 to 18 (memory 8ccaf90)*
*000000 DEBUG (in free_epointlist() line 81): PORT(18) removed epoint from
port*
*000000 DEBUG (in new_state() line 252): PORT(GSM-1-in) new state
PORT_STATE_OUT_DISCONNECT --> PORT_STATE_RELEASE*
*000000 DEBUG (in message_get() line 107): message MESSAGE_RELEASE reading
from 18 to 18 (memory 8ccaf90)*
*000000 DEBUG (in ea_message_port() line 2735): EPOINT(18) release with
cause=16 location=0 (terminal '', caller id '29848')*
*000000 TRACE 25.06.12 18:48:40.552 EP(18): RELEASE from CH(18) cause
value=16 location=0-User*
*000000 DEBUG (in port_disconnect_release() line 2207): EPOINT(18) current
multipoint cause 0 location 0, received cause 16 location 0.*
*000000 DEBUG (in port_disconnect_release() line 2209): EPOINT(18) new
multipoint cause 16 location 0.*
*000000 DEBUG (in process_hangup() line 2420): EPOINT(18): terminal ''*
*000000 DEBUG (in process_hangup() line 2500): EPOINT(18): terminal :
current action 'remote' has a hangup function, so we call it...*
*000000 TRACE 25.06.12 18:48:40.553 EP(18): ACTION hangup*
*000000 DEBUG (in free_portlist() line 185): EPOINT(18) removed port_list
from endpoint*
*000000 DEBUG (in release() line 215): EPOINT(18): do pending release
(joincause 16 location 0)*
*000000 DEBUG (in release() line 233): EPOINT(18) do pending release
(portcause 16 portlocation)*
*000000 DEBUG (in release() line 310): EPOINT(18) do pending release of
epoint itself.*
*000000 DEBUG (in ~Pgsm_bs() line 62): Destroyed GSM BS process(GSM-1-in).*
*000000 DEBUG (in ~Pgsm() line 159): Destroyed GSM process(GSM-1-in).*
*000000 DEBUG (in drop_bchannel() line 1063): PmISDN(GSM-1-in) dropping
bchannel*
*000000 DEBUG (in ~PmISDN() line 213): destroyed mISDNPort(GSM-1-in).
Currently 0 objects*
*000000 DEBUG (in ~Port() line 210): removing port of type 4625, name
'GSM-1-in'*
*000000 DEBUG (in ~Endpoint() line 134): removed endpoint 18.*
*
*
I've tried:
*rivas@pfc:/etc/asterisk$ sudo modprobe mISDN_dsp*
*FATAL: Error inserting mISDN_dsp
(/lib/modules/3.2.0-24-generic-pae/extra/mISDN_dsp.ko): Unknown symbol in
module, or unknown parameter (see dmesg) *
Osmo-NITB shows:
*<000b> bsc_api.c:349 Sending ChanModify for speech 1 1*
*<0001> gsm_04_08.c:1575 Error: RTP proxy is disabled*
*<000b> osmo_msc.c:73 Assignment complete should not have been reached.*
*
*
In Asterisk I've configure extensions like the howto:
*exten => _02X.,1,GotoIf($[${CALLERID(name)} != ""]?4)*
*exten => _02X.,2,Set(CALLIDORIG=${CALLERID(num)})*
*exten => _02X.,3,Set(CALLERID(num)=02${CALLIDORIG})*
*exten => _02X.,4,Dial(LCR/GSM/${EXTEN:2},120)*
*
*
Extensions number are 02000 and 02001 respectively.
Please help me. I believe that the problem is not in asterisk because its
CLI doesn't shows anything.
Thank you!
Hello,
the purpose is to test several BTS.
There are a few solutions to realise this, one of this is with OpenBSC.
1st idea: Implement OpenBSC for several BTS, also for UMTS.
In this case we have a GLJ to read the traces between BSC and BTS and want
to analyse them so we could build libraries for using OpenBSC with these
BTS. It isn't my job to programm it because we have a few programmers here
which can handle with it und which have a few months time to realise that.
We already have the traces - now comes the part how to analyse these and
how to build libs to implement the BTS to the OpenBSC-project. I don't know
if it is possible and how long it takes. We will see it.
2nd idea: Have a BTS - RNC - MSC - HLR - connection with parts of OpenBSC.
BTS and RNC are hardware, MSC and HLR should be software. Perhaps it is
better to use OpenMSC for it but first I want to know if it could be
possible with OpenBSC. I know that OpenBSC is not programmed for only using
the MSC and the HLR part but perhaps someone know how the MSC is
implemented. If some of you also worked with OpenMSC it would be great of
you could write me your experiences.
I don't want to steal your time so if you are interested and have some
infos I really appreciate it. :-)
I have already written to the mailing list so perhaps some of you remember
me.
Best regads
Ellen
Hey folks,
OpenBSC seems to work without errors but to connect it with asterisk I need
mISDN, mISDNuser and LCR.
LCR doesn't seem to work. Here what I get as I searched for the problems:
lcradmin state
> Failed to connect to socket "/var/tmp/LCR.socket".
> Is LCR running?
>
lcr query
> ** LCR Version 1.7
> -> Using 'misdn_info'
> Found 1 port
> Port 0 'hfc-e1.1': TE/NT-mode PRI E1 (for phone lines & E1
> devices)
> 30 B-channels: 1-15 17-31
> B-protocols: RAW HDLC X75slp L2:DSP
> L2:DSPHDLC
>
lcr fork
> ** LCR Version 1.7
> 000000 DEBUG (in getrulesetbyname() line 1871): ruleset main found.
> root@ctdi-HP-Compaq-dc7100-CMT-PE219ET:~#
> LCR: Starting daemon.
> *GSM is enabled, but not compiled. Use --with-gsm-bs or --with-gsm-ms
> while configure!*
>
I installed LCR in the following way:
> ./configure --prefix=/usr/src/lcr --with-gsm-bs
> make
> make install
>
There were no errors after configure but <make> and <make install> showed
following errors:
make
> chan_lcr.po
> chan_lcr.c: In function ‘send_setup_to_lcr’:
> chan_lcr.c:644:12: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:655:12: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c: In function ‘lcr_in_setup’:
> chan_lcr.c:858:2: warning: passing argument 9 of ‘__ast_channel_alloc’
> makes integer from pointer without a cast [enabled by default]
> /usr/include/asterisk/channel.h:1118:2: note: expected ‘int’ but argument
> is of type ‘char *’
> chan_lcr.c:883:6: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:885:6: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:887:6: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:890:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:893:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:896:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:900:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:903:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:906:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:909:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c: In function ‘handle_queue’:
> chan_lcr.c:1707:18: error: incompatible types when assigning to type
> ‘union ast_frame_subclass’ from type ‘char’
> chan_lcr.c: In function ‘lcr_request’:
> chan_lcr.c:1820:2: warning: passing argument 9 of ‘__ast_channel_alloc’
> makes integer from pointer without a cast [enabled by default]
> /usr/include/asterisk/channel.h:1118:2: note: expected ‘int’ but argument
> is of type ‘char *’
> chan_lcr.c: In function ‘lcr_call’:
> chan_lcr.c:1927:9: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1927:31: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1928:29: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1931:9: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1931:32: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1932:30: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1934:9: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1934:33: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1935:31: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c: In function ‘lcr_write’:
> chan_lcr.c:2164:6: error: wrong type argument to unary exclamation mark
> chan_lcr.c:2166:20: error: invalid operands to binary & (have ‘union
> ast_frame_subclass’ and ‘format_t’)
> chan_lcr.c: In function ‘lcr_read’:
> chan_lcr.c:2229:25: error: incompatible types when assigning to type
> ‘union ast_frame_subclass’ from type ‘format_t’
> chan_lcr.c: In function ‘lcr_indicate’:
> chan_lcr.c:2274:8: warning: assignment from incompatible pointer type
> [enabled by default]
> chan_lcr.c:2289:8: warning: assignment from incompatible pointer type
> [enabled by default]
> chan_lcr.c:2316:8: warning: assignment from incompatible pointer type
> [enabled by default]
> chan_lcr.c:2381:14: error: dereferencing pointer to incomplete type
> chan_lcr.c:2382:33: error: dereferencing pointer to incomplete type
> chan_lcr.c: At top level:
> chan_lcr.c:2602:2: warning: initialization from incompatible pointer type
> [enabled by default]
> chan_lcr.c:2602:2: warning: (near initialization for ‘lcr_tech.requester’)
> [enabled by default]
> chan_lcr.c: In function ‘load_module’:
> chan_lcr.c:2818:2: warning: passing argument 2 of
> ‘ast_register_application2’ from incompatible pointer type [enabled by
> default]
> /usr/include/asterisk/module.h:458:5: note: expected ‘int (*)(struct
> ast_channel *, const char *)’ but argument is of type ‘int (*)(struct
> ast_channel *, void *)’
> make[1]: *** [chan_lcr.po] Error 1
> make[1]: Leaving directory `/usr/src/lcr'
> make: *** [all] Error 2
>
make install
> gcc -DWITH_GSM_BS -I./openbsc/include -I./libosmocore/include
> -I./openbsc -Wall -DCONFIG_DATA="\"/usr/local/lcr\""
> -DSHARE_DATA="\"/usr/local/lcr\"" -DLOG_DIR="\"/usr/local/lcr\""
> -DEXTENSION_DATA="\"/usr/local/lcr/extensions\"" -D_GNU_SOURCE -fPIC -c
> chan_lcr.c -o chan_lcr.po
> chan_lcr.c: In function ‘send_setup_to_lcr’:
> chan_lcr.c:644:12: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:655:12: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c: In function ‘lcr_in_setup’:
> chan_lcr.c:858:2: warning: passing argument 9 of ‘__ast_channel_alloc’
> makes integer from pointer without a cast [enabled by default]
> /usr/include/asterisk/channel.h:1118:2: note: expected ‘int’ but argument
> is of type ‘char *’
> chan_lcr.c:883:6: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:885:6: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:887:6: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:890:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:893:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:896:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:900:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:903:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:906:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:909:7: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c: In function ‘handle_queue’:
> chan_lcr.c:1707:18: error: incompatible types when assigning to type
> ‘union ast_frame_subclass’ from type ‘char’
> chan_lcr.c: In function ‘lcr_request’:
> chan_lcr.c:1820:2: warning: passing argument 9 of ‘__ast_channel_alloc’
> makes integer from pointer without a cast [enabled by default]
> /usr/include/asterisk/channel.h:1118:2: note: expected ‘int’ but argument
> is of type ‘char *’
> chan_lcr.c: In function ‘lcr_call’:
> chan_lcr.c:1927:9: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1927:31: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1928:29: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1931:9: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1931:32: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1932:30: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1934:9: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1934:33: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c:1935:31: error: ‘struct ast_channel’ has no member named ‘cid’
> chan_lcr.c: In function ‘lcr_write’:
> chan_lcr.c:2164:6: error: wrong type argument to unary exclamation mark
> chan_lcr.c:2166:20: error: invalid operands to binary & (have ‘union
> ast_frame_subclass’ and ‘format_t’)
> chan_lcr.c: In function ‘lcr_read’:
> chan_lcr.c:2229:25: error: incompatible types when assigning to type
> ‘union ast_frame_subclass’ from type ‘format_t’
> chan_lcr.c: In function ‘lcr_indicate’:
> chan_lcr.c:2274:8: warning: assignment from incompatible pointer type
> [enabled by default]
> chan_lcr.c:2289:8: warning: assignment from incompatible pointer type
> [enabled by default]
> chan_lcr.c:2316:8: warning: assignment from incompatible pointer type
> [enabled by default]
> chan_lcr.c:2381:14: error: dereferencing pointer to incomplete type
> chan_lcr.c:2382:33: error: dereferencing pointer to incomplete type
> chan_lcr.c: At top level:
> chan_lcr.c:2602:2: warning: initialization from incompatible pointer type
> [enabled by default]
> chan_lcr.c:2602:2: warning: (near initialization for ‘lcr_tech.requester’)
> [enabled by default]
> chan_lcr.c: In function ‘load_module’:
> chan_lcr.c:2818:2: warning: passing argument 2 of
> ‘ast_register_application2’ from incompatible pointer type [enabled by
> default]
> /usr/include/asterisk/module.h:458:5: note: expected ‘int (*)(struct
> ast_channel *, const char *)’ but argument is of type ‘int (*)(struct
> ast_channel *, void *)’
> make: *** [chan_lcr.po] Error 1
>
I have read that with Asterisk 1.8 and LCR 1.7 and the new OpenBSC chan_lcr
isn't used and there is no gsm.conf-file needed. But I'm not sure and the
most manuals and HotTo's I've found in the internet are old.
(I am working with Ubuntu 11.10 and Kernel 3.0.22, mISDN is integrated with
Kernel, mISDN_info works, mISDNuser is installed, OpenBSC gives no errors,
Asterisk works with Twinkle since a few months without errors, I use a
Cologne Chip HFC-E1 card which works with hfcmulti driver.)
It would be appreciate if someone of you can help me in this case. I also
searched for a solution in this german forum: http://www.ip-phone-forum.de
(I also tried to work with Dahdi/zaphfc and Dahdi/cwain but they aren't
recommended for using an HFC-E1 evalutaion board which is noch from
Junghanns.)
Best regards
Ellen
Hi all!
This is the announcement for the next Osmocom Berlin meeting.
Jun 27, 8pm @ CCC Berlin, Marienstr. 11, 10113 Berlin
Nico will talk about SAP (SIM Access Profile) in osmocomBB.
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.
Updates and the blog post can be found here[1].
Regards,
Holger
[1] http://openbsc.osmocom.org/trac/blog/osmug-20120627
Hi all,
I have upated the wiki page at
http://openbsc.osmocom.org/trac/wiki/OsmoUserGroup/Berlin to indicate
the meeting dates for the next couple of months. So now it is clear
that even without any explicit separate announcement, we will be meeting
at the indicated date:
June 13, 2012
June 27, 2012
July 11, 2012
July 25, 2012
August 8, 2012
August 22, 2012
It had been requested to start a bit later (8pm instead of 7pm), and
from the next meeting onwards we will follow that request.
Looking forward to meeting you!
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)