1
YateBTS / Issues with SMS and selection after David asnwers
« on: July 30, 2014, 02:19:07 PM »
Hi everyone,
I just want to start by thanking those that have assisted so far with setup and created the current instructions/wiki. I am at a point where I have compiled what appears to be the correct path to install and set up YateBTS. However:
1. I do not have my Ki so I am using a regex for my IMSI
2. When I say "uncomment" later on I am talking of removing the ';' in the conf files. While I thought this was for java so the line always ended the modules don't load if I leave the ';' before them on the line. I have tried both ways in all the .conf spots that I changed. Am I in the right removing these?
3. I do receive the standard SMS telling me my phone number after I register
4. After I start the system I do not get SMSs to go through to Eliza from my registered set.
5. Talking to chat bot in a telnet session works though
6. I can get a hold of David when I call, but after making a choice of what option I want the call disconnects.
7. I am pretty sure my issues are a configuration somewhere or symlink, but can't figure it out which. I see no warnings or errors in my log file.
8. Thanks again for any assistance.
Any thoughts on what I did wrong? I have included my instructions below so I apologize for the large post.
Always double check that these instructions are for the version you are loading. The most up to date instructions should be at the following sites. This document assumes you are using a Debian based Linux distro.
NOTE: If using a non-gnome GUI you will get a warning about a gnome-key when you run the svn checkout. Disregard this warning as it will have no effect on this process. (I am running XFCE and don’t feel like fixing that check for gnome-key error) Always check the below three if the instructions that follow do not work.
1. Follow the instructions at http://docs.yate.ro/wiki/Compiling_and_Installing_Yate_from_SVN_on_Debian to install yate
2. Follow the instructions at http://wiki.yatebts.com/index.php/Installing to install YateBTS
3. Follow the instructions at http://wiki.yatebts.com/index.php/Network_in_a_Box to set up network in a box
Open terminal and get su privileges
su
Ensure pre-requisites are installed on the system by using
apt-get install all pre-reqs based of current install instructions for the version of yate/yatebts you will be using
Install Yate
cd /usr/src/
svn checkout http://voip.null.ro/svn/yate/trunk yate
cd yate/
./autogen.sh
./configure
make install-noapi
Setting up system to run Yate
yate –V
-If you see Yate x.y.z alpha1 or similar returned skip to Make Yate a Service
-If you see yate error while loading shared libraries: libyate.so.x.y.z: …
1. Open /etc/ld.so.conf for editing
2. Add line that says either
- /usr/local/lib #(for a 32-bit OS)
- /usr/local/lib64 #(for a 64-bit OS)
3. Disregard if one of those lines is already in there
- ldconfig
- Run yate –V again and make sure the output is now: Yate x.y.z alpha1 or similar
Make Yate a Service
I am currently not doing this so I have full control on what starts and when
Install YateBTS
cd /usr/src
svn checkout http://voip.null.ro/svn/yatebts/trunk yatebts
cd yatebts/
./autogen.sh
./configure
make install
Set up network in box
cd /var/www
ln -s /usr/local/share/yate/nib_web nib
chmod –R a+rw /usr/local/etc/yate
Open a web browser and go to: http://127.0.0.1/nib
- Use the web interface to set up your system settings and add your units under test information
- Set at least the following BTS Configuration parameters:
o GSM tab: Radio.band, Radio.C0, Identity.MCC, Identity.MNC
o Transceiver tab: Path (set to ./transceiver-rad1 for Range OpenBTS Dev kit)
o Tapping tab: both checked and the IP of the computer running wireshark (if needed)
o Issue: If I change anything on advanced GSM tab I get error “Warning! Field ChannelCodingControl.RSSI doesn’t have a recommended value. This value should normaly be Radio.RSSITarget + 10dB, value added from tab GS, from GSM Advanced that has the value: -50.” Even though these settings are correct. I am only changing CRH to 7 to make sure my set stays with my box longer/further away from the box without reselecting.
- Add at least one subscriber under Subscribers main tab
o Can I get away with all ‘0’s in the K-sub-i and the Op if I don’t want to run encryption or care to authenticate them?
Editing needed files for yate startup (if using ./run to start program)
-NOTE: if using /usr/src/yate/run you will need to change the following in the file /usr/src/yate /run.sh
• the conf path from ./conf.d to /usr/local/etc/yate/ (this is where nib points to based off sim link above)
• the mod path from ./modules to /usr/local/lib/yate
• the share path from ./share to /usr/local/share/yate
Sudo vi /usr/local/etc/yate/javascript.conf
o set routing to routing=welcome.js
o Add new line under bottom of scripts section and set it to nib=nib.js and comment correctly
Sudo vi /usr/ local/etc/yate/extmodule.conf
o Add new line under bottom of scripts section and set it to gsm_auth.sh (I have also tried gsm_auth.sh=disable and enable with no difference even when using IMSI and not regex)
Sudo vi /usr/ local/etc/yate/yate.conf
o change modload from disable to enable if needed
o change msgsniff from disable to enable if needed
o add two new lines under [modules]
a. rmanager.yate=enable (this allows for it to be easily disabled later if wanted)
b. msgsniff.yate=enable (this allows for it to be easily disabled later if wanted)
Sudo vi /usr/ local/etc/yate/subscribers.conf
o uncomment country code and set to desired value (1 for US)
Sudo vi /usr/ local/etc/yate/yate.conf
o uncomment file= and set it equal to /var/log/yate-cdr.tsv
o uncomment the format you want to see in the log
Creating Log file that will be used and its permissions
cd /var/log
sudo vi yate.log (make sure to clear this log out after every run if using high debug and sniffer)
o hit 'esc' then ':wq' to save and quit
sudo chmod 666 yate.log (this allows you to open file as user and search/edit/clear it when needed
sudo vi yate-cdr.tsv
o hit 'esc' then ':wq' to save and quit
sudo chmod 666 yate-cdr.tsv (this allows you to open file as user and search/edit/clear it when needed
Starting all needed processes to run the system
cd /usr/src/yate
sudo /usr/src/yate/run -vvvvv -l /var/log/yate.log (you might have to wait a minute to start seeing power output from the system.
ISSUE: I can call Dave, but when I make a choice the call disconnects. SMSs do not work, except for the initial incoming one that tells you your number.
Things I still need to do:
1. change reject cause code to 13 (make the sets I don't want go back to real network and reduce impact on real network sets, so they don’t try to camp as much; i.e. less denial of service to sets.)
-hard code: “ybts.cpp: See YBTSMM::locUpdTerminated()” -Marian
-script: “You may use a script to catch the user.register message after the registering module (I suppose you are using nib.js for that). Set the handler priority at higher value then nib.js (I think 100 is ok). Check the error parameter. You should ignore the message if the error is 'noauth'. You may set your code in the error parameter.” –Marian
See: http://wiki.yatebts.com/index.php/Javascript_NIB
2. DONE - Make sure CRO is at least 10-30 (make sure I will pull my set even when right next to a real tower.)
-“ If you look in mbts/GSM/GSML3RRElements.cpp, you will see that there is a configuration parameter called "GSM.SI3RO.CRO" that sets the CRO. That value can be changed from the Yate command line with the "mbts rawconfig" command.
Note that the CRO appears in the Sys Info 13 message, which is sent only when GPRs is enabled.” –Dave Burgess
3. Once these are figured out, find a way to add them to NIB web interface
4. There has to be a way to either turn on and off RF or to restart the process from web GUI (ybts stop does not kill transceiver-rad, nor does stop command in telnet session with yate)?
5. Figure out how to use whitelist/graylist/blacklist with yatebts (to filter based off imei instead of imsi) easier to add friends to network when they come over without just using wildcards in regex
Once test set is registered
1. You will receive an SMS with your assigned number. Now test the system by:
2. Send an SMS to Eliza at 35492 (does not work for me currently)
3. Make a test call to local IVR at 32843 (works currently, until you make a choice and then the call is dropped)
Shutting down yate/yatebts/turning RF off
To stop Yate when you are done, type stop into the telnet session.
I end up having to use a kill command on transceiver-rad as su to stop the transmission or restart the box (there has to be a better way)
I just want to start by thanking those that have assisted so far with setup and created the current instructions/wiki. I am at a point where I have compiled what appears to be the correct path to install and set up YateBTS. However:
1. I do not have my Ki so I am using a regex for my IMSI
2. When I say "uncomment" later on I am talking of removing the ';' in the conf files. While I thought this was for java so the line always ended the modules don't load if I leave the ';' before them on the line. I have tried both ways in all the .conf spots that I changed. Am I in the right removing these?
3. I do receive the standard SMS telling me my phone number after I register
4. After I start the system I do not get SMSs to go through to Eliza from my registered set.
5. Talking to chat bot in a telnet session works though
6. I can get a hold of David when I call, but after making a choice of what option I want the call disconnects.
7. I am pretty sure my issues are a configuration somewhere or symlink, but can't figure it out which. I see no warnings or errors in my log file.
8. Thanks again for any assistance.
Any thoughts on what I did wrong? I have included my instructions below so I apologize for the large post.
Always double check that these instructions are for the version you are loading. The most up to date instructions should be at the following sites. This document assumes you are using a Debian based Linux distro.
NOTE: If using a non-gnome GUI you will get a warning about a gnome-key when you run the svn checkout. Disregard this warning as it will have no effect on this process. (I am running XFCE and don’t feel like fixing that check for gnome-key error) Always check the below three if the instructions that follow do not work.
1. Follow the instructions at http://docs.yate.ro/wiki/Compiling_and_Installing_Yate_from_SVN_on_Debian to install yate
2. Follow the instructions at http://wiki.yatebts.com/index.php/Installing to install YateBTS
3. Follow the instructions at http://wiki.yatebts.com/index.php/Network_in_a_Box to set up network in a box
Open terminal and get su privileges
su
Ensure pre-requisites are installed on the system by using
apt-get install all pre-reqs based of current install instructions for the version of yate/yatebts you will be using
Install Yate
cd /usr/src/
svn checkout http://voip.null.ro/svn/yate/trunk yate
cd yate/
./autogen.sh
./configure
make install-noapi
Setting up system to run Yate
yate –V
-If you see Yate x.y.z alpha1 or similar returned skip to Make Yate a Service
-If you see yate error while loading shared libraries: libyate.so.x.y.z: …
1. Open /etc/ld.so.conf for editing
2. Add line that says either
- /usr/local/lib #(for a 32-bit OS)
- /usr/local/lib64 #(for a 64-bit OS)
3. Disregard if one of those lines is already in there
- ldconfig
- Run yate –V again and make sure the output is now: Yate x.y.z alpha1 or similar
Make Yate a Service
I am currently not doing this so I have full control on what starts and when
Install YateBTS
cd /usr/src
svn checkout http://voip.null.ro/svn/yatebts/trunk yatebts
cd yatebts/
./autogen.sh
./configure
make install
Set up network in box
cd /var/www
ln -s /usr/local/share/yate/nib_web nib
chmod –R a+rw /usr/local/etc/yate
Open a web browser and go to: http://127.0.0.1/nib
- Use the web interface to set up your system settings and add your units under test information
- Set at least the following BTS Configuration parameters:
o GSM tab: Radio.band, Radio.C0, Identity.MCC, Identity.MNC
o Transceiver tab: Path (set to ./transceiver-rad1 for Range OpenBTS Dev kit)
o Tapping tab: both checked and the IP of the computer running wireshark (if needed)
o Issue: If I change anything on advanced GSM tab I get error “Warning! Field ChannelCodingControl.RSSI doesn’t have a recommended value. This value should normaly be Radio.RSSITarget + 10dB, value added from tab GS, from GSM Advanced that has the value: -50.” Even though these settings are correct. I am only changing CRH to 7 to make sure my set stays with my box longer/further away from the box without reselecting.
- Add at least one subscriber under Subscribers main tab
o Can I get away with all ‘0’s in the K-sub-i and the Op if I don’t want to run encryption or care to authenticate them?
Editing needed files for yate startup (if using ./run to start program)
-NOTE: if using /usr/src/yate/run you will need to change the following in the file /usr/src/yate /run.sh
• the conf path from ./conf.d to /usr/local/etc/yate/ (this is where nib points to based off sim link above)
• the mod path from ./modules to /usr/local/lib/yate
• the share path from ./share to /usr/local/share/yate
Sudo vi /usr/local/etc/yate/javascript.conf
o set routing to routing=welcome.js
o Add new line under bottom of scripts section and set it to nib=nib.js and comment correctly
Sudo vi /usr/ local/etc/yate/extmodule.conf
o Add new line under bottom of scripts section and set it to gsm_auth.sh (I have also tried gsm_auth.sh=disable and enable with no difference even when using IMSI and not regex)
Sudo vi /usr/ local/etc/yate/yate.conf
o change modload from disable to enable if needed
o change msgsniff from disable to enable if needed
o add two new lines under [modules]
a. rmanager.yate=enable (this allows for it to be easily disabled later if wanted)
b. msgsniff.yate=enable (this allows for it to be easily disabled later if wanted)
Sudo vi /usr/ local/etc/yate/subscribers.conf
o uncomment country code and set to desired value (1 for US)
Sudo vi /usr/ local/etc/yate/yate.conf
o uncomment file= and set it equal to /var/log/yate-cdr.tsv
o uncomment the format you want to see in the log
Creating Log file that will be used and its permissions
cd /var/log
sudo vi yate.log (make sure to clear this log out after every run if using high debug and sniffer)
o hit 'esc' then ':wq' to save and quit
sudo chmod 666 yate.log (this allows you to open file as user and search/edit/clear it when needed
sudo vi yate-cdr.tsv
o hit 'esc' then ':wq' to save and quit
sudo chmod 666 yate-cdr.tsv (this allows you to open file as user and search/edit/clear it when needed
Starting all needed processes to run the system
cd /usr/src/yate
sudo /usr/src/yate/run -vvvvv -l /var/log/yate.log (you might have to wait a minute to start seeing power output from the system.
ISSUE: I can call Dave, but when I make a choice the call disconnects. SMSs do not work, except for the initial incoming one that tells you your number.
Things I still need to do:
1. change reject cause code to 13 (make the sets I don't want go back to real network and reduce impact on real network sets, so they don’t try to camp as much; i.e. less denial of service to sets.)
-hard code: “ybts.cpp: See YBTSMM::locUpdTerminated()” -Marian
-script: “You may use a script to catch the user.register message after the registering module (I suppose you are using nib.js for that). Set the handler priority at higher value then nib.js (I think 100 is ok). Check the error parameter. You should ignore the message if the error is 'noauth'. You may set your code in the error parameter.” –Marian
See: http://wiki.yatebts.com/index.php/Javascript_NIB
2. DONE - Make sure CRO is at least 10-30 (make sure I will pull my set even when right next to a real tower.)
-“ If you look in mbts/GSM/GSML3RRElements.cpp, you will see that there is a configuration parameter called "GSM.SI3RO.CRO" that sets the CRO. That value can be changed from the Yate command line with the "mbts rawconfig" command.
Note that the CRO appears in the Sys Info 13 message, which is sent only when GPRs is enabled.” –Dave Burgess
3. Once these are figured out, find a way to add them to NIB web interface
4. There has to be a way to either turn on and off RF or to restart the process from web GUI (ybts stop does not kill transceiver-rad, nor does stop command in telnet session with yate)?
5. Figure out how to use whitelist/graylist/blacklist with yatebts (to filter based off imei instead of imsi) easier to add friends to network when they come over without just using wildcards in regex
Once test set is registered
1. You will receive an SMS with your assigned number. Now test the system by:
2. Send an SMS to Eliza at 35492 (does not work for me currently)
3. Make a test call to local IVR at 32843 (works currently, until you make a choice and then the call is dropped)
Shutting down yate/yatebts/turning RF off
To stop Yate when you are done, type stop into the telnet session.
I end up having to use a kill command on transceiver-rad as su to stop the transmission or restart the box (there has to be a better way)