So I haven’t written anything worthy in a while , just published some posts that were lying around in my drafts . Here I write about the main thing . some thing awesome that I was trying to accomplish in the last quarter .
<< TFX is now live in chrome store , open and free for public use . No signin or account required , no advertisements : https://chrome.google.com/webstore/detail/tfx-sessions/aochimdcllmgleokpnlabijehdlmkdga >>
TFX Sessions is a plug and play platform for VoIP ( voice over IP ) scenarios. Intrinsically it is a very lightweight API package and shipped in form of a Chrome Extension . It is a turn-key solution when parties want instant audio/audio communication without any sign-in ,plugin installation or additional downloads . Additionally TFX Sessions is packaged with some interesting plugins which enable the communicating parties to get the interactive and immersive experience as in a face to face meeting.
There is a market requirement of making a utterly simple WebRTC API that has everything needed to build bigger aggregate projects but the available solutions are either just to basic or much too complex . So I initially started writing my own getuserMedia APIs, but left it midway and picked up simplewebrtc API instead for want of time .Then I focused on the main crux of the project which was the widget API and ease of integration.
How Does TFX Sessions Work ?
- Signalling channel establishes the session using Offer- Answer Model
- Browser’s media API’s , like getUserMedia and Peerconnection are used for media flow
- Media only flows peer to peer
A Widget is essentially any web project that wants communication over webrtc channel . Once the platform is ready I have core APIs , widgets and signalling server. Then came up the subject of enterprise internet blocking my communication stream . Time for TURN ( Coturn in my case ).
Components of TFX
Client Side Components of tangoFX :
Inhouse master library for TangoFX. Makes the TFX sessions platform .Masks the low level webrtc and socketio functions .
Provides simple to use handles for interesting plugins development in platform .
performs webrtc support , peer configuration , wildemitter , utils , event emitters , JSON formatter , websocket , socket namespace , transport , XHR more like so
exports and listener for real time event based bidirectional communication
JS library for client side scripting
HTML and CSS-based design templates for typography, forms, buttons, navigation and other interface components.
Server Side components
Signalling Server -signal master
socket.io server for webrtc signalling
TURN protocol based media traversal for connecting media across restricting domains ie firewalls, network policies etc .
redis Data structure to maintain current and lost sessions
So here is the final architecture of TFX chrome extension widget based platform .
- The Server Side of the solution contains socket.io server for signalling , manuals and other help/support materials , HTTPS certificate and TURN server implementation for NAT .
- The underlying technology of TangoFX is webrtc with socket based signalling . Also it adheres to the latest standards of W3C , IETF and ITU on internet telephony .
- TangoFX sessions is extremely scalable and flexible due to the abstraction between communication and service development. This make it a piece of cake for any web developer using TangoFX interface to add his/ her own service easily and quickly without diving into the nitty gritties .
- TangoFX is currently packaged in a chrome extension supported on chrome browser on desktop operating system like window , mac , linux etc .
- The call is private to both the parties as it is peer-to-peer meaning that the media / information exchanged by the parties over TangoFX does not pass through an intervening server as in other existing internet calling solutions.
- TangoFX is very adaptive to slow internet and can be used across all kinds of networks such as corporate to public without being affected by firewall or restricting policies .
TFX Widget Screens
Alright so that’s there . Tada the platform is alive and kicking . Right now in beta stage however . Intensive testing going on here . However here are some screenshots that are from my own developer version .
Note that the widgets described above have been made with the help of third party APIs.
TFX Sessions Summary
We saw that TFX is WebRTC based communication and collaboration solution .It is build on Open standards from w3c , IETF , Google etc.
Scalable and customizable. Immersive and interactive experience .
Easy to build widgets framework using TangoFX APIs.
TFX Developer’s Manual : https://tfxserver.above-inc.com/static/manuals/material/TangoFXv0.1Developersmanual.pdf