Presente y futuro de las comunicaciones VoIP

download Presente y futuro de las comunicaciones VoIP

If you can't read please download the document

description

Charla ofrecida por el equipo SIPdoc (http://www.sipdoc.net) en el voip2day 2009.

Transcript of Presente y futuro de las comunicaciones VoIP

  • 1. Presente y futuro de las comunicaciones VoIP VoIP2day 2k9 - http://www.voip2day.net

2. Y stos quines son? 3. SIPdoc Team

  • Trabajadores con familia, hijos, oh wait!

4. Trabajan en empresas serias de da y SIPean con nocturnidad y alevosa. 5. Hay vida ms all de Asterisk!

  • En serio!

Imagine there is no PSTN 6. SIPdoc Team (II)

  • Iaki Baz (ibc)
  • Ese hombre que no sale a por el pan si no se ha ledo el RFC o draft correspondiente.

Jon Bonilla (manwe)

  • Ese hombre que tras comprar el pan y hacerse un bokata se lee el RFC o draft correspondiente mientras se lo come.

Sal Ibarra (saghul)

  • Ese hombre? que no dormira si pudiera evitarlo y no toca nada con botones que no pueda flashear.

7. SIPdoc Team (III)

  • stos nos dan de comer:

8. Qu nos van a contar? 9. ndice

  • Infraestructuras de servicios VoIP (saghul)
  • Quiero montar un proveedor, cmo hago?

10. Arquitectura y componentes Presencia SIP avanzada (ibc)

  • Presencia SIMPLE

11. XCAP VoIP en telefona mvil e IMS (manwe)

  • Convergencia entre las redes de VoIP y mvil

12. El futuro: IMS 13. Infraestructuras de servicios VoIP 14. Arquitectura bsica de proveedor

  • Servicio a usuarios residenciales

15. Enlaces SIP con IP-PBX 16. Elementos implicados

  • Proxy SIP

17. Gateway PSTN 18. El proxy lo hace todo

  • Registro

19. Accounting 20. ... 21. Arquitectura bsica de proveedor (II) 22. Componentes de la arquitectura bsica

  • SIP proxy
  • Slo habla SIP

23. Registro de usuarios 24. Enlaces con gateways PSTN 25. Enlaces con otros proveedores (peering) 26. Facturacin (accounting) Muy poca inteligencia -> no es una PBX! 27. Componentes de la arquitectura bsica (II)

  • Gateways PSTN
  • Puede ser hardware integrado o algo software -> Asterisk, FreeSWITCH, CallWeaver, YATE, ...

28. Encargado de conectar el mundo SIP a la PSTN 29. Componentes de la arquitectura bsica (III)

  • Proxy RTP
  • Procesa elaudio .

30. Necesario para ofrecer tratamiento de NAT transparente al usuario. 31. Si la carga es baja podemos incluirlo en el mismo servidor fsico que el proxy. 32. Componentes de la arquitectura bsica (IV)

  • Ventajas
  • Relativamentefcil de montar.

33. Poco coste inicial si el nmero de clientes no es muy elevado. 34. Pocas funcionalidades -> poca complejidad -> pocos errores. 35. Componentes de la arquitectura bsica (V)

  • Inconvenientes
  • Slo con un proxy no podemos ofrecer servicios adicionales como buzn de voz...

36. Escalabilidad: si separamos los servicios al principio, escalar en el futuro ser ms sencillo. 37. Posible saturacin del servidor. 38. Hacer el accounting en el proxy no siempre es una buena idea... 39. Mejorando la arquitectura bsica

  • Servicios separados desde un inicio.

40. Media Server para ofrecer servicios de valor aadido. 41. Balanceo de carga en salida. 42. Mejorando la arquitectura bsica (II) 43. Mejorando la arquitectura bsica (III)

  • Aadidos los servidores AMS1 y AMS2 para ofrecer servicios endpoint de buzn de voz y conferencias.
  • Nice and cool sexy features, yeah!

Proxy SIP adicional para hacer el balanceo de carga hacia la PSTN.

  • Capacidad de hacer failover.

Servidor de BBDD independiente.

  • Menor carga para el core proxy.

44. Escalando

  • Nuestro servicio es crtico para los clientes.
  • Como no puedan llamar -> pnico!

Redundar los sistemas evitar que la cada de un servidor provoque un corte en el servicio. 45. El mayor nmero de 'nueves' posible.

  • Sin llegar a la paranoia.

Balanceo de carga vs. Alta disponibilidad 46. Escalando (II) 47. Escalando (III) Las acciones a tomar varan en funcin del tipo de servicio.

  • Proxy SIP y Load Balancer
  • Balanceo por DNS SRV Round-Robin.

48. Los nodos activos todo el rato. Servidor de BBDD

  • Cluster MySQL Master - Master.

49. Herramientas adicionales para HA

  • HeartBeat
  • Balanceo de servicios en clusters.

UCARP

  • Balanceo de IP y ejecucin de scripts entre varios nodos.

DRBD

  • Sincronizacin de datos por red.

Csync2

  • Sincronizacin de datos por red.

50. Proveedor con centralita virtual

  • Ms orientado a empresas que a usuarios residenciales.

51. Ofrece servicios de centralita (PBX) de manera remota.

  • Ahorro de costes.

Necesitamos undialplan !

  • Hacer esto con un proxy apesta.

52. Proveedor con centralita virtual (II)

  • Su infraestructura es mucho ms compleja.

53. Proveedor con centralita virtual (III)

  • Arquitectura tpica:El Rombo .
  • Proxy SIP para registro de usuarios.

54. Batera de PBX con la lgica de cada empresa. 55. Balanceo de carga en salida. (PSTN u otros proveedores SIP) 56. Proveedor con centralita virtual (IV) 57. Proveedor con centralita virtual (V)

  • MejorandoEl Rombo :
  • Batera de servidores Asterisk conla misma configuracin .

58. Balanceo de carga en ambos extremos: cualquier empresa usa cualquier servidor indistintamente. 59. Proveedor con centralita virtual (VI) 60. Hemos terminado?

  • Es sta la arquitectura definitiva?

61. Voy a molar ms que nadie? 62. Es indestructible? 63. Es el papa espacial un lagarto? 64. Qu nos falta?

  • Necesitamosalgoque se site entre el proxy y los dems sistemas.
  • Que hablebienSIP.

65. Multihoming. 66. Que no se trague el RTP 67. Que se pueda integrar con otras aplicaciones. (AGI no cuenta) 68. ... algo!= Asterisk 69. Algo con lo que se pueda hacer accounting sin riesgos.

  • Un CDR de verdad!

Algo que tenga el control de la llamada en todo momento. 70. Qu nos falta? Un B2BUA 71. Qu nos falta? (II) Alice Bob T1 T2 T3 Dilogo 1 72. Qu nos falta? (III) Alice b2bua Bob 73. Algo ms que un B2BUA

  • Adems deestar en medionecesitamos poder dar servicios.
  • Necesitamos un SIP Application Server.
  • Servidor SIP que hace de b2bua y ms!
  • Capacidad de interactuar con otras plataformas: XMLRPC, SOAP, HTTP, Servlets,

74. Posibilidad de desarrollar aplicaciones propias. 75. ... 76. Algo ms que un B2BUA (II)

  • No tiene porqu encargarse del audio.

77. Asterisknoes un Application Server.

  • Aunque hagas AGIs en PHP... wow!

Software disponible:

  • WeSIP

78. Glassfish 79. Un b2bua (solo sealizacin)+ un Media Server + pegamento

  • OpenSIPS + SEMS? Quin sabe...

80. Ahora s 81. Ahora s (II)

  • Arquitectura sostenible.

82. Escalable. 83. Extensible. 84. Future proof. 85. Arbitro, cambio! 86. Presencia SIP SIMPLE y XCAP more than voice... 87. Lo que conocemos... 88. Lo que conocemos... (II)

  • XMPP
  • IM y presencia
  • Y la apa de Jingle para voz.

MSN

  • IM, presencia y voz (limitada)

89. Dicen que usa una especie de SIP custom Skype

  • IM, presencia y voz

90. Pero apesta 91. Pero nos gusta la VoIP

  • Venimos del mundo de la voz
  • La prioridad es el telfono

92. Y las funciones molonas de PBX

  • Puedes montar una PBX enterprise con Skype?
  • Amantes dechan_skypeprocedan a abandonar la sala.

Tenemos que aadir IM y presenciasobrenuestra infraestructura de VoIP (SIP)

  • Cmo hago?

93. SIP + XMPP?

  • Solucin hbrida
  • PBX SIP + servidor XMPP

Desventajas

  • Doble mantenimiento de usuarios (apas)

94. Pocos terminales/softphones implementanbienambos protocolos 95. Integracin Asterisk + OpenFire...

  • Hay vida ms all de Asterisk. En serio.

Alguna otra sugerencia?

  • ...

96. 97. SIP SIMPLE

  • SIMPLEes un subgrupo de SIP que se encarga de IM y presencia
  • Existen especificaciones muy completas
  • RFC's de presencia:
  • 3856, 3857, 3858, 3863, 4479, 4480, 4482...

RFC's de XCAP:

  • 4825, 4826, 4827, 5025...

RFC's de IM:

  • 3428, 3994, 4975...

OpenMobileAliance: XDM

  • Un refrito de todo lo anterior.

SIMPLE is not simple... 98. SUBSCRIBE

  • Subscripcin al estado de presencia de otro usuario

99. RFC 3856

  • [email_address]quiere conocer el estado de presencia de[email_address] .

100. [email_address]enva un SUBSCRIBE: 101. SUBSCRIBE (II)

      • 102. Via: SIP/2.0/UDP 192.168.1.101:6060;rport;branch=z9hG4bKwrezomkl
    • 103. Max-Forwards: 70
  • 104. To:

105. From: "IBC" ;tag=hzxgf 106. Call-ID: osrcavbozglnyzs@ibc-laptop 107. CSeq: 724 SUBSCRIBE 108. Contact: 109. Accept: application/pidf+xml 110. Event: presence 111. Expires: 3600 112. User-Agent: Twinkle/1.4.2 113. Content-Length: 0 114. PUBLISH

  • Un usuario publica su estado de presencia

115. RFC 3903

  • [email_address]publica su estado online enviando un PUBLISH al servidor depresencia:

116. PUBLISH (II)

    • 117. Via: SIP/2.0/UDP 192.168.1.101:22630;branch=z9hG4bK754z
  • 118. Max-Forwards: 70

119. Contact: 120. To: "Manwe" 121. From: "Manwe";tag=e837 122. Call-ID: NzEzYjRkZDIzOTMU 123. CSeq: 2 PUBLISH 124. Expires: 3600 125. Content-Type: application/pidf+xml 126. User-Agent: eyeBeam 127. Event: presence 128. Content-Length: 419

    • 129.
  • 130. xmlns:dm='urn:ietf:params:xml:ns:pidf:data-model'

131. xmlns:rpid='urn:ietf:params:xml:ns:pidf:rpid' 132. xmlns:c='urn:ietf:params:xml:ns:pidf:cipid' 133. entity='sip:[email protected]'> 134. 135. 136. open 137. 138. 139. 140. 141. 142. 143. Busy 144. 145. 146. NOTIFY

  • Recibimos notificaciones de cambio de presencia de un usuario

147. RFC 3856

  • [email_address]ha cambiado su estado y[email_address]recibe un NOTIFY:

148. NOTIFY (II)

        • 149. Via: SIP/2.0/UDP 92.121.79.216:5062;branch=z9hG4bK742c.300d82e6.0
      • 150. To: ;tag=616ab145
    • 151. From: ;tag=5e49c2c8b
  • 152. CSeq: 2 NOTIFY

153. Call-ID: NGYwOTlkNWIyMTg3Ym 154. Content-Length: 214 155. User-Agent: OpenSIPS 156. Max-Forwards: 70 157. Event: presence 158. Contact: 159. Subscription-State: active;expires=3550 160. Content-Type: application/pidf+xml 161. 162. 163. 164. 165. closed 166. 167. 168. 169. XCAP

  • Protocolo sobre HTTP

170. RFC 4825

  • Para publicar, obtener, modificar y borrar documentos XML en un servidor:
  • Lista de contactos (RFC 4826).

171. Reglas de privacidad de presencia (RFC 5025). 172. Publicacin de estado por defecto (RFC 4827). Interaccin con el servidor de presencia

  • El presence server obtiene estos documentos
  • Ej: para decidir si un usuario puede ver el estado de otro.

173. XCAP (II)

  • GET
  • Obtener un documento o parte de l.

PUT

  • Publicar un documento o insertar elementos.

DELETE

  • Borrar un documento o parte de l.

174. XCAP (III)

      • 175. Content-Type: application/auth-policy+xml
    • 176. Content-Length: 1288
  • 177.

178. 180. 181. 182. 183. 184. 185. 186. 187. 188. allow 189. 190.

      • 191.
    • 192.
  • 193.

194. 195. 196. 197. block 198. 199. 200. 201. XCAP (IV)

  • Problemas de XCAP
  • Especificaciones demasiado amplias.

202. Difcil interoperabilidad entre distintos clientes XCAP.

  • No hay un formato XML rgido.

Alternativas

  • XDM
  • By OpenMobileAlliance (OMA).

203. Subconjunto de especificaciones XCAP + extensiones. 204. Previsto su uso en IMS (pero no exclusivo). 205. Quin publica la presencia?

  • Lo tpico:online, busy, away...
  • El propio usuario publica su estado de presencia (MSN, XMPP, Skype...)

206. O el propio software

  • Estado idle (parado) al ausentarse del ordenador.

Acaso hay otras formas? 207. Presence Agent

  • Un nodo publica presencia por nosotros
  • Ubicado en la red, en un servidor...

208. Ejemplos:

  • Un proxy/PBX conoce desde dnde nos hemos registrado y publica nuestra geolocalizacin.

209. Un servidor de media publica los participantes en una multi-conferencia. 210. Etc... 211. Mensajera Instantnea

  • MESSAGE
  • RFC 3428

212. Un nico mensaje

  • Sin contexto

213. Tipo SMS 214. Mensajera Instantnea (II)

      • 215. Via: SIP/2.0/UDP 192.168.1.101:6060;rport;branch=z9hG4bKpfsw
    • 216. To: "manwe"
  • 217. From: "IBC" ;tag=itiwa

218. Call-ID: rmsvvperobxofer@ibc-laptop 219. CSeq: 320 MESSAGE 220. Content-Type: text/plain;charset=utf-8 221. User-Agent: Twinkle/1.4.2 222. Content-Length: 43 223. hola, tienes lista tu parte del VoIP2Day? 224. Mensajera Instantnea (III)

  • MSRP
  • RFC 4975

225. Sessin de mensajera

  • Los mensajes pertenecen a un contexto (sesin)

226. Incluye transferencia de ficheros 227. me aburro... 228. futuro comunicaciones unificadas convergencia bla bla bla... humo No ms teora por favor... 229. show me the code ! 230. Demo 231. SIPdoc SIP SIMPLE SolutionS 4 Media Server Asterisk & SEMS Proxy / Registrar Kamailio Presence Server OpenSIPS XCAP Server OpenXCAP Application Server SIPdoc RubySIP-AS EyeBeam Twinkle YASS VoIP2Day Special Edition 232. Presencia y XCAP Presence Server sip:[email protected] sip:[email protected] XCAP Server 233. Asterisk MeetMe Presence Agent Asterisk sip:[email protected] sip:[email protected] Presence Server 234. Presence Agent Application Server Presence Server i n t e r n sip:[email protected] 235. Gateway SIP MESSAGE-> Application Server Proxy / Registrar i n t e r n sip:[email protected] 236. Gateway SIP MESSAGE e-Mail Application Server Proxy / Registrar i n t e r n sip:[email protected] 237. GeoLocation Presence Agent Proxy / Registrar sip:[email protected] Presence Server sip:[email protected] 238. Acabando...

  • SIP SIMPLE es poderoso
  • La inteligencia est en el protocolo y en los terminales
  • ...y no en una PBX a base de DTMF's.

La presencia SIP SIMPLE tiene futuro

  • Faltan buenas implementaciones.

Qu es IAX?

  • ...y qu ms d?

Cmo voy de tiempo? 239. THE END

  • BYE sip: [email_address]SIP/2.0 From: sip: [email_address] Content-Type: text/plain Accept: APLAUSOS, ABUCHEOS Gracias!

240. THE END (II)

  • REFER sip: [email_address]SIP/2.0 Refer-To: sip: [email_address] From: sip: [email_address]

241. VoIP en telefona mvil e IMS 242. Estado actual 243. Dnde estamos?

  • Tenemos centralitas

244. Dnde estamos?

  • Tenemos infraestructuras de operador

245. Dnde estamos?

  • Tenemos buena presencia

246. Qu falta?

  • Ahora no estoy en casa o en el trabajo

247. Qu falta?

  • Slo tengo el mvil

248. VOIP en la red mvil actual

  • Tenemos terminales 3G

249. VOIP en la red mvil actual

  • Las tarifas de datos son caras

250. VOIP en la red mvil actual

  • Las aplicaciones estn controladas

251. VOIP en la red mvil actual

  • Podemos hacer jailbreaking

252. VOIP en la red mvil actual

  • El contrato tiene letra pequea

253. VOIP en la red mvil actual

  • El panorama general...

254. VOIP en la red mvil actual

  • Banda ancha en Espaa

255. Cimientos

  • La pregunta es sencilla:

HOYGAN 256. Cimientos

  • La respuesta no lo es:

42 257. Soluciones en el cliente 258. Enlaces GSM - PBX

  • Solucin? ms extendida

259. Enlaces GSM PBX I

  • Llamada entrante a DID

PSTN Red mvil Notify! 260. Enlaces GSM PBX II

  • Llamada entrante a mvil

PSTN Red mvil Notify! 261. Enlaces GSM PBX III

  • Es una apa:
  • No nos enteramos del estado del terminal.

262. Necesitamos N enlaces. 263. Lgica de PBX slo en llamadas entrantes o salientes apaadas. 264. Pagamos por todas las llamadas, tanto entrantes como salientes. 265. Enlatadas PBX-Mvil I

  • Soluciones de convergencia PBX-mvil
    • Ej: Divitas

266. Enlatadas PBX-Mvil II

  • Llamada entrante a DID

PSTN Red mvil Notify 267. Enlatadas PBX-Mvil III

  • Llamada saliente

PSTN Red mvil Notify 268. Enlatadas PBX-Mvil IV

  • Es una apa:
  • Pero es una apa mejor.

269. Es cara. 270. Seguimos pagando todas las llamadas entrantes y salientes. 271. Solucin OMV 272. Solucin OMV I

  • Punto de partida...

Red mvil Movil empresa X CDR 273. Solucin OMV II

  • Llegamos a un acuerdo...

Red mvil Movil empresa X Red IP 274. Solucin OMV III

  • Llegamos a un acuerdo

Red mvil Mvil empresa X Red IP #include operador SIP Empresa X Un mvil cualquiera 275. Solucin OMV IV

  • Ejemplo I

Red mvil Mvil empresa X Red IP #include operador SIP Empresa X Un mvil cualquiera Allo! Buzn Locucin personalizada Desvo condicional 276. Solucin OMV V

  • Ejemplo II

Red mvil Mvil empresa X Red IP #include operador SIP Empresa X Un mvil cualquiera Notify! Allo! 277. Solucin OMV VI

  • Ejemplo III

Red mvil Mvil empresa X Red IP #include operador SIP Empresa X Un mvil cualquiera Notify PSTN Allo! 278. Solucin OMV VI

  • Esto s es una solucin.
  • Es del lado del operador.

279. Integracin red mvil y red IP. 280. Convergencia real. Pero... seguimos teniendo red mvil.

  • El terminal sigue siendo tonto. Nos enteramos de su estado pero l no se entera del estado de los dems.

281. Solucin IMS 282. Intro

  • I pM ultimediaS ubsystem:

283. Arquitectura para el establecimiento de sesiones multimedia en redes IP. INTERNET RED MVIL 284. Antecedentes IMS ITU-R IETF ETSI 3GPP2 3GPP OMA TISPAN 285. Ventajas

  • Primera parte de la charla.

286. Quality of Service. 287. Tipos de sesin. 288. Integracin de servicios. 289. Interconexin red-agnstica. 290. Requerimientos I

  • Establecimiento de sesiones MM en redes de conmutacin de paquetes.

291. Interoperabilidad con redes tradicionales no-IMS. 292. Soporte de polticas de servicio. 293. QoS. 294. Requerimientos II

  • Mltiples tecnologas de acceso a red de datos.

295. Uso de protocolos de Internet. 296. Agilidad en estandarizacin de servicios. 297. Roaming. 298. Arquitectura MRFP IM-SSF QSA-SCS SIP-AS P-CSCF MRFC P-CSCF MGCF BGCF MGW I-CSCF S-CSCF SGW HSS SLF Access Network Access Network 299. Acceso a IMS

  • Contrato de servicio IMS.

300. Conexin a red IP. 301. Obtener direccin del proxy. 302. Registro en red IMS. 303. Ejemplo: sesin I Alice Bob P-CSCF S-CSCF I-CSCF HSS S-CSCF P-CSCF Originating Visited Network Originating Home Network Terminating Home Network Terminating Visited Network INVITE Alice Alice 100 Trying INVITE 100 Trying INVITE 100 Trying Diameter INVITE 100 Trying INVITE 100 Trying INVITE 100 Trying 183 Session Progress 183 Session Progress 183 Session Progress 183 Session Progress 183 Session Progress 183 Session Progress 304. Ejemplo: sesin II Alice Bob P-CSCF S-CSCF I-CSCF HSS S-CSCF P-CSCF Originating Visited Network Originating Home Network Terminating Home Network Terminating Visited Network PRACK PRACK PRACK PRACK PRACK 200 OK 200 OK 200 OK 200 OK 200 OK UPDATE UPDATE UPDATE UPDATE UPDATE 200 OK 200 OK 200 OK 200 OK 200 OK 305. Ejemplo: sesin III Alice Bob P-CSCF S-CSCF I-CSCF HSS S-CSCF P-CSCF Originating Visited Network Originating Home Network Terminating Home Network Terminating Visited Network Alice 180 Ringing 180 Ringing 180 Ringing 180 Ringing 180 Ringing PRACK PRACK PRACK PRACK PRACK 200 OK 200 OK 200 OK 200 OK 200 OK 200 OK 200 OK 200 OK 200 OK 200 OK 200 OK ACK ACK ACK ACK ACK 306. Conclusiones 307. Conclusiones No se ofusque con este terror tecnolgico que ha construido. La posibilidad de destruir un planeta es algo insignificante comparado con el poder de la fuerza. Darth Vader 308. Conclusiones No fracas, slo descubr 999 maneras de cmo no hacer una bombilla. Thomas Alba Edison 309. Conclusiones Pienso que hay mercado en el mundo como para unos cinco ordenadores. Thomas J. Watson Presidente de IBM 310. Conclusiones Dales lo que piden, no lo que necesitan. Lucifer 311. Conclusiones No dejes para maana lo que puedas hacer hoy. Refrn popular 312. Conclusiones Slo somos una organizacin de recogida de datos. Nosotros no exculpamos a nadie. Nosotros no condenamos a nadie." J. Edgar Hoover 313. Conclusiones Vale! Pues montar mi propio operador! Con casinos! Y furcias! Es ms, paso del operador! Y de los casinos! Al cuerno con todo!" Bender B. Rodrguez 314. Conclusiones El que llega primero al campo de batalla espera la llegada del enemigo fresco para combatir. Quien llega tarde al campo de batalla tiene que apresurarse y arriba exhausto al combate. Sun Tzu 315. Conclusiones Un Anillo para gobernarlos a todos. Un Anillo para encontrarlos, un Anillo para atraerlos a todos y atarlos en las tinieblas. Sauron 316. Conclusiones No conocer el miedo. El miedo mata la mente. El miedo es la pequea muerte que conduce a la destruccin total. Afrontar mi miedo. Permitir que pase sobre m y a travs de m. Y cuando haya pasado, girar mi ojo interior para escrutar su camino. All donde haya pasado el miedo ya no habr nada. Slo estar yo. Letana contra el miedo de la Bene Gesserit 317. Conclusiones "Somos los Borg. Sern asimilados. La resistencia es ftil. Locutus Piccard 318. Agradecimientos

  • Avanzada 7

319. Irontec y Xtratelecom 320. Olga y Jabi 321. X. Caballero 322. Mayutica