Wednesday, December 22, 2010
Skype Down, the Closed P2P Issue
You may be wondering why Skype is Down if it is a P2P network. That is not hard to answer, it is a closed P2P Network which the Fallback Servers and Main Nodes are entirely dependent on Skype itself. So if something goes wrong with them, there is no real fallback like you would have in a distributed regular P2P network like BitTorrent, UseNet or Jingle Nodes.
The main issue is that only Users from within Skype can share the Routes, but not users on different Networks and Domains like you can do with Jingle Nodes.
Skype official response was that they were creating "mega-super-nodes"? I don't know what does that mean, but I'm sure it still have same single point of failure of the current system. Until Skype don't come up with a Federated System, where providers, services and users can share Routes, they will always suffer from outages. And of course the most affected are the users and business that depends directly on them. Nearly 20 Million Users are suffering from the outage.
Open Standard Free alternatives that can provide reliability and superior quality:
Clients with Jingle Nodes Support:
* Nimbuzz (Mobile and Desktop)
* SIP Communicator (Jitsi) (Desktop)
* OneTeam (Desktop)
Services with Jingle Nodes Support:
* Nimbuzz (Free)
* Talkr.im (Free)
Don't wait for Skype to come up with "hyper-ultra-mega-super-nodes" to migrate to reliable software.
Sunday, November 14, 2010
Jingle Nodes Updates
- Erlang Relay based on exmpp fully compatible with ejabberd and Tigase
- Openfire Plugin, it is a simple and plug and play Plugin for Openfire
- OneTeam client from process-one with full support for Jingle Nodes
- Talkr.im a public XMPP Server from process-one with full support for Jingle Nodes
- Professional Logo contributed by Fernando Lins
- Jingle Nodes Presented in 3 key events and confirmed other
- SIP Communicator announced Jingle Nodes Support is being added to main Version
- Special thanks to NLNet that sponsored contributions and ignited the project
- Writing Code and Discuss the Specification - All fixes, patches and suggestions are always welcome (Jingle Nodes Group)
- Talk about the project - Talk about Jingle Nodes simplicity and how it's easier than other alternatives
- Propaganda - Add a Jingle Nodes Image to your Blog or Website (Jingle Nodes Selo.png)
- Write a Tutorial - Describe how you are making use of Jingle Nodes
- Testing and giving feedback - Your opinion matters!
Monday, October 25, 2010
The Good, the Bad and the Ugly
It is even more evident now, that the good signs about Skype Openness we saw beginning last year are completely flushed now, probably due their eagerness of pursuing an IPO and new management.
Although, what they did not count is the bad impact in their own user base and public image effects of such blocks. It proves once more that companies should not rely on Skype as something solid to build product features. Not only that, according to Skype, third-party MUST not build product features based on their services.
Skype also claim they have an API. Really? Not exactly, they have a Client SDK/API. And why it matters, is that if a client or device want to make use of it, they need to have exclusive granted privileges for a black box piece of software to be embedded and shipped within your product. Yes, if you want to support Skype, you need to build your product on top of that, and also make sure the product is exclusively Skype friendly. If that wasn't enough they also say that they do not guarantee for how long the piece of software will be valid.
Skype wants to do what AOL did, trying to force their users to install their Software and only use their own Browser/Client to access Internet.
The Bad.
SIP is widely adopted worldwide specially among technical people, geeks and behind the curtains, even used as base landlines telephony like in Netherlands.
- The interoperability is something achievable theoretically, meaning that several different SIP Clients can talk to each other
- SIP release the Telecom from the "Dark Ages" to the "Modern Times", showing that Telephony could be done using IP and good software
- Vast majority of Communication equipments and platforms have support for it.
- It enabled the possibility to create huge portfolios of Value aggregated Services based on Legacy Telecom Centrals
- It is responsible for the cheap VoIP as we know it
- Most terminations that Skype buys, are provided via SIP
- Estimated numbers of SIP Providers worldwide is bigger than 50.000
- SIP Providers can sell termination minutes not only to end users, but also to other Providers
- SIP Protocol is not as practical and simple as it should be by 2010
- SIP is not extensible, the current attempt of extending it (3GPP) is failing badly, taking more than 10 years of pure specifications, without any success to reach mass market. The current result is a HUGE stack of workarounds badly described and full of contradictions
- SIP Calling is great and almost straight-forward, but Messaging, Presence, Contacts and Extended Services are way too complex for current Market Status
- SIP is always backed by big corporations that tries to mystify it, trying as much as possible to postpone the life-cycle of the protocol.
- The current Market needs and demands extra features than only Calling. There is no such thing as a mass market SIP based service with extensive features like: Presence, Contacts, Whiteboard, Video, File Sharing etc.
- Apple Facetime is a frustrated attempt to use SIP for extended Video Call service ( Why frustrated? A service that works based on "trial-error" and does not have interoperability support in 2010, is a failure by default ). Apple end up implementing a half-SIP, half-XMPP, half-STUN solution. Which is completely closed for interoperability. It claims to implement it ALL, and supports NONE.
- The complexity of the protocol makes it hard and restricted to highly specialized developers, which have their jobs lifetime guaranteed, but decreases the potential mass adoption of the protocol. The Ugly.
Wednesday, October 20, 2010
Facetime and Video Call Matrix
Today Apple released Facetime for Mac OS, making it possible to have easy and H264 quality Video Calls between IPhones, IPods and Mac Desktops/Laptops.
besides the lack of Device Capability Discovery, meaning that you need to know who has support for it based on Trial and Error. Hard to believe for a 2010 Technology.
The moment also calls for attention of the extremely fragmented market of Video Call Clients Interoperability.
Current Status, October 2010:
Oct 2010 |
Jan 2011 |
- Strange Username/Device setup
- Confusion about device/contact support
- Lack of simple start/stop Video buttons
- 3G support
- Interoperability
Thursday, October 14, 2010
Jingle and Gaming
Having Multi-Player games using Jingle doesn't mean all the commands, events and actions will be sent in XMPP Format through IQs.
Jingle can also be used to negotiate direct TCP or UDP ByteStreams which is the most suited for low latency Games like Shooting Games for instance:
<iq from='romeo@3drealms.com/borntobewild'
id='ph37a419'
to='juliet@dnforever.com/makemyday'
type='set'>
<jingle xmlns='urn:xmpp:jingle:1'
action='session-initiate'
initiator='romeo@3drealms.com/borntobewild'
sid='ohhyeah'>
<content creator='initiator' name='dukenukem'>
<description
xmlns='http://dukenukemonline.com'
media='game'>
<payload-type id='1' type='controller'/>
</description>
<transport
xmlns='urn:xmpp:jingle:transports:tcp'
pwd='asd88fgpdd777uzjYhagZg'
ufrag='8hhy'>
<candidate component='1'
foundation='2'
generation='0'
id='y3s2b30v3r'
ip='192.0.2.3'
network='1'
port='45664'
priority='1694498815'
protocol='tcp'
rel-addr='10.0.1.1'
rel-port='8998'
type='srflx'/>
</transport>
</content>
</jingle>
</iq>
So if you are looking forward to build Multiplayer Games, you may consider ejabberd or Openfire a ready to use platform for such.
This is an insight post, so please fell free to send question and ideas as comments.
Wednesday, September 22, 2010
Gravity
Gravity is the "inertia" of the timeline that we are situated. Basically it tries to pull back the matter to the earliest state as possible in a state-less way.
From a Macro Cosmo perspective there was only one incident and everything currently tries to converge back to the previous state, which is all the mass in a single point of space and time.
Gravity like most of the other effects we see in regular physics, does not keep state of each previous state, except for the most relevant one.
For instance no matter how many rocks diverged the flow of the water in a river, from a higher perspective, the river will always follow its course like no rock, had changed the movement and the water form at previous points of the river course.
Gravity keeps the original shape, course and intensity as most as possible. Mitigating the essence of this energy. Which is one of the most basic ones in the universe.
The energy can be defined and resolved as a recursive movement of energy always trying to go back together to the original state, usually perceived by the nearest and easiest bigger mass around.
Meaning that to stop gravity you will need to stop time as we know it.
Saturday, September 11, 2010
Jingle Nodes Proxy and EU Surveillance
When I read this news on Slashdot.org, as an enthusiast of civil freedom, I immediately downloaded both documents available in the Link. But what I found was more interesting for me than the news itself. In the "The communications framework architecture" section, the document contains the following diagram:
2006 - Diagram for Openfire RTP Proxy |
Saturday, September 4, 2010
Facebook VoIP Architecture and the Death of Phone Numbers
As we know Facebook supports XMPP for Chat, meaning you can use your preferred XMPP Client to use Facebook for Chat. But do you really think Facebook rolled out XMPP support only for Chat?
If so, you are indeed wrong.
Facebook wants to expend their communication profile. Like others like Google, MSN, Yahoo, Skype, etc, they also want realtime interaction meaning Voice and Video communications.
Reasons:
- Facebook users have more Facebook Friends than contacts in their phonebook.
- People change phone numbers and your are not automatically updated.
- Phone Numbers belongs to Operators/Countries, your Facebook account is much more personal.
- You can control who can call you. On regular phone you are often victim of unwanted calls.
- Phone Calls and SMS are more expensive them IM and VoIP in most cases.
- Facebook average number of Contacts per user is way bigger than Skype.
- Skype is too limited and close to create the same loyalty that Facebook always had.
- If they also open this for XMPP Federation, it would indeed speed up the death of "phone numbers" as we know.
- As Facebook already have support for XMPP Chat, certainly they will use XMPP Jingle.
- For Media Relay and Distribution Points? For sure Jingle Nodes will be the simplest, fastest and most reliable way to delivery Multimedia for their gigantic number of users at once.
- How would it look like for browser users? They will use new advanced browser features to have Jingle Clients running on it. Like GMail already have for a long while.
- They already have the PERFECT routing and presence in place, XMPP for Chat, same exact route can be used for Jingle if Facebook enable support for IQ routing in their XMPP network.
This post is a proposition of how Facebook will do their Voice/Video support in near future. The use of Jingle and Jingle Nodes is not confirmed at all. But sure will be an extremely bad idea of Facebook to do not do it like described above! I challenge them to do it better and more open than this.
Tuesday, August 31, 2010
Yet about Google Call
- How does the Authentication works?
- That is one key reason for using their established XMPP channel for placing the calls. The user is already authenticated in GMail and Google Talk. So the request is sent through the authenticated XMPP network to their XMPP Component responsible to offer SIP Gateway. From that moment one the component will convert the Jingle Signaling from the Google Talk to SIP and use your Google credentials to authenticate in their SIP Services.
- Which Codec is being used?
- G711 is the only one that I could trace, although the Plug-In indeed support iLBC and others. The reason behind it, is that G711 is a supported codec in most all PSTN, Media Gateway or other interconnection with Legacy Telecom. Alternatives would be transcode, which is out of the question due CPU load, drop of quality etc... Or use proprietary G729 which requires the payment of extremely high royalties per client/channel.
- Will they succeed in making money?
- Google "Cows" may produce some "milk", but I doubt Google consider that as an important income resource. The feature is much more related with PR and positioning about THE REALTIME company, than anything else. Having most of what Skype does in their closed client, in a browser and using open technologies is a direct confront to Skype's model. IMHO, Phone Numbers are dead, and will be ripped out of the market in less than 5 years from now.
- Are the API for Audio/Video Streaming available for third-party usage?
- That I could not figure out. Tried document or formal info from Google without success. May someone could assist us on that matter with some Javascript reverse engineering, or a Google guy, that wanna share that with us. Please let us know :)
- Is there any client supporting it already?
- No, it is not yet available in any client that I'm aware. But I bet that as soon Google appears with a formal specification and documentation, that will happen very very fast.
Friday, August 27, 2010
Google Call over Jingle with a SIP Gateway on their XMPP Server
I just confirmed in my Wireshark that Google Call on Gmail uses exactly what I recommended in a previous post back in 2009 when they acquired Gizmo5. And YES, it's Jingle!
Their wise choice of having a portable and extensive protocol(XMPP) as the bus and having specialized technologies like SIP, will grant them a flexibility never seen before on platform and device portability.
Their master plan is to be able to delivery mass market a cheap and alternative method for calling the old fashioned telephone numbers. And sure they have the right platform and tools in their hands:
Almost all Android phones have with GTalk application pre-installed, which already runs a nice XMPP Client, besides other great alternatives like Nimbuzz.
Now imagine what Google can bring to the market without much effort due their choice of using Jingle extension of XMPP for their service? Google Call support on Android phones. That is the key and reason behind this service.
Overview Diagram:
Wednesday, August 25, 2010
Google Call on GMail
Google Call, as I mentioned before in a previous post, was added as a Calling feature direct to the browser.
I hope this take down Skype monopoly built on top of a closed and proprietary fuzzyware.
Google now has the most powerful position on VoIP world and soon will take down Skype eagerness for a proprietary/closed network.
Google's solution is built on top of a plugin, which is embedded on new Chrome and also easy to install on other browsers. They are using Standard XMPP and Jingle at Client Level with SIP in the backend, Streaming RTP with Standard Codecs directly from the browser. ( NO CRAP FLASH TRANSCODE USED! )
Google Call offer several advantages:
- Browser Based
- Open, so they can make use of third-party clients for it ( Do you need more reasons??? )
- VoIP everywhere, browser or in your favorite Client. Solid Model.
You can try it here: http://www.google.com/chat/voice/
As you asked how it works:
Google is making use of recent acquired GIPS Company Technology to add native RTP streaming directly to the browser.
For PSTN Termination, Google is using Gizmo5, together with previous Google Voice partners.
I promise to post deeper technical information like protocol details and Codec later on.
Tuesday, July 20, 2010
Jingle Nodes at FISL 11
- NLnet Foundation who sponsored the development of the prototype APIs for Server and Client. And the whole campaign of the specification publish.
- Fernando Lins for the awesome and professional new Jingle Nodes Logo.
Wednesday, June 23, 2010
Skype API Available for Beta
Skype understand the importance of standing as a Service provider and no longer a simple Client provider. Something that cannot be accomplished without massive adoption in different devices, platforms and software.
Although we can reflect once again about the approach that has being used by them.
- Skype API is something that will work only for Skype Network. The flexibility of the service goes immediately to the ground. So if you implement it, make sure you know you won't be to re-use the code somewhere else.
- They are claiming some openness based on an old client side SDK API model. Which dismiss all potential of the currently heavily deployed solutions like SIP, which is everywhere, from Servers, Platforms, Hardware, Gateways etc... I'm not a SIP fan, although strategically would be wiser for them.
- Skype shares bandwidth without user concerns. Would you be up to risk embedding such black box into your own application or Product?
- Most IMPORTANT! Latest Skype IPhone client mention about not being free anymore from certain date. So if you are looking forward to implement Skype, bare in mind they can actually start charging for their services or clients at some point, which may turn your "FREE" application useless.
Apparently they may need to speed it up since Apple announced that Facetime on IPhone 4g, will use Open Standards including SIP, STUN and ICE. Which is a mature P2P technology heavily used and deployed and of course the same as we are using on XMPP Jingle Specifications.
Open Standard P2P already won this 'battle' which Skype still persists to fight.
Friday, June 11, 2010
GMail VoIP Coming Soon
Gizmo5 had for a long long time such widget but was using several layers of software from server side transcode, flash capture and an extra plugin.
I really hope they are thinking hard to have their widget based on embedded browser features. As it would be quite simple to embed a real VoIP(RTP/Codec) API in Google Chrome at least. That will really move the perspective on Broswer based VoIP to a new level!
The whole market will also appreciate if they make such API as open as possible so other could also create their browser based VoIP Clients.
We would even be pleasured if such API to be available also on Android Devices.
Google don't disappoint us.
Monday, May 31, 2010
Presenting The "Vital Ratio" Theory
I'm not a Marketing Guy, neither Specialists. As a generalist programmer I could come up with a much more mathematical oriented model. Which is not perfect, of course, but is the best and more reliable that I've seen in my limited ignorance.
The Problem:
Solution Approach:
If you think the Internet as an Human Body, or a Live Organism, you can give values to the Vital Organs for instance:
- Heart
- Lungs
- Brain
- Liver
- Kidneys
- Stomach
- etc
Thesis Draft
Internet Systems Health can be measured by the mathematical model to presented in this blog later on.
Internet Systems can be divided in several categories, which together composes the Internet Ecosystem:
- Protocols
- Services
- Applications
- Network
- Users
- Protocols - 2
- Services - 6
- Applications - 4
- Network - 10
- Users Daily - 8
Sunday, May 30, 2010
STUN Discovery via JIngle Nodes
The most relevant change is that Jingle Nodes now will support STUN Tracking, which means that users can also share known STUN Servers. This is very handy and most of all, it is very easy to access STUN Servers as they not require authentication for Public IP Discovery.
After all, the most popular XMPP Servers in the market already offers embedded STUN Service (ejabberd STUN).
Google Talk Network also provides STUN Services, so they can also be shared through Jingle Nodes.
Another minor fixes and changes were also added.
Please fell free to read and submit critics and comments to it.
Tuesday, May 18, 2010
Google Acquires GIPS
Today was announce the conclusion of the buying process of GIPS by Google.
What does that mean?
Here are some hints:
- HTML5 predicts lots of extra features that needs to be provided by the browser. Which means that they are really looking forward to remove the crappy dependency of Adobe Flash, which currently is required for 99% of all Browser Based Voice Over IP Applications. Which besides the Adobe Plugin requirement, also requires traffic and negotiation passing through Adobe Media Servers... (Adobe shall get what they deserved for their manipulation, never supporting Standard RTP Streams)
- GIPS was the best in the market "Quality Wise". They always offered top quality codecs and APIs to main Real Time Communication Companies from Desktop Skype to Mobile Nimbuzz.
- Goggle already used not only GIPS software but also GIPS iLBC codec. Which is a great quality for low bandwidth Internet Communication with extra awesome packet loss support.
Semi-Fiction Fact:
Google looked for some solution and buying the whole company was the easiest and quickest way to get it done...
Thursday, March 18, 2010
Mobile VoIP is now Illegal in Egypt
It would even be acceptable if it was for all VoIP, but not. VoIP still acceptable if provided by the State Hold Telecom Companies of Egypt.
Main blocks includes Skype and known international SIP providers. Although I'm not the biggest fan of Skype closed protocol, I consider this completely unfair and offensive against Skype.
More than a political problem for Egypt citizens this is a crime against their freedom.It is more than clear that the only reason is money, as State Telecoms were almost bankrupt end of last year. This is a criminal behavior aiming the State and not Citizens that should be condemned by other countries as well.
Jingle fortunately still not blocked, so if you blocked on Egypt, feel free to re-enforce mobile VoIP usage over Jingle.
Suggested Clients:
- Nimbuzz on Symbian, Windows Mobile, Android and IPhone
- Native GTalk Client for Maemo
Wednesday, March 10, 2010
IPhone Over 3G
I proudly announce that we have the first Jingle based VoIP Application on IPhone that supports Calling Over 3G!
This application is Nimbuzz, a fully featured Client that supports VoIP via Nimbuzz Contacts, NimbuzzOut, Skype, GTalk, Yahoo, MSN and it is also a SIP Client. It is the Mobile VoIP Freedom Gadget.
The battry consumption really rocks if compared with regular SIP Clients, plus the benefit to be able to receive and place calls, through different methods without any extra battery consumption.
The Application is Free on Apple AppStore and it is also available with VoIP support for Symbian, Android and Windows Mobile.
It uses XMPP and Jingle as the main bus for their services, enabling also the usage of your Nimbuzz account through other Clients like Adium, Pidgin, PSI, Empathy, Pandion, etc...
Friday, March 5, 2010
Jingle Nodes - So far
Imagine that the very first implementation was in Openfire in 2006, which was kind of rejected by several Jingle Developers(due STUN/TURN promiss) but accepted and used by SIP Community back there(which knew STUN/TURN are painful for P2P).
In summary we already accomplished:
In 2010, we have the specification on XMPP.org inbox: http://xmpp.org/extensions/inbox/jingle-nodes.html- In 2010, we have the specification accepted as 'Experimental' on XMPP.org: http://xmpp.org/extensions/xep-0278.html
- Server Side Component 100% ready to use - Check http://xmppjingle.org for Download and Sources
- Client Side API (60% done) - Check http://xmppjingle.org for Download and Sources
- Demo Client (Under Selection) - If you are a Client developer of an OpenSource XMPP Client and have interest on Jingle Nodes supports, you are a potential candidate. Contact us.
- Sea Beyond - Paris, 17th December 2009: Jingle experimenting session and a presentation, which is a new technical event that explores the future of real-time communication technology. It is organized by ProcessOne, an authority in XMPP and real-time communication software.
- FOSDEM 2010 - XMPP Devroom @FOSDEM 2010 Presentation and Investigation about other P2P Solution adopted by Jingle Developers
- Talkr.im - The free IM service Talkr.im is running a public Jingle Nodes for their users.
Jingle Nodes is a specification based on implementation and deployment needs, meaning that we have it first running and compiling, for later publish of the complete specification. Which makes it a ready to use technology and not only a technology paper. Thanks NLnet :)
- An Official recommend demo Client.
- A New Better Professional Logo contributed by Fernando Lins
- More Corporate and Public Deployments.
- Specification Improvements and Approval.
- Adoption in major Jingle Clients.
- Events. We LOVE Events and Invitations!
Rapportive - Useful
Basically your gmail will look like this:
It works very well and the important message about this kind of tool is the relevance and the ubiquity of contact lists nowadays. I currently use a Firefox add-on XMPP Client, which makes almost everything that I usually for Social Network and Work related stuff, to be inside my browser.
Dear Google, why don't you use the same space for 'Buzz' Timeline?
Thursday, February 18, 2010
Running Code
Talkr.im announced today that they are running a Jingle Node Public Relay in their Server, and every Talkr.im user can make use of it for Jingle Calls.
They are running the code from http://xmppjingle.org (Erlang Version), which holds main Jingle Nodes Contributions.
In order to consume their Relay services you just need one IQ Packet (see http://xmpp.org/extensions/inbox/jingle-nodes.html )
Lets see who will be the first to distribute a Jingle Client with Jingle Nodes support!
Thursday, February 11, 2010
XMPP Facebook Jingle Support?
Unfortunately Facebook XMPP doesn't support IQ routing between users meaning "NO JINGLE ALLOWED!".
This is bad not only for the Users, but also bad for Facebook, which could be happy right now, with VoIP support.
Let's hope they improve their services in order to fully support XMPP allowing users to experience the best of IM Freedom!
Anyway, this is an important step for XMPP Community which just got 400 Million potential users.
Thursday, February 4, 2010
Jingle Nodes goes to FOSDEM
If you are going to the summit, feel free to ping me about Jingle Nodes for ideas, question, contributions etc.
Attending FOSDEM you are invited for a quick talk about how Jingle can provide an Open alternative to Skype (for Skype as well).
For agenda check: http://xmpp.org/summit/summit8.shtml
The great portion of it will occur on Friday 5, the XMPP Hacking, a great opportunity for XMPP and Jingle developers interop what they have built. Less talk, more code!