wit communications application server plataforma...

91
WIT Communications Application Server Plataforma interoperável para a convergência das telecomunicações WIT Software 2010 / 2011 21160264 Luís Gonçalo Henriques de Matos Mestrado em Informática e Sistemas Ramo de Desenvolvimento de Software Setembro 2011 Orientador ISEC: Professor Doutor João Cunha Supervisor Externo: Engenheiro Frederico Lopes

Upload: others

Post on 20-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WIT Communications Application Server

Plataforma interoperável para a convergência

das telecomunicações WIT Software

2010 / 2011

21160264 Luís Gonçalo Henriques de Matos

Mestrado em Informática e Sistemas

Ramo de Desenvolvimento de Software

Setembro 2011

Orientador ISEC: Professor Doutor João Cunha

Supervisor Externo: Engenheiro Frederico Lopes

Page 2: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 3: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

v

“Bem aventurado o homem que encontra a sabedoria, e o homem

que adquire conhecimento, pois ela é mais proveitosa do que a

prata, e dá mais lucro do que o ouro.”

Provérbios 3:13 e 14

Page 4: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 5: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

vii

À minha querida Mãe, Maria, em especial, que me tem

encaminhado e acompanhado ao longo da vida e dos momentos,

a quem devo tudo aquilo que hoje sou, pelos seus exemplos de

coragem e perseverança, à minha namorada, Ilanna, pelo amor,

paciência, compreensão, carinho e apoio durante esta jornada.

A vocês,

dedico

Page 6: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 7: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

ix

Agradecimentos

À minha família, pelo amor incondicional, apoio e incentivo na realização deste

projecto.

À minha namorada Ilanna, pelo seu amor, compreensão e paciência durante essa

jornada.

Aos meus amigos, que durante todo este tempo me acompanharam e me transmitiram

força e confiança.

Ao Professor Doutor João Cunha, o meu especial agradecimento, pela orientação,

acompanhamento e pelos excelentes conselhos que sempre me deu.

Ao Bruno Carvalho e ao Nuno Campos, pela paciência e dedicação na passagem de

conhecimento para que pudesse prosseguir com este projecto.

Ao Frederico Lopes, pelas orientações de gestão e pelo acompanhamento dado ao

longo de todo o projecto.

Ao Pedro Pereira, pelas instruções técnico-estratégicas dadas nos momentos

decisivos.

À WIT Software, por ter aceitado, apostado e confiado no meu trabalho.

E por último, mas não menos importante, a toda a família WIT que, de um modo

geral, criou todas as condições para que este projecto fosse possível.

Page 8: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 9: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

xi

Resumo

Este documento descreve o trabalho realizado por Luís Matos no âmbito do estágio do

Mestrado em Informática e Sistemas, Ramo de Desenvolvimento de Software. O

estágio decorreu na WIT Software e teve duração de 10 meses.

O Rich Communication Suite (RCS) é uma iniciativa da GSM Association (GSMA)

que conta com o esforço colaborativo da indústria de telecomunicações, com mais de

100 operadoras, fornecedores de equipamentos e empresas de telecomunicações, com

o objectivo de facilitar a introdução no mercado de aplicações móveis e a prestação de

serviços que forneçam uma experiência de comunicação avançada, interoperável e

convergente. O RCS define serviços e aplicações que introduzem listas de contactos

que mostram dinamicamente a mudança de status de presença e as possibilidades de

comunicação, e dispõe de diferentes opções de conversação.

A WIT Software desenvolveu o WIT Communications Application Server (WCAS),

um servidor inserido no WIT Communications Suite (WCS), destinado a fornecer

serviços tanto a aplicações cliente como outros servidores na rede de uma operadora

de telecomunicações. Devido à sua flexibilidade e modos de funcionamento pode

integrar-se com a rede de telecomunicações bem como com os serviços já existentes

na rede, estabelecendo e garantindo todas as comunicações necessárias entre

aplicações cliente e servidores.

Para garantir a interoperabilidade do WCAS com clientes e servidores numa rede de

telecomunicações que siga os standards do RCS, foi necessário desenvolver e evoluir

diversos módulos do WCAS para que este fique dotado dos meios necessários para

poder ser integrado com quaisquer servidores e clientes de outras empresas que

respeitem os mesmos standards. Foram realizados os testes de interoperabilidade

definidos pelo RCS com recurso a servidores externos que seguem o mesmo standard

e a clientes tanto do WCS como de outras empresas.

Palavras Chave (Tema): RCS, Telecomunicações Móveis, Interoperabilidade

Palavras Chave (Tecnologias): Java, Spring, Netty, SailFin, OCCAS, Wowza

Page 10: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 11: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

xiii

Abstract

This document introduces the work done by Luís Matos within the scope of the Master

in Informatics and Systems, Software Development Branch. The internship took place

at WIT Software during the past 10 months.

The Rich Communication Suite (RCS) is a GSM Association (GSMA) initiative,

which relies on the collaborative effort of the telecommunications industry, with over

100 mobile operators, device manufacturers and telecommunications companies,

which aims to facilitate the rapid adoption of mobile applications and services

providing an interoperable, convergent and rich communication experience. RCS

defines services and applications that introduce contact lists showing dynamically

changing of status and on-line capabilities and offers different messaging options.

WIT Software developed the WIT Communications Application Server (WCAS), a

server platform included in the WIT Communications Suite (WCS), intended to

provide services to both client applications and other servers on a network of a

telecom operator. Due to its flexibility and operating modes, it can be integrated with

the telecommunications network and with existing services, providing and ensuring

all the necessary communications between clients and servers.

To ensure WCAS interoperability with clients and servers in a telecommunications

network that follows the RCS standards, it was necessary to develop and fit out

various WCAS modules so that it is endowed to be integrated with any server and

client from other companies that comply with the same standards. The interoperability

tests defined by RCS were performed using external servers that follow the same

standards, and by application clients both from WCS and from other companies.

Keywords (Subject): RCS, Mobile Telecommunications, Interoperability

Keywords (Technologies): Java, Spring, Netty, SailFin, OCCAS, Wowza

Page 12: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 13: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

xv

Índice

Agradecimentos ............................................................................................................ ix

Resumo ......................................................................................................................... xi

Abstract .......................................................................................................................xiii

Índice ........................................................................................................................... xv

Índice de Figuras ....................................................................................................... xix

Índice de Tabelas ....................................................................................................... xxi

Notação e Glossário .................................................................................................xxiii

1 Capítulo I - Introdução ......................................................................................... 1

1.1 Enquadramento ..................................................................................................... 1

1.2 Objectivos .............................................................................................................. 3

1.3 Motivação ............................................................................................................... 6

1.4 Riscos ...................................................................................................................... 6

1.4.1 Projecto ......................................................................................................................... 7

1.4.2 Negócio ......................................................................................................................... 8

1.5 Organização do relatório ...................................................................................... 8

2 Capítulo II - Rich Communication Suite ............................................................. 9

2.1 Introdução.............................................................................................................. 9

2.2 O que é o RCS ...................................................................................................... 10

2.3 A motivação ......................................................................................................... 12

2.4 Como está organizado ......................................................................................... 12

2.4.1 Release 1 ..................................................................................................................... 12

2.4.2 Release 2 ..................................................................................................................... 17

2.4.3 RCS-e .......................................................................................................................... 20

2.5 Empresas intervenientes ..................................................................................... 23

Page 14: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

xvi

2.6 Concorrentes ........................................................................................................ 25

3 Capítulo III - Requisitos ..................................................................................... 29

3.1 Módulo de Chat ................................................................................................... 30

3.1.1 Enhanced Messaging ................................................................................................... 30

3.1.2 File Transfer................................................................................................................ 30

3.1.3 Image Share ................................................................................................................ 30

3.2 Módulo de Capabilities ........................................................................................ 32

3.3 Outros requisitos ................................................................................................. 32

3.3.1 High Availability ......................................................................................................... 32

3.3.2 Integração na plataforma existente ............................................................................... 33

3.4 Roadmap ............................................................................................................... 33

4 Capítulo IV - Metodologia de trabalho .............................................................. 37

4.1 Processo ................................................................................................................ 37

4.2 Sprints ................................................................................................................... 37

4.3 Monitorização ...................................................................................................... 37

4.4 Planeamento ........................................................................................................ 40

4.5 Equipa de projecto .............................................................................................. 41

4.6 Validação e Testes ............................................................................................... 42

4.7 Gestão da Informação ......................................................................................... 43

5 Capítulo V - Tecnologia e Protocolos ................................................................. 45

5.1 Tecnologia ............................................................................................................ 45

5.2 Protocolos ............................................................................................................. 47

6 Capítulo VI - Arquitectura .................................................................................. 49

7 Capítulo VII - Resultados ................................................................................... 51

8 Capítulo VIII - Conclusões ................................................................................. 53

8.1 Objectivos realizados .......................................................................................... 53

8.2 Trabalho futuro ................................................................................................... 55

8.3 Lições aprendidas ................................................................................................ 55

Page 15: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

xvii

Bibliografia .................................................................................................................. 57

Anexo 1 Competitors Analysis ............................................................................... 61

Anexo 2 WCAS Detailed Design ........................................................................... 63

Anexo 3 WCAS Chat Protocol .............................................................................. 65

Anexo 4 WCAS Chat Module Performance Report ............................................. 67

Page 16: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 17: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

xix

Índice de Figuras

Figura 1 - Cenário WWC ↔ WCAS ↔ WWC. _____________________________________________4

Figura 2 - Cenário WWC ↔ WCAS ↔ Servidor SIP Externo ↔ WPC. _________________________5

Figura 3 - Cenário WWC ↔ WCAS ↔ WPC. _____________________________________________5

Figura 4 - Gráfico Hours Burndown with Cumulative Flow._________________________________38

Figura 5 - Gráfico Workitem Cumulative Flow.___________________________________________39

Figura 6 - Product Backlog. __________________________________________________________40

Figura 7 - Sprint Backlog. ___________________________________________________________41

Figura 8 – Branch, merge e tag (release) do projecto. _____________________________________43

Page 18: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 19: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

xxi

Índice de Tabelas

Tabela 1 - Concorrentes do WCAS. ____________________________________________________26

Tabela 2 - Roadmap das etapas e iterações do projecto. ____________________________________33

Tabela 3 - Features implementadas por release. __________________________________________36

Tabela 4 - Equipa de projecto. ________________________________________________________41

Page 20: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 21: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

xxiii

Notação e Glossário

3GPP 3rd Generation Partnership Project

API Application Programming Interface

BANIF Banco Internacional do Funchal

BCP Banco Comercial Português

CDMA Code Division Multiple Access

CGD Caixa Geral de Depósitos

CPIM Common Presence and Instant Messaging

EAB Enhanced Address Book

EDP Energias de Portugal

F2S Flash To SIP

GSMA Global System for Mobile Communications Association

HTTP Hypertext Transfer Protocol

I&D Investigação e Desenvolvimento

IDE Integrated Development Environment

IM Instant Messaging

IMS IP Multimedia Subsystem

IP Internet Protocol

IPTV Internet Protocol Television

J2ME Java Platform Micro Edition

JAIN Java APIs for Integrated Networks

JDBC Java DataBase Connectivity

JSR Java Specification Request

LTS Long Term Support

Page 22: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

xxiv

MMS Multimedia Messaging Service

MMSC Multimedia Messaging Service Center

MSISDN Mobile Subscriber Integrated Services Digital Network Number

MSRP Message Session Relay Protocol

NAB Network Address Book

NIO New Input Output

OCCAS Oracle Communications Converged Application Server

OMA Open Mobile Alliance

PC Personal Computer

PSTN Public Switched Telephone Network

RCE Rich Communication Ecosystem

RCS Rich Communication Suite

RDBMS Relational DataBase Management System

RIA Rich Internet Application

SDP Session Description Protocol

SIMPLE Session Initiation Protocol for Instant Messaging and Presence

Leveraging Extensions

SIP Session Initiation Protocol

SMS Short Message Service

SMSC Short Message Service Center

SVN Subversion

SWQ Software Quality

TCP Transmission Control Protocol

TV Television

UDP User Datagram Protocol

UMTS Universal Mobile Telecommunications System

Page 23: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

xxv

WCAS WIT Communications Application Server

WCS WIT Communications Suite

WMC WIT Mobile Communicator

WPC WIT PC Communicator

WWC WIT Web Communicator

XCAP XML Configuration Access Protocol

XDMS XML Document Management Server

XML Extensible Markup Language

Z2M2 Zero Bugs, Zero Delays, Maximum Productivity, Maximum

Customer Satisfaction

Page 24: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 25: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 1

1 Capítulo I - Introdução

Este capítulo faz um enquadramento do estágio, apresentando os objectivos, a

motivação para realizar este projecto e um breve resumo sobre a WIT Software, o

Rich Communication Suite e o WIT Communications Application Server.

1.1 Enquadramento

O estágio a que o presente relatório se refere foi realizado no WIT-Lab -

departamento de I&D da WIT Software [1]. A WIT Software é uma empresa de

software que desenvolve aplicações e serviços avançados na área das

telecomunicações móveis. A empresa foi criada em 2001, tem Headquarters em

Coimbra, dois centros de desenvolvimento, no Porto e Leiria, um escritório em Lisboa

e uma filial em San Jose (California, US) para desenvolvimento de negócio.

A empresa está organizada em 3 unidades de negócio:

1. Telco - Esta unidade faz desenvolvimento de software para operadoras de

telecomunicações móveis e tem clientes na Europa, Estados Unidos e África.

A unidade é ainda responsável pelo produto WIT Communications Suite, uma

solução de software para convergência das comunicações móveis,

comunicações fixas e da Internet;

2. Mobile - Esta unidade dedica-se ao desenvolvimento de aplicações para

terminais móveis nas seguintes plataformas: iPhone/iPad, Android,

Blackberry, J2ME, Symbian. A unidade tem vários clientes na área da banca

(BCP, CGD, BANIF), na área dos media (Impresa e Controlinveste) assim

como alguns clientes internacionais, como é o caso da TomTom e da Real

Networks;

3. Digital TV - Esta unidade é responsável pelo desenvolvimento de uma

plataforma de widgets para TV cujo target são operadoras de cabo e IPTV.

Tem clientes na Europa e Estados Unidos e tem expertise em desenvolvimento

de software para Microsoft Mediaroom e OpenTV.

A empresa tem uma forte ligação à Universidade de Coimbra e por este motivo é uma

empresa com grande competência para actividades de I&D. O WIT-Lab é responsável

Page 26: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 2

por inovar, idealizar e exceder as expectativas para gerar novas soluções que possam

trazer valor para o mercado.

O WIT Communications Suite é um dos produtos desenvolvidos na empresa. Esta

suite é composta por diferentes aplicações para diferentes plataformas:

WIT PC Communicator;

WIT Web Communicator;

WIT Mobile Communicator;

WIT Toolbar Communicator.

As aplicações acima listadas são as aplicações clientes. A juntar a estas existe o WIT

Communications Application Server (WCAS) que é um servidor de telecomunicações

e é onde este estágio se foca. Este servidor é composto por um conjunto de módulos

que permite fornecer serviços às aplicações do WIT Communications Suite (WCS)

assim como a outras que sigam os mesmos standards. O desenvolvimento do servidor

WCAS foi feito tendo em conta as normas existentes para que fosse possível

integrá-lo com outros sistemas, como por exemplo, Short Message Service Center

(SMSC), Multimedia Messaging Service Center (MMSC), Media Gateway,

Authentication Server e Billing Systems.

O Rich Communication Suite (RCS) é uma iniciativa da GSM Association (GSMA)

que conta com o esforço colaborativo da indústria de telecomunicações, com mais de

100 operadoras, fornecedores de equipamentos e empresas de telecomunicações, com

o objectivo de facilitar a introdução no mercado de aplicações móveis e a prestação de

serviços que forneçam uma experiência de comunicação avançada, interoperável e

convergente. O RCS define serviços e aplicações que introduzem listas de contactos

que mostram dinamicamente a mudança de status de presença e as possibilidades de

comunicação, e dispõe de diferentes opções de conversação. A GSMA baseia-se nas

normas definidas pela Open Mobile Alliance (OMA), uma organização de

normalização que desenvolve open standards para a indústria de telecomunicações

móveis. A partir destes standards foram adoptadas um conjunto de features,

simplificadas outras e excluídas as restantes, criando assim as várias versões do RCS.

Com o aparecimento do RCS houve a intenção de tornar o WCAS compliant com

este. Para isso foi necessário implementar novos módulos e adaptar alguns já

Page 27: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 3

existentes de modo a garantir a interoperabilidade do WCAS com clientes e

servidores numa rede de telecomunicações que siga os standards descritos na

iniciativa RCS. O WCAS ficou dotado dos meios necessários para poder ser integrado

com quaisquer outros servidores e clientes de outras empresas que respeitem os

mesmos standards. Foram realizados os testes de interoperabilidade definidos pelo

RCS com recurso a servidores externos que seguem o mesmo standard e a clientes

tanto do WCS como de outras empresas.

1.2 Objectivos

O objectivo da WIT Software é tornar o WCAS compliant com o RCS, do mesmo

modo que algumas aplicações do WCS já o são. Como para alcançar este objectivo

era necessária a implementação de diversos módulos e a modificação de alguns já

implementados, para este estágio foi definido como objectivo a implementação do

Módulo de Chat. Este módulo representava uma importante meta a atingir pela WIT

Software e já abrangia diversas features do RCS (Enhanced Messaging, File Transfer

e Image Share), além de que permitia que o WCAS pudesse suportar mais um

protocolo de media, o protocolo Message Session Relay Protocol (MSRP), que é um

dos protocolos utilizados nas comunicações entre aplicações cliente e servidores RCS.

No decorrer do estágio foi adicionado aos objectivos a implementação do Módulo de

Capabilities. Este módulo, que é bastante mais simples que o Módulo de Chat, iria

tratar uma feature que está definida no RCS-e (uma extensão ao RCS). Este objectivo

foi introduzido dado o grande interesse da WIT em ser também compliant com o

RCS-e e por as tendências das operadoras de telecomunicações estarem a convergir

primeiro para RCS-e e só depois para RCS.

O WCAS tem a capacidade de comunicar com todas as aplicações da WCS e de

colocá-las a comunicar umas com as outras. Nem todas elas usam os mesmos

protocolos, pelo que o fluxo de comunicação de uma aplicação até à outra passa por

diversas camadas de tradução dentro do WCAS. A aplicação WIT Web Communicator

(WWC) é um softphone1 e o protocolo de comunicação é diferente dos restantes, neste

caso proprietário da WIT, pois foi desenvolvido internamente (consultar Anexo 3 -

1 Um softphone é um software que permite fazer chamadas através da Internet, utilizando um

computador em vez de utilizar hardware dedicado (telefone).

Page 28: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 4

WCAS Chat Protocol). Dado que esta aplicação é totalmente dependente do WCAS

e sendo também intenção de torná-la compliant com o RCS, o protocolo de

comunicação devia ser desenvolvido considerando os requisitos definidos pelo RCS.

O WCAS tem dois modos de funcionamento:

F2S - Flash-to-SIP, onde o WCAS funciona como uma gateway e permite que

o WWC comunique com clientes SIP, nomeadamente clientes RCS. O WCAS

assume o comportamento de um “cliente” para outros servidores SIP;

Standalone - O WCAS assume o comportamento de um servidor

independente, aceitando ligações de clientes RCS ou outro tipo de clientes que

implementem as normas definidas no servidor.

O grande módulo que faltava no WCAS e que devia ser implementado era o Módulo

de Chat, que seguia a especificação OMA SIMPLE IM session mode. Este módulo foi

o ponto central do estágio e devia ser implementado de modo a permitir a

comunicação entre todas as aplicações do WCS. Isto implicava a implementação de

várias camadas de tradução para que o WCAS pudesse operar tanto no modo F2S

como Standalone. Dada a combinação destas possibilidades o trabalho foi dividido

em três cenários:

Comunicação WWC ↔ WCAS ↔ WWC - Desenvolvimento do Módulo de

Chat apenas orientado para clientes WWC. Implementação da camada de

tradução para clientes Flash e as funcionalidades necessárias no core do

WCAS;

RTMP

RTMP

WIT Web CommunicatorWIT Web Communicator WCASWCAS

WIT Web CommunicatorWIT Web Communicator

WIT Software Domain

Figura 1 - Cenário WWC ↔ WCAS ↔ WWC.

Page 29: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 5

Comunicação WWC ↔ WCAS ↔ Servidor SIP Externo ↔ WPC -

Implementação de uma camada de tradução para o WCAS se poder comportar

como “cliente” para um servidor SIP (modo WCAS F2S). Esta camada de

tradução incluía SIP e MSRP;

SIPMSRP

SIPMSRP

External SIP ServerExternal SIP Server

RTMP

WIT Web CommunicatorWIT Web Communicator WCASWCAS

WIT PC CommunicatorWIT PC Communicator

WIT Software Domain

Figura 2 - Cenário WWC ↔ WCAS ↔ Servidor SIP Externo ↔ WPC.

Comunicação WWC ↔ WCAS ↔ WPC - Implementação de uma camada

de tradução para o WCAS poder aceitar ligações de clientes SIP directamente

a ele (modo WCAS Standalone).

SIPMSRP

RTMP

WIT Web CommunicatorWIT Web Communicator WCASWCAS

WIT PC CommunicatorWIT PC Communicator

WIT Software Domain

Figura 3 - Cenário WWC ↔ WCAS ↔ WPC.

Este módulo devia ser preparado para funcionar tendo em conta um subsistema de

High Availability, que iria permitir que o Módulo de Chat estivesse preparado para

uma instalação numa rede onde estariam presentes outras instâncias do WCAS a

funcionar em cluster. Isto iria tornar o WCAS mais robusto, escalável e tolerante a

falhas.

Page 30: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 6

1.3 Motivação

A iniciativa RCS teve início a 16 Maio de 2007 e é apoiada pelos principais players

da indústria de telecomunicações. Estes incluem operadoras de telecomunicações,

fornecedores de serviços de rede e de dispositivos móveis (consultar capítulo 2.5 -

Empresas intervenientes para ver a lista de empresas).

Estando o mercado a convergir para esta iniciativa e tendo a WIT já uma linha de

produtos que abrange as mais diversas opções de comunicação, isso representa a

oportunidade de alargar e consolidar a sua presença no mercado das

telecomunicações, tanto a nível nacional como internacional. Nesta linha de produtos

está presente o WCAS que já cumpre alguns dos requisitos definidos pelo RCS, no

entanto segue algumas especificações diferentes. Seguir as especificações definidas

pelo RCS representa a oportunidade de estar de acordo com uma iniciativa a nível

mundial e onde ainda existem poucas soluções a nível de servidores RCS.

Ser compliant com o RCS permite que o WCAS possa servir não só qualquer

aplicação cliente que siga a mesma norma, mas também representa a possibilidade de

poder ser integrado numa rede IP Multimedia Subsystem (IMS) de uma operadora. O

WCAS foi desenhado desde o início para poder funcionar tanto em standalone como

numa rede IMS, que seguem protocolos específicos para que todos os sistemas

presentes sejam interoperáveis.

1.4 Riscos

Como qualquer projecto de software também este esteve sujeito a alguns riscos. Esta

secção apresenta aquilo que representava um risco para o projecto e que, de certo

modo, poderia afectar ou comprometer o seu desenrolar. São apresentadas também as

estratégias adoptadas para gerir e lidar com cada um dos riscos.

Os riscos foram divididos em duas categorias: Projecto e Negócio. No projecto serão

considerados os riscos que estão directamente relacionados com o projecto e com o

estágio. No negócio serão considerados os riscos que afectariam directamente os

objectivos estratégicos da empresa.

Page 31: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 7

1.4.1 Projecto

Área das telecomunicações

A área das telecomunicações é relativamente complexa e lida com diversas situações

para garantir o bom funcionamento do fluxo de uma comunicação. Como o projecto

insidia directamente nesta área e como ela era praticamente desconhecida por mim, no

início do projecto isto representou um risco considerável. Durante o projecto procurei

aprender alguns temas e práticas relacionadas com o desenvolvimento deste tipo de

servidores. À medida que o tempo passou e o projecto avançou este risco acabou por

se dissipar.

Definição de requisitos

A especificação RCS é composta por uma documentação extensa e complexa de ler e

compreender. Depreender os requisitos para os clientes já é uma tarefa difícil, deduzir

o que é necessário para o servidor é ainda mais. É necessário além de perceber a

comunicação com as aplicações cliente, perceber a implementação do requisito na

arquitectura do servidor. No início do projecto foi de facto complicado e apenas com

alguma ajuda de pessoas mais experientes foi possível perceber melhor os requisitos e

assim defini-los claramente.

Estimativas

Estimar é uma tarefa difícil, estimar aquilo que ainda não se conhece, além de difícil

está sujeito a uma taxa de erro muito grande. Mais uma vez esta foi uma tarefa difícil

que se manteve durante grande parte do projecto. De modo a minimizar o erro,

sempre procurei decompor uma tarefa em tudo aquilo que era necessário fazer para

ela estar concluída, só que nem sempre isto era possível fazer sem antes começar a

implementar algo, pois apenas aí era possível determinar as restantes tarefas que eram

necessárias fazer. Apesar disso os prazos dados inicialmente não foram muito

diferentes daquilo que foi estimado inicialmente, apesar de em determinadas alturas

ocorrer algum overwork.

Page 32: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 8

1.4.2 Negócio

Time-to-market

O tempo que um software leva a ser introduzido no mercado pode ser determinante

para o seu sucesso, pois se esse tempo for muito longo pode haver o risco de ser

ultrapassado pela concorrência. No início dos projectos os concorrentes são poucos,

mas com o passar do tempo o número de concorrentes tende a aumentar e torna-se

mais complicado ganhar uma posição. Durante o projecto foi sempre partilhada muita

informação entre a equipa WCS. Esta informação muitas vezes incluía novidades

sobre o RCS e sobre os concorrentes. Isto foi muito útil, pois permitiu ter

conhecimento de como estava a evoluir o mercado e a concorrência.

Dinâmica do mercado

Este risco acaba por afectar mais o estágio do que o próprio projecto. Os mercados

são dinâmicos e a empresa onde foi feito o estágio também. Isto representa um risco

porque nem sempre o objectivo que se tem agora é igual daqui a uns meses, fazendo

com que a empresa ajuste o seu foco. Isto de facto verificou-se, no entanto, o foco da

empresa não mudou radicalmente, apenas ficou mais direccionado, como foi o caso da

inclusão do RCS-e no roadmap, que não estava previsto inicialmente.

1.5 Organização do relatório

Este relatório encontra-se organizado em oito capítulos, focando cada um deles um

assunto específico do estágio. O Capítulo I (o presente capítulo) faz uma introdução

do âmbito do estágio e resume do que este se trata. No Capítulo II é feita a

apresentação do RCS e da convergência das telecomunicações. No Capítulo III são

apresentados os requisitos do RCS e do estágio e é apresentado o roadmap. O

Capítulo IV detalha a metodologia e os processos seguidos ao longo do estágio. O

Capítulo V fala sobre toda a tecnologia e protocolos que foram utilizados no estágio.

No Capítulo VI é apresentada a arquitectura do WCAS, sendo apresentada não só uma

visão de alto nível, mas também os detalhes de implementação. O Capítulo VII

apresenta os testes de performance realizados ao WCAS. Por último, o Capítulo VIII

apresenta as conclusões sobre o estágio.

Page 33: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 9

2 Capítulo II - Rich Communication Suite

As informações apresentadas neste capítulo foram obtidas através de pesquisas

efectuadas na Internet, leitura de notícias e artigos relacionadas com a convergência

das telecomunicações e leitura da documentação disponível sobre o RCS.

2.1 Introdução

A área das telecomunicações passou por diversas fases de evolução ao longo do

tempo e nos últimos anos revolucionou principalmente com aquilo que oferecia [2].

No início das telecomunicações existia um número reduzido de dispositivos que

permitia realizar comunicações simples, as comunicações eram apenas de voz e com

uma qualidade reduzida [3]. Como tudo era feito com base na mesma feature, as

normas e os standards utilizados eram reduzidos, o que permitia uma fácil

interligação e entendimento entre os diversos dispositivos existentes. À medida que os

dispositivos foram evoluindo a qualidade das features existentes foi sendo melhorada

e foram aparecendo outras features [4]. Esta evolução trouxe a necessidade de

interoperabilidade entre os diferentes tipos de dispositivos, com diferentes

capacidades, para que pudessem ser utilizados em simultâneo e realizassem

comunicações entre si.

Esta evolução também tem feito com que a forma como se queira iniciar uma

comunicação passe a ser de maneira diferente e a partir de algo diferente. Os

utilizadores querem ser capazes de comunicar, aceder e partilhar informação em

qualquer lugar, a qualquer hora e a partir de qualquer dispositivo ligado a uma rede de

telecomunicações [2] [5]. Têm aparecido novos dispositivos ao longo de diversas

gerações e muitos deles têm-se mantido até aos dias de hoje, permitindo a

coexistência de várias tecnologias de comunicação. Isto obrigou a que houvesse um

entendimento entre fornecedores de equipamentos e operadoras de telecomunicações

para permitir o funcionamento em simultâneo de diversos dispositivos distintos.

Com o passar do tempo e com a disponibilidade da banda larga móvel e a

convergência das telecomunicações, surgiram dispositivos mais poderosos e com

capacidade de executar funções como voz e vídeo de alta qualidade. Um conjunto de

opções de comunicação que anteriormente estavam limitadas à interface de um

computador estão agora disponíveis nos dispositivos móveis e em outros dispositivos

Page 34: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 10

de comunicação, como por exemplo, uma TV [4] [6]. Aplicações multimédia, troca de

ficheiros, mensagens instantâneas, presença e redes sociais estão a tornar-se tão

comuns nos dispositivos móveis como o SMS e o MMS.

Estes dispositivos trouxeram novas formas de entendimento de modo a poderem

interagir com os já existentes. A componente multimédia destes dispositivos fez com

que a utilização das suas funcionalidades se expandisse para todos os dispositivos

com ligação a uma rede de comunicações. O mercado das telecomunicações evoluiu

para dimensões que vão para além das tradicionais comunicações com telefones e

telemóveis. Hoje em dia as comunicações podem ser feitas tanto a partir de um

telefone tradicional, um softphone ou mesmo uma TV [7]. Por detrás destas soluções

está um circuito de servidores que, de segmento em segmento de rede, vai

convertendo tecnologias de modo a tornar a comunicação possível.

2.2 O que é o RCS

O Rich Communication Suite é uma iniciativa da GSMA que conta com o esforço de

um grupo de players da indústria de telecomunicações com um objectivo comum: a

rápida adopção de aplicações móveis e prestação de serviços que forneçam uma

experiência de comunicação avançada, interoperável e convergente. A iniciativa RCS

inclui operadoras de telecomunicações, fornecedores de serviços de rede e de

dispositivos móveis. Esta iniciativa usa uma metodologia iterativa para disponibilizar

um conjunto de features coerentes, normas de implementação, casos de uso,

demonstrações e experimentações, tendo em conta as implementações de referência

para a interoperabilidade, baseada nos actuais standards e especificações. Os

resultados do RCS destinam-se a ser fornecidos como inputs para as entidades do

sector, de forma a serem considerados como uma especificação de referência.

O RCS define um conjunto de features avançadas que podem ser iniciadas a partir do

Enhanced Address Book (EAB). O EAB (uma evolução do livro de endereços

tradicional) permite saber as possibilidades de comunicação de um contacto e

juntamente com a informação de presença que também está disponível no EAB

consegue-se melhorar a experiência do utilizador e promover a utilização das features.

A abordagem do RCS não comtempla a definição de novas features, mas sim a

agregação e exploração de features standard de modo que possa ser feita uma oferta

mais eficiente e equilibrada.

Page 35: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 11

O RCS utilizada a arquitectura IP Multimedia Subsystem para possibilitar a integração

das features e para que estas sejam interoperável entre diferentes fornecedores de

serviços. As features RCS podem ser utilizadas tanto em dispositivos móveis como

fixos e são interoperáveis entre estes dois ambientes de rede. Das várias features

existentes, a presença é aquela que desempenha o papel fundamental no RCS, pois é

ela que permite determinar as possibilidades de comunicação de um contacto e isso é

um factor essencial para despoletar o uso das restantes features.

A interoperabilidade é vital para o RCS, pois sem features que funcionem

transversalmente aos dispositivos e às redes os utilizadores terão pouco incentivo para

as utilizar. A interoperabilidade comercial entre fornecedores e operadoras de

telecomunicações é um dos objectivos a serem alcançados com esta iniciativa. Outro

objectivo do RCS é proporcionar uma framework comum para um serviço que é

interoperável entre operadoras de telecomunicações e dispositivos. O RCS não define

as suas próprias especificações, mas explora as especificações standard existentes,

por exemplo, a 3rd Generation Partnership Project (3GPP) e a Open Mobile Alliance

(OMA). Desde o início que o RCS deu prioridade à interoperabilidade tanto entre

dispositivos como entre redes. Somente com esta abordagem se consegue assegurar

uma interoperabilidade plena de comunicação.

Para acelerar e facilitar a introdução das features, os participantes da iniciativa RCS

agiram das seguintes formas:

Definiram um conjunto features, aproveitando os standards e normas de

implementação existentes, criando assim um conjunto de comunicações

interoperáveis baseadas em IMS. O IMS é uma arquitectura importante para

trazer estas features para o consumidor de forma interoperável;

Desenvolveram implementações de referência do RCS para dispositivos

comerciais e validaram os requisitos base e as especificações técnicas para

garantir a interoperabilidade de serviços;

Criaram testes de interoperabilidade, realizados entre múltiplos fornecedores,

para garantir e verificar a maturidade das features RCS.

O RCS não especifica a implementação da interface dos dispositivos, apenas se centra

nos requisitos de interconexão e interoperabilidade necessários de modo a definir as

features para um conjunto de comunicações avançadas. Não é intenção do RCS criar

Page 36: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 12

novos standards, em vez disso pretende especificar um conjunto de features que

podem ser implementadas utilizando standards já existentes.

2.3 A motivação

Hoje em dia os utilizadores precisam de saber qual a plataforma de conversação que

os seus contactos utilizam (Windows Live Messenger, Skype, etc.) e para estabelecer

contacto com eles é necessário utilizar credenciais específicas da aplicação. O RCS

permite conversações apenas com base na informação do número de telefone, que já

está armazenada no livro de endereços e faz com que os utilizadores possam

interligar-se de forma mais fácil.

Serviços e aplicações que introduzem listas de contactos que mostram dinamicamente

a mudança de status de presença e as possibilidades de comunicação, diferentes

opções de conversação e a possibilidade de agregar conteúdos, são apenas alguns

exemplos desta experiência de comunicação. Os consumidores podem ter a certeza de

que estes recursos não estão disponíveis apenas num PC, mas também num

dispositivo móvel e que existe uma comunicação plena entre dispositivos e redes.

Com o RCS as operadoras de telecomunicações podem satisfazer as expectativas dos

clientes e continuar a apresentar serviços cada vez mais evoluídos com base nas

exigências dos consumidores.

2.4 Como está organizado

O trabalho da iniciativa RCS está dividido numa sequência de esforços

progressivamente publicados como releases. De seguida são apresentadas a release 1,

a release 2 e uma evolução do RCS, o RCS-e (enhanced),

2.4.1 Release 1

Na release 1 estão definidas as features base que fazem parte do RCS. Cada uma

destas features dispõe de um conjunto de características que aprimoram a interacção

com o utilizador. Esta release é composta pelas seguintes features:

Enhanced Address Book;

Content Sharing;

o Video Share;

Page 37: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 13

o Image Share;

File Transfer;

Enhanced Messaging.

2.4.1.1 Enhanced Address Book

O Enhanced Address Book (EAB) é uma evolução do livro de endereços tradicional.

Com base na informação tradicional de um contacto (por exemplo, nome e MSISDN),

fornece informação avançada sobre os contactos existentes. O EAB é um elemento

fundamental do RCS e permite que os utilizadores façam uso das seguintes features:

Saber informações das possibilidades de comunicação dos contactos;

Iniciar comunicações;

Efectuar chamadas de voz e vídeo;

Efectuar transferência de ficheiros;

Enviar mensagens;

Publicar as informações de presença com atributos de texto e multimédia;

Emitir um alerta de hyper-availability com tempo limitado aos contactos

autorizados;

Capacidade de incluir elementos multimédia, por exemplo, uma fotografia do

contacto;

Publicar informação de presença para contactos autorizados;

Convidar e autorizar utilizadores a partilhar as informações de presença de

forma recíproca;

Permitir aos utilizadores adicionar um contacto a uma lista de contactos

bloqueados (blacklist) para evitar a partilha de informações de presença com

esses contactos e deixar de receber novos convites para a partilha de

informações de presença;

Permitir aos utilizadores aceder facilmente aos contactos avançados;

Mostrar informações de presença e conteúdos relacionados a cada um dos

contactos avançados;

Page 38: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 14

Ser notificado das actualizações das informações de presença e alertas de

hyper-availability feitos pelos contactos avançados;

Beneficiar de um histórico por contacto incluindo todos os tipos de

comunicação;

Permitir efectuar pesquisas tanto localmente no livro de endereços pessoal

como em outros recursos externos;

Assegurar o backup e sincronização do Address Book com o Network Address

Book, que pode ser executada automaticamente, permitindo uma sincronização

transparente em diferentes dispositivos do utilizador.

O Network Address Book (NAB) é fundamental para oferecer as features do EAB,

uma vez que oferece um repositório para armazenar os contactos do utilizador, que é

acessível a partir de múltiplos dispositivos.

O EAB dispõe das seguintes features:

Presença;

Enriched Contacts List;

Service Capability Indication.

Presença

A presença é vista como um pedaço de informação para os contactos, para que eles

possam saber o que o utilizador está a fazer, o seu estado de espírito, a

disponibilidade, entre outras informações relacionadas com o utilizador. Ao utilizador

é dada a possibilidade de publicar informações pessoais que formam a sua informação

de presença. Como ilustração, o grupo de contactos com os quais foi estabelecida uma

relação de presença pode ser visto como os contactos mais próximos de um

determinado utilizador (amigos, familiares, colegas, etc.).

A informação de presença não substitui o contacto vCard2 do livro de endereços

tradicional. O nome do contacto e outras informações não sofrerão qualquer impacto e

toda a informação de presença é controlada pelo utilizador.

2 vCard é um formato standard para cartões de visita electrónicos. Costumam estar associados às

mensagens de e-mail, mas podem ser enviados pela Internet ou através de IM. Contêm informações de

Page 39: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 15

Tendo sido estabelecida uma relação de presença com um determinado contacto, a

informação de presença passará a ser visível a partir do EAB. Também é visível a

partir de outros lugares do dispositivo, por exemplo, nos logs de comunicações

efectuadas ou pastas de mensagens.

Enriched Contacts List

De modo a facilitar o controlo sobre os contactos que têm acesso à informação de

presença do utilizador, é possível ter um acesso directo e diferenciado aos contactos

com os quais foi estabelecida uma relação de presença. Há um acesso aprimorado no

EAB que exibe tanto a presença dos contactos avançados como dos contactos

tradicionais. Os contactos com presença são claramente identificados, por exemplo,

apresentando alguns atributos da presença, como a fotografia, free text, etc. É possível

ter uma visão detalhada de um contacto com presença, onde os atributos relevantes

das informações de presença são exibidos.

Service Capability Indication

As possibilidades de comunicação que podem ser mostradas para o utilizador são:

Video Call;

Image Sharing;

Video Sharing;

File Transfer;

Chat.

A indicação das possibilidades de comunicação pode ser disponibilizada para todos os

contactos no livro de endereços, sem a necessidade de estabelecer uma relação de

presença. Por exemplo, um contacto no livro de endereços pode não ser de uma

pessoa conhecida, mas se ele tiver um dispositivo RCS, as possibilidades de

comunicação podem ser conhecidas de modo a poder estabelecer uma comunicação

avançada com esse contacto. Esta informação também permite que os utilizadores

saibam que contactos podem ser convidados a partilhar informações de presença.

contacto como nome, morada, números de telefone, endereços de e-mail, URLs, logotipos, fotografias

e clipes de áudio.

Page 40: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 16

2.4.1.2 Content Sharing

É a capacidade que os utilizadores têm de trocar diferentes tipos de conteúdo durante

uma sessão, normalmente uma chamada de voz, mas não exclusivamente. Os

conteúdos partilhados durante uma chamada de voz podem ter um outro fluxo em

transmissão ao mesmo tempo. Cada vez que uma chamada de voz for estabelecida o

utilizador tem a possibilidade de partilhar conteúdos.

Esta feature pode ser iniciada por ambas as partes, tanto quem iniciou como quem

recebeu a chamada. Quando um utilizador inicia a partilha de conteúdos é enviado um

convite para o outro contacto, que pode ser aceite ou rejeitado. Caso seja aceite, esta

aceitação persistirá para todos os conteúdos partilhados durante a chamada. O

receptor tem a possibilidade de guardar o conteúdo partilhado no dispositivo. Os

conteúdos partilhados podem ser tanto de imagem como vídeo.

2.4.1.3 File Transfer

É a capacidade que os utilizadores têm de trocar diferentes tipos de ficheiros, durante

uma sessão em curso ou sem ter uma sessão em curso. As sessões podem ser

chamadas de voz ou chat. Esta feature pode ser iniciada tanto por quem inicia como

por quem recebe a chamada ou o pedido de chat. O receptor pode aceitar ou rejeitar os

ficheiros oferecidos e, caso aceite, tem a possibilidade de guardar os ficheiros que são

transferidos no dispositivo.

2.4.1.4 Enhanced Messaging

O Enhanced Messaging tira partido dos números de identificação única (MSISDN),

ao contrário dos serviços de mensagens típicos de Internet. Além de serviços de SMS

e MMS um dispositivo RCS também oferece ao utilizador um serviço de chat.

Os MMS e principalmente os SMS são serviços já muito bem estabelecidos e que

existem no dia-a-dia dos utilizadores. O chat não é um substituto destes serviços de

mensagens, mas sim um serviço paralelo com os seus próprios valores. Esses valores

podem ser exemplificados por meio de conference chats, alertas vibratórios,

conteúdos multimédia, informação de “is typing” e incorporando a transferência de

ficheiros.

Page 41: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 17

Chat

Um dispositivo compatível com RCS, além do suporte para os métodos de mensagens

tradicionais, oferece ao utilizador um serviço de chat. O serviço de chat pode ser

usado no modo um para um, em que apenas dois utilizadores estão em conversação,

ou no modo de conference chat, com vários utilizadores ao mesmo tempo em

conversação entre si.

Em termos de RCS só é possível utilizar o chat com dispositivos RCS ou com outros

dipositivos que suportem OMA SIMPLE IM session mode. As mensagens que são

trocadas entre os utilizadores podem conter texto ou conteúdo multimédia.

2.4.2 Release 2

A release 2 explora e melhora as features da versão anterior, possibilitando a

utilização das mesmas a partir de vários de dispositivos. Enquanto a release 1 definia

apenas um dispositivo em utilização ao mesmo tempo, a release 2 define a utilização

de vários dispositivos pelo mesmo utilizador ao mesmo tempo. Estes dispositivos

podem ser, por exemplo, um telemóvel e um computador.

As features que fazem parte da release 2 são:

Broadband Access to RCS features;

Multi-device environment;

Network Address Book;

Provisioning and configuration of RCS devices/clients.

2.4.2.1 Broadband Access to RCS features

Os utilizadores RCS poderão utilizar as features de comunicação avançada em

dispositivos que utilizem ligações de banda larga, por exemplo, um PC ou um portátil.

Um utilizador poderá ter diferentes tipos de clientes RCS ligados simultaneamente e

que utilizem diferentes tipos de acesso à rede (banda larga ou a rede da operadora) e

pode iniciar uma feature RCS a partir de qualquer um deles. Clientes RCS de

diferentes operadoras poderão comunicar entre si. Aqui é necessário que a

infra-estrutura de rede das operadoras seja interoperável. Um cliente RCS release 1

também conseguirá realizar comunicações com um cliente RCS release 2.

Page 42: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 18

2.4.2.2 Multi-device environment

Como a release 2 introduz o suporte para dispositivos de acesso através de banda

larga, permite que os utilizadores usem as features RCS, por exemplo, a partir de um

PC. A combinação habitual para utilizar as features RCS pode ser o cliente ter um

dispositivo móvel e um dispositivo de acesso através de banda larga. Além desta

combinação outras serão possíveis no futuro, como por exemplo, uma TV.

O ambiente Multi-device permite ao utilizador:

Atender uma chamada ou responder a uma mensagem a partir do dispositivo

que melhor se adapte ao efeito;

Ter uma única lista de contactos partilhada entre os vários dispositivos;

Ser capaz de autorizar convites para partilhar informações de presença a partir

de cada dispositivo;

Ter uma única informação de presença que pode ser vista e mantida a partir de

cada dispositivo que o utilizador tiver.

O modo de funcionamento geral será quando um utilizador tiver vários dispositivos

em utilização e for feita uma chamada ou enviada uma mensagem. Esta chamada ou

mensagem será enviada para todos os dispositivos e cada um irá alertar para esse

acontecimento. O utilizador poderá então responder a partir do dispositivo que melhor

lhe convier. Quando o utilizador aceitar ou rejeitar num dos dispositivos, todos os

restantes irão terminar o alerta.

2.4.2.3 Network Address Book

O objectivo do Network Address Book (NAB) é fornecer um mecanismo centralizado

e uniforme para os utilizadores administrarem as informações dos contactos numa

rede RCS. No geral o NAB é um repositório de contactos que é implementado e

administrado na rede da operadora.

A partir do Enhanced Address Book os utilizadores podem criar informações de

contactos nos dispositivos móveis RCS e depois fazer upload dos dados para o NAB.

Estas informações são propriedade do utilizador, são mantidas por este e somente ele

pode modificar ou apagar as informações dos contactos. Depois de um utilizador fazer

Page 43: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 19

upload destas informações para o NAB, pode mais tarde sincronizar com outro

dispositivo RCS, como um PC ou outro dispositivo com acesso de banda larga.

2.4.2.4 Provisioning and configuration of RCS devices/clients

Não se espera que o utilizador final tenha de configurar manualmente as definições

para poder utilizar as features RCS num dispositivo. Assim que o dispositivo for

ligado será registado na rede e todas as features RCS estarão disponíveis sem

qualquer acção do utilizador. Isto aplica-se a dispositivos móveis e fixos, incluindo

aqueles com acesso através de banda larga. Também se aplica tanto às features da

release 1 como às da release 2.

São transparentes para o utilizador as configurações relacionadas com a IMS, pontos

de acesso, tamanho máximo permitido para File Transfer, etc. Na verdade, estes

parâmetros devem ser configurados pela operadora e, geralmente, bloqueados a

alterações por parte do utilizador final a fim de evitar erros de configuração

indesejados nas features RCS. No entanto, deve haver a possibilidade de configurar

algumas definições (SIP, XDMS) que podem ser necessárias para aceder a alguma

feature quando, por exemplo, se mudar de operadora.

De modo a permitir que as features RCS sejam de certa forma transparentes para o

utilizador, as seguintes definições são configuradas no dispositivo:

Definições de IMS Core/SIP para registo na rede e realização de

comunicações básicas;

Definições de XDMS;

Definições de presença;

Configurações do Network Address Book para efectuar backups, restauro e

sincronização de contactos;

Definições de IM para o chat;

Configurações de File Transfer;

Parâmetros RCS específicos, por exemplo, tamanho máximo permitido para

File Transfer;

Parâmetros específicos de dispositivos de acesso à rede através de banda larga,

por exemplo, o MSISDN do utilizador.

Page 44: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 20

Algumas das configurações listadas acima têm uma influência directa na experiência

do utilizador. Por exemplo, os parâmetros específicos de RCS incluem o número

máximo de caracteres do free text nas informações de presença. Desta forma o

utilizador irá ser sempre informado sobre esse limite ao digitar o conteúdo do free

text, evitando assim que o texto seja truncado quando for entregue a outro contacto.

Outros exemplos são o tamanho máximo permitido para o Portrait icon, também nas

informações de presença, ou para um ficheiro a ser transferido. A interface do

utilizador deve incluir informações sobre esse limite, fazendo com que o utilizador

saiba que nem todo o conteúdo multimédia pode ser usado nesses contextos.

2.4.3 RCS-e

O RCS-e (enhanced) é uma optimização das features de voz e texto da release 1 e 2,

que permite aos utilizadores enviar mensagens instantâneas, efectuar chamadas,

partilhar vídeo e fazer transferência de ficheiros em tempo real, de modo simples e

interoperável.

Apesar do desenvolvimento interessante do RCS, cinco das principais operadoras

europeias, a Deutsche Telekom, a Orange, a Telecom Italia, a Telefonica e a Vodafone

anunciaram no Mobile World Congress de Fevereiro de 2011, planos para lançar uma

versão melhorada do RCS, conhecido como RCS-e, no final de 2011 ou início de

2012. Com base nos princípios de interoperabilidade estabelecidos dentro do

ecossistema das operadoras móveis, a especificação RCS-e, chamada RCS-e

Advanced Communications, proporciona uma optimização das especificações da

release 1 e 2, de modo a acelerar o tempo de entrada no mercado e simplificar a oferta

ao cliente. Resumidamente, o RCS-e proporciona uma “simples e interoperável

extensão para voz e texto hoje em dia" [8].

Este novo foco no RCS é baseado nos resultados dos testes com clientes em features

RCS, de modo a compreender melhor onde as operadoras podem aumentar a sua

oferta de serviços oferecendo assim mais valor aos clientes.

O aparecimento do RCS-e trouxe consigo uma nova designação para toda a iniciativa

RCS, que foi o RCE (Rich Communication Ecosystem), que pretende representar o

RCS 2.0 e o RCS-e, e a interoperabilidade entre ambos.

Page 45: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 21

2.4.3.1 Princípios RCS-e

O mecanismo fundamental do RCS-e é a feature Capability Discovery. Por exemplo,

quando um utilizador percorre os seus contactos e selecciona um contacto RCS-e, a

aplicação cliente realiza uma verificação das possibilidades de comunicação do

contacto, sendo assim capaz de mostrar as features que estão disponíveis para

comunicar.

Este pedido é encaminhado para o destinatário e pode ter dois tipos de resposta:

1. O contacto está registado e as possibilidades de comunicação, no momento em

que é efectuado o pedido, são guardadas pelo utilizador que efectuou o pedido;

2. O contacto não está registado ou não existe.

Este mecanismo para determinar as possibilidades de comunicação é importante na

medida em que permite que um utilizador saiba quais os serviços que estão

disponíveis antes de serem utilizados.

2.4.3.2 Conformidade

A conformidade do dispositivo com a especificação RCS-e pode resumir-se no

seguinte:

Suporte para registo na rede da operadora;

Obtenção das possibilidades de comunicação de um utilizador através dos

mecanismos de SIP OPTIONS e ANONYMOUS fetch;

Suporte para chat;

Suporte opcional para File Transfer, Image Share e Video Share.

A razão para fazer do File Transfer, Image Share e Video Share opcionais é facilitar a

penetração das features RCS-e em todos os tipos de dispositivos. Posteriormente um

dispositivo RCS-e suportará todas as features RCS-e que sejam viáveis, tendo em

conta as limitações de hardware e software. De qualquer modo uma operadora de

rede que implemente a especificação RCS-e deve suportar File Transfer, Image Share

e Video Share ao nível da rede.

Page 46: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 22

2.4.3.3 Chat

O chat permite aos utilizadores trocar mensagens entre um ou mais utilizadores

instantaneamente. No RCS-e o chat é uma feature de referência, disponível para

qualquer utilizador registado e usa o OMA SIMPLE IM session mode como

especificação base. À medida que foram introduzidas novas features foram feitos

alguns ajustes e modificações necessárias na especificação base do RCS.

O RCS-e trouxe as seguintes alterações a nível de features relativamente às releases 1

e 2 do RCS:

Remoção da Presença - Nas releases 1 e 2 do RCS as features só podiam ser

utilizadas se fosse possível saber a presença de um contacto. Com o RCS-e

esta feature foi retirada e passa a ser possível utilizar qualquer feature mesmo

desconhecendo a presença do contacto;

Capability discovery - É uma nova feature que permite determinar quais as

possibilidades de comunicação de um contacto antes de iniciar qualquer tipo

de comunicação. Na release 1 e 2 apenas era determinar as possibilidades de

comunicação quando um contacto tinha presença;

Store and Forward - É uma nova feature mas que a sua implementação é

critério da operadora. Requer que o Chat Server tenha a capacidade de

armazenar uma mensagem quando o utilizador de destino não está online e

enviá-la para ele quando ele voltar a estar novamente online;

Displayed Message Disposition - Esta nova feature permite que o remetente

seja notificado quando uma mensagem que enviou for exibida no dispositivo

do utilizador que a recebeu. Esta notificação não garante que a mensagem

tenha sido lida pelo utilizador, apenas indica que a mensagem foi exibida no

dispositivo do destinatário;

Local Black List - Uma nova feature que define que o dispositivo deve

permitir armazenar localmente uma lista de contactos bloqueados;

Conversation History - Uma nova feature que define que o dispositivo deve

permitir armazenar localmente o histórico de uma conversação;

Page 47: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 23

User Alias - É uma nova feature que permite que o utilizador defina um nome

que pode ser enviado enquanto se estabelece uma comunicação com outro

utilizador.

2.5 Empresas intervenientes

A iniciativa RCS já conta com mais de 100 operadoras, fornecedores de equipamentos

e empresas de telecomunicações. Abaixo encontra-se a lista de empresas que já

aderiram a esta iniciativa.

Mobile Operators

AT&T

Bell Mobility

Bouygues Telecom

China Mobile

China Unicom

China Telecom

E-Mobile

France

Telecom/Orange

KDDI

KTF

Mobilkom Austria

NTT

NTT DoCoMo

Optus SingTel

SFR

SK Telecom

Smart

SoftBank

Swisscom

Telecom Italia Mobile

Telecom New Zealand

Telefonica O2

Telekom Srbija

Telenor

Tele2 Sweden

TeliaSonera

Telstra

TMN

T-Mobile

Verizon Wireless

Videotron

Wind

Messaging Operators

Belgacom International

Carrier Services

Mach

Sybase

Syniverse Technologies

Infrastructure

suppliers

Acision

Aicent

Acme Packet

Airwide Solutions

Alcatel-Lucent

Almira Labs

Aylus

Broadsoft

Cicero Networks

Comverse

Ericsson

Fujitsu

Gemalto

Page 48: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 24

Genband

Huawei

IBM

IntelliNet Technologies

Iwatsu Electric

Mavenir

Nable Communications

NeuStart

Nokia Siemens

Networks

OKI Electric Industry

Openmind Networks

OptiMobile

Sonus Networks

Starent

Tatara Systems

Tekelec

uReach

ZTE

724 Solutions

Handset manufacters

Hitachi

LG

Motorola

NEC

Nokia

Sagem Wireless

Samsung

Sony Ericsson

Toshiba

Software developers

Be Tomorrow

Colibria

CommuniGate Systems

Comneon

Ecrio

Eyeball

EyeP Media

Genaker

Inexbee

Inspirit

MailVision

OnMobile (Voxmobili)

NeuSoft Mobile

Solutions

Smith Micro Software

Summit Tech

Solaiemes

Telcoware

WIT Software

Test laboratories

Fraunhofer Institute

Fokus

Mera Networks

Octopus Network

Setcom Wireless

Products

Other

Symbian

Page 49: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 25

2.6 Concorrentes

As informações sobre este tipo de servidores não são de conhecimento público,

principalmente quando são soluções comerciais. Estas são habitualmente transmitidas

e negociadas directamente com as operadoras que pretendem adquirir um produto

deste tipo, pelo que a informação pública é muito escassa.

Como o WCAS se encontra inserido dentro do WCS não faria sentido analisar apenas

os concorrentes do servidor, deste modo, foi conduzido um estudo inicial sobre os

concorrentes dos principais produtos do WIT Communications Suite (WCS): WIT PC

Communicator (WPC), WIT Web Communicator (WWC) e WIT Mobile

Communicator (WMC), que facilitou a identificação dos concorrentes do WCAS. Os

concorrentes foram identificados com base na solução apresentada e nas features que

os produtos do WCS também têm ou que está previsto virem a ter. Com base nisto

foram identificados dois tipos de concorrentes:

Concorrentes directos - Empresas que têm objectivos comuns ou soluções

que apresentam as mesmas features que os produtos do WCS e que concorrem

no mesmo mercado;

Concorrentes indirectos - Empresas ou soluções que não concorrem

directamente com os produtos do WCS, pois têm um público-alvo diferente,

mas que poderão concorrer quando os produtos do WCS forem integrados nas

operadoras, estando a concorrer também com as operadoras.

O facto de o WCAS poder operar tanto no modo F2S como no modo Standalone, faz

com que encontre vários concorrentes distintos. Há empresas que desenvolveram

soluções que operam de modo semelhante ao WCAS F2S e outras de modo

semelhante ao WCAS Standalone. Há algumas que têm uma solução conjunta,

agregando tudo num só produto, sendo estas fortes concorrentes do WCAS, pois

também ele é uma solução conjunta. Apesar de existirem diversas soluções que

possam de certo modo concorrer com o WCAS, pelo menos a nível de Web

Softphones, nem todas elas estão vocacionadas para a incitava RCS, no entanto, são

considerados concorrentes dado que apresentam soluções semelhantes.

Na Tabela 1 encontram-se listadas, por ordem de importância, as soluções que devido

às suas características se aproximam do objectivo do WCAS ou que estão de certo

Page 50: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 26

modo ligadas à iniciativa RCS. Para uma lista completa dos concorrentes do WCS

deve ser consultado o Anexo 1 - Competitors Analysis.

Tabela 1 - Concorrentes do WCAS.

Empresa Solução

Sta

ndalo

ne

F2S

Ericsson IMS Multimedia Telephony ●

Nokia Siemens Networks MSC Server System ●

Alcatel Lucent 5400 IMS Application Server ●

Huawei IP Telephony Solution ●

Colibria RCS Application Servers ●

Summit Summit ● ●

Solaiemes RCS Thin Client Server ●

Solaiemes RCS Solution Gateway ●

Aylus Media Platform ●

Microsoft Lync ●

Telepo Business Communication Server ● ●

CommuniGate Systems CommuniGate Pro Server ●

British Telecom Ribbit ● ●

De seguida é apresentada uma breve descrição de cada uma das soluções listadas na

Tabela 1.

Page 51: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 27

Ericsson - IMS Multimedia Telephony [9]

Solução IMS que oferece serviços tanto de telecomunicações tradicionais como de

telecomunicações multimédia. Possui uma arquitectura escalável que permite

adicionar novos serviços aos já existentes.

Nokia Siemens Networks - MSC Server System [10]

Solução que apresenta uma arquitectura distribuída e que faz o controlo de chamadas,

sinalização e media. Permite que cada um dos serviços seja direccionado para

entidades dedicadas e de alto débito optimizando assim o fluxo das comunicações.

Alcatel Lucent - 5400 IMS Application Server [11]

Application Server que oferece um ambiente configurável para fornecer serviços de

convergência entre as telecomunicações tradicionais e a Internet. Pode ser instalado

tanto numa rede IMS como não IMS.

Huawei - IP Telephony Solution [12]

Solução unificada para voz, vídeo e dados numa rede IMS. Permite fazer a transição e

agregação entre as telecomunicações tradicionais e as telecomunicações IP.

Colibria - RCS Application Servers [13]

Solução que dispõe de diversos serviços independentes, altamente escaláveis e

modulares para Presence, Messaging e Address Book.

Summit - Summit [14]

Solução bastante completa que permite a integração com redes IMS e RCS e tem uma

solução idêntica a cada um dos produtos do WCS. Compete com o WCAS nos dois

modos de funcionamento.

Solaiemes - RCS Thin Client Server [15]

Plataforma RCS que permite a criação de clientes RCS em diferentes plataformas sem

necessidade de implementar protocolos de telecomunicações específicos, utilizando

apenas protocolos de Internet e API. Pode ser integrado com redes IMS e RCS.

Solaiemes - RCS Solution Gateway [16]

Plataforma de convergência entre soluções para a web e infra-estruturas de

telecomunicações. É interoperável com redes IMS e RCS.

Page 52: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 28

Aylus - Media Platform [17]

Plataforma de media que é compatível com HTTP, SIP, IMS e RCS. Permite media

transcoding em tempo real.

Microsoft - Lync [18]

Plataforma corporativa que permite a interligação transparente de diversas tecnologias

e utiliza várias features e protocolos definidos pelo RCS.

Telepo - Business Communication Server [19]

Solução muito completa, apresentando uma solução idêntica a cada um dos produtos

do WCS, quer a nível de clientes quer a nível de servidor.

CommuniGate Systems - CommuniGate Pro Server [20]

É uma gateway que direcciona os pedidos vindos de diversos tipos de clientes para

servidores específicos. Suporta protocolos específicos do RCS.

British Telecom - Ribbit [21]

Solução que começou por ser apenas uma plataforma e neste momento oferece

soluções tanto a nível de clientes como de servidor. Compete com o WCAS nos dois

modos de funcionamento.

Page 53: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 29

3 Capítulo III - Requisitos

Os requisitos deste projecto incidiram principalmente sobre as features da release 1

do RCS e um pouco sobre as do RCS-e. O objectivo de alto nível do projecto era a

implementação de um novo módulo, o Módulo de Chat. Este módulo iria comtemplar

a maioria das features que estão definidas na release 1, no entanto, tem alguns ajustes

na release 2. No decorrer do estágio foi introduzindo nos objectivos a implementação

do Módulo de Capabilities, que iria comtemplar algumas das features do RCS-e.

Os requisitos detalhados do Módulo de Chat encontram-se na documentação oficial

do RCS e da OMA. Esta documentação define tanto os requisitos funcionais como os

técnicos. Neste capítulo será apresentado um resumo dos requisitos que faziam parte

dos objectivos numa vertente mais funcional e um resumo do que foi necessário

implementar no WCAS para desenvolver o Módulo de Chat e o Módulo de

Capabilities.

A documentação oficial do RCS e da OMA pode ser consultada nos seguintes

endereços:

RCS (RCS Release 1 Updates e RCS Release 2 Updates - February 2011)

http://www.gsmworld.com/our-work/mobile_lifestyle/rcs/rcs_release_docs.htm

RCS-e

http://www.gsmworld.com/documents/rcse_spec_v1.1_final.zip

OMA (Instant Messaging using SIMPLE)

http://www.openmobilealliance.org/Technical/release_program/simple_im_v1_0.aspx

Page 54: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 30

3.1 Módulo de Chat

Dada a semelhança entre as features do Enhanced Messaging, File Transfer e Image

Share, todas elas foram agregadas no Módulo de Chat.

3.1.1 Enhanced Messaging

Este serviço implica a implementação de um novo módulo no WCAS, o Módulo de

Chat. O serviço de chat deve poder ser usado tanto no modo de um para um, em que

apenas dois utilizadores estão em conversação, como no modo de conference chat,

com vários utilizadores em simultâneo. O RCS define a utilização do protocolo MSRP

para a transferência de dados e para a sinalização define o protocolo SIP.

3.1.2 File Transfer

Deve ser possível a transferência de ficheiros durante uma sessão de chat ou chamada

ou mesmo sem ter uma sessão em curso, sendo também possível o envio de vários

ficheiros em simultâneo entre os mesmos utilizadores. Também aqui devem ser

usados os protocolos SIP e MSRP.

3.1.3 Image Share

O serviço de Image Share permite que os utilizadores partilhem imagens durante uma

chamada de voz ou vídeo que está em curso. Este requisito tem algumas semelhanças

com o anterior, no entanto, apenas pode ser usado durante uma chamada. Usa os

mesmos protocolos que o File Transfer.

Para a implementação destas features no WCAS são necessários os seguintes

desenvolvimentos:

Definição de um protocolo de comunicação entre WWC e o WCAS e a sua

implementação no WCAS;

Implementação do core do serviço de Chat, File Transfer e Image Share;

Implementação de uma camada de tradução para Flash;

Implementação de extensões à camada de tradução SIP, no modo F2S (RFC

3261, 3265, 3515, 4028, 4353, 4488, 4566, 4575, 4579, 5366, 5368);

Page 55: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 31

Implementação de uma camada de tradução para SIP Servlets, no modo

Standalone (RFC 3261, 3265, 3515, 4028, 4353, 4488, 4566, 4575, 4579,

5366, 5368);

Implementação de uma stack de MSRP e do conceito de MSRP Switch para

utilização tanto no modo F2S como no modo Standalone (RFC 3862, 4975,

4976);

Implementação dos seguintes tipos de sinalização:

o Local - Para utilização com clientes ligados directamente ao WCAS;

o Proxied - Para utilização no modo F2S;

o Conference - Para utilização em Conference Chats.

Implementação dos seguintes tipos de media:

o Flash para Flash - Para transferência de dados apenas entre clientes

WWC;

o Flash para MSRP e MSRP para Flash - Para transferência de dados

entre clientes WWC e clientes WPC ou WMC;

o MSRP para MSRP - Para transferência de dados apenas entre clientes

WPC e WMC;

o Bypass MSRP - Para permitir que os clientes WPC e WMC possam

estabelecer sessões de transferência de dados em peer-to-peer, ou seja,

sem utilizar o WCAS como intermediário;

o Conference - Para utilização quando se estiver perante uma sessão de

Conference Chat, entre qualquer tipos de cliente;

o Flash para Flash em internode - Para permitir a transferências de

dados entre clientes Flash que estejam ligados em nodes diferentes,

quando estiver a ser utilizado o subsistema de High Availability.

Page 56: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 32

3.2 Módulo de Capabilities

Este módulo é o responsável por gerir a feature Capability discovery, uma vez que

determina as possibilidades de comunicação de um contacto independentemente de

este ter presença ou não. Utiliza o protocolo SIP para a sua implementação e apenas

deve ser usado entre cliente WPC e WMC.

A implementação deste serviço implicou os seguintes desenvolvimentos no WCAS:

Implementação do core do serviço de Capabilities;

Implementação de uma camada de tradução para SIP Servlets, no modo

Standalone (3261, 3265, 4028, 4566);

Implementação de mecanismos de relay para determinação das possibilidades

de comunicação.

3.3 Outros requisitos

3.3.1 High Availability

De modo a preparar o WCAS para um cenário de crescimento, mantendo a sua

confiabilidade, este deve ser suficientemente escalável, tolerante a falhas e totalmente

transparente para os utilizadores, ou seja, o módulo de chat deve estar preparado para

ser instalado num cenário de High Availability. Para que este módulo esteja preparado

para isso deve ser desenvolvido um subsistema que permita que uma instância do

WCAS possa interagir com outras instâncias do WCAS. Para o seu funcionamento

são necessários os seguintes desenvolvimentos:

Implementação de um subsistema de High Availability para o módulo de chat;

Implementação dos seguintes tipos de sinalização no módulo de chat;

o Internode - Para sinalização entre servidores WCAS.

Implementação dos seguintes tipos de media no módulo de chat;

o Flash para Flash - Para transferência de dados apenas entre clientes

WWC em nodes diferentes.

Page 57: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 33

3.3.2 Integração na plataforma existente

Este projecto não ia ser desenvolvido de raiz, era a continuação de um projecto já

existente. Devido a isso, os novos módulos implementados bem como todos os

desenvolvimentos efectuados devem ser perfeitamente integráveis com o sistema já

existente. O módulo de chat deve seguir a arquitectura existente nos restantes

módulos e utilizar, sempre que possível, os mesmos protocolos, as mesmas

tecnologias e as mesmas API já utilizadas no projecto.

3.4 Roadmap

Este projecto culminou com a release 3 do WCAS e o seu desenvolvimento foi

dividido em três grandes etapas, tendo cada etapa várias iterações. Estas etapas foram

definidas de acordo com os objectivos estratégicos da empresa. Na Tabela 2 está o

roadmap e as várias etapas e iterações do projecto.

Tabela 2 - Roadmap das etapas e iterações do projecto.

Etapa Iteração Comple

xidade

Data de

Início e

Fim

WW

C ↔

WC

AS

↔ W

WC

# 1 - Análise

Análise das features RCS, priorização e atribuição

de estimativas.

Média 25-10-2010

05-11-2010

# 2 - Protótipo MSRP

Criação de um protótipo MSRP standalone, segundo

os RFC 4975 e 4976.

Alta 08-11-2010

19-11-2010

# 3 - Conceito Chat Manager

Definição da arquitectura do Módulo de Chat e dos

interfaces de sinalização.

Alta 22-11-2010

22-11-2010

# 4 - Comunicação Chat 1-1

Implementação das interfaces de media para

comunicação entre WWC.

Média 06-12-2010

06-12-2010

Page 58: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 34

WW

C ↔

WC

AS

↔ S

ervid

or

SIP

Exte

rno ↔

WP

C

# 5 - Sinalização Proxied

Implementação da interface de sinalização proxied e

de um SIP User Agent.

Alta 20-12-2010

20-12-2010

# 6 - Inicialização da Stack MSRP

Implementação dos mecanismos necessários para

estabelecer uma sessão de media MSRP.

Alta 03-01-2011

14-01-2011

# 7 - Integração da Stack MSRP

Integração do protótipo MSRP no WCAS e a sua

ligação com a camada de media.

Alta 17-01-2011

28-01-2011

# 8 - Comunicação chat 1-1

Implementação dos comandos necessários para

inicialização de uma comunicação.

Média 31-01-2011

11-02-2011

# 9 - File Transfer

Adaptação das interfaces de sinalização e media

para suporte de File Transfer.

Média 14-02-2011

25-02-2011

# 10 - File Transfer

Adaptação da camada de SIP e suporte para

interpretação e criação do protocolo SDP (RFC

4566).

Média 28-02-2011

11-03-2011

# 11 - Image Share

Adaptação das interfaces de sinalização e media e

do SDP para suporte de Image Share.

Baixa 14-03-2011

25-03-2011

# 12 - Conference Chat

Adaptação das interfaces de sinalização para

inicialização de um conference chat.

Alta 28-03-2011

08-04-2011

# 13 - Conference Chat

Implementação de comandos para actualização do

estado do conference chat.

Alta 11-04-2011

21-04-2011

Page 59: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 35

WW

C ↔

WC

AS

↔ W

PC

# 14 - RCS-e compliance

Definição da arquitectura do Módulo de Capabilities

e da camada de tradução de SIP Servlets.

Alta 26-04-2011

06-05-2011

# 15 - MSRP Switch

Implementação da camada de tradução de SIP

Servlets para o Módulo de Chat e adaptação da

camada de media e MSRP para funcionamento

como um MSRP Switch.

Baixa 09-05-2011

20-05-2011

# 16 - High Availability

Preparação do Módulo de Chat para suportar o

subsistema de High Availability.

Alta 23-05-2011

03-06-2011

# 17 - Testes e estabilização

Revisão de todos os desenvolvimentos efectuados,

realização de testes e correcção de bugs.

Baixa 06-06-2011

17-06-2011

# 18 - Testes de Performance

Preparação de cenários e realização de testes de

performance à camada de media do WCAS.

Média 20-06-2011

01-07-2011

# 19 - Testes de Performance

Realização de testes de performance à camada de

sinalização do WCAS.

Baixa 05-07-2011

15-07-2011

# 20 - Conference Chat

Adaptação da arquitectura para suportar múltiplos

participantes.

Média 01-08-2011

12-08-2011

# 21 - Conference Chat

Adaptação das interfaces de media para estabelecer

um sessão de conference chat.

Baixa 16-08-2011

26-08-2011

Page 60: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 36

Na Tabela 3 encontram-se as várias features da release 1 e 2 do RCS e do RCS-e.

Para cada feature encontra-se indicada a participação efectuada neste projecto.

Tabela 3 - Features implementadas por release.

Release Feature Desenvolvimento

Rel

ease

1

Enhanced Address Book (XDMS) Já desenvolvido

Content Sharing

Video Share Não desenvolvido

Image Share Desenvolvido

File Transfer Desenvolvido

Enhanced Messaging Desenvolvido

Rel

ease

2 Broadband Access to RCS features Não aplicável

Multi-device environment Desenvolvido

Network Address Book Já desenvolvido

Provisioning and configuration of RCS

devices/clients Não aplicável

RC

S-e

Remoção da Presença Não aplicável

Capabilities Discovery Desenvolvido

Store and Forward Participação no

desenvolvimento

Displayed Message Disposition Participação no

desenvolvimento

Local Black List Não aplicável

Conversation History Não aplicável

User Alias Participação no

desenvolvimento

Page 61: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 37

4 Capítulo IV - Metodologia de trabalho

Este capítulo descreve a metodologia, os processos, as práticas e a organização

seguida durante todo o projecto, mostrando as interacções e divisão de

responsabilidades entre a equipa de gestão e a equipa de desenvolvimento.

4.1 Processo

As características do projecto e o facto de, tanto o projecto como a área das

telecomunicações serem totalmente novas para mim, cedo permitiram perceber que

muitas das tarefas apenas conseguiam ser determinadas ao longo do tempo e depois de

realizar algum trabalho. Apesar dos requisitos funcionais serem claros, a sua definição

em termos técnicos era relativamente complexa e por vezes estava dependente da

realização de outros requisitos, o que dificultava a determinação e previsão antecipada

de um roadmap detalhado. Deste modo, as fases de architecture design não eram tão

formais e por vezes ocorriam após as fases de development.

Dadas estas particularidades, foi usada a metodologia Scrum. Esta abordagem ágil é

uma prática comum na WIT Software, nomeadamente no departamento de I&D, pois

permite que o projecto esteja actualizado não só com as tecnologias mas também com

os propósitos estratégicos da empresa e do mercado.

4.2 Sprints

Os Sprints tiveram a duração de 15 dias e no último dia de cada Sprint eram

realizadas as actividades comuns do Scrum: Review; Demo; Planning; Retrospective.

Era feito um overview sobre os objectivos do Sprint e apresentado o trabalho

concretizado, realizando demonstrações práticas. Após isso eram definidos os

objectivos do Sprint seguinte e por fim, e apenas com os developers, eram discutidos

pormenores técnicos de implementação. Durante cada Sprint eram realizadas as

tarefas planeadas no Sprint Backlog e eram registadas as horas dedicadas a cada

tarefa.

4.3 Monitorização

O projecto era monitorizado utilizando duas ferramentas, o Timetracker [22] e o

próprio Sprint Backlog. Para o registo das horas de trabalho diárias era utilizada a

ferramenta Timetracker e semanalmente eram submetidas para a plataforma Weekly

Page 62: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 38

Reports para serem posteriormente analisadas e aprovadas. Durante o Sprint eram

também registadas no Sprint Backlog as horas dedicadas a cada tarefa, sendo para isto

utilizado um ficheiro Excel. A granularidade deste ficheiro era maior do que a do

Timetracker, oferecendo a possibilidade de fazer uma análise de como evoluiu o

trabalho ao longo do Sprint, através dos seguintes gráficos:

Hours Burndown with Cumulative Flow - Este gráfico permite efectuar duas

análises: a típica de um Burndown Chart (progresso do trabalho realizado e o

tempo restante para o fim do Sprint); e a de um Cumulative Flow, que permite

apurar como as tarefas estão a evoluir através dos vários estados (Pending e In

Progress) até estarem terminadas (Complete);

Workitem Cumulative Flow - Este gráfico permite fazer a mesma análise de

um Cumulative Flow, mas é mais específico, focando-se apenas no número de

tarefas terminadas tendo em conta o número que estava inicialmente previsto.

Durante o Sprint Review estes gráficos eram analisados para procurar compreender

como correu o Sprint.

As horas de esforço diárias eram calculadas para 7 horas por dia em vez de 8 horas, o

que perfazia 70 horas por Sprint (considerando 10 dias úteis de trabalho). Esta prática

permitia ter uma margem de segurança de 10 horas para eventuais deslizes nas tarefas

previstas e outras tarefas rotineiras (reuniões, demos pontuais, etc.).

Na Figura 4 pode ser observado um exemplo do gráfico Hours Burndown with

Cumulative Flow de um Sprint com 10 dias úteis de trabalho.

Figura 4 - Gráfico Hours Burndown with Cumulative Flow.

Page 63: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 39

Ao observarmos o gráfico da Figura 4 é possível perceber a evolução do trabalho

realizado ao longo dos dias. Do ponto de vista do Burndown Chart o trabalho restante

andou sempre muito perto do linear, ocorrendo apenas pequenas oscilações, no

entanto, o trabalho não ficou todo terminado. Podemos também verificar que o

número de horas inicialmente previstas não foram as mesmas que as finais, isto

deve-se ao facto de algumas tarefas terem demorado mais tempo do que o estimado e

de terem aparecido novas tarefas que não estavam inicialmente previstas.

Na perspectiva do Cumulative Flow pode-se observar que durante a maior parte do

Sprint houve uma considerável percentagem de tarefas em curso (amarelo) e apenas

ficaram terminadas mais para o fim do Sprint, embora com algum overwork. Esta

quantidade de tarefas em curso, deve-se ao facto de algumas tarefas poderem ser

iniciadas isoladamente, mas para serem terminadas já necessitavam de outras serem

terminadas primeiro. Apesar de o Sprint ter terminado sem nenhuma tarefa em curso,

houve tarefas que não foram sequer iniciadas (cinzento), pelo que transitaram para o

Sprint seguinte. Podemos observar também que o esforço (linha azul) não foi linear ao

longo do Sprint, tendo ocorrido ligeiras oscilações principalmente nos últimos dias.

Na Figura 5 pode ser observado um exemplo do gráfico Workitem Cumulative Flow,

do mesmo Sprint.

Figura 5 - Gráfico Workitem Cumulative Flow.

Observando o gráfico da Figura 5, tem-se uma visão rápida e simples do número de

tarefas Pending (cinzento), In Progress (amarelo) e Complete (verde). Neste Sprint

em particular, houve uma pequena percentagem de tarefas que ficou terminada logo

Page 64: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 40

no início do Sprint, no entanto houve algumas que ficaram em curso durante grande

parte do Sprint, ficando apenas concluídas nos últimos dias. Apesar de não haver

nenhuma tarefa que ficou a meio, houve um pequeno número de tarefas que não

foram realizadas e que transitaram para o Sprint seguinte.

4.4 Planeamento

O planeamento do projecto era feito por duas fases. Na primeira fase os membros da

equipa de gestão definiam as features ao nível do roadmap geral, com um nível de

detalhe muito reduzido e mais orientadas para objectivos estratégicos e de negócio.

Aqui era dada uma estimativa inicial (no Sprint Planning Meeting) para avaliar a

viabilidade das features que se pretendiam realizar. A segunda etapa era mais isolada

e pertencia apenas a quem ia desenvolver. As features eram analisadas em maior

detalhe, sendo divididas em tarefas mais pequenas e mais técnicas. Por vezes era

redefinida a estimativa dada na primeira etapa.

O roadmap geral consistia num ficheiro Microsoft Project, que era acessível a toda a

equipa do WCS. Para analisar as features em maior detalhe era consultado Product

Backlog e o Sprint Backlog. O Microsoft Project era mantido pela equipa de gestão, o

Product Backlog pela equipa de desenvolvimento, mas sob a orientação do Scrum

Master e do Product Owner e o Sprint Backlog era apenas mantido pela equipa de

desenvolvimento.

Na Figura 6 e na Figura 7 encontram-se um exemplo do Product Backlog e do Sprint

Backlog, respectivamente.

Figura 6 - Product Backlog.

Page 65: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 41

Figura 7 - Sprint Backlog.

4.5 Equipa de projecto

Por se tratar de um estágio este projecto funcionou de certo modo isolado (para não

afectar os projectos já em produção) e apenas existiu um developer. Apesar disso,

existiu um conjunto de pessoas que fizeram parte da equipa do projecto, conforme se

pode observar na Tabela 4.

Tabela 4 - Equipa de projecto.

Alias Nome Função Responsabilidades

LM Luís Matos Developer Planeamento de baixo nível e

implementação das features pretendidas.

NC Nuno Campos Tutor Técnico Orientações de modo a garantir que o

projecto alcançava os objectivos.

FL Frederico

Lopes

WCS Product

Owner

Proprietário dos produtos do WCS e

responsável por priorizar as features a

serem implementadas.

PP Pedro Pereira CTO Orientações estratégicas de modo a

alcançar os objectivos de negócio.

Page 66: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 42

4.6 Validação e Testes

Entre apresentações a operadoras, parceiros e congressos, o WCAS esteve presente

em mais de 20 demonstrações. Antes de cada demonstração existia um conjunto de

testes que eram realizados, tanto pela equipa de desenvolvimento como pela equipa de

Software Quality (SWQ) da WIT Software, o que fazia com que periodicamente o

trabalho desenvolvido fosse testado, permitindo que o mesmo estivesse livre de bugs.

Sempre que estava disponível uma nova versão era enviado um Test Request para a

equipa de testes contendo os Test Cases a serem realizados. A equipa de testes

realizava testes funcionais, seguindo uma abordagem do tipo Black Box, até porque

também os Test Specifications3 do RCS assim estavam definidos. Apesar disso, foi

passado algum conhecimento técnico à equipa de testes, principalmente a nível

protocolar, para que esta pudesse ter maior sensibilidade na realização dos testes e

validasse que, além dos requisitos funcionais, também a especificação protocolar

estava a ser respeitada.

Depois de terminados os testes realizados pela equipa de testes, era enviado para os

responsáveis do projecto um Test Report com os resultados obtidos e a lista de bugs

encontrados. Estes bugs eram também disponibilizados na plataforma de Bug

Tracking, o MantisBT [23]. Depois de terminados os testes eram analisados os logs do

servidor pela equipa de desenvolvimento, de modo a compreender o motivo dos bugs

e após a sua correcção o Test Request era novamente executado pela equipa de testes.

Testes unitários

Apesar de o processo de desenvolvimento seguido não ter sido Test-driven, foram

realizados um conjunto de testes unitários às partes mais críticas do projecto, de modo

a garantir que estavam a funcionar correctamente. Foram também testadas as classes

que eram usadas transversalmente ao projecto (helpers), pois apesar de não

interagirem com componentes externos eram utilizados em todo o projecto. Para a

realização dos testes foi utilizada a framework JUnit 4 [24].

3 Os Test Specifications são os testes de interoperabilidade definidos pelo RCS para garantir que um

sistema cumpre todos os standards e que pode funcionar correctamente dentro de um ecossistema RCS.

Page 67: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 43

4.7 Gestão da Informação

Como qualquer outro projecto também este produziu informação que precisava de ser

gerida, organizada e versionada. A plataforma onde era guardada toda a informação

era SVN [25], quer seja para artefactos quer seja para código. No caso do código foi

criado um branch específico para este projecto, de modo a evitar que qualquer

problema pudesse afectar a versão estável do produto. Apenas quando os

desenvolvimentos efectuados neste projecto atingiram maturidade suficiente é que

foram novamente integrados na versão estável do produto. O circuito que o projecto

seguiu pode ser observado na Figura 8.

WCAS 3.0.10

WCAS 3.0.10 + rcse

WCAS 3.1.0

WCAS 3.0.10 + chat

WCAS 3.1.0 - Release

Figura 8 – Branch, merge e tag (release) do projecto.

Page 68: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 69: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 45

5 Capítulo V - Tecnologia e Protocolos

Para tornar possível a implementação de todas as features e alcançar os objectivos

pretendidos foi necessário utilizar várias tecnologias distintas, cada uma delas com

uma função específica. Neste capítulo encontram-se listadas as tecnologias e os

protocolos usados e uma explicação sobre cada um.

5.1 Tecnologia

SailFin [26]

É um SIP container baseado na tecnologia SIP Servlets e integrado com o servidor

Java Enterprise Edition GlassFish. Ao estender as funcionalidades deste servidor é

possível atender a funcionalidades de comunicação SIP e aplicações multimédia.

Utiliza o GlassFish como base e dispõe de recursos de configuração, High

Availability, clustering e escalabilidade.

Este SIP Container foi utilizado para fazer a gestão das ligações e das sessões

requests/response com os clientes SIP, e para fazer o parsing dos pedidos SIP para os

objectos Java definidos na SIP Servlet API 1.1.

OCCAS [27]

É um Application Server baseado em SIP, projectado especificamente para ambientes

de grande escala e serviços de comunicação de missão crítica. É a mais poderosa

plataforma de convergência de serviços para operadoras de telecomunicações e

integradores de sistemas.

É uma alternativa ao SailFin, no entanto, no projecto foi utilizado exactamente com os

mesmos propósitos.

Wowza [28]

É um servidor de streaming de áudio e vídeo para RIA que funciona tanto sobre redes

públicas como privadas. O Wowza pode fazer stream com diversos tipos de clientes

em simultâneo, estando entre os mais conhecidos o Adobe Flash, Microsoft Silverlight

e Apple QuickTime.

Foi utilizado de forma semelhante ao SailFin e ao OCCAS mas neste caso para

clientes RTMP. É o responsável por gerir as ligações RMTP entre o WCAS e os

Page 70: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 46

clientes, e as streams de dados dentro de cada ligação. Não faz a gestão de sessões

requests/response nem o parsing para objectos, sendo isso já feito pelo próprio

WCAS.

Netty [29]

O projecto Netty é uma framework baseada em Java NIO que auxilia no

desenvolvimento de aplicações de rede de alto desempenho e de alta escalabilidade.

Fornece uma API event-driven assíncrona, que pode funcionar tanto em TCP/IP como

em UDP/IP e permite a criação de CoDecs serializáveis personalizados, bem como a

compressão de dados e ligações seguras.

O Netty é largamente utilizado devido à sua facilidade de utilização e desempenho

[30], permitindo que o developer se concentre unicamente na implementação dos

requisitos em vez de estar a lidar com implementações comuns de NIO.

Esta framework foi utilizada na implementação do protocolo de media MSRP para

gerir as ligações TCP/IP entre o WCAS e os clientes SIP/MSRP e para fazer o parsing

dos pacotes de dados de MSRP para objectos Java do WCAS.

JUnit [24]

É uma framework que suporta a criação de testes unitários automatizados, facilitando

a criação de código e a apresentação dos resultados dos testes. Com ela consegue-se

garantir que cada método e cada classe funcionam da forma esperada.

Foi utilizado para a criar de testes unitários automatizados às estruturas mais criticas

do WCAS e a classes que eram usadas transversalmente ao projecto.

Spring [31]

É uma framework que simplifica o desenvolvimento de aplicações oferecendo um

conjunto de capacidades para criar e configurar servidores Java, servidores web ou

aplicações empresariais. O core é relativamente pequeno e leve representando assim

um overhead praticamente insignificante. Inclui diversos módulos e funcionalidades,

sendo Dependency Injection, Aspect Oriented e Inversion of Control as mais

importantes.

Esta framework foi utilizada transversalmente no projecto para configurar,

parametrização e garantir a inicialização correcta do WCAS.

Page 71: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 47

JetBrains IntelliJ IDEA [32]

É um dos mais robustos IDE que suporta diversas tecnologias. Pode ser integrado com

vários servidores e sistemas de controlo de versão.

Foi utilizado no desenvolvimento, configuração, testes e sincronização de features do

WCAS.

Wireshark [33]

É um packet analyzer muito usado para examinar pacotes de dados, solucionar

problemas de rede e desenvolver aplicações com protocolos de comunicação.

Foi utilizado para examinar os dados que eram transmitidos entre o WCAS e os

clientes SIP e MSRP.

5.2 Protocolos

SIP/SDP

Session Initiation Protocol e Session Description Protocol são os protocolos

utilizados para a sinalização entre o WCAS e os clientes RCS e redes IMS.

MSRP

Message Session Relay Protocol é o protocolo utilizado para transferir informação

(media) entre o WCAS e os clientes RCS e redes IMS.

CPIM

Common Presence and Instant Messaging é o protocolo utilizado para encapsular as

mensagens transmitidas entre o WCAS e os clientes RCS quando se está num

conference chat.

RTMP

Real Time Messaging Protocol é o protocolo utilizado para transferir informação

(sinalização e media) entre um Flash Media Server (Wowza) e o WCAS.

XCAP

XML Configuration Access Protocol é o protocolo utilizado para armazenar as listas

de contactos dos clientes RCS no WCAS.

Page 72: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 73: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 49

6 Capítulo VI - Arquitectura

Este capítulo apresentada a arquitectura do WIT Communications Application Server,

tanto da perspectiva conceptual como técnica. É apresentada a arquitectura modular

que compõe todo o sistema e a forma como o WCAS consegue colocar diferentes

tipos de clientes a comunicar entre si.

O conteúdo deste capítulo contém informações confidenciais e materiais com direitos

de autor pertencentes à WIT Software SA. Por esse motivo, este capítulo encontra-se

exclusivamente no Anexo 2 - WCAS Detailed Design, com acesso restrito.

Page 74: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 75: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 51

7 Capítulo VII - Resultados

Este capítulo apresenta e descreve os testes de desempenho realizados ao Módulo de

Chat do WIT Communications Application Server. O objectivo é apresentar as

conclusões dos testes de desempenho, tanto em single node como em multi node

(internode), de modo a fornecer uma referência para dimensionar uma solução para

um ambiente de produção.

O conteúdo deste capítulo contém informações confidenciais e materiais com direitos

de autor pertencentes à WIT Software SA. Por esse motivo, este capítulo encontra-se

exclusivamente no Anexo 4 - WCAS Chat Module Performance Report, com

acesso restrito.

Page 76: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 77: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 53

8 Capítulo VIII - Conclusões

8.1 Objectivos realizados

Do ponto de vista do estágio pode-se dizer que os objectivos inicialmente propostos

foram alcançados. Na perspectiva da empresa e do produto ainda há um longo

trabalho pela frente, pois o estágio apenas se concentrou efectivamente na release 1

do RCS e no RCS-e. Apesar disso, foi adicionada uma mais-valia no WCAS e em

todo o WCS, pois a única feature que antes tornava qualquer produto do WCS

dependente de um servidor externo agora está desenvolvida no WCAS, podendo este

agora dar total suporte aos produtos do WCS e tornar esta suite totalmente

independente.

Todo o trabalho que foi desenvolvido é perfeitamente integrável com o já existente e é

útil e proveitoso, tanto que já existe interesse de diversos clientes. Olhando para este

projecto, mais do que um estágio, é seguro dizer que cumpriu os objectivos da

WIT Software: Zero Bugs, Zero Delays, Maximum Productivity, Maximum Customer

Satisfaction (Z2M2).

Zero Bugs

Pode ser demasiado pretensioso dizer que não existiram bugs no trabalho

desenvolvido, porque de facto existiram, mas num número notavelmente reduzido e

que provocaram um impacto muito residual. Todo o software tem bugs e durante a

fase de desenvolvimento eles existiram e deram bastante trabalho para resolver, mas

uma vez dada como finalizada uma feature e disponibilizada para utilização e testes,

os bugs reportados foram de facto poucos.

Zero Delays

Isto podia ser um dos pontos que podia não cumprir os objectivos da WIT Software,

devido à grande dificuldade em dar estimativas, tanto mais que foi referido como um

risco. Apesar de algumas tarefas transitarem entre Sprints por não terem sido

terminadas a tempo, isto representou um impacto pequeno na feature acabando por

não afectar o roadmap geral. Mais do que cumprir o prazo da feature era preciso

cumprir o roadmap, pois era esse que era visível para os clientes. Sempre houve um

grande esforço para cumprir os prazos e para isso também houve um grande cuidado

Page 78: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 54

na altura de dar estimativas, para não criar expectativas e depois correr o risco de não

conseguir cumprir os prazos ou então de entregar uma feature não testada e muito

susceptível de conter bugs.

O WCAS esteve presente em mais de 20 demonstrações sendo que cerca de 90%

foram internacionais. Em todas elas ficou terminado o que estava previsto para a

demonstração e apenas em uma das demonstrações, a primeira, não foi possível estar

presente pois não estava concluído a tempo. De facto era praticamente impossível

estar presente, dado que o prazo era irrealista e estaria fora desse prazo por um largo

período de tempo.

Maximum Productivity

É um pouco mais complicado e subjectivo avaliar esta métrica, no entanto, ela está

directamente relacionada com as anteriores. De um modo geral considero que ela foi

cumprida, mas apenas a partir de uma determinada fase do projecto. Nos primeiros

meses a produtividade foi realmente baixa, pois foi uma fase de adaptação ao

projecto, à empresa e aos costumes e tudo isso requer tempo e não tem qualquer

retorno útil. O facto de ser uma área nova para mim, envolvida por uma

documentação complexa e difícil de ler e de ser a continuação de um projecto grande

e altamente estruturado, fez com que os primeiros meses no projecto servissem apenas

para “aprender” e não para produzir.

Com o passar do tempo a produtividade começou a equilibrar e a partir de certa altura

considero que ela se encontrava em padrões bastante aceitáveis, até porque as duas

métricas anteriores falam por si e apesar de o overwork ser uma constante ao longo do

projecto (típico na área de desenvolvimento de software), sempre foi possível ter o

que estava previsto no momento que estava previsto.

Maximum Customer Satisfaction

O WCAS não é fácil de “ver” pelos clientes, dado que a maior parte deles estão

centrados nas aplicações ligadas ao WCAS e não no próprio WCAS e avaliam pelo

que estas lhes oferecem. Neste momento o WCAS está a começar a despertar o

interesse de diversos clientes, tanto nacionais como internacionais e será mais fácil

avaliar a longo prazo, mas o ponto de partida já está dado e é seguro dizer que, tal

como agradou internamente e nas demonstrações a que foi sujeito, tem tudo para

agradar num cenário de produção real.

Page 79: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 55

8.2 Trabalho futuro

Para estar fully compliant com o Rich Communication Suite ainda vão ser precisos

grandes desenvolvimentos no WCAS. Os próximos passos serão abordar fortemente o

que está em falta da release 2 e a partir daí ir progressivamente tornando o WCAS

compliant com as releases 3 e 4. Estas releases apesar de não trazerem nada de

radicalmente novo focam-se sempre num conjunto de features das versões anteriores,

de modo a consolidá-las e acrescentar-lhes melhorias que tragam valor para o cliente.

Um outro desenvolvimento que estará próximo é a criação de um MSRP Relay.

Apesar de ser completamente transparente para uma aplicação cliente estar ligada a

um MSRP Switch, um MSRP Relay ou em peer-to-peer, do lado do WCAS representa

a sobrecarga de o mesmo servidor ter que lidar tanto com tráfego de sinalização como

com tráfego de media. A divisão de responsabilidades faz com que toda a arquitectura

do servidor, tanto a nível lógico como físico, seja mais simples, elegante, modular e

escalável.

8.3 Lições aprendidas

A realização deste estágio teve um retorno muito grande a vários níveis. Apesar de eu

já ter uma experiência de trabalho de alguns anos, a WIT Software foi a empresa com

maior dinamismo e onde pude participar das mais diversas formas no

desenvolvimento de um produto de software. Isto permitiu-me consolidar e colocar na

prática muitos conhecimentos por mim adquiridos no passado e também durante o

mestrado.

O facto de estar a desenvolver software que tem a ambição de conquistar clientes de

renome nacional e internacional e que concorre directamente com algumas das

maiores empresas de telecomunicações que existe é, sem dúvida, altamente motivador

e gratificante. Não é simplesmente uma aplicação que será usada por algumas dezenas

de pessoas numa empresa, mas sim um produto que vai ser utilizado por milhares ou

até milhões de pessoas em todo o mundo. É aqui que o desenvolvimento de software

passa a ter outro sentido.

Durante todo o projecto o WCAS foi sujeito a diversas demonstrações a clientes

revelando o quanto é importante que tudo esteja pronto e a funcionar na data prevista,

pois representa a oportunidade de angariar ou perder o cliente. Isto cria um sentido de

Page 80: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 56

responsabilidade muito grande tanto na atribuição de estimativas como no

cumprimento das estimativas dadas, sempre focado na satisfação do cliente.

Este projecto incidia sobre uma área de desenvolvimento na qual não tinha

propriamente experiência, o verdadeiro Server-side Programming. As páginas Web

são consideradas semelhantes a este paradigma, no entanto, não têm rigorosamente

nada ver com o paradigma deste projecto. Enquanto as páginas Web são meras

aplicações client-side que são executadas do lado do servidor, este projecto é a

programação de um servidor que vai receber pedidos de aplicações client-side e vai

executar operações em server-side, e é aqui que está toda a diferença. Apesar de já ter

efectuado alguns desenvolvimentos no paradigma server-side, estes eram meramente

académicos e com dimensões praticamente insignificantes. Assim, com este projecto

aprendi o quão importante é este trabalho e o quanto ele deve ser bem feito, robusto e

confiável.

Este projecto foi cheio de decisões do princípio ao fim. Desde o início do projecto que

sempre fui incentivado a tomar e fundamentar as minhas próprias decisões, sempre

com a consciência de que eram elas que determinavam o sucesso ou insucesso de um

projecto. No fim do estágio e tendo em conta os resultados obtidos acho que, no geral,

as decisões tomadas foram boas. Fazendo uma retrospectiva, naturalmente tomaria

outras decisões, não que as que tomei não foram boas, mas sim porque com o

conhecimento que tenho agora e que tive após as decisões que tomei percebi que

podia ter tomado decisões ainda melhores.

Agora no final do estágio, mesmo não sendo o final do projecto, consigo olhar para

trás com muito orgulho no trabalho desenvolvido e com a sensação de que a

WIT Software teve o retorno esperado daquilo em que apostou no início do estágio.

Mesmo sabendo que foi um projecto extremamente difícil e trabalhoso, que fez com

que muito tempo extra tenha sido dedicado ao projecto, chego ao fim com a noção de

que não foi apenas um “estágio”, mas sim um projecto com as ambições típicas de

uma empresa como a WIT Software. Apesar de todo este esforço e dedicação é

extremamente gratificante ter trabalhado num projecto que desde o início demonstrou

ter um potencial enorme para ser um sucesso.

Page 81: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 57

Bibliografia

1. WIT Software (2011) WIT Software Website. Disponível em: http://www.wit-

software.com (Acedido em: 19 de Julho de 2011)

2. Directory of Schools ‘Telecommunications College'. Disponível em:

http://www.directoryofschools.com/Education-

Articles/Telecommunications/Telecommunications-College.htm (Acedido em:

19 de Julho de 2011)

3. Webdesigner Depot The Evolution of Cell Phone Design Between 1983-2009

Disponível em: http://www.webdesignerdepot.com/2009/05/the-evolution-of-

cell-phone-design-between-1983-2009 (Acedido em: 19 de Julho de 2011)

4. Lillian Goleniewski (2001) ‘Understanding the Telecommunications

Revolution’ informIT [Online]. Disponível em:

http://www.informit.com/articles/article.aspx?p=24667 (Acedido em: 19 de

Julho de 2011)

5. T. Van Landegem e H. Viswanathan (2008) ‘Anywhere, Anytime, Immersive

Communications’ Enriching Communications, vol. 2: p. 1-6 [Online].

Disponível em http://www.alcatel-

lucent.com/enrich/v2i12008/pdf/ECv2i1_AnywhereAnytimeImmersive_en.pd

f (Acedido em 19 de Julho de 2011)

6. BBC (1999) Convergence: Three into one. Business: The Economy.

Disponível em: http://news.bbc.co.uk/2/hi/business/474995.stm (Acedido em:

19 de Julho de 2011)

7. WIT Software (2011) WIT Connected TV Suite. Disponível em:

http://www.wit-software.com/products/connected-tv-suite (Acedido em: 19 de

Julho de 2011)

8. GSMA (2011) RCS-e - Advanced Communications: Services and Client

Specification p.15 Disponível em:

http://www.gsmworld.com/documents/rcse_spec_v1.1_final.zip (Acedido em:

19 de Julho de 2011)

Page 82: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 58

9. Ericsson (2005) IMS Multimedia Telephony. Disponível em:

http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-

FGB101335&Lang=EN (Acedido em: 22 de Julho de 2011)

10. Nokia Siemens Networks (2009) MSC Server System. Disponível em:

http://www.nokiasiemensnetworks.com/sites/default/files/document/Serve_at

Once_Traffica_for_NSN_MSC_Serverbasednetworks.pdf (Acedido em: 22 de

Julho de 2011)

11. Alcatel-Lucent (2009) 5400 IMS Application Server Disponível em:

http://www.alcatel-

lucent.com/wps/DocumentStreamerServlet?LMSG_CABINET=Docs_and_Re

source_Ctr&LMSG_CONTENT_FILE=Brochures/5400_IMS_Application_S

erver_Bro.pdf (Acedido em: 22 de Julho de 2011)

12. Huawei IP Telephony Solution. Disponível em:

http://www.huawei.com/products/datacomm/detailitem/view.do?id=1849&rid

=436 (Acedido em: 22 de Julho de 2011)

13. Colibria (2009) RCS Application Servers. Disponível em:

http://colibria.com/solutions/rcs (Acedido em: 22 de Julho de 2011)

14. Summit Summit. Disponível em: http://www.summit-tech.ca (Acedido em: 22

de Julho de 2011)

15. Solaiemes RCS Thin Client Server. Disponível em:

http://www.solaiemes.com/index.php?id=100 (Acedido em: 23 de Julho de

2011)

16. Solaiemes RCS Solution Gateway. Disponível em:

http://www.solaiemes.com/index.php?id=93 (Acedido em: 23 de Julho de

2011)

17. Aylus Media Platform. Disponível em: http://www.aylus.com/platform.html

(Acedido em: 23 de Julho de 2011)

18. Microsoft Lync. Disponível em: http://office.microsoft.com/en-us/lync/lync-

2010-FX102004552.aspx

Page 83: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 59

19. Telepo Business Communication Server. Disponível em:

http://www.telepo.com/telepo-business-communication-solution/telepo-

business-communication-server (Acedido em: 22 de Julho de 2011)

20. CommuniGate Systems CommuniGate Pro Server. Disponível em:

http://www.communigate.com/main/platform/client-server.html (Acedido em:

22 de Julho de 2011)

21. Ribbit Ribbit. Disponível em: http://www.ribbit.com (Acedido em: 23 de Julho

de 2011)

22. 0xff Timetracker. Disponível em: http://0xff.net (Acedido em: 24 de Julho de

2011)

23. Mantis MantisBT. Disponível em: http://www.mantisbt.org (Acedido em: 24

de Julho de 2011)

24. Gamma E., Beck K. JUnit. Disponível em: http://www.junit.org (Acedido em:

24 de Julho de 2011)

25. Apache Subversion. Disponível em: http://subversion.apache.org (Acedido

em: 24 de Julho de 2011)

26. Oracle SailFin. Disponível em: http://sailfin.java.net (Acedido em: 24 de Julho

de 2011)

27. Oracle Oracle Communications Converged Application Server Disponível em:

http://www.oracle.com/technetwork/middleware/ccas (Acedido em: 24 de

Julho de 2011)

28. Wowza Media Systems Wowza Media Server. Disponível em:

http://www.wowzamedia.com (Acedido em: 24 de Julho de 2011)

29. JBoss Netty. Disponível em: http://www.jboss.org/netty (Acedido em: 24 de

Julho de 2011)

30. JBoss Netty - Performance Test Reports. Disponível em:

http://www.jboss.org/netty/performance (Acedido em: 24 de Julho de 2011)

31. Johnson R. Spring. Disponível em: http://www.springsource.org (Acedido em:

24 de Julho de 2011)

Page 84: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 60

32. JetBrains IntelliJ IDEA.Disponível em: http://www.jetbrains.com/idea

(Acedido em: 24 de Julho de 2011)

33. Wireshark Wireshark. Disponível em: http://www.wireshark.org (Acedido em:

24 de Julho de 2011)

Page 85: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 61

Anexo 1 Competitors Analysis

O conteúdo deste anexo contém informações confidenciais e materiais com direitos de

autor pertencentes à WIT Software SA. Por esse motivo o seu acesso é restrito.

Page 86: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 87: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 63

Anexo 2 WCAS Detailed Design

O conteúdo deste anexo contém informações confidenciais e materiais com direitos de

autor pertencentes à WIT Software SA. Por esse motivo o seu acesso é restrito.

Page 88: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 89: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 65

Anexo 3 WCAS Chat Protocol

O conteúdo deste anexo contém informações confidenciais e materiais com direitos de

autor pertencentes à WIT Software SA. Por esse motivo o seu acesso é restrito.

Page 90: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT
Page 91: WIT Communications Application Server Plataforma ...files.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Teses/... · Plataforma interoperável para a convergência das telecomunicações . WIT

WCAS - Plataforma interoperável para a convergência das telecomunicações

Luís Gonçalo Henriques de Matos 67

Anexo 4 WCAS Chat Module

Performance Report

O conteúdo deste anexo contém informações confidenciais e materiais com direitos de

autor pertencentes à WIT Software SA. Por esse motivo o seu acesso é restrito.