Postado originalmente em Mundo API: https://mundoapi.com.br/destaques/cpaas/
O que são CPaaS?
CPaaS é o acrônimo de Communications Platform as a Service (ou Plataforma de serviços de comunicação). Os CPaaS disponibilizam serviços de voz, vídeo e mensagem de comunicação baseados em nuvem, o que permitem que desenvolvedores os utilizem em suas aplicações via APIs, sem a necessidade de ter por traz toda uma infraestrutura complexa.
Com os serviços das CPaaS uma aplicação pode ter funcionalidades de comunicação para criar valor a produtos, visando atender melhor ao usuário final. Seu papel também é fornecer toda a documentação e suporte para ajudar o desenvolvedor a utilizar seus serviços onde este, no final das contas, são seus clientes. Desta forma os CPaaS investem em Portal de API, disponibilizam SDKs, bibliotecas e todo o encantamento para que o desenvolvedor utilize ainda mais seus serviços.
Possibilidades de uso nas mais diversas aplicações
A aplicabilidade de tais serviços é vasta e só tende a crescer nas mais diversas aplicações, atendendo a um variado ramo de negócios. Imagine poder disponibilizar em qualquer aplicação um chat em vídeo. Que tal se este chat fosse entre a portaria de um prédio e o elevador ou mesmo com a sua TV, ou entre um painel de um carro e uma smartphone ou embarcado em um IoT? Ou mesmo em uma linha de produção de uma fábrica? Ou entre enfermeiros e médicos em hospitais? Tudo isso é possível através de uso de APIs de WebRTC (Web Real Time Communications) que os CPaaS disponibilizam de uma forma mais fácil através de APIs.
O que é o WebRTC?
O WebRTC são utilizados em vários apps como Facebook, WhatsApp, navegadores do iOS e Android, e é um padrão w3c. Com esta biblioteca é possível abrir um canal de comunicação e fluxo de transferência de dados via navegadores, através do uso das seguintes APIs:
MediaStream: responsável em criar a sincronização de fluxo de media, com acesso a câmera e microfone;
RTCPeerConnection: responsável pela conexão ponto-a-ponto, com a característica funcional de gerenciamento de banda e criptografia do transmitido;
RTCDataChannel: responsável em criar canais bidirecionais ponto-a-ponto, inclusive para a transferência de dados.
Por onde começo para integrar os serviços de comunicação em minha aplicação?
Você pode utilizar as APIs do WebRTC ou as APIs de CPaaS, a diferença é o esforço e o investimento que você deseja fazer e o tipo de aplicação. Para quem deseja gerar valor ao seu produto rapidamente e com um menor esforço de implementação é melhor utilizar os serviços de CPaaS. Neste caso será necessário assinar os serviços das CPaaS o que implica em custos.
Figura exemplo de empresas CPaaS
Já para aqueles que desejam dominar completamente o assunto e fugir dos pagamentos mensais, o ideal é começar com as bibliotecas do WebRTC, SIPjs, ou Jitsi.org. O ponto positivo é que assim o desenvolvedor tem a liberdade para criar o que quiser, como integrar com plataforma específicas de VoIP como Freeswitch, Asterisk criando soluções de telefonia completas.
Contudo, dependendo do que se deseja criar, terá que investir mais em desenvolvimento e infraestrutura, o que pode gerar muito mais custo no final do projeto que as versões pagas em CPaaS.
Exemplos de uso do WebRTC-SIPJs e WebRTC
Bem, daqui em diante você poderá utilizar as APIs de CPaaS ou criar a seu próprio site de vídeo conferência entre outras coisas mais, com as APIs de WebRTC.
Até,
Antonio Bruce (Linkedin)
Para utilizar bibliotecas de comunicação: https://webrtc.org/ https://sipjs.com/ https://jitsi.org/ http://www.w3.org/TR/webrtc/
Github- w3c https://github.com/w3c/webrtc-pc
Tutorial WebRTC: https://webrtc.org/start/