OpenBSC GPRS » History » Revision 2
Revision 1 (tnt, 02/19/2016 10:47 PM) → Revision 2/37 (tnt, 02/19/2016 10:47 PM)
[[PageOutline]] = OpenBSC GPRS/EDGE Setup page = == Pre-requisites == * A nano BTS with GPRS or EDGE support. BS-11 are not supported (yet?) * A compiled GGSN from OpenGGSN ( http://sourceforge.net/projects/ggsn/ ) * A working and up-to-date OpenBSC (see [wiki:Building_OpenBSC]) * [[wiki:Building_OpenBSC]]) ** You will need to (re-)build it after having installed OpenGGSN so that the libgtp is detected and the SGSN binary osmo-sgsn built. == Setup == [[Image(gprs.png)]] === OpenBSC configuration === {{{ phys_chan_config PDCH }}} {{{ gprs mode gprs gprs routing area 0 gprs cell bvci 2 gprs nsei 101 gprs nsvc 0 nsvci 101 gprs nsvc 0 local udp port 23000 gprs nsvc 0 remote udp port 23000 gprs nsvc 0 remote ip 192.168.0.128 }}} === Osmocom SGSN configuration === {{{ ! ! Osmocom SGSN configuration ! ! line vty no login ! sgsn gtp local-ip 192.168.1.128 ggsn 0 remote-ip 192.168.1.129 ggsn 0 gtp-version 1 ! ns timer tns-block 3 timer tns-block-retries 3 timer tns-reset 3 timer tns-reset-retries 3 timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 encapsulation udp local-ip 192.168.0.128 encapsulation udp local-port 23000 encapsulation framerelay-gre enabled 0 ! bssgp ! }}} === OpenGGSN configuration === {{{ # TAG: listen # Specifies the local IP address to listen to listen 192.168.1.129 }}} {{{ # TAG: dynip # Dynamic IP address pool. # Used for allocation of dynamic IP address when address is not given # by HLR. # If this option is not given then the net option is used as a substitute. dynip 192.168.254.0/24 # TAG: pcodns1/pcodns2 # Protocol configuration option domain name system server 1 & 2. pcodns1 208.67.222.222 pcodns2 208.67.220.220 }}} === Network configuration === You will also need to configure some networking rules to allow connectivity from `tun0`. Look up linux networking/nat howtos on google. The basic setup for testing only in a safe environment would be : {{{ bash# echo 1 > /proc/sys/net/ipv4/ip_forward bash# iptables -A POSTROUTING -s 192.168.254.0/24 -t nat -o eth0 -j MASQUERADE }}} (replace `eth0` by the interface providing your machine connectivity) == Running == # FIXME