123
OpenBTS.org Building Cellular Networks - Big or Small Michael Iedema | @iedemam

OpenBTS - Building Real Mobile Networks, Big or Small

  • Upload
    elastix

  • View
    370

  • Download
    6

Embed Size (px)

Citation preview

Page 1: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Building Cellular Networks - Big or SmallMichael Iedema | @iedemam

Page 2: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

• what is OpenBTS

• GSM and SDR crash course

• converting between GSM and VoIP

• software and signaling support

• single tower to multi-tower

• APIs

• looking ahead

Page 3: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

What is OpenBTS

Page 4: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

OpenBTSis a transparent Open Source gateway between cellular handsets and VoIP networks

Page 5: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

OpenBTSimplements cellular radio interface standards in C++ and runs in userspace

Page 6: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

OpenBTSuses SDR (software defined radio) hardware instead of proprietary equipment

Page 7: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

OpenBTS turns this...

Abis

BTSBTSBSCA

BSC

VLR

MSCMSCHLRSS7-MAP

AuC

Radio

BH

GMSC

Nc

SGSN

Gb

GGSN

IP

InternetPSTN

Gn

Home Location RegisterAuthentication CenterMobile Switching CenterVisitor Location RegisterGateway Mobile Switching CenterBase Station ControllerServing GPRS Support NodeGateway GPRS Support NodeBase Transceiver Station

Modem

Handset

Page 8: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

...into this

Radio

PSTN ITSP Internet

IP

SIP/RTP

OpenBTSOpenBTS

SIP/RTP

Modem

Handset

Central ServicesSIP REGISTER

SIP INVITE

SIP MESSAGE

Page 9: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

GSM voice and SMSsupported cellular radio standards

Page 10: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

GPRS 2G datasupported cellular radio standards

Page 11: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

UMTS 3G datasupported cellular radio standards

Page 12: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

LTE (coming next year)supported cellular radio standards

Page 13: OpenBTS - Building Real Mobile Networks, Big or Small
Page 14: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

GSM and SDR Crash Course

Page 15: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Overall Hierarchytower, sector, ARFCN, downlink/uplink, timeslot, logical channel, frame, burst

Page 16: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

towers can have multiple sectors

Page 17: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

sectors can have multiple ARFCNsAbsolute Radio Frequency Channel Numbers, also known as “carriers”

Page 18: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

each ARFCN has two frequenciesone for downlink and one for uplink, spaced by a specific offset

Page 19: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

downlink/uplink have 8 timeslotsGSM is both FDMA and TDMA

Page 20: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

timeslots have multiple logical channelsassigned in “combinations”

Page 21: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

logical channels are made of frames

Page 22: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

frames are made of bursts

Page 23: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

time for a visualizerdownlink, uplink, timeslots and combinations

Page 24: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

openbts.org/visualizer

Page 25: OpenBTS - Building Real Mobile Networks, Big or Small
Page 26: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Logical Channels - BroadcastFCH, SCH, BCCH, CCCH, RACH

Page 27: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

FCH - Frequency Correction Channelcalibrates handset radio

Page 28: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

SCH - Synchronization Channelcalibrates handset scheduler

Page 29: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

BCCH - Broadcast Control Channelsends network identity and capability information

Page 30: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

CCCH - Common Control Channelallows network to page handsets

Page 31: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

RACH - Random Access Channelallows handsets to page network

Page 32: OpenBTS - Building Real Mobile Networks, Big or Small
Page 33: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Logical Channels - DedicatedSDCCH, TCH

Page 34: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

SDCCH - Standalone Dedicated Control Channelsignaling traffic

Page 35: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

TCH - Traffic Channelmedia traffic

Page 37: OpenBTS - Building Real Mobile Networks, Big or Small
Page 38: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

OperationsLUR, MOC, MTC, EmergencyCall, MOSMS, MTSMS

Page 39: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

LUR - Location Update Requesthandset registration with optional authentication

Page 40: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

MOC - Mobile Originated Call

Page 41: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

MTC - Mobile Terminated Call

Page 42: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

EmergencyCalltotally cool

Page 43: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

MOSMS - Mobile Originated SMS

Page 44: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

MTSMS - Mobile Terminated SMS

Page 45: OpenBTS - Building Real Mobile Networks, Big or Small
Page 46: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

SDRsSoftware Defined Radios

Page 47: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

completely generic radioSDRs

Page 48: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

all logic is in softwareSDRs

Page 49: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

differentiated by sensitivity...SDRs

Page 50: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

...frequency range...SDRs

Page 51: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

...and megasamples (bandwidth)SDRs

Page 52: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

monitor for: $25 radio + SDRSharphttp://www.rtl-sdr.com

Page 53: OpenBTS - Building Real Mobile Networks, Big or Small
Page 54: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

multiple concurrent logical radiosSDRs

Page 55: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

GSM to UMTS is a software upgradeSDRs

Page 56: OpenBTS - Building Real Mobile Networks, Big or Small
Page 57: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Converting Between GSM and VoIP

Page 58: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

MOC, MTC = SIP INVITE

Page 59: OpenBTS - Building Real Mobile Networks, Big or Small

SIP Switch OpenBTS Handset

IMMED. ASSIGN.

CHAN. REQ.

RTP traffic GSM traffic

CM SVC. REQ.

CM SVC. ACCEPT

SETUP

INVITE CALL PROCEEDING

Status: 182 RingingALERTING

Status: 200 OKCONNECT

CONNECT ACK.

Status: 100 Trying

Page 60: OpenBTS - Building Real Mobile Networks, Big or Small

SIP Switch OpenBTS Handset

IMMED. ASSIGN.

CHAN. REQ.

RTP traffic GSM traffic

CM SVC. REQ.

CM SVC. ACCEPT

SETUP

INVITE CALL PROCEEDING

Status: 182 RingingALERTING

Status: 200 OKCONNECT

CONNECT ACK.

Status: 100 Trying

RR

MM

CC

Page 61: OpenBTS - Building Real Mobile Networks, Big or Small

SIP Switch OpenBTS Handset

IMMED. ASSIGN.

CHAN. REQ.

RTP traffic GSM traffic

CM SVC. REQ.

CM SVC. ACCEPT

SETUP

INVITE CALL PROCEEDING

Status: 182 RingingALERTING

Status: 200 OKCONNECT

CONNECT ACK.

Status: 100 Trying

SIP Switch OpenBTS Handset

IMMED. ASSIGN.

CHAN. REQ.

RTP traffic GSM traffic

CM SVC. REQ.

CM SVC. ACCEPT

SETUP

INVITE CALL PROCEEDING

Status: 182 RingingALERTING

Status: 200 OKCONNECT

CONNECT ACK.

Status: 100 Trying

Page 62: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

MOSMS, MTSMS = SIP MESSAGE

Page 63: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

LUR = SIP REGISTERboth use digest style authentication, mapping to SIP is surprisingly easy

Page 64: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

LUR = SIP REGISTERRAND = nonce | A3 = MD5 | SRES = response

Page 65: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

“algorithm=MD5”RFC does not limit this algorithm, more choices needed in SIP software

Page 66: OpenBTS - Building Real Mobile Networks, Big or Small
Page 67: OpenBTS - Building Real Mobile Networks, Big or Small
Page 68: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Software and Signaling Support

Page 69: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Keep in Mind: GSM Network Arch

Abis

BTSBTSBSCA

BSC

VLR

MSCMSCHLRSS7-MAP

AuC

Radio

BH

GMSC

Nc

SGSN

Gb

GGSN

IP

InternetPSTN

Gn

Home Location RegisterAuthentication CenterMobile Switching CenterVisitor Location RegisterGateway Mobile Switching CenterBase Station ControllerServing GPRS Support NodeGateway GPRS Support NodeBase Transceiver Station

Modem

Handset

Page 70: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Original IP Architecturetested and supported since project inception

Page 71: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Radio

PSTN ITSP Internet

IP

SIP/RTP

OpenBTSOpenBTS

SIP/RTP

Modem

Handset

Central ServicesSIPAuthServe

Asterisk

SMQueue

Original IP Architecture

Page 72: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Kazoo Architecturecomplete integration, no difference between a deskphone or a GSM handset

Page 73: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Kazoo Architecture

Radio

PSTN ITSP Internet

IP

SIP/RTP

OpenBTSOpenBTS

Erlang

Modem

Handset

KazooAuthorization Server

Voice Switch

Message Queue

FreeSWITCHSIP/RTP

Page 74: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Direct Architecturepatches being written for Asterisk and FreeSWITCH

Page 75: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Direct Architectureadding A3 algorithm to SIP authentication is easy

Page 76: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Direct Architecturestore-and-forward SIP MESSAGE support is still missing

Page 77: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Direct Architecture

Radio

PSTN ITSP Internet

IP

SIP/RTP

OpenBTSOpenBTS

SIP/RTP

Modem

Handset

Central ServicesAsterisk/FreeSWITCH

Page 78: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Direct Architectureinstall OpenBTS, point at existing PBX, done

Page 79: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Direct ArchitectureAskozia has a beta with these patches integrated

Page 80: OpenBTS - Building Real Mobile Networks, Big or Small
Page 81: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Single Tower to Multi-Tower

Page 82: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

a “tower” is not a tower

Page 83: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

single tower“network-in-a-box”

Page 84: OpenBTS - Building Real Mobile Networks, Big or Small

Mobile Station

Radio Hardware Transceiver Software

OpenBTS

Raw Samples over UDPRaw Samples

Over USB or Ethernet

GSM Radio (Um)Interface

SIPAuthServeGSM LUR

SIP REGISTER

SMQueueGSM SMS

SIP MESSAGE

AsteriskGSM VoiceSIP INVITE

SIP and RTP over UDP

Page 85: OpenBTS - Building Real Mobile Networks, Big or Small

antenna alignment

Page 86: OpenBTS - Building Real Mobile Networks, Big or Small

In OutTx Rx

Amplifier

Tx Rx

DuplexerRadio

stronger cleaner signals

Page 87: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

multi-tower

Page 88: OpenBTS - Building Real Mobile Networks, Big or Small

Tower 1

Central Services

OpenBTS

SIPAuthServeSIP REGISTER

SMQueueSIP MESSAGE

AsteriskSIP INVITE

SIP/RTPSIP/RTP

Tower 2OpenBTS

Page 89: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

MCC, MNC, NCCmulti-tower - network identity

Page 90: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

LAC, CI, BCCmulti-tower - base station identity

Page 91: OpenBTS - Building Real Mobile Networks, Big or Small

ARFCN: 172BCC: 4

ARFCN: 170BCC: 3

ARFCN: 166BCC: 1

ARFCN: 168BCC: 2

ARFCN: 174BCC: 5

ARFCN: 172BCC: 4

ARFCN: 168BCC: 2

ARFCN: 166BCC: 1

ARFCN: 174BCC: 5

ARFCN: 170BCC: 3

ARFCN: 166BCC: 1

ARFCN: 168BCC: 2

ARFCN: 174BCC: 5

ARFCN: 172BCC: 4

ARFCN: 168BCC: 2

ARFCN: 166BCC: 1

ARFCN: 170BCC: 3

50 m 100 mW

Page 92: OpenBTS - Building Real Mobile Networks, Big or Small

ARFCN: 172BCC: 4

ARFCN: 170BCC: 3

ARFCN: 166BCC: 1

ARFCN: 168BCC: 2

ARFCN: 174BCC: 5

ARFCN: 172BCC: 4

ARFCN: 168BCC: 2

ARFCN: 166BCC: 1

ARFCN: 174BCC: 5

ARFCN: 170BCC: 3

ARFCN: 166BCC: 1

ARFCN: 168BCC: 2

ARFCN: 174BCC: 5

ARFCN: 172BCC: 4

ARFCN: 168BCC: 2

ARFCN: 166BCC: 1

ARFCN: 170BCC: 3

5 km 10 W

Page 93: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

multiple physical signals, one logical network

Page 94: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Mobility, Handover and Roamingnon-interchangeable terms

Page 95: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Mobilitywhen idle, handset decides which tower is best

Page 96: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Handoveron an active call, network tells handset to change towers

Page 97: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Roamingmobility between different service providers

Page 98: OpenBTS - Building Real Mobile Networks, Big or Small
Page 99: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

APIs

Page 100: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

PhysicalStatus API

Page 101: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

{ "name" : "PhysicalStatus", "timestamp" : "18446744072283447705", "version" : "0.1", "data" : { "burst" : { "RSSI" : -49.4808, "RSSP" : -27.4808, "actualMSPower" : 11, "actualMSTimingAdvance" : 0, "timingError" : 1.59709 }, "channel" : { "ARFCN" : 153, "IMSI" : "001010000000001", "carrierNumber" : 0, "timeslotNumber" : 0, "typeAndOffset" : "SDCCH/4-1", "uplinkFrameErrorRate" : 0 }, "reports" : { "neighboringCells" : [], "servingCell" : { "RXLEVEL_FULL_dBm" : -67, "RXLEVEL_SUB_dBm" : -67, "RXQUALITY_FULL_BER" : 0, "RXQUALITY_SUB_BER" : 0 } } }}

Page 102: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

search and rescuePhysicalStatus API

Page 103: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

traffic reportsPhysicalStatus API

Page 104: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

automatic site surveyPhysicalStatus API

Page 105: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

power modelingPhysicalStatus API

Page 108: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

other APIsconfig, monitor, version, imsis, etc...

Page 109: OpenBTS - Building Real Mobile Networks, Big or Small
Page 110: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

Looking Ahead

Page 111: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

licensed frequencythe biggest problem at the moment

Page 112: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

licensed frequencysome European countries opening up public guard bands

Page 113: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

licensed frequencyother countries reallocating unused spectrum more granularly

Page 114: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

smartphoneslots of innovation

Page 115: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

“the cloud”lots of innovation

Page 116: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

the cellular core networkstagnant

Page 117: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

it’s an IP worldlove it or hate it

Page 118: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

it’s an IP worldbut backwards compatibility is so cool, right?

Page 119: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

it’s an IP worldDTMF

Page 120: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

it’s an IP worldFax

Page 121: OpenBTS - Building Real Mobile Networks, Big or Small

OpenBTS.org

it’s an IP worldcellular radio air interface protocols

Page 122: OpenBTS - Building Real Mobile Networks, Big or Small