<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>