<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-24138999</id><updated>2011-11-10T23:49:54.820-05:00</updated><title type='text'>.NET Developer in a Linux world</title><subtitle type='html'>This is a blog mostly about my personal projects and being a C#/.NET advocate and making my C# code portable to other operating systems (Linux &amp; OSX).</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24138999.post-115100077361962825</id><published>2006-06-22T14:16:00.000-04:00</published><updated>2006-06-22T14:27:26.456-04:00</updated><title type='text'>Jingle Call Addresses</title><content type='html'>Ok so now that I am back from Mexico I have come back to some of these issues a bit fresher, I think I was getting a bit too consumed by thinking and rethinking this process that I lost a bit of what I was trying to achieve in the first place.&lt;br /&gt;&lt;br /&gt;So in my &lt;a href="http://synced0.blogspot.com/2006/05/jingle-discussions.html"&gt;original post&lt;/a&gt; I spoke about Call Addresses so lets focus on just this part first.&lt;br /&gt;&lt;br /&gt;After speaking to Peter Saint-Andre, the &lt;a href="http://www.jabber.org/jeps/jep-0152.html"&gt;Reachability&lt;/a&gt; JEP was introduced to me. This JEP seems quite useful for our problem, but now raises a few more questions.&lt;br /&gt;&lt;br /&gt;Here is my question to the community:&lt;br /&gt;If a client supports IAX directly, and you need to discover what extension to call him on whether its "555" and you are logged into a PBX (Asterisk) do you:&lt;br /&gt;&lt;br /&gt;1. Query for reachability, which might respond with an extension of "555" and you simply dial this extension.&lt;br /&gt;2. You use Jingle IAX which the extension is added in the candidates. (Jingle currently only supports IPs)&lt;br /&gt;&lt;br /&gt;#2 is where I was focusing on prior to learning of Reachability. So which way is proper? Part of me wants to say Jingle from my previous thoughts, and extending Jingle to support more than IP end points.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-115100077361962825?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/115100077361962825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=115100077361962825' title='41 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/115100077361962825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/115100077361962825'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/06/jingle-call-addresses.html' title='Jingle Call Addresses'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>41</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24138999.post-114745264252999953</id><published>2006-05-12T11:58:00.000-04:00</published><updated>2006-05-12T16:13:12.150-04:00</updated><title type='text'>Jingle Discussions</title><content type='html'>I've been doing a lot of discussions lately with many people around the community in various different sections. Some being XMPP, some being VoIP, Asterisk, Freeswitch etc. Also had a great talk with Jean-Louis Seguineau this morning (he beat me to blogging it but thats ok ;). &lt;br /&gt;&lt;br /&gt;Much of what we talked about was rehashing some of the things I've mentioned in the past that needs to be addressed but I would like to take it further in the forefront now that these issues are becoming more important to others when at first it seemed I was the only one interested.&lt;br /&gt;&lt;br /&gt;So firstly, before getting into the nitty gritty, lets assume a world where Jingle clients actually connect to a VoIP PBX such as Asterisk or Freeswitch. Let's not think of a closed box where its purely client to client VoIP such as what Jingle is currently.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The immediate outstanding issues are:&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Call Addresses&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Service Discovery&lt;/li&gt;&lt;br /&gt;&lt;li&gt;PSTN Access&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;strong&gt;1. Call Addresses&lt;/strong&gt;&lt;br /&gt;Currently Jingle candidate stanzas use IP addresses. Perhaps we need to change this to something more generic, such as a URI. For example. If I am a XMPP client also logged into the PBX via SIP or IAX I may want to send candidates stating:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;I can be reached at LAN IP 192.168.1.11&lt;/li&gt;&lt;br /&gt;&lt;li&gt;I can be reached at my remote IP 216.52.22.11&lt;/li&gt;&lt;br /&gt;&lt;li&gt;I can be reached at my IAX extension on Asterisk (server.com/555)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;I can be reached at my PSTN phone number 16135555555&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;From these candidates, the client can do a try approach. PBX would be tried first as it would be the most proper place to call. PSTN would be tried last as that would be the last resort I think as that is where costs incur.&lt;br /&gt;&lt;br /&gt;Please read Jean-Louis's post &lt;a href="http://antecipate.blogspot.com/2006/05/further-on-phone-number-addresses.html"&gt;here&lt;/a&gt; for more details about call uri's that we discussed.&lt;br /&gt;&lt;br /&gt;These URI's are great but put a burden on the user to configure their client to know to send these URI's out. Obviously the client could detect its lan ip / internet ip seamless through some other means, but it cannot currently find a way to ask the PBX for its IAX/SIP URI or to query the gateway for a PSTN number they can be reached at.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Service Discovery&lt;/strong&gt;&lt;br /&gt;In my opinion we need some sort of manner to be able to query the server requesting additional contact details for a JID, this allows other clients to discover where they can contact you, and also allows you to discover where you yourself can be contacted from. Since Jingle is a client negotiation, we need the client to be able to discover its own surrounding so it can respond accordingly. &lt;br /&gt;&lt;br /&gt;On second thought as well I think the contact details need to respond with what type the contact is. It could be a simple messaging contact. It could be a jingle contact.&lt;br /&gt;&lt;br /&gt;I'm not sure if there is a JEP yet we could utilize for this but I'll throw in the worlds first pseudo-xmpp ;)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;[juliet@server.com]&lt;/strong&gt; - Queries server.com asking for contact details for juliet@server.com&lt;br /&gt;&lt;strong&gt;[server.com]&lt;/strong&gt; - Responds with items:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- URI = juliet@msn.server.com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Basic Messaging Features&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Jingle Support (In the future gateways may gateway to other IM audio)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- URI = server.com/555&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Jingle IAX (this is an IAX uri)&lt;br /&gt;&lt;br /&gt;So now that the client can discover its available contact means, it can now populate its candidate fields for a Jingle request, and the other end can attempt a connection.&lt;br /&gt;&lt;br /&gt;One could say this isn't needed if the user registers willingly with a gateway, such the same way msn etc does. In my next blog I think I will discuss how we can make gateways seamless. This I believe is important as well because some deployments may wish when a jabber account is created, the PBX automatically creates an IAX/SIP account and also voicemail, extensions etc.&lt;br /&gt;&lt;br /&gt;You could do this manually backend, but think of this situation:&lt;br /&gt;&lt;br /&gt;You are running a client that doesn't support Jingle IAX but you support Jingle RTP. But you use an IAX capable hard phone on your desk. pbx.server.com the gateway to Asterisk knows you have a phone on your desk. Your client if it could discover this, now in its Jingle candidates could send off an IAX response even though it doesn't support IAX itself. Now calls seamlessly go to your hard phone.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. PSTN Access&lt;/strong&gt;&lt;br /&gt;With all this in place. Our client still doesn't know if we dial 5555555 how to call that phone number. I think we need some sort of PSTN identifier when we query a Jingle capable server/gateway to find out what supports PSTN. We need some way to identify this. I'm not sure exactly how to approach this yet.&lt;br /&gt;&lt;br /&gt;Jingle and the phone world just seems to get more blurry for me and clearer at the same time the more I think ;) With XMPP there is so many ways to do the same thing. I would really appreciate some feedback on these things. Hopefully we can start hashing real solutions for these problems.&lt;br /&gt;&lt;br /&gt;I believe we must solve #1 first, we need a way to better identify call addresses.&lt;br /&gt;&lt;br /&gt;I think if servers and clients can get smarter this way we really have something going here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-114745264252999953?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/114745264252999953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=114745264252999953' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114745264252999953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114745264252999953'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/05/jingle-discussions.html' title='Jingle Discussions'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24138999.post-114617049946948837</id><published>2006-04-27T16:31:00.000-04:00</published><updated>2006-04-27T16:57:29.746-04:00</updated><title type='text'>Jingle &amp; the outside world</title><content type='html'>I've been thinking again about Jingle. Spoke to some Asterisk guys, also met some great guys in the Freeswitch project. Discussed some ideas etc.&lt;br /&gt;&lt;br /&gt;I really like Jingle and where this is taking us but I'm left a bit confused about some solutions I need to solve. Currently Jingle is mostly a client to client protocol. But what if we want more. What if the Jabber server has a PBX behind it. I envision something like:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;jingle.server.com&lt;/strong&gt; (supports Jingle Audio/Jingle IAX perhaps)&lt;br /&gt;This allows us to map services such as voicemail@jingle.server.com etc.&lt;br /&gt;&lt;br /&gt;What if we just wish to dial 555-5555 and call that real phone number?&lt;br /&gt;&lt;br /&gt;I see a world where msn.server.com may gateway Jingle Audio, to MSN audio technology. So how will the client know where to call 5555555?&lt;br /&gt;&lt;br /&gt;I think the client should be able to figure this out via Discovery. I don't think all Jingle destinations will be user JID's per say. I may want to dial 5555555@jingle.server.com, but how do I assume this?&lt;br /&gt;&lt;br /&gt;Perhaps this is where Discovery comes in. Along with the jingle.server.com service responding to Discovery queries saying it supports jingle, perhaps there needs to be an identifier that says it supports anonymous alphanumeric calls.&lt;br /&gt;&lt;br /&gt;This means the client can basically query and figure out "where can I call PSTN?" jingle.server.com replies "with me" then when I want to dial 5555555 I just dial 5555555@jingle.server.com.&lt;br /&gt;&lt;br /&gt;That way even if I am on jabber.org, if I am registered with jingle.server.com when I discovery my gateways asking which supports PSTN I can dynamically find one and dial out of it.&lt;br /&gt;&lt;br /&gt;A whole other problem though is, what if I have multiple gateways supporting PSTN, how do I give priority to one, or how do I say, well this gateway gives me cheap north american rates, so dial out for these numbers there, but if I dial a China country code go out another gateway because its cheaper.&lt;br /&gt;&lt;br /&gt;Jingle seems clear to me client to client, but beyond that I get a bit foggy.&lt;br /&gt;&lt;br /&gt;Thanks go out to Tony from Freeswitch for his time discussing ideas.&lt;br /&gt;&lt;br /&gt;Please comment :)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;I just got news that Peter Millard, long time Jabber client developer has recently passed away. I want to send my respects out to his family, friends and coworkers. I haven't spoken to Peter in several years but every time I did he was very friendly. A link to &lt;a href="http://www.saint-andre.com/blog/2006-04.html#2006-04-27T09:15"&gt;stpeter's blog&lt;/a&gt; says it best.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-114617049946948837?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/114617049946948837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=114617049946948837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114617049946948837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114617049946948837'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/04/jingle-outside-world.html' title='Jingle &amp; the outside world'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24138999.post-114444044771394570</id><published>2006-04-07T16:03:00.000-04:00</published><updated>2006-04-07T19:40:35.383-04:00</updated><title type='text'>Nexxia in action</title><content type='html'>I've been meaning to do this for a week or so but just haven't been able to find the time. It's a grind at work lately but I decided to make time.&lt;br /&gt;&lt;br /&gt;I've recorded a screen capture video of Nexxia Messenger's current build running on a week old build of Mono. Basically just displays System.Windows.Forms on Linux in general usage of Nexxia such as logging in, the UI, chatting etc. &lt;br /&gt;&lt;br /&gt;Hoping to display some of the VoIP UI next time. I'm really looking for feedback of the main window and phone plugin as I'm finding the UI pretty crowded. But I would imagine 99% of the time the phone plugin would be minimized.&lt;br /&gt;&lt;br /&gt;If anyone would like me to convert this video to another format please let me know. Also any comments/ideas would be great!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nureality.ca/screenshots/nexxia-mono1.wmv"&gt;Video (Windows Media 9)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nureality.ca/screenshots/nexxia-mono1.html"&gt;Video (Flash Player)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-114444044771394570?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/114444044771394570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=114444044771394570' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114444044771394570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114444044771394570'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/04/nexxia-in-action.html' title='Nexxia in action'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24138999.post-114416598842481532</id><published>2006-04-04T11:46:00.000-04:00</published><updated>2006-04-04T11:54:20.340-04:00</updated><title type='text'>Poker time</title><content type='html'>I've always been a big poker fan but haven't been able to play as often as I would like. I don't think I've played for a few months now. We used to have a weekly game here at the office but I haven't been able to get enough people worth while to do it lately.&lt;br /&gt;&lt;br /&gt;I decided to play a bit online. Nothing serious. It was a 20 person tournament. I decided I was going to play a tight aggressive style. I was pretty quiet most of the first half of game. I was still hovering about the initial chip count for most of it.&lt;br /&gt;&lt;br /&gt;I got a couple good hands, bet very aggressive and it started to work out for me. After not very long I was 2nd in chip count for the tournament with 11k. They merged the taples into a final table and I started off pretty aggressive and jumped to 22k, still in 2nd as the first place guy had 60k so I was quite far behind.&lt;br /&gt;&lt;br /&gt;I was happy with my play so far. I really like tournament play as people play more honest. Non-tournament play seems to be more all over the place and hard to read people etc.&lt;br /&gt;&lt;br /&gt;Anyways shortly after I got pocket kings, which I decided were going to be good enough and I went head to head with the chip leader. Not so long later I got exposed to what always beats pocket kings. Yes. If you've played poker you've been there before. Doh!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-114416598842481532?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/114416598842481532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=114416598842481532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114416598842481532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114416598842481532'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/04/poker-time.html' title='Poker time'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24138999.post-114381716771303405</id><published>2006-03-31T09:49:00.000-05:00</published><updated>2006-04-03T10:35:23.156-04:00</updated><title type='text'>VoIP call quality</title><content type='html'>So we did a bit of testing last week. Spoke with Sean over VoIP with my ATCOM-320 SIP/IAX2 phone calling his home PSTN phone. Voice quality seemed pretty good using the 711a codec (8KB/s I believe) but there was some real stuttering going on. Most of the time it was smooth but there was enough stuttering to get a bit annoying. I think once I can figure out what is causing that, we will have good call quality. Unfortunately I'm not a network guru so where the problem lies should be interesting to find out.&lt;br /&gt;&lt;br /&gt;What we know of the network is:&lt;br /&gt;- Server end currently is 3Mbit DSL on a Linksys WRT54G&lt;br /&gt;- My home is 4Mbit DSL on a Linksys WRT54G&lt;br /&gt;&lt;br /&gt;Placing one call between these two via the 711a codec @ 8KB/s shouldn't be a problem. Especially since the two are on the same ISP which via a ping to the PSTN provider is 35ms. Is this acceptable for VoIP? I don't know but it doesn't sound like a bad ping response to me.&lt;br /&gt;&lt;br /&gt;Testing the ATCOM-320 and our Softphone software built into Nexxia, results in the same kind of stuttery/packet missing kind of sound. So it can't be the phone nor the software. &lt;br /&gt;&lt;br /&gt;Will have to devise a way to do some network analysis.&lt;br /&gt;&lt;br /&gt;More to come soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-114381716771303405?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/114381716771303405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=114381716771303405' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114381716771303405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114381716771303405'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/03/voip-call-quality.html' title='VoIP call quality'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24138999.post-114357017124946537</id><published>2006-03-28T13:11:00.000-05:00</published><updated>2006-03-28T13:24:00.940-05:00</updated><title type='text'>Digging into VoIP</title><content type='html'>Well I've recently started to ramp up the testing of VoIP technologies. I decided my immediate goals are:&lt;br /&gt;&lt;br /&gt;1. Buy a SIP/IAX capable phone to test our servers and communication to Nexxia's   soft phone software.&lt;br /&gt;2. Buy an account from a PSTN provider (so we can dial out to real world phones).&lt;br /&gt;3. Buy a DID (incoming phone #) so the real world can dial into Nexxia and the SIP/IAX hard phone.&lt;br /&gt;4. Test between all those to evaluate reliability of the server, the software and the quality of the call audio.&lt;br /&gt;&lt;br /&gt;I've basically now have all that in place except #3 as I'm having a bit of difficulty with Globotech's instructions.&lt;br /&gt;&lt;br /&gt;I'm pretty happy with the reliability so far. Calls seem to go through every time. So far I'm a bit dissapointed with the call quality though. I need to do further testing of audio codecs though. &lt;br /&gt;&lt;br /&gt;Latency doesn't seem to be too much of an issue but the audio does get choppy at times so I'm not sure whats causing that. Be it the connection between me and our provider, or if its the codecs used on the SIP/IAX hard phone, or the codecs used in Nexxia. &lt;br /&gt;&lt;br /&gt;I hope to setup some tests so Sean and myself can evaluate it further. Perhaps get some others involved for further feedback.&lt;br /&gt;&lt;br /&gt;Thanks go out to Matt O'Gorman for helping out with the Asterisk configuration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-114357017124946537?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/114357017124946537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=114357017124946537' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114357017124946537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114357017124946537'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/03/digging-into-voip.html' title='Digging into VoIP'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24138999.post-114308980640783690</id><published>2006-03-22T23:35:00.000-05:00</published><updated>2006-03-23T16:10:01.760-05:00</updated><title type='text'>Nexxia Linux Progress</title><content type='html'>I've been redesigning Nexxia Messenger to be more platform independant. I have been doing much testing on open source .NET runtimes that run on other operating systems.&lt;br /&gt;&lt;br /&gt;My goal is to make the Linux version (and hopefully OSX) to look as identical to the Windows version as possible. Also the goal is to maintain 1 code base, and allow 1 executable run on all platforms. So far I have been able to achieve this.&lt;br /&gt;&lt;br /&gt;Currently theres an issue with Jabber.NET threads and Control.Invoke, I'm trying to narrow these down this week.&lt;br /&gt;&lt;br /&gt;If anyone is interested in what Nexxia Messenger is, I've started explaining the service I am trying to build in one of my blogs &lt;a href="http://synced0.blogspot.com/2006/03/intro-to-nexxia-messenger.html"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;I have been working on Nexxia Messenger and the services related with my buddy Sean who has been involved since the early days of the VB 6 version. We're making some really good headway lately.&lt;br /&gt;&lt;br /&gt;Please leave some comments! I'm looking for feedback of what people think.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://home.sse.net/screenshots/nexxia-mono1.gif"&gt;05/12/2005&lt;/a&gt;&lt;br /&gt;&lt;a href="http://home.sse.net/screenshots/nexxia-mono2.gif"&gt;22/12/2005&lt;/a&gt;&lt;br /&gt;&lt;a href="http://home.sse.net/screenshots/nexxia-mono3.gif"&gt;22/12/2005&lt;/a&gt;&lt;br /&gt;&lt;a href="http://home.sse.net/screenshots/nexxia-mono4.gif"&gt;23/12/2005&lt;/a&gt;&lt;br /&gt;&lt;a href="http://home.sse.net/screenshots/nexxia-mono5.gif"&gt;23/12/2005&lt;/a&gt;&lt;br /&gt;&lt;a href="http://home.sse.net/screenshots/nexxia-mono6.gif"&gt;23/12/2005&lt;/a&gt;&lt;br /&gt;&lt;a href="http://home.sse.net/screenshots/nexxia-mono7.gif"&gt;06/03/2006&lt;/a&gt;&lt;br /&gt;&lt;a href="http://home.sse.net/screenshots/nexxia-mono8.gif"&gt;07/03/2006&lt;/a&gt;&lt;br /&gt;&lt;a href="http://home.sse.net/screenshots/nexxia-mono9.gif"&gt;12/03/2006&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And finally the current versions on .NET and Mono compared:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://home.sse.net/screenshots/nexxia-dotnet-latest.gif"&gt;&lt;img height="300" src="http://home.sse.net/screenshots/nexxia-dotnet-latest.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://home.sse.net/screenshots/nexxia-mono-latest.gif"&gt;&lt;img height="300" src="http://home.sse.net/screenshots/nexxia-mono-latest.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also just so everyone can see the great effort the Winforms team is doing, here are some of the bugs they have been fixing lately which I had reported/tested for them many of which are represented in the screenshots. There are many more!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77220"&gt;Bug 77220&lt;/a&gt;   &lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77669"&gt;Bug 77669&lt;/a&gt;   &lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=76648"&gt;Bug 76648&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77279"&gt;Bug 77279&lt;/a&gt;   &lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77718"&gt;Bug 77718&lt;/a&gt;   &lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77219"&gt;Bug 77219&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77729"&gt;Bug 77729&lt;/a&gt;   &lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77526"&gt;Bug 77526&lt;/a&gt;   &lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77673"&gt;Bug 77673&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77659"&gt;Bug 77659&lt;/a&gt;   &lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77671"&gt;Bug 77671&lt;/a&gt;   &lt;a href="http://bugzilla.ximian.com/show_bug.cgi?id=77672"&gt;Bug 77672&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Great work from Peter Dennis Bartok, Jackson Harper and the rest of the Winforms gang.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-114308980640783690?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/114308980640783690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=114308980640783690' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114308980640783690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114308980640783690'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/03/nexxia-linux-progress.html' title='Nexxia Linux Progress'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24138999.post-114246038004824625</id><published>2006-03-15T16:31:00.000-05:00</published><updated>2006-03-22T23:21:04.703-05:00</updated><title type='text'>Intro to Nexxia Messenger</title><content type='html'>Well to start it all off. Business Week just published an article the other day that basically sums up what I have been working on in Nexxia Messenger for the last 3+ years of my free time.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.businessweek.com/technology/content/mar2006/tc20060314_090539.htm?campaign_id=bier_tc"&gt;http://www.businessweek.com/technology/content/mar2006/tc20060314_090539.htm?campaign_id=bier_tc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Aside from that, Nexxia Messenger is really 2 things:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1. An Instant Messenger / VOIP soft phone desktop application client.&lt;br /&gt;2. IM / VOIP service offering a tightly integrated communications platform.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Nexxia Messenger&lt;/strong&gt;&lt;br /&gt;This is mostly the client software. The thing I tried to achieve in this software is to make it as flexible as possible. Most plugin driven apps are designed in a way that the main part of the application is accessible via plugins. This meaning plugins are really an addon OF the main application. My goal was to make a system where the plugins ARE the application.&lt;/p&gt;&lt;p&gt;What does this mean? This means the meat of the application is implemented in the plugins, not the executable. This also means that any part of the application is replacable. The main window is a dynamically loaded plugin, so is the chat window, etc.&lt;/p&gt;&lt;p&gt;I feel this gives more of a IM platform that is very flexible. This allows users to install whichever plugins they wish. If your not happy with the chat window, replace it!&lt;br /&gt;&lt;br /&gt;This is the C# Winforms application which has the goal of being as portable as possible. It is basically a Jabber client and IAX client which connects to a Jabber server and Asterisk server at the same time.&lt;br /&gt;&lt;br /&gt;On the server side the Jabber server and Asterisk server are tightly integrated via server components. This gives Jabber the ability to receive phone system notifications etc.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-114246038004824625?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/114246038004824625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=114246038004824625' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114246038004824625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114246038004824625'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/03/intro-to-nexxia-messenger.html' title='Intro to Nexxia Messenger'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24138999.post-114245393575536213</id><published>2006-03-15T14:13:00.000-05:00</published><updated>2006-03-21T15:21:30.193-05:00</updated><title type='text'>Where I come from and where I'm going</title><content type='html'>I began getting started with .NET and C# in 2002 after I graduated from College. Pretty much liked it from the very beginning.&lt;br /&gt;&lt;br /&gt;I have a personal project called Nexxia Messenger (which I will explain in greater detail in another blog) which was a VB 6 application. I decided to start this project from scratch in C#.&lt;br /&gt;&lt;br /&gt;I had always enjoyed open source, although not getting involved too much. After hearing about the possibility of C# being a portable language I got much more interested at that point. This could ultimately make my application port to other operating systems.&lt;br /&gt;&lt;br /&gt;I got involved in the Portable.NET open source implementation of the .NET CLI/CLR. Mainly the Winforms implementation where I wrote a few of the controls.&lt;br /&gt;&lt;br /&gt;So thats where I began. Posts in the future will most definately come from the technologies I use in my quest to make a cross platform C# Winforms application.&lt;br /&gt;&lt;br /&gt;The technologies you will hear me speak of generally will be: Portable.NET, .NET, C#, Jabber, Asterisk, IAX, Jingle and Mono.&lt;br /&gt;&lt;br /&gt;I believe any company putting their future in .NET technologies should look at portability options. Many companies probably don't even know it but your application could most likely gain a broader client base via your product running on Linux or OSX and others.&lt;br /&gt;&lt;br /&gt;Hopefully this blog will shed some light into what I go through trying to achieve portability in my application. Explain what goes smoothly, what does not go smoothly, and the progression as more pieces come together.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-114245393575536213?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/114245393575536213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=114245393575536213' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114245393575536213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114245393575536213'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/03/where-i-come-from-and-where-im-going.html' title='Where I come from and where I&apos;m going'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24138999.post-114244121765089263</id><published>2006-03-15T11:43:00.000-05:00</published><updated>2006-03-15T11:52:33.360-05:00</updated><title type='text'>My first blog!</title><content type='html'>Alright for anyone listening out there this is my first blog! I've been a fan of blogs for a long time. I've been reading blogs almost daily but I guess I just never figured I had much to say, or if I did who would be interested in listening? Well I think its time to begin talking!&lt;br /&gt;&lt;br /&gt;This blog first and foremost I think will be a blog about my development projects I work on as a software developer. From time to time I will probably speak about some things I enjoy in my personal life as well.&lt;br /&gt;&lt;br /&gt;I am a CTO at a small IT company, so I deal with technology every day. I also work on many projects on my spare time which I think will be the main focus for this blog.&lt;br /&gt;&lt;br /&gt;Please comment! I would love to hear what people think about anything I say. So lets have some fun!&lt;br /&gt;&lt;br /&gt;Stay tuned...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24138999-114244121765089263?l=synced0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synced0.blogspot.com/feeds/114244121765089263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24138999&amp;postID=114244121765089263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114244121765089263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24138999/posts/default/114244121765089263'/><link rel='alternate' type='text/html' href='http://synced0.blogspot.com/2006/03/my-first-blog.html' title='My first blog!'/><author><name>Simon</name><uri>http://www.blogger.com/profile/09706637819300070762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
