Een sip softphone voor linux michel de boer www twinklephone com
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

Een SIP softphone voor Linux Michel de Boer twinklephone PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on
  • Presentation posted in: General

Een SIP softphone voor Linux Michel de Boer www.twinklephone.com. Agenda. Wat is VoIP SIP Interface VoIP naar PSTN NAT Wat is Twinkle Demonstratie. signalering. media. Wat is VoIP?. Voice over IP Signalering (opzetten van een gesprek) Media transport (audio, video). IP.

Download Presentation

Een SIP softphone voor Linux Michel de Boer twinklephone

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Een sip softphone voor linux michel de boer www twinklephone com

Een SIP softphone voor Linux

Michel de Boer

www.twinklephone.com


Agenda

Agenda

  • Wat is VoIP

  • SIP

  • Interface VoIP naar PSTN

  • NAT

  • Wat is Twinkle

  • Demonstratie


Wat is voip

signalering

media

Wat is VoIP?

  • Voice over IP

    • Signalering (opzetten van een gesprek)

    • Media transport (audio, video)

IP


Signaleringsprotocollen

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


Een sip softphone voor linux michel de boer twinklephone

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


Audio digitaliseren codecs

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


Media transport

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


Voorbeeld sip gesprek

INVITE sip:[email protected]

180 Ringing

200 OK

ACK

Speech (RTP)

BYE

200 OK

Voorbeeld SIP gesprek


Sip netwerk elementen

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


Sip registratie

REGISTER

Store mapping SIP to IP address

200 OK

SIP registratie

  • Een SIP adres is niet gebonden aan een IP adres.

  • Hoe weet het netwerk waar je bent?

Location database

SIP proxy (registrar)

10.0.0.1

sip:[email protected]


Sip routering

Get IP address of sip:[email protected]

IP = 10.0.0.1

INVITE sip:[email protected]

INVITE

SIP routering

Location database

SIP proxy

10.0.0.1

sip:[email protected]

Een gesprek kan via meerdere proxies worden gerouteerd.


Sip routering 2

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] lookup van “example.com”

      • SRV en/of A record lookups


Sip authenticatie

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


Sip authenticatie 2

REGISTER

401 Unauthorized

(nonce, realm)

REGISTER

(username, MD5 digest of request, password, nonce)

200 OK

SIP proxy

SIP authenticatie (2)

SIP user name voor authenticatie hoeft niet dezelfde te zijn als het user deelin een SIP URL.


Gesprek naar het pstn

SIP proxy

Gesprek naar het PSTN

  • Voor een gesprek naar het PSTN is een signaling/media gateway nodig.

Signaling gateway

C7 / ISDN

SIP

SIP

Telefooncentrale

RTP

Voice circuit

Media gateway

Signaling en media gateway kunnen in gecombineerd zijn


Nat network address translation

Src ip: 10.0.0.1

REGISTER

Contact: sip:[email protected]

Src ip: 1.1.1.1

REGISTER

Contact: sip:[email protected]

SIP proxy

NATNetwork Address Translation

  • NAT breekt SIP signalering!

10.0.0.151

1.1.1.1

ADSL modem/router

10.0.0.1


Oplossingen voor nat probleem

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


Een sip softphone voor linux michel de boer twinklephone

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


Wat is twinkle

Wat is Twinkle

  • SIP softphone voor Linux

  • Qt based GUI

  • Required libraries:

    • commoncpp2, ccrtp

  • Codecs:

    • G.711a, G.711u, GSM

  • Audio support:

    • OSS, ALSA


Twinkle features

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)


Twinkle wish list

Twinkle wish list

  • Address book (interface naar KAdressbook)

  • Log inkomende en uitgaande gesprekken

  • DNS SRV support

  • Speex codec

  • Video


Hoe kan je nu bellen

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)


Een sip softphone voor linux michel de boer twinklephone

Demonstratie


  • Login