Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdSiebe Gerritsen Laatst gewijzigd meer dan 10 jaar geleden
2
Een SIP softphone voor Linux Michel de Boer www.twinklephone.com
3
Agenda Wat is VoIP SIP Interface VoIP naar PSTN NAT Wat is Twinkle Demonstratie
4
Wat is VoIP? Voice over IP Signalering (opzetten van een gesprek) Media transport (audio, video) IP media signalering
5
Signaleringsprotocollen H.323 ITU protocol familie SIP - Session Initiation Protocol IETF protocol MGCP - Media Gateway Control Protocol IETF protocol, populair in kabelnetwerken Skype P2P VoIP, geen open standaard
6
SIP Gebaseerd op HTTP en SMTP UDP poort 5060 SIP adres lijkt op een mail adres sip:michel@twinklephone.com Headers voor call routering From, To, …. Body beschrijft de media stroom SDP – Session Description Protocol Codecs, RTP poorten
7
Audio digitaliseren - Codecs G.711 (aLaw, ulaw) – 8 Khz, 64 Kbps Standaard telefonie GSM – 8 Khz, 13 Kbps G.729 – 8 Khz, 8 Kbps Licentie nodig Speex – 8, 16, 32 Khz, 2.15-44.2 Kbps Open source
8
Media transport RTP – Real-time Transport Protocol UDP Poort nummer is dynamisch (onderhandeld via SIP/SDP) 1 RTP pakket bevat meerdere samples Gangbare lengte is 20ms Codec informatie Timestamps, sequence numbers
9
Voorbeeld SIP gesprek INVITE sip:michel@10.0.0.1 180 Ringing 200 OK Speech (RTP) BYE 200 OK ACK
10
SIP netwerk elementen User agent SIP endpoint, soft phone, hard phone SIP proxy (server) Routeren van SIP gesprekken Registrar Mapping IP adres naar SIP adres
11
SIP registratie Een SIP adres is niet gebonden aan een IP adres. Hoe weet het netwerk waar je bent? SIP proxy (registrar) Location database REGISTER 200 OK Store mapping SIP to IP address 10.0.0.1 sip:michel@example.com
12
SIP routering 10.0.0.1 sip:michel@example.com SIP proxy Location database INVITE sip:michel@exmaple.com Get IP address of sip:michel@example.com IP = 10.0.0.1 INVITE Een gesprek kan via meerdere proxies worden gerouteerd.
13
SIP routering (2) Hoe vindt een SIP endpoint de eerste proxy? Outbound proxy Handmatig geconfigureerd, DHCP DNS lookup host gedeelte van SIP URL Eg. sip:michel@example.com DNS lookup van “example.com” SRV en/of A record lookups
14
SIP authenticatie HTTP digest authenticatie Voor REGISTER request Kan in prinicipe op alle SIP requests behalve CANCEL Voor een uitgaand gesprek is een registratie niet nodig Misbruik kan voorkomen worden door authenticatie op de INVITE request
15
SIP authenticatie (2) SIP proxy REGISTER 401 Unauthorized (nonce, realm) REGISTER (username, MD5 digest of request, password, nonce) 200 OK SIP user name voor authenticatie hoeft niet dezelfde te zijn als het user deel in een SIP URL.
16
Gesprek naar het PSTN Voor een gesprek naar het PSTN is een signaling/media gateway nodig. SIP proxy SIP RTP C7 / ISDN Voice circuit Telefooncentrale Signaling gateway Media gateway Signaling en media gateway kunnen in gecombineerd zijn
17
NAT Network Address Translation NAT breekt SIP signalering! SIP proxy ADSL modem/router 10.0.0.1 10.0.0.1511.1.1.1 Src ip: 10.0.0.1 REGISTER Contact: sip:michel@10.0.0.1 Src ip: 1.1.1.1 REGISTER Contact: sip:michel@10.0.0.1
18
Oplossingen voor NAT probleem Handmatige configuratie publiek IP adres in SIP endpoint Gebruiker moet statische adres mapping in router maken STUN protocol Simple Traversal of UDP through NAT Makkelijker voor de gebruiker Niet 100% fool proof
19
STUN SIP endpoint vraagt aan STUN server wat zijn publieke IP adres is Werkt niet bij een symmetrische NAT Eerste REGISTER request creëert dynamische adres mapping in NAT Keep alive packets houden adres mapping levend
20
Wat is Twinkle SIP softphone voor Linux Qt based GUI Required libraries: commoncpp2, ccrtp Codecs: G.711a, G.711u, GSM Audio support: OSS, ALSA
21
Twinkle features 2 “lijnen” Call waiting/Call hold (wisselgesprek) 3-way conference call Call redirect (doorschakelen) Call reject Call transfer Do not disturb Auto answer DTMF events (voor IVR navigatie)
22
Twinkle wish list Address book (interface naar KAdressbook) Log inkomende en uitgaande gesprekken DNS SRV support Speex codec Video …
23
Hoe kan je nu bellen? Je kan direct IP to IP bellen met Twinkle Maar beter is het om een SIP provider te gebruiken, bijvoorbeeld: www.sipphone.com www.sipphone.com www.freeworlddialup.com www.freeworlddialup.com www.sipgate.com www.sipgate.com Een eigen SIP netwerk bouwen kan ook Asterisk, SIP Express Router (SER)
24
Demonstratie
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.