Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b...

14
Running GPRS/EDGE Data Services with Osmocom Daniel Willmann <[email protected]> April 21, 2017 sysmocom - s.f.m.c. GmbH

Transcript of Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b...

Page 1: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Running GPRS/EDGE Data Services with Osmocom

Daniel Willmann <[email protected]>

April 21, 2017

sysmocom - s.f.m.c. GmbH

Page 2: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

Contents

GPRS structure

PCU

NITB

SGSN

GGSN

Running GPRS

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 2

Page 3: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

Classic GPRS

Structure of a GSM network

CN: Core NetworkMS: Mobile Station

UE: UserEquipment

ME: MobileEquipment

ICCGERAN: GSM EDGE Radio

Access Network BSS: Base Station System GPRS PS:

Packet SwitchedPS & CS

CS: CircuitSwitched

AN: Access Network

MSC: MobileSwitching Centre HSSUm

SIM-ME

Abis

Gb

PSTN

A

Nb

Mc

Nc

E

B

CH

D

G

F

Gf,Sv

Gd

Gn

Gc

Gp

Gi

PSTN

Internet

1 2 3

4 5 6

7 8 9

# 0 *

BTS: BaseTransceiver

Station

BSC:Base Station

Controller

CS-MGW

SGSN

MT/TE

SIM

GGSN

VLR

EIR

MSC server

1 2 3

4 5 6

7 8 9

# 0 *

HLR AuC

SMS-GMSC

1 2 3

4 5 6

7 8 9

# 0 *

1 2 3

4 5 6

7 8 9

# 0 *

GMSC

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 3

Page 4: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

Osmocom GPRS

Configuration needed for:

OsmoNITB

OsmoPCU (located at BTS level)

OsmoSGSN

OpenGGSN

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 4

Page 5: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

GPRS configuration

IP: y.y.y.y

Gb/IP

sysmoBTS direct PHY access

PCU Sock

SDR Hardware

OsmoTRX Transceiver

VTY

OsmoBTS

osmo-bts-trx osmo-bts-sysmo

CTRL

sysmoBTS PHYsysmoBTS Hardware

Abis/IP

VTY CTRL

OsmoSGSN

OsmoNITBVTY CTRL

Includes functionality of* BSC* MSC/VLR* HLR/AUC* SMSC

OsmoPCU

CTRLVTY

GTP/IP

OpenGGSN

IP: a.a.a.aIP: x.x.x.x

IP: b.b.b.b

IP: y.y.y.y

IP: c.c.c.c

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 5

Page 6: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

GPRS configuration (PCU)

Setup coding scheme (CS) and when to switch CS

Throughput optimizations (flow control, TBF idle time)

BSC/NITB configures the rest

pcu

cs 2

cs max 4

cs threshold 50 80

alloc -algorithm dynamic

dl -tbf -idle -time 1000

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 6

Page 7: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

GPRS configuration (NITB)

network

bts 0

gprs mode gprs

gprs routing area 1

gprs cell bvci 1234

gprs nsei 1234

gprs nsvc 0 nsvci 1234

gprs nsvc 0 local udp port 23001

gprs nsvc 0 remote udp port 23000

gprs nsvc 0 remote ip a.a.a.a

trx 0

timeslot 6

phys_chan_config TCH/F_TCH/H_PDCH

timeslot 7

phys_chan_config PDCH

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 7

Page 8: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

GPRS configuration (SGSN)

sgsn

gtp local -ip b.b.b.b

ggsn 0 remote -ip c.c.c.c

ggsn 0 gtp -version 1

auth -policy closed

imsi -acl add 12345678901234

!

ns

encapsulation udp local -ip a.a.a.a

encapsulation udp local -port 23000

encapsulation framerelay -gre enabled 0

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 8

Page 9: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

GPRS configuration (SGSN)

sgsn

gtp local -ip b.b.b.b

ggsn 0 remote -ip c.c.c.c

ggsn 0 gtp -version 1

auth -policy closed

imsi -acl add 12345678901234

!

ns

encapsulation udp local -ip a.a.a.a

encapsulation udp local -port 23000

encapsulation framerelay -gre enabled 0

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 8

Page 10: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

GPRS configuration (SGSN)

auth-policy can be accept-all, closed, acl-only, remote

auth-policy remote for authorization and encryption with osmo-hlr

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 9

Page 11: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

GPRS configuration (GGSN)

listen c.c.c.c

net 10.23.42.0/24

pcodns1 8.8.8.8

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 10

Page 12: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

Miscellaneous

Don’t forget masquerading/IP forwarding:

# echo 1 > /proc/sys/net/ipv4/ip_forward

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Enable data roaming on your phone

APN might need to be set manually

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 11

Page 13: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

Running it all

Demo

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 12

Page 14: Running GPRS/EDGE Data Services with Osmocom · GPRS con guration (SGSN) sgsn gtp local-ip b.b.b.b ggsn 0 remote-ip c.c.c.c ggsn 0 gtp-version 1 auth-policy closed imsi-acl add 12345678901234!

Overview GPRS structure PCU NITB SGSN GGSN Running GPRS

Thank you

Questions?

https:

//osmocom.org/projects/cellular-infrastructure/wiki/OpenBSC_GPRS

Daniel Willmann | Running GPRS/EDGE Data Services with Osmocom | sysmocom - s.f.m.c. GmbH | 13