implementation of embedded sip-based voipv6 system · signal reflections of the speaker's...
TRANSCRIPT
High Speed Network Lab. EE, NDHU
Implementation of Embedded SIP-based VoIPv6 System
PreDr. Han-Chieh Chao
Department of Electronic Engineering
National Ilan University
Email: [email protected]
High Speed Network Lab. EE, NDHU
2
Drivers for IPv6
High Speed Network Lab. EE, NDHU
3
Drivers for IPv6
Restoringan Environmentfor Innovation
O.S. and Applications
Services on the EdgeOf the Network
Mobile Networking
ManufacturingConsumer
and Services
Government
MedicalAgriculture/WildlifeTransportation
The Ubiquitous Internet
High Speed Network Lab. EE, NDHU
4
Drivers for IPv6 (cont.)
ImprovementAvailable address spaceMulticastConfigurationAddressing Aggregation
PerformanceHeader structure better organizedNo fragmentationNo checksumAddressing architecture can be more aggregated
Security IPv6 integrateds IPSec inside the protocolIPv4 needs to add IPsecIPSec (ESP) and IKE
QoSIPv6 improves the performance
Header and its processingReduces jitter and processing delayNew specific fields in the header
High Speed Network Lab. EE, NDHU
5
Network : IPv6
IPv6 Ready Logo Phase 1 ( Silver )
IPv6 Ready Logo Phase 2 ( Gold )
Let your product get certified
High Speed Network Lab. EE, NDHU
6
IPv6 Logo Committee (v6LC)
the TAHI project (Japon) the University of New Hampshire (USA)ETSI IPv6 Plugtest (Europe)TTA (Korea)BII (China)NICI v6Lab (Taiwan)IRISA/INRIA (France)
High Speed Network Lab. EE, NDHU
7
Drivers for VoIPISP : xDSL providers are also the old incumbent Telo’s
Revenue streams from the existing PSTNPSTN replacement/upgrades with lifetimes of 20+ years
Reluctant to invest money if voice traffic migrates from the PSTN to IP technologyDeutsch Telecom
Announced to January 2004 that by 2020 all telephone traffic will run over IPConsumer
Cost savings
Integrated data and voice networks
Device interoperability using standards-based protocols
Flexibility in deriving new services
VoIP + IPv6 is better solution than VoIP + IPv4ConveniencePerformanceSecurityQoS
High Speed Network Lab. EE, NDHU
8
What is VoIP?
Carrying voice or/and video conservations over Internet protocolpacket networks
IP Network
High Speed Network Lab. EE, NDHU
9
Why Use VoIP?
Cost savings
Integrated data and voice networks
Device interoperability using standards-based protocols
Flexibility in deriving new services
High Speed Network Lab. EE, NDHU
10
Traditional Voice Versus VoIP
A traditional T1 can carry 24 telephone calls simultaneously
With VoIP, a T1 can carry 64 calls simultaneously!
G.729 8kbps compression, 20 msec frame size = 24 kbps
1544 / 24 = 64 calls per T1
T1 = 1544 kbps, DS0 = 64 kbps,
1544 / 64 = 24 DS0 per T1
High Speed Network Lab. EE, NDHU
11
Consumer: IP-to-IP
Uses PC software to make calls over public and private internetsFree!!But, no quality of service guaranteesExamples:
Microsoft NetMeetingTM
SkypeTM
HybridsPC2PhoneTM
The InternetPC PCModemModem
High Speed Network Lab. EE, NDHU
12
A Scenario of Applications
PSTN
Edge Router
IP Telephones
IP-to-PSTN Gateway
Edge Router
INTERNET
IP Telephones
High Speed Network Lab. EE, NDHU
13
VoIP QoS Issue
DelayAlgorithmic DelayProcessing DelayNetwork Delay
JitterLost-Packet CompensationEcho CompensationCODECS
High Speed Network Lab. EE, NDHU
14
Delay
Processing DelayActual process of encoding and collecting the encoded samples into a packet for transmission over the packet network.The encoding delay is a function of both the processor execution time and the type of algorithm used
Network DelayPhysical medium and protocols used to transmit the voice data and by the buffers used to remove packet jitter on the receive side.Network delay is a function of the capacity of the links in the network and the processing.
High Speed Network Lab. EE, NDHU
15
Delay Causes Problems
EchoSignal reflections of the speaker's voice from the far-end telephone equipment back into the speaker's ear.Round-trip delay becomes greater than 50 milliseconds. (ITU G.131)
Talker overlapOne talker stepping on the other talker's speech The one-way delay becomes greater than 250 milliseconds. (ITU G.114)
High Speed Network Lab. EE, NDHU
16
Jitter
Variable delay caused by network traversesRemoving jitter : buffering packets and waiting for the slowest packets to arrive in time to be played in the correct sequence.Causes additional delay
High Speed Network Lab. EE, NDHU
17
Lost-Packet Compensation
Lost packets can be an even more severe problem, depending on the type of packet network that is being used.
Interpolate for lost speech packets by replaying the last packet received during the interval.Send redundant information.Use a hybrid approach with a much lower bandwidth voice coder toprovide redundant information.Avoiding and managing network congestion
High Speed Network Lab. EE, NDHU
18
Echo Compensation
For network, usuallyRound-trip delay > 50 milliseconds
ITU standard G.165 Defines performance requirements required for echo cancellers
High Speed Network Lab. EE, NDHU
19
CODEC
Voice codecs create blocks of data at fixed intervals Usually 10 ms
Each block contains a fixed number of bytes depending on the coding scheme used
10-80 bytes/blockCodecs can typically be parameterized to put a given number of voice data bytes into a single IP packet
10, 20, 30, …, 240 bytesBandwidth saving techniques
Silence suppressionCompression
TradeoffsSmall packets = less delay, but more layer 2/3 overheadLarge packets = more delay, less layer 2/3 overhead
High Speed Network Lab. EE, NDHU
20
CODEC Characteristics
Codec Compression Method
Codec Bit
Rate
Block Length
Block Size
(bytes)
Blocks per
Packet
Voice Call Bandwidth Required
(Excl. L2 o/h)
Mean Opinion Score
Compression Delay (ms)
g711alaw PCM 64000 10 ms 80 2 80000 4.1 0.75
g711ulaw PCM 64000 10 ms 80 2 80000
g723ar53 ACELP 5300 10 ms 7 2 22000 3.65 30
g723ar63 MP-MLQ 6300 10 ms 8 2 23000 3.9 30
g723r53 ACELP 5300 10 ms 7 2 22000
g723r63 MP-MLQ 6300 10 ms 8 2 23000
g726r16 ADPCM 16000 10 ms 20 2 32000
g726r24 ADPCM 24000 10 ms 30 2 40000
g726r32 ADPCM 32000 10 ms 40 2 48000 3.85 1
g728 LD-CELP 16000 10 ms 20 2 32000 3-5
g729r8 CS-ACELP 8000 10 ms 10 2 24000 3.92 10
g729br8 CS-ACELP 8000 10 ms 10 2 24000 3.7 10
High Speed Network Lab. EE, NDHU
21
Streaming Video
Video Challenges – Raw to Compression
High Speed Network Lab. EE, NDHU
22
Network Challenges
Bandwidth : depend on Codec
H.261H.263
Display size 640 x 480320 x 240
Real-time Quality of Service (QoS)Packet lossJitterLatency : Video needs much more computing latency then audio
High Speed Network Lab. EE, NDHU
23
Network Issues
High Speed Network Lab. EE, NDHU
24
Real-time Transport Protocol (RTP)
Disadvantage of UDPPackets may be lost or out-of-sequence
RTP: A Transport Protocol for Real-Time ApplicationRFC 3550RTP – Real-Time Transport ProtocolRTCP- RTP Control Protocol
RTP over UDPA sequence numberA time stamp ofr synchronized play-outDoes not solve the problems: simply provides additional information
High Speed Network Lab. EE, NDHU
25
Real-time Transport Protocol (RTP)
V P X PayloadM Sequence Number
Timestamp
Synchronization Source Identifier (SSRC)
Payload
Media content typeTalk spurtsPayload identificationSynchronizationLoss detectionSegmentation and reassembly
High Speed Network Lab. EE, NDHU
26
The RTP Header
Sequence numberA random number generated by the sender at the beginning of a se A random number generated by the sender at the beginning of a session ssionIncremented by one for each RTP packet
TimestampThe receiver The receiver
Synchronized play Synchronized play-out outCalculate the jitter Calculate the jitterSupport silence suppression Support silence suppressionThe initial timestamp is a random number chosen by the sending application.
Payload Type (PT)In general, a single RTP In general, a single RTP only one payload format. only one payload format.RED is an exception. RED is an exception.
High Speed Network Lab. EE, NDHU
27
RTP Payload Formats
RTP carries the actual digitally encoded voiceRTP header + a payload of voice/video samples UDP and IP headers are attached
Many voice- and video standards coding standardsA payload type identifier in the RTP header
A payload type identifier in the RTP headerSpecified in RFC 1890 and RFC 3551. New coding schemes have become available
A sender has no idea what coding schemes a receiver could handleNegotiated by signaling protocols like SIP.
High Speed Network Lab. EE, NDHU
28
RTP Payload Formats (Cont.)
Separate signaling systemsCapability negotiation during the call setupSIP and SDPA dynamic payload type may be used
Support new coding scheme in the futureThe encoding name is also significant
RED, Redundant payload type RED, Redundant payload typeVoice samples + previous samplesCope with packet lossMay use different encoding schemes
High Speed Network Lab. EE, NDHU
29
SIP signaling : Introduction
3GPP standardSimpler then H.323Also used for video conferencing, network gaming, instant messagingSimilar to HTTP, textual codingUses URLs for addressing:
sip:[email protected]:[email protected]?subject=callmesip:[email protected]:+1-919-555-1234
DTMFs carried in signaling message
High Speed Network Lab. EE, NDHU
30
SIP Components
SIP UAHardware or software running SIP protocols
SIP ProxyOrdinary, service provided by ISP
Media GatewayConnects different networks
SIP-to-PSTNSIP-to-{other VoIP signaling protocol}
High Speed Network Lab. EE, NDHU
31
IPv6 Network
SIP Call Setup
SIP Proxy
①INVITE sip:[email protected]: [email protected]:[email protected]:[email protected]
②INVITEsip:[email protected]: [email protected]:[email protected]:[email protected]
⑤ACK [email protected]⑥Voice/Video packets flow between IP telephones
Proxy for sip.com gets location information for called party.
IP Phone ([email protected])
IP Phone ([email protected])
③OK 200From: [email protected]:[email protected]:[email protected]
④OK 200From: [email protected]:[email protected]:[email protected]
High Speed Network Lab. EE, NDHU
32
SIP UA Choice
High Speed Network Lab. EE, NDHU
33
PC + SIP UA softwareWindows MessengerCCL + PCAX-Lite
It is upset whenever making a phone call after waiting for a computer booted.
For a consumer, SIP UA should beeasy to usezero-configuration : plug & dialto dial a number to make a phone callas cheaper as possible
SIP UA must behave like an ordinary telephone?
High Speed Network Lab. EE, NDHU
34
Embedded System for SIP UA
CPU & HardwardSoC : ethernet on chip, VGA on chipEasy to extension : PCI, USB
Operating SystemEmbedded LinuxVxWork
Efficiency and system requirementPerformanceTime-to-prototype and time-to-marketSize : easy to be packed into a standalong phoneMaintainability
High Speed Network Lab. EE, NDHU
35
Protocol stack for embedded system
SignalingSIP-SDP
CODECsVoice
G.711, G.723, G.729Video
H.261, H.263Transport
RTP
SIP-SDP
TCP/UDP
CODECs
RTP
UDP
IPv6
2G/3G WIFI XDSL Ethernet
Transport
Network
Link and Physical
Application
User Interface
High Speed Network Lab. EE, NDHU
36
Application architecture for Embedded system
Voice CODECs Module
DSP
Video CODECs Module
Telephony
Signaling
Module
Network
Management
Module
Network
Protocol
Module
Embedded System
Video, Voice,
Signal Packets
Signaling
Voice
Video
High Speed Network Lab. EE, NDHU
37
Application Architecture (cont.)
Voice/Video ModuleDigital-signal processor (DSP)
Telephony-Signaling ModuleTranslating signaling into state changes used by the network protocol module to set up connections
Network-Management ModuleManagement interface to configure and maintain the other modules
Network Protocol ModuleProcesses signaling information and converts it.
High Speed Network Lab. EE, NDHU
38
Reference Embedded System
Provided by vendorTargeted at potential customersUsually includes
Hardware testbedDevelopment softwareSimulator or emulatorDownload and bootstrap softwareReference implementations
High Speed Network Lab. EE, NDHU
39
Reference Software
Known as tool chains : installed into host PC
Software PurposeC compiler Compile programs for the ADM5120Assembler Assemble programs for ADM5120 and DSPDownloader Load software into the Embedded SystemMonitor Communicate with the Embedded system and
interact with running softwareBootstrap Start the embedded system runningReference Code Example programs for the ADM5120 that show
how to implement basic functions
High Speed Network Lab. EE, NDHU
40
Reference Hardware
Quantity or Size Item1 Infenion-ADM5120 (175 MHz)8 Mbytes of SDRAM memory4 Mbytes of Flash ROM memory5 10/ 100 Ethernet ports1 Serial interface (console)2 MINI-PCI bus interface1 DSP
High Speed Network Lab. EE, NDHU
41
Host
Functionalities of hostCompiling software for embedded systemSoftware includes OS kernel, device drivers and applicationsConsole of embedded system normally through serial portShow debug messages
High Speed Network Lab. EE, NDHU
42
Development Flow
Let the OS kernel support IPv6Configure the OS kernel source to support IPv6IPv6 Ready Logo TestIf failed for IPv6 Ready Logo Test, the network protocol stack in OS kernel should be modified.
Let the SIP UP support IPv6Configure your C library for your embedded systemthe SIP UA software programming
Voice/Video ModuleTelephony-Signaling ModuleNetwork-Management ModuleNetwork Protocol Module
Put them togetherIntegration test
High Speed Network Lab. EE, NDHU
43
Reference System In Our Lab
Operating System: LinuxSIP, RTP for IPv6Video Codec
H.261, H.263Audio Codec
G.711, G723, G.728, G.729aIPv6 protocol stack
IPv6 Phase 1 Ready Logo : Logo ID : 01-000277
High Speed Network Lab. EE, NDHU
44
Video Cam
LCD Display
Signaling
Microphone
High Speed Network Lab. EE, NDHU
45
Future way of communication
SIP proxy
SIP proxy
IPv6
SIP phone
SIP phone
SIP phoneSIP softwarephone
SIP softwarephone
SIP phone
High Speed Network Lab. EE, NDHU
46
Documentation References
H.323 ITU Standard for Voice/Video over IPSIP – Session Initialization Protocol, IETF RFC 2543RTP – Real-time Transport Protocol, IETF RFC 1889ITU-T.37 – Procedures for the Transfer of Facsimile Data Via Store-and-forward on the InternetITU-T.38 – Procedures for Real-time Group 3 Facsimile Communication over IP Networks
High Speed Network Lab. EE, NDHU
47
Thank You