39
¿Qué hace falta para construir un Skype? Saúl Ibarra Corretgé | AG Projects Thursday, October 4, 2012

¿Qué hace falta para construir un Skype?

Embed Size (px)

DESCRIPTION

Slides (in Spanish) from the talk I gave at VoIP2day + ElastixWorld 2012 (Madrid). Talk was about what does it take to build a service with the services users can find in products such as Skype. Both a good client and server side features are required, ... look inside!

Citation preview

Page 1: ¿Qué hace falta para construir un Skype?

¿Qué hace falta para construir un Skype?Saúl Ibarra Corretgé | AG Projects

Thursday, October 4, 2012

Page 2: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Intro

• Hola, soy @saghul

• En VoIP desde el 2005

• Hablemos sobre el maligno

Thursday, October 4, 2012

Page 3: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

AG Projects

• Infraestructura SIP

• SIP Thor: Plataforma SIP con escalabilidad horizontal mediante P2P

• Proyectos Open Source

• Blink

• SIP SIMPLE SDK

• SylkServer

• MediaProxy

• OpenXCAP

• MSRPRelay

Thursday, October 4, 2012

Page 4: ¿Qué hace falta para construir un Skype?

¿Qué es Skype?

Thursday, October 4, 2012

Page 5: ¿Qué hace falta para construir un Skype?

Thursday, October 4, 2012

Page 6: ¿Qué hace falta para construir un Skype?

Características

Thursday, October 4, 2012

Page 7: ¿Qué hace falta para construir un Skype?

Audio y Video

Thursday, October 4, 2012

Page 8: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Audio y Video

• Audio en HD, codec SILK

• Video en ~HD

• No en todos los dispositivos

• SILK es “parte” de Opus

Thursday, October 4, 2012

Page 9: ¿Qué hace falta para construir un Skype?

Conferencias

Thursday, October 4, 2012

Page 10: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Conferencias

• Fáciles de crear

• Información sobre participantes

• Necesario soporte del lado servidor

Thursday, October 4, 2012

Page 11: ¿Qué hace falta para construir un Skype?

Chat

Thursday, October 4, 2012

Page 12: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Chat

• Chat entre usuarios y en grupo

• Replicación de mensajes

• Guardado de mensajes offline

Thursday, October 4, 2012

Page 13: ¿Qué hace falta para construir un Skype?

Seguridad

Thursday, October 4, 2012

Page 14: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Seguridad

• En principio nadie puede escuchar nuestras llamadas

• Hello China!

• Círculo de confianza proporcionado por el operador (el mismo Skype)

Thursday, October 4, 2012

Page 15: ¿Qué hace falta para construir un Skype?

Usuarios, muchos usuarios

Thursday, October 4, 2012

Page 16: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Thursday, October 4, 2012

Page 17: ¿Qué hace falta para construir un Skype?

“Fácil” de usar

Thursday, October 4, 2012

Page 18: ¿Qué hace falta para construir un Skype?

Thursday, October 4, 2012

Page 19: ¿Qué hace falta para construir un Skype?

Presencia

Thursday, October 4, 2012

Page 20: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Presencia

• Implícita

• Llamar por VoIP o por PSTN

• Implementada desde el día 0

Thursday, October 4, 2012

Page 21: ¿Qué hace falta para construir un Skype?

Thursday, October 4, 2012

Page 22: ¿Qué hace falta para construir un Skype?

Diseñando una alternativa abierta

Thursday, October 4, 2012

Page 23: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Diseñando una alternativa abierta

• Estándares Abiertos

• Open Source

• Servicio distribuido, federación

• Excelente UI y UX

• Aplicación + servicio

Thursday, October 4, 2012

Page 24: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Provider BProvider A

Registrar

DB

ProxyDB

Thursday, October 4, 2012

Page 25: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

SIP SIMPLE Client SDK

Thursday, October 4, 2012

Page 26: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

SIP SIMPLE Client SDK

• Core de funcionalidades que necesitamos

• API en Python

• Software Libre

Thursday, October 4, 2012

Page 27: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Hi all,

Hope You all doing well.I am very new to pjsip(I am usingpjproject1.10) for window application.I already completed Graphical user interface,in which there is login,log out,call,end buttons. But I am unable to intigrate it with pjsip.which function I have to call for the respective buttons.Can somebody help me on this regards?

Thanks in advance.

- User on PJSIP’s mailing list

Thursday, October 4, 2012

Page 28: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Blink

Thursday, October 4, 2012

Page 29: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Blink

• Audio en HD

• Chat basado en sesiones

• Presencia

• Conferencias en cliente y servidor

• Fácil de usar

• usuario@dominio

Thursday, October 4, 2012

Page 30: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

SylkServer

Thursday, October 4, 2012

Page 31: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

SylkServer

• Conferencias de audio en HD

• Información extra sobre participantes

• Control de la conferencia

• Chat en grupo

•Gateway a XMPP

Thursday, October 4, 2012

Page 32: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Gateway a XMPP

• Pasarela a millones de usuarios

• Aunque distintos, XMPP y SIP son similares

• SylkServer XMPP gateway

• Chat

• Presencia

• MUC (chat en grupo)

Thursday, October 4, 2012

Page 33: ¿Qué hace falta para construir un Skype?

Problemas

Thursday, October 4, 2012

Page 34: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Adopción de estándares

• MSRP es utilizado en RCS

• Pero es un walled garden

• draft-simple-chat, pronto un RFC

• Presencia con XCAP

• Interoperabilidad

Thursday, October 4, 2012

Page 35: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Presencia

• “SIMPLE is not simple”

• Solución

• Diseñar un modelo de datos sobre SIMPLE y OMA

• 2 años después, casi lo tenemos terminado

• Blink Pro 2.0.0

Thursday, October 4, 2012

Page 36: ¿Qué hace falta para construir un Skype?

Thursday, October 4, 2012

Page 37: ¿Qué hace falta para construir un Skype?

If you spend all your time looking at your competition, your product will look like your competitor’s ass.

- Mike Lee

Thursday, October 4, 2012

Page 38: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

Thursday, October 4, 2012

Page 39: ¿Qué hace falta para construir un Skype?

AG ProjectsSIP Infrastructure Experts

BYE sip:audience@voip2day SIP/2.0Via: SIP/2.0/UDP 192.168.99.23:49919;rport;branch=z9hG4bKPjDb30Dx0sH7aMMax-Forwards: 70From: "saghul" <sip:[email protected]>;tag=UCpGKVZbQQx7BUKTo: <sip:audience@voip2day>;tag=as59aef35cCall-ID: DEWDfu63OACwYeQk7MrhmRhRq.1cqqisCSeq: 10633 BYERoute: <sip:81.23.228.129;lr;ftag=UCpGKVZbQQx7BUKY;did=641.a8a9c553>User-Agent: BlinkContent-Length: 0

@saghul

[email protected]

sip:[email protected]

Thursday, October 4, 2012