+ All Categories
Home > Documents > Een SIP softphone voor Linux Michel de Boer .

Een SIP softphone voor Linux Michel de Boer .

Date post: 23-May-2015
Category:
Upload: siebe-gerritsen
View: 223 times
Download: 0 times
Share this document with a friend
Popular Tags:
23
Een SIP softphone voor Linux Michel de Boer www.twinklephone.com
Transcript
Page 1: Een SIP softphone voor Linux Michel de Boer .

Een SIP softphone voor Linux

Michel de Boerwww.twinklephone.com

Page 2: Een SIP softphone voor Linux Michel de Boer .

Agenda Wat is VoIP SIP Interface VoIP naar PSTN NAT Wat is Twinkle Demonstratie

Page 3: Een SIP softphone voor Linux Michel de Boer .

Wat is VoIP? Voice over IP

Signalering (opzetten van een gesprek)

Media transport (audio, video)

IP

media

signalering

Page 4: Een SIP softphone voor Linux Michel de Boer .

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

Page 5: Een SIP softphone voor Linux Michel de Boer .

SIP Gebaseerd op HTTP en SMTP UDP poort 5060 SIP adres lijkt op een mail adres

sip:[email protected] Headers voor call routering

From, To, …. Body beschrijft de media stroom

SDP – Session Description Protocol Codecs, RTP poorten

Page 6: Een SIP softphone voor Linux Michel de Boer .

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

Page 7: Een SIP softphone voor Linux Michel de Boer .

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

Page 8: Een SIP softphone voor Linux Michel de Boer .

Voorbeeld SIP gesprek

INVITE sip:[email protected]

180 Ringing

200 OK

Speech (RTP)

BYE

200 OK

ACK

Page 9: Een SIP softphone voor Linux Michel de Boer .

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

Page 10: Een SIP softphone voor Linux Michel de Boer .

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 OKStore mapping SIP to IP address

10.0.0.1sip:[email protected]

Page 11: Een SIP softphone voor Linux Michel de Boer .

SIP routering

10.0.0.1sip:[email protected]

SIP proxy

Location database

INVITE sip:[email protected]

Get IP address of sip:[email protected] = 10.0.0.1

INVITE

Een gesprek kan via meerdere proxies worden gerouteerd.

Page 12: Een SIP softphone voor Linux Michel de Boer .

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:[email protected]

DNS lookup van “example.com” SRV en/of A record lookups

Page 13: Een SIP softphone voor Linux Michel de Boer .

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

Page 14: Een SIP softphone voor Linux Michel de Boer .

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 deelin een SIP URL.

Page 15: Een SIP softphone voor Linux Michel de Boer .

Gesprek naar het PSTN Voor een gesprek naar het PSTN is een

signaling/media gateway nodig.

SIP proxy

SIPSIP

RTP

C7 / ISDN

Voice circuit

Telefooncentrale

Signaling gateway

Media gateway

Signaling en media gateway kunnen in gecombineerd zijn

Page 16: Een SIP softphone voor Linux Michel de Boer .

NATNetwork Address Translation NAT breekt SIP signalering!

SIP proxyADSL modem/router10.0.0.1

10.0.0.151 1.1.1.1

Src ip: 10.0.0.1REGISTERContact: sip:[email protected]

Src ip: 1.1.1.1REGISTERContact: sip:[email protected]

Page 17: Een SIP softphone voor Linux Michel de Boer .

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

Page 18: Een SIP softphone voor Linux Michel de Boer .

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

Page 19: Een SIP softphone voor Linux Michel de Boer .

Wat is Twinkle SIP softphone voor Linux Qt based GUI Required libraries:

commoncpp2, ccrtp Codecs:

G.711a, G.711u, GSM Audio support:

OSS, ALSA

Page 20: Een SIP softphone voor Linux Michel de Boer .

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)

Page 21: Een SIP softphone voor Linux Michel de Boer .

Twinkle wish list Address book (interface naar

KAdressbook) Log inkomende en uitgaande

gesprekken DNS SRV support Speex codec Video …

Page 22: Een SIP softphone voor Linux Michel de Boer .

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.freeworlddialup.com www.sipgate.com

Een eigen SIP netwerk bouwen kan ook Asterisk, SIP Express Router (SER)

Page 23: Een SIP softphone voor Linux Michel de Boer .

Demonstratie


Recommended