Vous êtes sur la page 1sur 51

Technologie

14
VoIP stack

Q.931/H.245
H.323
RTP

UDP/TCP

IP

2
Caractéristiques d’un Terminal H.323
System Control Video Audio User Data
and I/O I/O Applications
User Interface Equipment Equipment T.120

System Control
Audio Codec
H.245
Control Video Codec G.711, G.722,
H.261, H263 G.723, G.723.1, Scope
Call Control G.728, G.729 of
H.225.0 H.323
RAS Control
Receive Path
H.225.0
Delay

H.225.0 Layer

LAN Stack

3
H.323 : Signalisation
Admission Request
RAS
Admission Confirm
Gatekeeper

Setup
Q.931
H.323 Connect H.323

Capabilities Exchange

Open Logical Channel


H.245
Open Logical Channel Acknowledge

RTP Stream
RTP Stream Media
RTCP Stream

4
RTP/RTCP—RFCs 1889/1890
• End-to-end network transport function
Payload type identification
Sequence numbering
Timestamping
Delivery monitoring

• RTCP (Real-Time Control Protocol) provides


feedback on the quality of the distribution
• RTP does not address: Resource reservation or
guaranteed quality of service

5
Analog to Digital
Pulse Code Modulation—Nyquist Theorem
(Sample at twice the Frequency)
Voice Bandwidth =
300 Hz to 3400 Hz

Analog Audio Source Sampling Stage

= Sample
Codec Technique 8 kHz (8,000 Samples/Sec)

6
Various Codec Bandwidth
Consumptions
Voice Band Traffic
Encoding/ Result
Compression Bit Rate
G.711 PCM 64 kbps (DS0)
A-Law/u-Law

G.726 ADPCM 16, 24, 32, 40 kbps

G.727 E-ADPCM 16, 24, 32, 40 kbps

G.729 CS-ACELP 8 kbps

G.728 LD-CELP 16 kbps

G.723.1 CELP 6.3/5.3 kbps


Variable

7
Les différents modes de signalisations
analogiques dans le monde de la
Téléphonie
Fonctionnalité : 2600/3600 2600/3600

Poste de service
2 fils FXS 2 fils FXS

2600/3600 2600/3600
PBX
Déport de poste
2 fils FXS
2 fils FXO

2600/3600 2600/3600
PBX PBX
Interconnexion
de PABX via
LIA 2 ou 4 fils + RON/TRON

8
La maîtrise du délai de bout en bout
Pour y parvenir :

1 • Eliminer le “PC delay”


• Minimiser le délai de transit
• Maîtriser la guigue réseau

Utilité
0.5 Fax Relay,
Fax Broadcast
Toll Quality Satellite CB Radio

I-Phone
Today

0
0 100 200 300 400 500 600 700 800

Temps (msec)

9
VoIP: optimisation

• Optimisation de l’applicatif PC (Microsoft)


Meilleurs Drivers Windows 95 : objectif moins de 50msec

• Optimisation des Codecs (Texas Instr.)


Delai minimal : objectif moins de 25 msec

• Optimisation du réseau (Cisco)


RSVP, WFQ, RED, IP Precedence, Tag switching

10
Gérer le délai et la gigue
• Routeur d’entrée
Codec (algorithm+processing)
Packetization/framing
Output queueing/interleaving

• Sortie sur le lien


• Traversée du Backbone
• Entrée sur le routeur distant
• Routeur distant
Application queueing
Jitter/buffering “playback”
Codec

11
Délais Fixes
Délai de Propagation
Délai de Serialisation
Buffer to Serial Link
Temps de processing

• Propagation—six microsecondes par kilomètre


• Sérialisation
• Processing
Codage/Compression/Décompression/Décodage/
mise en Paquets
12
Délais Variables

Queuing Queuing Queuing


Délai Délai Délai

Dejitter
Buffer

• Délais de file d’Attente


• Buffer de temporisation (de-jitter)
• Impact des paquets de taille variable
13
Calcul du Délai
Coder Queuing
Delai Delai Buffer Dejitter
Los 25 ms 6 ms 50 ms
Angeles Paris
Propagation
Delai—32 ms

(Private Line Network)


Délai Sérialisation
3 ms
Fixed Variable
Délai Délai
Coder Délai G.729 (5 msec Look Ahead) 5 msec
Coder Délai G.729 (10 msec per Frame) 20 msec
Packetization Délai—Included in Coder Délai
Queuing Délai 64 kbps Trunk 6 msec
Serialization Délai 64 kbps Trunk 3 msec
Propagation Délai (Lignes Louées) 32 msec
Network Délai (e.g., Public Frame Relay Svc)
Dejitter Buffer 50 msec
Total 110 msec
14
Fixed Frame Serialization Delay Matrix
Frame Size
1 64 128 256 512 1024 1500
Byte Bytes Bytes Bytes Bytes Bytes Bytes

56kbps 143us 9ms 18ms 36ms 72ms 144ms 214ms

64kbps 125us 8ms 16ms 32ms 64ms 128ms 187ms


Link
Speed 128kbps 62.5us 4ms 8ms 16ms 32ms 64ms 93ms

256kbps 31us 2ms 4ms 8ms 16ms 32ms 46ms

512kbps 15.5us 1ms 2ms 4ms 8ms 16ms 23ms

768kbps 10us 640us 1.28ms 2.56ms 5.12ms 10.24ms 15mss

1536kbs 5us 320us 640us 1.28ms 2.56ms 5.12ms 7.5ms

15
Delay Variation—“Jitter”
Receiver
Sender
Network

A B C Sender Transmits

A B C Sink Receives

D1 D2 = D1 D3 = D2 t

16
Large Packets “Freeze Out” Voice
Voice Packet Voice Packet Voice Packet
60 bytes 60 bytes 60 bytes
Every 20ms Every >214ms Every >214ms

~214ms Serialization Delay


Voice 1500 bytes of Data Voice Voice 1500 bytes of Data Voice Voice 1500 bytes of Data Voice

10mbps Ethernet 10mbps Ethernet


64kb WAN

• Large packets can cause playback buffer


underrun, resulting in slight voice degradation
• Jitter or playback buffer can accommodate
some delay/delay variation

17
Gérer la qualité et les délais
sur un réseau IP
• Priorité et gestion des files d’attente
Classification des flux applicatifs
Fragmentation et multiplexage
Mécanismes de file d’attente
Gestion de la congestion
• Routage avec qualité de service
• Réservation de bande passante RSVP

18
Architecture d’un réseau IP

POP POP

Backbone IP

POP POP
Des
Des solutions
solutions évolutives
évolutives
nécéssitent
nécéssitent une
une collaboration
collaboration
entre
entre la
la périphérie
périphérie et
et le
le centre
centre du
du réseau.
réseau.

Fonctions périphériques Fonctions d’infrastructure


• Classification des flux • High-speed transport et commutation
• Attribution d’une CoS (QoS policy) • Gestion de la congestion
• Gestion des files d’attente
• Intéropérabilité des QoS

19
Boîte à outils “QoS”

• IP Precedence (ToS)
• WFQ
• RSVP
• Multilink fragmentation and interleaving
• RTP/CRTP

20
IP Precedence Controling WFQ’s
De-queuing Behavior

IPv4 Packet

Data

ToS Field

3-Precedence

In Band QoS Signalling

21
Classification des flux

Backbone

Réseau opérateur
périphérique
Site
Client
Policy
Specification

• Jusqu’à six classes de service (ToS bits)


• Classification par port, adresse IP, application ou protocol ...

22
Setting IP Precedence
!
interface Serial0/0
ip address 10.1.0.1 255.255.0.0
ip policy route-map testprec
Option 1
!
!
access-list 101 permit udp any any range 16384 16400
route-map testprec permit 10
match ip address 101
set ip precedence network

midge(config-route-map)#set ip precedence ?
<0-7> Precedence value
critical Set critical precedence (5)
flash Set flash precedence (3)
flash-override Set flash override precedence (4)
immediate Set immediate precedence (2)
internet Set internetwork control precedence (6)
network Set network control precedence (7)
priority Set priority precedence (1)
routine Set routine precedence (0)

309-E
1171_04F8_c1 23
Setting IP Precedence
Option 2
!
dial-peer voice 25 voip
destination-pattern 5011
req-qos guaranteed-delay
ip precedence 5
session target ipv4:10.5.0.1
!
midge(config)#dial-peer voice 25 voip
midge(config-dial-peer)#ip precedence ?
<0-7> Packet IP precedence value

24
Displaying Effects of IP Precedence
This Is Using the “Weight” in Weighted Fair Queuing
bottom#sho queu se 0
Input queue: 0/75/0 (size/max/drops); Total output drops: 0
Queuing strategy: weighted fair
Output queue: 5/64/0 (size/threshold/drops)
Conversations 2/7 (active/max active)
Reserved Conversations 0/0 (allocated/max allocated)

(depth/weight/discards/interleaves)
weight 1/585/0/0
585
Conversation 90, linktype: ip, length: 46
source: 10.1.1.1, destination: 10.1.1.2, id: 0x0064, ttl: 255,
TOS: 192 prot: 6, source port 23, destination port 11000

(depth/weight/discards/interleaves) 3/4096/0/0
Conversation 219, linktype: ip, length: 68
source: 10.1.2.2, destination: 171.68.56.138, id: 0x1C7E, ttl: 31,
TOS: 0 prot: 17, source port 49604, destination port 49604

309-E
1171_04F8_c1 25
Weighted Fair Queuing par CoS

Gold Silver Bronze Standard • Distinction entre les CoS


• Bande passante allouée par CoS
Au moins Au moins Au moins Au moins • BP supplémentaire est répartie
• Haute performance et évolutivité
40% de BP 30% de BP 20% de BP 10% de BP

COS 1 COS 2 COS 3 COS 4


Weighted Fair Queueing

Time Division
Multiplexer
6 4 1
5 4 1

5 2
6 3
3
2

• FAIR Queueing
•A conversation (or flow) is identify dynamicaly by “source and destination address and port”
•Flow requesting low bandwidth are served more frequently
•The remaining bandwidth is fair shared between high volume flows

• WFQ use IP/TOS precedence bits to “weight” a conversation

• A conversation can be reserved (static or RSVP) with a define queue depth

27
Weighted Fair Queuing (WFQ) Two 100 Byte
Packets
Configurable Queues Transmitted for
Every One 200 Byte
Packet
Two 100 Byte
Voice Packets 1 1 Therefore = “Fair”

2 2 1 1
1 2 1 De-
queue

Classify
One 200 Byte
Data Transmit
Packet Scheduling
Interface Buffer
Resources

Flow Classification/Sorting Weighted Fair Scheduling


•Source and destination address •Requested Qos (IP Precedence, RSVP)
•Protocol •Frame Relay FECN, BECN, DE
•Session identifier (Port/Socket) •Flow throughput (Weighted-Fair)

309-E
1171_04F8_c1 28
Displaying WFQ
Emphasizing the “Fair” in Weighted Fair Queuing
bottom#sho queu se 0
Input queue: 0/75/0 (size/max/drops); Total output drops: 0
Queuing strategy: weighted fair
Output queue: 31/64/0 (size/threshold/drops)
Conversations 2/4 (active/max active)
Reserved Conversations 0/0 (allocated/max allocated)

(depth/weight/discards/interleaves)
weight 24/4096/0/0
4096
High BW Flow
Conversation 184, linktype: ip, length: 1504
source: 10.1.2.2, destination: 171.68.56.138, id: 0x04CF, ttl: 31, vs
TOS: 0 prot: 6, source port 1503, destination port 1034
Telnet, VoIP Etc.
(depth/weight/discards/interleaves)
weight 7/4096/0/0
4096
Conversation 227, linktype: ip, length: 68
source: 10.1.2.2, destination: 171.68.56.138, id: 0xFCCF, ttl: 31,
TOS: 0 prot: 17, source port 49608, destination port 49608

29
RSVP (Resource Reservation Protocol)
• Permet aux utilisateurs d’applications multimedia de
réserver des ressources réseaux afin de se voir garantir
une qualité de service de bout en bout.
• Permet la cohabitation d’applicatifs multimedia et de flux
sporadiques mais non prioritaires.
This app needs
1 Mbps BW and
200 msec delay
Reserve 1
Mbps BW
on this line

I need 1 Mbps
BW and 200
msec delay Reserve 1
Mbps BW
on this line

30
RSVP Transport & WFQ
RSVP

All Routers
• WFQ applied per flow
based on RSVP requests

31
Resource Reservation
Protocol (RSVP)
Works in Conjunction with Weighted Fair Queuing
Configurable Queues Reserved Queue
Reserved
for Flow, Lower
Packet
Weight applied
1 to Queue

2
2 1
2 De-
1
queue

Small Large Classify


Volume/Size Volume/Size
Packet Packet
Transmit
Interface Buffer Scheduling
Resources

Flow Classification Reserved Flow Scheduling


•Source and destination address •Works in conjunction with WFQ
•Protocol •Reserved queue for RSVP flow
•Session identifier (Port/Socket) •Queues serviced by “Weight”
309-E
1171_04F8_c1 32
Configuring RSVP
ip rsvp bandwidth [interface-kbps] [single-flow-kbps]

!
interface Serial0/0
ip address 10.1.0.1 255.255.0.0
ip rsvp bandwidth 56 30
ip policy route-map testprec
bandwidth 128
fair-queue 64 256 1000
!

33
Verifying Reservation Accepted

bottom#sho ip rsvp installed


BPS To From Protoc DPort Sport Weight Conversation
18K 171.68.56.138 10.1.2.2 UDP 49608 49608 4 264

bottom#sho ip rsvp reservation


To From Proto DPort Sport Next Hop I/F Fi Serv BPS Byts
171.68.56.138 10.1.2.2 UDP 49608 49608 10.1.1 .2 Se0 FF RATE 18K 3K

34
Monitoring Queue Operation
bottom#sho que se 0
Input queue: 0/75/0 (size/max/drops); Total output drops: 0
Queueing strategy: weighted fair
Output queue: 44/64/0 (size/threshold/drops)
Conversations 3/5 (active/max active)
Reserved Conversations 1/1 (allocated/max allocated)

(depth/weight/discards/interleaves) 21/4096/0/0
Conversation 195, linktype: ip, length: 1504
source: 10.1.2.2, destination: 171.68.56.138, id: 0xD5E8, ttl: 31,
TOS: 0 prot: 6, source port 1503, destination port 1045

(depth/weight/discards/interleaves)
weight 22/4/0/0
Conversation 264, linktype: ip, length: 68
source: 10.1.2.2, destination: 171.68.56.138, id: 0xAFE9, ttl: 31,
TOS: 0 prot: 17, source port 49608, destination port 49608

35
Multilink-PPP
Fragmentation & Entrelacement
Voice 2 Voice 1 Jumbogram

Fragment 4 Fragment 3 Voice 2 Fragment 2 Voice 1 Fragment 1

• Fragmentation des paquets longs


• Pour les petits paquets :
Utilisation de l’encapsulation normale
Multiplexage avec les flux fragmentés

Une MTU de 1500 Octets demande 180ms de


traitement avant d’être transmise sur une ligne à 64
Kbit/s !!!
36
Multilink PPP Fragmentation and Interleave
with RTP Header Compression (CRTP)
VoIP Frame
Interleaved,
Configurable Queues
Compressed
RTP Traffic and Given Priority
Voice/Video Etc. via WFQ, IP
1 Prec or RSVP

RTP-HC
2 2 2
2 2 1 2
1 2 De-
queue
Non-RTP
Small Large Classify
Volume/Size Volume/Size
Packet Packet
Transmit
Interface Buffer Scheduling
Resources

Flow Classification
Weighted Fair or Reserved Scheduling
•Source and Destination Address
•Protocol
•Session Identifier (Port/Socket)

309-E
1171_04F8_c1 37
Configuring Multilink PPP
Fragmentation and Interleave
Bottom Top

interface Virtual-Template1 interface Virtual-Template1


ip unnumbered Loopback0 ip unnumbered Loopback0
ip rtp reserve 49580 100 24 ip rtp reserve 49600 100 24
no ip mroute-cache no ip mroute-cache
bandwidth 64 bandwidth 64
fair-queue 64 256 1000 Port l Range I kbps fair-queue 64 256 1000
ppp multilink ppp multilink
ppp multilink fragment-delay 20 ppp multilink fragment-delay 140
ppp multilink interleave ppp multilink interleave
! !
interface Serial0 interface Serial0
no ip address no ip address
encapsulation ppp encapsulation ppp
bandwidth 64 bandwidth 64
no fair-queue no fair-queue
ppp multilink clockrate 64000
ppp multilink
38
Verifying Fragmentation
bottom#sho ppp multilink

Bundle top, 1 member, Master link is Virtual-Access1


0 lost fragments, 0 reordered, 0 unassigned, sequence 0xA0/0x35AA rcvd/sent
0 discarded, 0 lost received, 86/255 load

Member Link: 1 (max not set, min not set)


Serial0 140 weight, 2 max fragments

bottom#deb ppp mult


Multilink activity debugging is on
bottom#
*Mar 1 01:43:07: Se0 MLP: O seq C00059E5 size 38
*Mar 1 01:43:07: Se0 MLP: O seq C00059E6 size 38
*Mar 1 01:43:07: Se0 MLP: O seq 800059E7 size 140
*Mar 1 01:43:07: Se0 MLP: O seq 59E8 size 140
*Mar 1 01:43:07: MLP: Packet being interleaved from queue 1157428
*Mar 1 01:43:07: MLP: Packet being interleaved from queue 1157428
*Mar 1 01:43:07: Se0 MLP: O seq 59E9 size 140
*Mar 1 01:43:07: MLP: Packet being interleaved from queue 1157428
*Mar 1 01:43:07: Se0 MLP: O seq 59EA size 140
309-E
1171_04F8_c1 39
Monitoring Queue Operation
bottom#sho queue virtual-access 1
Input queue: 0/75/0 (size/max/drops); Total output drops: 0
Queuing strategy: weighted fair
Output queue: 23/64/0/2534 (size/threshold/drops/interleaves)
Conversations 2/3 (active/max active)
Reserved Conversations 0/0 (allocated/max allocated)

(depth/weight/discards/interleaves)
interleaves 22/4096/0/2534
Conversation 195, linktype: ip, length: 1502
source: 10.1.2.2, destination: 171.68.56.138, id: 0x2DB0, ttl: 31,
TOS: 0 prot: 6, source port 1503, destination port 1045

(depth/weight/discards/interleaves)
weight 1/128/0/0
128
Conversation 264, linktype: ip, length: 66
source: 10.1.2.2, destination: 171.68.56.138, id: 0xF4B0, ttl: 31,
TOS: 0 prot: 17, source port 49608, destination port 49608

40
Utilisation de RTP et C-RTP
• RTP : Real Time Protocol
Protocole mieux adapté que TCP pour les
trafics “Temps Réel”
• C-RTP : Compressed RTP (link protocol)
Echantillon de 20ms @ 8kbit/s = 20 octets de payload
Transporté avec :
entête IP de 20 octets
+ entête UDP de 8 octets
+ entête RTP de 12 octets

Compression des entêtes = 40 octets ---> de 2 à 4 octets

41
Commentaire
Configuration

Presentation_ID Cisco Systems Confidential 8


Exemple : FXS/FXS & RSVP

3620 3620
V 1/1/0
Paris NY V 1/1/0
.1 .2
Backbone IP
40.0.0.0
4321 1234
hostname Paris hostname NY

dial-peer voice 10 voip dial-peer voice 10 voip


destination-pattern 1234 destination-pattern 4321
sess-target ipv4:40.0.0.2 sess-target ipv4:40.0.0.1
req-qos guaranteedDelay req-qos guaranteedDelay

dial-peer voice 1 pots dial-peer voice 1 pots


destination-pattern 4321 destination-pattern 1234
port 1/1/0 port 1/1/0

interface Serial0/0 interface Serial0/0


ip address 40.0.0.1 255.0.0.0 ip address 40.0.0.2 255.0.0.0
no ip mroute-cache no ip mroute-cache
ip rtp header-compression ip rtp header-compression
ip rtp compression-connections 25 ip rtp compression-connections 25
ip rsvp bandwidth 48 48 ip rsvp bandwidth 48 48
fair-queue 64 256 36 fair-queue 64 256 36
43
Les principales commandes
- codec {g711alaw | g711ulaw | g729r8}
- cmfort-noise
- connection plar string
- destination-pattern [+]string
- dial-peer voice number {voip | pots}
- dial-type {dtmf | pulse}
- echo-cancel coverage value
- echo-cancel enable
- fax-rate{2400 | 4800 | 7200 | 9600 | 14400 | disable | voice}
- ip precedence 0-7
- num-exp extension-number expanded-number
- operation {2-wire | 4-wire}
- prefix string
- req-qos {best-effort | controlled-load | guaranteed-delay}
- session target ipv4:destination-address
- signal {loop-start | ground-start | wink-start | immediate | delay-dial}
- type {1 | 2 | 3 | 5}
- vad
- voice-port slot-number/subunit-number/port 44
Internet Telephony ProtocolVOICE
Stack IP FR ATM

Media encps.
(H.261, MPEG

H.323 SIP RTSP RSVP RTCP


RTP

TCP UDP

IPv4, IPv6

PPP AAL5 PPP

Sonet ATM Ethernet V.34

45
VOICE
SGCP layering FR ATM IP

Services Plane
IN Service Logic
AAA, Service
Number and Address Resolution Logic

Interworking
Call Control Plane Tool Set
Signaling & Call Control
Service Access Function
Switch-Based Service Logic Call
End to End Voice Services Logic

Any to Any Simple Gateway Control Protocol

Connection (Bearer) Control Plane


Connection Negotiation
Bearer Switching Switching
SIP, H.323, PNNI, etc. Logic

46
VOICE
SGCP FR ATM IP
Simple Gateway Control
Protocol
• Simple Gateway
• External Call Agent
• Simple and reliable protocol between
Gateway and Call Agent
• Complementary with H.323/SIP
• Network protocol independent

47
VOICE

SGCP Primitives FR ATM IP

• Create Connection
• Modify Connection
• Delete Connection
• Notification Request
• Notify

48
VOICE

SGCP characteristics FR ATM IP

• Stateless
• Transaction base (Every request
acknowledged)
• Transmission over UDP
• SDP for multimedia conference
• First version addresses VoIP
• Extension to Dial and ATM

49
SGCP VoIP Call Setup VOICE
Call Agent
Call Agent FR ATM IP

Voice GW Voice GW PBX


PBX

Setup
Call Proceeding
Create Conn.
ACK
IAM
Create Conn.
Session Negotiation
ACK
Setup
ACM Alerting
Modify Conn.
ACK Connect
ANM
Connect

50
SGCP VoIP Call Clear VOICE
Transpath
Transpath
Virtual Switch
FR ATM IP
Virtual Switch
Controller Controller

Voice GW Voice GW PBX


PBX

Disconnect

Delete
Delete Ack
REL
Delete

Delete_ack
Release
Release Compl
RLC
Release

Release_Compl

51

Vous aimerez peut-être aussi