1
Integrating 3G and WLAN Services in
NTP SIP-based VoIP Platform
Dr. Quincy Wu
National Telecommunications Program Office
Email: [email protected]
2
Outline
• Introduction to NTP • NTP SIP-based VoIP Platform• NAT Traversal• Integrating WLAN and GPRS
network• Future Work
3
NTP• National Telecommunications Development
Program– Established by the National Science Council (NSC) in
May, 1998. – Phase I: from 1998 to 2003.– Total budget: 350 million US$ in 5 years.
• Program Focuses– Wireless Communication – Broadband Internet– Application Services
• Mission– To conduct R&D in advanced telecommunication
technologies, for the promotion and development of telecommunication industry.
4
NTP VoIP Platform
NTU PBX
Phone31842
Phone31924
Phone59237
Phone59238
SIP Phone0944003005SIP Phone
0944003004
PSTN Gateway
SIP Phone0944002002
Phone3213
Phone4100
Phone4454
Phone6818
Phone02-87730600
StationInterface
StationInterface
StationInterface
StationInterface
Phone03-5912312
Admin Console
SIP Phone0944003003
SIP Phone0944002003
Hsinchu
Taipei
TrunkInterface
03-5712121
02-23630231
TrunkInterface
Call Server
TANet
NCTU
PSTN
NTUEdge Router
Edge Router
NCTU PBX
SoftphoneWLANAP
Call Server PSTN GatewayWGSN
•IPTel SER•CCL Call Server
•Cisco 2621GW•CCL PSTN GW
•Pingtel•Snom•Cisco
•Siemens•Microsoft•CCL
5
Academic Researches
Support academic researches on NTP VoIP Platform
• NTU: SIP Signaling Performance Evaluation on SCTP
• NTHU: Secure RTP and Location Privacy on VoIP System
• NDHU: Voice over IP study on All IP networks
• NCKU: DNS/ENUM Automatic Updating Mechanism
• NCTU: NAT Traversal & WGSN Project for Integrated Wireless VoIP Services
6
Simple Traversal of UDP Through Network Address
Translators (STUN)
7
Common Scenario in VoIP• UA1, UA3: User Agent behind NAT.
• UA2: SIP device outside NAT.
0944021401
sip.ipv6.club.tw
NAT
UA1
UA2IPv6 only
Proxy Server
0944021021
0944021403 UA3
IPv6 only
IPv6 only
8
Network Address TranslatorComputer AIP: 10.0.0.1
Port: 80
Computer BIP: 10.0.0.2
Port: 80
NATPublic Internet
IP: 200.200.200.200Port: 10080
IP: 200.200.200.200Port: 20080
Mapping Table10.0.0.1:80 <-> 1008010.0.0.2:80 <-> 20080
DHCP Server
DHCP ClientPPPoE Client
Private NIC
Public NIC
9
The Problem (1/2)• Because of its private address, the Via
header and Contact address in SIP messages sent by UA1 are incorrect.– With incorrect Via header, responses of
messages sent by UA1 cannot be routed back.
– With incorrect Contact address in REGISTER messages, call server cannot inform UA1 the incoming calls.
• UA1 can only act as a calling party.
10
Incorrect REGISTER Message
11
The Problem (2/2)• When UA1 initiate a call, the connection
information for media establishment in SDP are also incorrect.– The IP address in SDP is the private IP
address on UA1.– UA2 gets a private peer address, the RTP
packets from UA2 cannot be routed to UA1.– Media can only be sent from UA1 to UA2.
12
Incorrect Fields in SDP of INVITE Message
13
STUN (RFC 3489)• A mechanism for a socket behind NAT(s) to get its mapp
ed (IP,port) on Internet.• We build a STUN Server from Vovida’s open source cod
e to answer the queries from STUN clients.– Vovida STUN server 0.8RC
• Our server is stun.ipv6.club.tw
– We also implemented the “Binding Lifetime Discovery” algorithm in RFC 3489 so that a STUN client can determine how frequently it needs to refresh the binding.
• STUN mechanism in our SIP UA is developed from scratch, instead of the open source code.
• In addition to calling out, our SIP UA can also receives incoming calls.
14
STUN Server• Allow clients to discover if it is behind a NAT,
what type of NAT it is, and the public address & port NAT will use.
• A Very Simple Protocol. Easy to implement. Little computing load.
ClientIP: 10.0.0.1Port: 5060
IP: 200.200.200.200Port: 12345 STUN Server
Port: 3478
NAT
Client wants to receive packets at port 5060
Send a query to STUN server from port 5060
STUN Server receives a packet from 200.200.200.200
port 12345
STUN Server sends a response to client, telling him that his public address
is 200.200.200.200 port 12345
15
Use STUN for SIP Registration• Use port 5060 to send a packet to STUN Server• Receive public address & port mapped to client:5060
from STUN Server• Fill the SIP register message with client’s public address
& port, send to proxy server
IP: 140.113.131.72Port: 56540 STUN Server
Port: 3478
NAT
Proxy ServerPort: 5060
REGISTER sip:proxy.club.tw SIP/2.0Via: SIP/2.0/UDP 140.113.131.72:56540 From: Solomon <sip:[email protected]:5060>To: Solomon <sip:[email protected]:5060> …Contact: Solomon <sip:[email protected]:56540>…
ClientIP: 10.0.0.1Port: 5060
16
Corrected SIP Message
17
Use STUN for RTP
• Send two STUN queries from RTP port (9000 & 9002) to STUN Server
• Use replied public address & port in SDP
IP: 140.113.131.72Port: 56539Port: 56541
STUN ServerPort: 3478
NAT
Proxy ServerPort: 5060
INVITE ……Content-Type: application/sdp
c=IN IP4 140.113.131.72m=audio 56539 RTP/AVP 0 8 3 18m=video 56541 RTP/AVP 34 96
ClientIP: 10.0.0.1
RTP Port: 9000RTP Port: 9002
UARTP Port: 9000RTP Port: 9002
18
Corrected SDP
19
WLAN-based GPRS Support Node (WGSN)
20
WGSN (WLAN-based GPRS Support Node) Architecture
HLR
GGSNSGSN WGSN
MS
PDN
ChargingGateway
BillingSystem
GaGa
Ga
Gr
GcGr
AP
AP
Node B Node B
Node B
Gi
Gi
UMTS
WLANCore Network
UTRAN
RNC
Gn
21
WGSN Features• Service aspects
– SIP-based VoIP
• Access control and security aspects– SIM-based authentication
• Roaming aspects– Utilizing the standard UMTS mobility management
• Terminal aspects– A Windows laptop equipped with a smart card reader
• Naming and address aspects– International Mobile Subscriber Identity (IMSI)
• Charging and billing aspects– Offline charging and online charging based on Call Detail
Record (CDR)
22
WGSN Protocol Stack
MS WGSN Node CN
Application
Transport
IP
802.11 802.11 Ethernet Ethernet
Application
Transport
IP
L2
AP
L2
L1 L1
IP
(a) WGSN Control Plane
(b) WGSN User Plane
IP
EAP-GMM
EAP
EAP-OL
802.11
EAP-OL
802.11L1
Ethernet
IP
UDP
RADIUS
L1
Ethernet
UDP
RADIUS
EAP
L1
MTP2
MTP3
SCCP
TCAP
MAP
L1
MTP2
MTP3
SCCP
TCAP
MAP
MS AP WGSN HLR
EAP-GMM
23
The MS Architecture
I/O and Communication Modules
WGSN Client
SIM Module
User Interface
WLANModule
Smart CardReader Module
UICC
MS
NICModule
GPRSNetwork
Wireless LAN
GPRSModule
SIPUserAgent
GMM Module
24
The WGSN Node Architecture
External Ethernet Module
MIB
LogHandler
SNMPAgent
AuthenticationCenter
WGSN Node
OA&M
iSMSAS SIP
Redirect
RASServer
SIP-basedPush Center
GMMHandler
GrHandlerBilling
Handler
SS7Module
NetworkController
DHCP Server
Firewall
GPRSModule
HLR
GPRSNetwork
Wireless LAN
SS7Network
Internal Ethernet Module
ExternalPDN
25
Future Work
• OSA – Open Service Architecture
• IMS – IP Multimedia Subsystem
• IPv6 – IP Version 6
26
Application Service Development Platform in Next Year
— Open Service Architecture
27
CSCF
OSAHLR(HSS)
GPRS/3G
IP Multimedia Subsystem (IMS)
Phase I (now)
Phase II
Supported by other projects
Roaming NCTU PBX
NTU PBX
Phone31842
Phone31924
Phone59237
Phone59238
Call Server Media Gateway
SIP Phone0980355429SIP Phone
937250
Media Gateway
SIP Phone62002
Phone3213
Phone4100
Phone4454
Phone6818
Phone02-87730600
StationInterface
StationInterface
StationInterface
StationInterface
Phone03-5912312
Admin Console
Edge Route
Edge Route
SIP Phone937203
SIP Phone62003
Hsinchu
Taipei
TrunkInterface
03-5712121
02-23630231TrunkInterface
Call Server
NBEN
NBEN /SIP Network
PSTN
NBEN /SIP Network
ENUM
Campus WLAN
WLAN + Cellular IMS Architecture
WGSN
28
Conclusion• By establishing a nation-wide VoIP testbed, NTP wish
es to promote the convergence of voice and data services and encourage advanced researches in Taiwan.
• SIP coverage in this year is approximately 50,000 users. NTP plans to double the coverage in 2004, and hopefully extend the connectivity with SIP.edu project in Internet2.
• STUN proves to be a good solution for non-symmetric NAT. We are still surveying mechanisms for traversing symmetric NAT.
• WGSN can be plugged in any 3G core network as being considered as a separate GPRS network. With the adoption of WGSN, it can help mobile operators facilitating the provisioning of WLAN and VoIP services.