Integrating 3G and WLAN Services in NTP SIP-based VoIP Platform Dr. Quincy Wu National Telecommunications Program Office Email: email@example.com
Outline • Introduction to NTP • NTP SIP-based VoIP Platform • NAT Traversal • Integrating WLAN and GPRS network • Future Work
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.
Siemens • Microsoft • CCL • Cisco 2621GW • CCL PSTN GW • IPTel SER • CCL Call Server NTP VoIP Platform • Pingtel • Snom • Cisco
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
IPv6 only IPv6 only IPv6 only Common Scenario in VoIP • UA1, UA3: User Agent behind NAT. • UA2: SIP device outside NAT. Proxy Server 0944021403 UA3 sip.ipv6.club.tw NAT 0944021401 0944021021 UA1 UA2
Network Address Translator Computer A IP: 10.0.0.1 Port: 80 IP: 188.8.131.52 Port: 10080 NAT Public Internet Computer B IP: 10.0.0.2 Port: 80 IP: 184.108.40.206 Port: 20080 Public NIC DHCP Client PPPoE Client Mapping Table 10.0.0.1:80 <-> 10080 10.0.0.2:80 <-> 20080 DHCP Server Private NIC
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.
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.
STUN (RFC 3489) • A mechanism for a socket behind NAT(s) to get its mapped (IP,port) on Internet. • We build a STUN Server from Vovida’s open source code 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.
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. Client wants to receive packets at port 5060 Send a query to STUN server from port 5060 STUN Server receives a packet from 220.127.116.11 port 12345 NAT IP: 18.104.22.168 Port: 12345 Client IP: 10.0.0.1 Port: 5060 STUN Server Port: 3478 STUN Server sends a response to client, telling him that his public address is 22.214.171.124 port 12345
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: 126.96.36.199 Port: 56540 NAT Client IP: 10.0.0.1 Port: 5060 STUN Server Port: 3478 Proxy Server Port: 5060 REGISTER sip:proxy.club.tw SIP/2.0 Via: SIP/2.0/UDP 188.8.131.52:56540 From: Solomon <sip:firstname.lastname@example.org:5060> To: Solomon <sip:email@example.com:5060> … Contact: Solomon <sip:firstname.lastname@example.org:56540> …
Use STUN for RTP • Send two STUN queries from RTP port (9000 & 9002) to STUN Server • Use replied public address & port in SDP IP: 184.108.40.206 Port: 56539 Port: 56541 Client IP: 10.0.0.1 RTP Port: 9000 RTP Port: 9002 NAT STUN Server Port: 3478 Proxy Server Port: 5060 INVITE … … Content-Type: application/sdp c=IN IP4 220.127.116.11 m=audio 56539 RTP/AVP 0 8 3 18 m=video 56541 RTP/AVP 34 96 UA RTP Port: 9000 RTP Port: 9002
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)
EAP-GMM EAP-GMM EAP EAP MAP MAP RADIUS RADIUS TCAP TCAP EAP-OL EAP-OL UDP UDP SCCP SCCP IP IP MTP3 MTP3 Ethernet Ethernet MTP2 MTP2 802.11 802.11 L1 L1 L1 L1 HLR AP WGSN MS WGSN Protocol Stack (a) WGSN Control Plane (b) WGSN User Plane
Future Work • OSA – Open Service Architecture • IMS – IP Multimedia Subsystem • IPv6 – IP Version 6
Application Service Development Platform in Next Year — Open Service Architecture
Campus WLAN WLAN + Cellular IMS Architecture OSA HLR (HSS) ENUM CSCF WGSN IP Multimedia Subsystem (IMS) Roaming GPRS/3G Phase I (now) Phase II Supported by other projects
Conclusion • By establishing a nation-wide VoIP testbed, NTP wishes 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.