1 / 23

Een SIP softphone voor Linux Michel de Boer twinklephone

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.

tate-dyer
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Een SIP softphone voor Linux Michel de Boer www.twinklephone.com

  2. Agenda • Wat is VoIP • SIP • Interface VoIP naar PSTN • NAT • Wat is Twinkle • Demonstratie

  3. signalering media Wat is VoIP? • Voice over IP • Signalering (opzetten van een gesprek) • Media transport (audio, video) IP

  4. 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

  5. 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

  6. 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

  7. 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

  8. INVITE sip:michel@10.0.0.1 180 Ringing 200 OK ACK Speech (RTP) BYE 200 OK Voorbeeld SIP gesprek

  9. 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

  10. 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:michel@example.com

  11. Get IP address of sip:michel@example.com IP = 10.0.0.1 INVITE sip:michel@exmaple.com INVITE SIP routering Location database SIP proxy 10.0.0.1 sip:michel@example.com Een gesprek kan via meerdere proxies worden gerouteerd.

  12. 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.comDNS lookup van “example.com” • SRV en/of A record lookups

  13. 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

  14. 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.

  15. 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

  16. 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 SIP proxy NATNetwork Address Translation • NAT breekt SIP signalering! 10.0.0.151 1.1.1.1 ADSL modem/router 10.0.0.1

  17. 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

  18. 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

  19. Wat is Twinkle • SIP softphone voor Linux • Qt based GUI • Required libraries: • commoncpp2, ccrtp • Codecs: • G.711a, G.711u, GSM • Audio support: • OSS, ALSA

  20. 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)

  21. Twinkle wish list • Address book (interface naar KAdressbook) • Log inkomende en uitgaande gesprekken • DNS SRV support • Speex codec • Video • …

  22. 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)

  23. Demonstratie

More Related