<html>
<head>
</head>
<body class='hmmessage'><div dir='ltr'>


<div dir="ltr">

<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style>
<div dir="ltr">Hi mister Harald,<br><br>I give you more details about what I'm doing. I'm sorry for my inexperience.<br><br>I have built the following configuration (each component it's a virtual machine):<br><br><br>--------------------<br>|   OsmoNITB  |<br> -------------------<br>         | 192.168.30.2<br>         |<br>         |<br>         | 192.168.60.1                                 192.168.10.2            192.168.10.1<br>-----------------                                     --------------------                                ------------------<br>|   FakeBTS  |  <---------------------> |  OsmoSGSN  | <-----------------> |  OpenGGSN | ----> INTERNET<br>-----------------                                     --------------------                                 ------------------<br>           192.168.20.1           192.168.20.2            <br><br><br>OpenGGSN runs by using this configuration file: <br><span dir="ltr" id=":ws"><br><font style="" color="#666666"><span style="background-color: rgb(255, 255, 255);"><font style="font-size: 10pt;" size="2"># TAG: fg</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Include this flag if process is to run in the foreground</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#fg</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: debug</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Include this flag to include debug information.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#debug</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: conf</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Configuration file to use. This file is the configuration file, </font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># so changing this parameter in the configuration file does not make</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># sense. Use it on the command line instead.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: pidfile</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># File to store information about the process id of the program.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># The program must have write access to this file/directory.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#pidfile /var/run/ggsn.p</font></span></font><wbr><font style="" color="#666666"><span style="background-color: rgb(255, 255, 255);"><font style="font-size: 10pt;" size="2">id</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: statedir</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Directory to use for nonvolatile storage. </font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># The program must have write access to this directory.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#statedir /var/lib/ggsn/</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: listen</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Specifies the local IP address to listen to</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">listen 192.168.10.1</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: net</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># IP network address of external packet data network</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Used to set up network interface.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#net </font><font style="font-size: 10pt;" size="2"><a href="http://192.168.0.0/24">192.168.0.0/24</a></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: ipup</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Script executed after network interface has been brought up.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Executed with the following parameters: <devicename> <ip address></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#ipup /etc/ggsn/ip-up</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: ipdown</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Script executed after network interface has been taken down.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Executed with the following parameters: <devicename> <ip address></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#ipdown /etc/ggsn/ip-do</font></span></font><wbr><font style="" color="#666666"><span style="background-color: rgb(255, 255, 255);"><font style="font-size: 10pt;" size="2">wn</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: dynip</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Dynamic IP address pool.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Used for allocation of dynamic IP address when address is not given</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># by HLR.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># If this option is not given then the net option is used as a substitute.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">dynip </font><font style="font-size: 10pt;" size="2"><a href="http://192.168.0.0/24">192.168.0.0/24</a></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: statip</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Use of this tag is currently UNSUPPORTED</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Static IP address pool.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Used for allocation of static IP address by means of HLR.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#statip </font><font style="font-size: 10pt;" size="2"><a href="http://192.168.1.0/24">192.168.1.0/24</a></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: pcodns1</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Protocol configuration option domain name system server 1.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#pcodns1 0.0.0.0</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: pcodns2</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Protocol configuration option domain name system server 2.</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2">#pcodns2 0.0.0.0</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># TAG: timelimit</font><font style="font-size: 10pt;" size="2"><br></font><font style="font-size: 10pt;" size="2"># Exit after timelim</font></span></font></span><div id=":x1" class="kd"> <br>OsmoSGSN runs by using this configuration file:<br><font style="font-size: 10pt;" color="#666666" size="2"><br>Osmocom SGSN configuration</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2">!</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2">!</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2">line vty</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> no login</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2">!</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2">sgsn</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> gtp local-ip 192.168.10.2</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> ggsn 0 remote-ip 192.168.10.1</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> ggsn 0 gtp-version 1</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2">!</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2">ns</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> timer tns-block 3</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> timer tns-block-retri</font><div id=":wv" dir="ltr" class="kl"><wbr><font style="font-size: 10pt;" color="#666666" size="2">es 3</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> timer tns-reset 3</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> timer tns-reset-retri</font><wbr><font style="font-size: 10pt;" color="#666666" size="2">es 3</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> timer tns-test 30</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> timer tns-alive 3</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> timer tns-alive-retri</font><wbr><font style="font-size: 10pt;" color="#666666" size="2">es 10</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> encapsulation udp local-ip 192.168.0.128</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> encapsulation udp local-port 23000</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"> encapsulation framerelay-gre enabled 0</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2">!</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2">bssgp</font><font style="font-size: 10pt;" color="#666666" size="2"><br></font><font style="font-size: 10pt;" color="#666666" size="2"><br><br></font>OsmoNITB runs by using the nanoBTS configuration file, configured for gprs support :<br><br><font style="font-size: 10pt;" color="#666666" size="2"><span dir="ltr" id=":w2">! OpenBSC configuration saved from vty<br>!   !<br>password foo<br>!<br>line vty<br> no login<br>!<br>e1_input<br> e1_line 0 driver ipa<br>network<br> network country code 1<br> mobile network code 1<br> short name OpenBSC<br> long name OpenBSC<br> auth policy closed<br> location updating reject cause 13<br> encryption a5 0<br> neci 1<br> rrlp mode none<br> mm info 1<br> handover 0<br> handover window rxlev averaging 10<br> handover window rxqual averaging 1<br> handover window rxlev neighbor averaging 10<br> handover power budget interval 6<br> handover power budget hysteresis 3<br> handover maximum distance 9999<br> timer t3101 10<br> timer t3103 0<br> timer t3105 0<br> timer t3107 0<br> timer t3109 4<br> timer t3111 0<br> timer t3113 60<br> timer t3115 0<br> timer t3117 0<br> timer t3119 0<br> timer t3141 0<br> bts 0<br>  type nanobts<br>  band DCS1800<br>  cell_identity 0<br>  location_area_c<wbr>ode 1<br>  training_sequen<wbr>ce_code 7<br>  base_station_id<wbr>_code 63<br>  ms max power 15<br>  cell reselection hysteresis 4<br>  rxlev access min 0<br>  channel allocator ascending<br>  rach tx integer 9<br>  rach max transmission 7<br>  ip.access unit_id 1801 0<br>  oml ip.access stream_id 255 line 0<br>  gprs mode gprs<br>  gprs routing area 0<br>  gprs cell bvci 2<br>  gprs nsei 101<br>  gprs nsvc 0 nsvci 101<br>  gprs nsvc 0 local udp port 23000<br>  gprs nsvc 0 remote udp port 23000<br>  gprs nsvc 0 remote ip 192.168.20.2<br>  trx 0<br>   rf_locked 0<br>   arfcn 514<br>   nominal power 23<br>   max_power_red 20<br>   rsl e1 tei 0<br>    timeslot 0<br>     phys_chan_confi<wbr>g CCCH+SDCCH4<br>    timeslot 1<br>     phys_chan_confi<wbr>g SDCCH8<br>    timeslot 2<br>     phys_chan_confi<wbr>g TCH/F<br>    timeslot 3<br>     phys_chan_confi<wbr>g TCH/F<br>    timeslot 4<br>     phys_chan_confi<wbr>g TCH/F<br>    timeslot 5<br>     phys_chan_confi<wbr>g TCH/F<br>    timeslot 6<br>     phys_chan_confi<wbr>g TCH/F<br>    timeslot 7<br>     phys_chan_confi<wbr>g PDCH</span></font><font style="font-size: 10pt;" color="#666666" size="2"><br></font></div><br>Finally, according to this guide: <a href="http://openbsc.osmocom.org/trac/wiki/simulation" target="_blank">http://openbsc.osmocom.org/trac/wiki/simulation</a> , I installed smalltalk interpreter on fakeBTS VM, and then i tried to run the Smalltalk script to request a channel. This is what happens:<br><br>OsmoSGSN and OpenGGSN run but there isn't messages exchange.<br><br>OsmoNITB runs and receive messages from fakeBTS but I read this error:<br><pre><font style="font-size: 10pt;" color="#666666" size="2"><i><0004> abis_rsl.c:2050 unknown RSL message discriminator 0x01
</i></font><font style="font-size: 10pt;" color="#666666" size="2">></font><i><font style="font-size: 10pt;" color="#666666" size="2"> <0019> input/ipaccess.c:458 Bad signalling message,sign_link returned error</font><br></i><br><font style="" face="Calibri,sans-serif">Furthermore</font><font style="" face="Calibri,sans-serif"> there isn't </font><font style="" face="Calibri,sans-serif">communication toward OsmoSGSN</font>.<br><br><font style="" face="Calibri,sans-serif">I would like to achieve a simple communication among this components.  </font><font style="" face="Calibri,sans-serif">For example ,running a script on fakeBTS to generate<br> a PDP context request or attach request, I would like to see the request toward OsmoNITB, OsmoSGSN and finally OpenGGSN,<br>and  the response go back.<br><br>My questions are:<br>1. Is the network configuration correct?<br>2. Are the configuration file correct?<br>3. How can I fix the RSL error message?t<br>4. Does a script </font><font style="" face="Calibri,sans-serif"><font style="" face="Calibri,sans-serif">to generate a PDP context request or attach request</font> exist in FakeBTS package? If not, do you think that <br>     it's possible to write it in a short time?<br><br><br>Best regards and thanks for help.<br><br><br><br>Calogero <br><br><br></font></pre></div><br><br><br><br><br><br><br><br><div>> Date: Thu, 11 Sep 2014 12:46:07 +0800<br>> From: laforge@gnumonks.org<br>> To: can_ni@hotmail.it<br>> Subject: Re: GPRS core network simulation<br>> CC: openbsc@lists.osmocom.org<br>> <br>> Hi Calogero,<br>> <br>> On Tue, Sep 09, 2014 at 02:19:13PM +0200, Calogero Cannizzaro wrote:<br>> > At this moment i deployed 4 virtual machine, one for each osmo<br>> > component (osmoNITB, openGGSN, osmoSGSN) on the fourth VM I want to<br>> > run the fakeBTS because I don't have a bts.<br>> <br>> You wouldn't just need a virtual BTS, but also a virtual PCU and many<br>> virtual GPRS capable MS.  Yes, this can be done, but it would be several<br>> man-months of software development even for an experienced developer who<br>> is already familiar with the specifications.<br>> <br>> So unless the topic of developing software for such virtual<br>> BTS, PCU and GPRS-MS is the core of your thesis, I don't think this is a<br>> good idea.<br>> <br>> Regards,<br>> -- <br>> - Harald Welte <laforge@gnumonks.org>           http://laforge.gnumonks.org/<br>> ============================================================================<br>> "Privacy in residential applications is a desirable marketing option."<br>>                                                   (ETSI EN 300 175-7 Ch. A6)<br>> <br></div></div>
</div>
                                          </div></body>
</html>