Wednesday, May 18, 2011

SJVN Claims that SIP doesn't Peer and that XMPP doesn't Federate -- WTF?



Image via Wikipedia


"For example, Iptel, Ekiga.net, and ippi are all fine SIP networks, but if youre only on one of them you cant talk to other SIP VoIP users on the other two and vice-versa. The same is true of XMPP/Jingle networks, and, for that matter all the other VoIP networks." -- http://www.zdnet.com/blog/networking/beyond-skype-voip-alternatives/1061


Huh? SIP supports peering and XMPP supports federation. That means that different networks can talk to one another.



"No Extensions NecessaryBut what does SIP peering mean? Is there some new special protocol required for SIP peering? What problems does peering introduce that arent already covered by the existing specifications and products? Those are good questions. First and foremost, SIP peering does not require any new extensions to SIP. The ability to interconnect provider networks is built into the SIP protocol itself. There is a common misconception that SIP peering requires some kind of special profiling of SIP in order to provide interoperability. That is simply not true. SIP was designed to interoperate, even among implementations that support different extensions and capabilities. SIP networks are interconnecting today without additional extensions. SIP has built-in negotiation capabilities that allow fallback to a common baseline set of capabilities when there is mismatch between sides. As an example, SIP has an extension for preconditions (RFC 3312), which makes sure that a call proceeds only if a quality of service (QoS) reservation exists between the endpoints. What happens if only one side supports the extension? If implementations follow the specifications, they will correctly fall back to baseline operation without this feature. Now, some will argue that this is a problem. We need this feature to always be used between our networks! theyll say. The interesting thing is, the extension is implemented at the endpoints, not in the network servers. Thus, a SIP profile that mandates usage of the extension could not be applied to the SIP servers doing the interconnection. Fortunately, the SPEERMINT working group has recognized that SIP peering is not about SIP profiling. Its charter explicitly rules profiling as out of scope, in fact. So, if SIP peering is not about a SIP profile, what is it about?" --http://www.tmcnet.com/sip/0306/sip-columns-speaking-sip-0306.htm

Also:


"1. Introduction
XMPP Core [1] describes the client-server architecture upon which Jabber/XMPP communication is based. One aspect of such communication is "federation", i.e., the ability for two XMPP servers in different domains to exchange XML stanzas. There are at least four levels of federation:
Permissive Federation -- a server accepts a connection from any other peer on the network, even without verifiying the identity of the peer based on DNS lookups. The lack of peer verification or authentication means that domains can be spoofed. Permissive federation was effectively outlawed on the Jabber network in October 2000 with the release of the jabberd 1.2 server, which included support for the newly-developed Server Dialback [2] protocol.
Verified Federation -- a server accepts a connection from a peer only after the identity of the peer has been weakly verified via Server Dialback, based on information obtained via the Domain Name System (DNS) and verification keys exchanged in-band over XMPP. However, the connection is not encrypted. The use of identity verification effectively prevents domain spoofing, but federation requires proper DNS setup and is still subject to DNS poisoning attacks. Verified federation has been the default service policy followed by servers on the open XMPP network from October 2000 until now.
Encrypted Federation -- a server accepts a connection from a peer only if the peer supports Transport Layer Security (TLS) as defined for XMPP in RFC 3920 [3] and the peer presents a digital certificate. However, the certificate may be self-signed, in which case mutual authentication is typically not possible. Therefore, after STARTTLS negotiation the parties proceed to weakly verify identity using Server Dialback. This combination results in an encrypted connection with weak identity verification.
Trusted Federation -- a server accepts a connection from a peer only if the peer supports Transport Layer Security (TLS) and the peer presents a digital certificate issued by a trusted root certification authority (CA). The list of trusted root CAs is determined by local service policy, as is the level of trust accorded to various types of certificates (i.e., Class 1, Class 2, or Class 3). The use of trusted domain certificates effectively prevents DNS poisoning attacks but makes federation more difficult since typically such certificates are not easy to obtain.
The remainder of this document describes in more detail the protocol flows that make it possible to deploy verified federation, encrypted federation, and trusted federation. Protocol flows are shown for federation attempts between various combinations to illustrate the interaction between different federation policies." -- http://xmpp.org/extensions/xep-0238.html


Sure, they have to be turned on, meaning that Facebpook's XMPP doesn't federate, for instance, but most XMPP networks do, and it's the same for most SIP neworks. In fact, this is from Ekiga:


"Using the Ekiga.net SIP addressThe Ekiga.net service accept calls to its registered users without being registered to Ekiga.net. Just call the sip:user@ekiga.net address directly. " --http://wiki.ekiga.org/index.php/Peering


Peering and federation are the strongest selling points of SIP and XMPP. How could you miss them?

Am I misunderstanding you, SJVN? I hope so.




Personally, I'm waiting for a bunch of providers to step up and provide webmail / SIP / XMPP + social extensions all under one address.

Related articles
Beyond Skype: VoIP Alternatives (zdnet.com)


Tuesday, April 5, 2011

New video widget

Official Compiz logoImage via Wikipedia
"For the rest of the changes, we needed a video widget that was more flexible than the X-based one we were using. So from Totem 3.2, we'll start using clutter, and clutter-gst," said Hadess.

What does this mean for Unity, since it uses Compiz? Will Canonical's desktop become more and more divorced from GNOME standard, including the included apps? I'm betting it will. In fact, I've been encouraging Ubuntu to go this direction for quite some time.

The Choice of AMD is Rewarded and Go Ahead with AMD64

Image representing AMD as depicted in CrunchBaseImage via CrunchBaseThe last couple of laptops I've bought have been AMD machines, largely from my desire to get the best performance to price ratio, but also because the integrated graphics chips are much better than Intel's. That choice is being rewarded with 11.04. The open-source drivers work extremely well for daily desktop use, though they have half the performance of the Catalyst driver.


Phoronix recently also benchmarked 32-bit, 32-bit PAE, and 64-bit systems, and the 64-bit systems were significantly faster in almost all tests.

The takeaway? If you're going to run 11.04 on a laptop, AMD's Fusion is a good choice, and you'd be best advise to install the AMD64 version.

Friday, April 1, 2011

eOS 0.1 (Elementary Jupiter) Released and Reviewed

As I've written before, I've been using Natty and Unity for about three months straight now, and I'm extremely happy with how it's shaping up. I'm always interested in other projects, though, especially ones with a philosophy which includes consistent look and feel. Elementary is a project like that, so I leapt on the release announcement and torrented the 614MB .iso.
Two words described the distro -- fast and elegant.
I first ran the live CD in Qemulator under Natty, but I knew the video drivers were holding me up so I wrote out a USB drive for it and rebooted. Even running from the drive, everything is extremely responsive. It works as expected.
Pros:

  • Fast
  • Limited, very consistent applications
  • Midori is awesome and is  all that I wanted Epiphany to be for years
  • Postler only asks for your e-mail address and password to set up common mail options. Amazing and easy
  • Looks amazing and the applications take up little vertical space
  • Abiword and Gnumeric instead of OO.o or LO
  • Traditional GNOME app menu
  • I like that the Elementary devs have standardized on Vala and GTK+
Cons:
  • Postler had trouble connecting to my GMail account and gave no feedback for about fifteen minutes
  • Dexter doesn't use my webmail coontacts
  • Empathy's setup screen isn't at Postler's level yet (and why should I have to input my GMail account again?
  • Inconsistent configuration options for the non-eOS apps. I assume that they will be modified later
  • Midori lacks installed extensions (edit: open the sidebar to find them) and doesn't work with some web apps (e.g. Picasaweb)
  • There is a lot of turmoil about the installed apps and that has to be getting in the way of work
This is a 0.1 release, but it's based on Ubuntu 10.10 so it's already quite stable. If the choice of applications settles down (Elementary Nautilus or not?), eOS should be great by 0.2. Who can ask for more than that?



Sunday, March 6, 2011

Unity Holds Promise, but Needs Work

Unity ApplicationsImage by Andrew Currie via FlickrFor those of you who have had every Ubuntu news site blocked at the /etc/hosts level for the last ten months and have no idea what Unity is, I'll tell you that the Ubuntu train has jumped the GNOME tracks and gone even further out on its own (just as I called it) by creating its own desktop, called Unity, due to be released with 11.04.

In order to give a proper review, I began using Unity on Natty for daily work almost two months ago, pre-Alpha, and have watched the furious pace of development. Unity's design is brilliant; the implementation isn't. There's still time to fix most of the bugs, but I don't expect to see Unity hit its stride until 11.10 or so, (and 12.04LTS should be solid).

Ayatana didn't follow my suggestion of keeping the UI intact and change the backend. Instead, the team went for a completely different look in order to differentiate Ubuntu from all other OSes. The design is unique and beautiful.

 Despite completely changing the UI, Unity is remarkably discoverable (not intuitive), especially for power Windows users. These users are probably very used to using the super key to get things done, and unity handles that very well. Press super, and the launcher appears; hold the button down, and the shortcuts for the launcher are overlain on the dock buttons themselves; double-press the key, and Unity's search interface comes up. Within fifteen minutes of this overlay feature appearing on my computer, I was using the keyboard shortcuts and saving myself a bunch of time over mouse-keyboard context switching.

Like I said -- "good design; needs work." Stability is a huge problem for my AMD / Radeon laptop. I can't alt-tab without crashing Unity. NVidia has a similar known bug. Even avoiding switching apps this way, which is quite annoying, Unity still crashes once or twice a day on me, leaving me with nothing until I ctrl-alt-F1, login, and enter DISPLAY=":0" unity, then switch back. I don't understand why there's not a process monitor to restart Unity after a crash.

Unity's search system is also painfully slow and inconsistent. Sometimes it returns nothing for an exact application match (e.g. "software" might not give you the Software Center), but pressing backspace to delete a character or two might match the same word (e.g. "softwa" does match). The screen overlay may or may not appear or disappear depending on what you type. Your cursor might be focused in the search box, or you might continue to type and click in the application you just left -- there's no way to know, and that lottery isn't one I want to play with my important documents.

The recent implementation of Places and an API for it mean that not only do we have easy access to apps, files, and people, we could get extras like web search or Google docs integration. As long as it doesn't get overloaded with features, and those stay as optional extensions, all should be good.

Overall, Unity shows great promise, but it's definitely not ready for the average user's desktop ... yet. Give it six months.  

Friday, May 28, 2010

Is StatusNet Really an Appropriate Base for a Social Network?

Image representing StatusNet as depicted in Cr...Image via CrunchBase
Why is there so much talk of ditching Facebook? Privacy issues, of course. There's also more. As much as Facebook does (and it does a lot), it fails to do what people need it to. Let's look at Matt Zimmerman's recent post, Optimizing my social network. I'll quote a bit from it.
Here is the arrangement I’ve ended up with:
If you just want to hear bits and pieces about what I’m up to, you can follow me on identi.ca, Twitter or FriendFeed. My identi.ca and Twitter feeds have the same content, though I check @-replies on identi.ca more often.
If you’re interested in the topics I write about in more detail, you can subscribe to my blog.
If you want to follow what I’m reading online, you can subscribe to my Google Reader feed.
If (and only if) we’ve worked together (i.e. we have worked cooperatively on a project, team, problem, workshop, class, etc.), then I’d like to connect with you on LinkedIn. LinkedIn also syndicates my blog and Twitter.
If you know me “in real life” and want to share your Facebook content with me, you can connect with me on Facebook. I try to limit this to a manageable number of connections, and will periodically drop connections where the content is not of much interest to me so that my feed remains useful. Don’t take it personally (see the start of this post). Virtually everything I post on my Facebook account is just syndicated from other public sources above anyway. I no longer publish any personal content to Facebook due to their bizarre policies around this.
Mentioned are identi.ca, Twitter, Friendfeed, Google Reader, LinkedIn, a blog, and Facebook. Matt needs seven services to cover all his bases. Sure, many of the services are syndicated to other services, but he checks some more (Identi.ca) and some less (Twitter).. What happens if I subscribe to the wrong service to follow Matt? Am I relegated to being a second-class social network citizen?

I believe that this situation frustrates the average person as much or more than privacy issues. A lot of people just don't care about privacy, are ignorant of what's being shared, are willing to make the trade-off because of a lack of alternatives, or just don't feel locked in.  You can see the feature creep in Facebook, now many people's main e-mail client, as Facebook tries to be all things to all people.

A week ago, Shashi write a wiki page called "Why build on StatusNet?Evan Prodromou responded to the article with this dent: "GNUsocial, Diaspora, et. al.: use StatusNet to build your distributed social network. It'd be dumb to start over from scratch." While I agree with the second half of the statement (starting from scratch would certainly be dumb), is it fair to ask a developer to build on SocialNet?

I'm no crack developer, but I'm going to attempt to answer this question by Looking at as many of the Facebook features as possible and comparing them to current StatusNet features as implemented, and try to gauge how difficult adding the necessary elements would be. I'm not going to pull punches. "Let's tie a bunch of unconnected services together and we're done" is not a realistic plan for replacing Facebook (and LinkedIn, and your blog, and ...) successfully. I'll be using the Wikipedia list of Facebook features as a starting point.

  1. Publisher: This is the core functionality of Facebook. You post something. It appears on your wall. It appears on your friend's wall in some cases. etc. StatusNet has a similar setup, but it's feed-based network obviously does things a little differently.
    Status(Net): Mostly implemented.
  2. News Feed: This is the first page you see when you log into Facebook. Users see updates and can "Like" or comment on these updates. Photos and video posts are viewable on the same page. StatusNet's "Personal" tab is similar, but is not the page seen on login (on Identi.ca, at least). This is easily changed, but the tab lacks threaded comments and direct viewing of multimedia. There is a gallery plug-in, but threaded comments are much more difficult to do. Do they even want to?
    Status(Net): Partially Implemented.
  3. Wall: The wall is where all your FB updates go, and where people can respond. SN has your profile page, much the same, but there are, again, missing features like comments.
    Status(Net): Partially Implemented.
  4. Photo and video uploads: FB houses many people's online gallery. It handles photos and videos. They can be tagged. There are comments. All this stuff goes to your news feed. SN has nothing like this. The Gallery program has none of these abilities. This is a hard problem.
    Status(Net): Ground Zero.
  5. Notes: This is a blogging platform with tags and images. It's limited, but it's far beyond anything that SN has. The only option is to use a Drupal add-on to turn it into an SN hub. What's missing from Drupal? I don't know.
    Status(Net): Ground Zero.
  6. Gifts: I know. You're a geek. You hate gifts. You especially hate paying for gifts. Other people give me gifts all the time, though, so there must be some interest. SN doesn't have anything, but gifts seem easy to implement.
    Status(Net): Nothing, but not too difficult.
  7. Marketplace: Craigslist on FB? Sure, why not? SN is in the dark here.
    Status(Net): Ground Zero.
  8. Pokes: What's a poke? Who knows? Who cares! Still, SN would need them because I cqn guarantee the absence of them would become a big deal. Again, nothing, though not too hard, I'd guess.
    Status(Net): Nothing, but not too difficult.
  9. Status Updates: This is what SN is all about, but status updates are public. Could privacy happen on SN? I don't know.
    Status(Net): Mostly there.
  10. Events: FB is the event planner and the place to post the pictures after the event. That's really what it excels at. SN? Nowhere?
    Status(Net): Ground Zero.
  11. Networks, groups and like pages: SN has groups and is getting Twitter-like lists, but there are no networks as far as I can tell. I can "favorite" a post, but there is no way to create a page for other people to "favorite/like." Networks should be just designated groups. Likes need to be implemented in other places, and could be added pretty easily after that.
    Status(Net): Mostly there.
  12. Chat: FB chat sucks, but it exists. SN doesn't really have chat, though there are some IRC and XMPP plug-ins which can fake it. They're not private, though. Ouch. Think someone will get bitten by that one? Sure. Tack on an XMPP server to SN, and you're ready to go.
    Status(Net): Nothing, but not too difficult.
  13. Messaging: FB can be your e-mail client. It can even send mail outside the walled garden (last I chacked). SN has a private messaging feature. With federation, this would operate similarly.
    Status(Net): Implemented.
  14. Usernames: FB lets you get a page with your name, unless your name is the same as someone famous, that is. ;). SN has your profile at a nice, readable URL by default.
    Status(Net): Implemented.
  15. Platform: This is probably the biggest thing FB has brought ot the table and Farmville numbers tell you that it's pretty important. Can SN follow? OpenSocial leads the way. Unfotunately, it doesn't have that viral thing going for it.
    Status(Net): Ground Zero.
So ... where does SN stand as a base for Diaspora to build on? Maybe 50% I guess that's better than nothing. I've heard from a mailing list that the Diaspora guys are going to use OStatus. If that's true, then they might want to think about SN. I understand they have already built a base application, though.

What do you thin? Have I missed any Facebook features that SN needs or already has? Did I get something wrong? Do you think that SN would make a decent social network, or is micro-blogging just the wrong model for it?
Reblog this post [with Zemanta]

Other I' Been to Ubuntu Stories

Related Posts with Thumbnails