I've been watching USA Basketball play in the FIBA Americas Tournament, and I must admit I've been impressed. Years passed Team USA looked like what they were, a bunch of spoiled overpaid kids. Not this team. They are playing with a lot of passion, and I think will get us back to the top. Kobe Bryant has especially impressed me. He is one the most people consider a selfish ball hog, but has taken on the role of defensive stopper. I have watched several games where he has just shut down the other teams best player, kudos Kobe. Anyways, make sure to tune in, we have Argentina coming up soon.
Wednesday, August 29, 2007
Wednesday, August 22, 2007
Bridging the Gap - XMPP to SIP Group Chat
As noted in one of my earlier blogs, we have been enhancing the XMPP BC to be able to participate in Group Chat Sessions. During this process we thought we would also show how you can utilize JBI to be a convergent platform and bridge gaps across protocols. To do this, we thought we would show how a SIP User Agent (e.g. an xlite soft phone) could participate in an XMPP Group Chat session. Brian O'Neill's blog talks a little more about utilizing JBI as a convergent communication platform, and provides a use case here.
Enough with the fluff, on with the demo. I've uploaded the Netbeans Projects here that I will be discussing in this blog so you don’t have to create them from scratch. Below is a list of prerequisetes in order to run the demo:
- You will need to get the latest OpenESB installer
o This comes with Netbeans, Glassfish, and the JBI Components you will need to run the demo.
- Set up an Openfire XMPP Server
o You can go here for a demo on how to setup Openfire
o You will need to get an XMPP client (e.g. Spark or Pidgin)
§ You can go here to see a demo of how to setup Spark
§ You will need to create one user in Openfire with the username sipua and password sipua (This is defined in the XMPP WSLDs
- Set up a SIP User Agent/SIP Server
o We used XLite for the demo, but you should be able to utilize just about any SIP UA and SIP Server.
o Login as a user (e.g. chad)
- Edit the XMPP WSDL
o Edit all xmpp WSDLs to reflect the correct domain (the domain of your Openfire server) and the correct groupChat name (e.g. A@conference.OpenFireDomain). Both attributes can be found in the xmpp:address section of the WSDL.
- Edit the SIP WSDL
o Edit all sip WSDLs to reflect the correct proxyDomain (sip:address section of the wsdl) (the domain of your SIP server)
- Edit the BPEL Process
o Click on Assign3 and edit the String A@conference.b-0498.int.gestalt-llc.com to be the groupChat name you defined in your XMPP WSDL’s earlier.
o Click on Assign1 and edit the String chad@10.9.5.62 to be whatever user you are logged in as (e.g. mySipUserAgent@mySipServerDomain).
You should be all set now. You will need to recompile the Composite Application by right clicking (in Netbeans) on SIPAndXMPPCA module and selecting “Clean and Build”. You are now ready to deploy your application. Follow the following steps to deploy and run the test.
- Start Glassfish
o In Netbeans Click Window à Services à Servers à Right click on Sun Java Application Server à Click Start.
- Start Openfire
o With an XMPP client (e.g. Spark or Pidgin (or Both)) log in, you may have to create an account first.
- Start SIP Server and SIP User Agent
o Using a SIP UA (e.g. XLite) log in as the user you defined in the Bpel Process above (e.g. chad@10.9.5.65).
- Ensure JBI Components are installed and started
o In Netbeans navigate to Window à Services à Sun Java System Application Server 9 à JBI
§ Under Service Engines verify the following Component is installed and started
· sun-bpel-engine
§ Under Binding Components verify the following Component is installed and started
· gestalt-sip-binding
· gestalt-xmpp-binding (uninstall this component by right clicking on the component and selecting "uninstall". We need to ensure you have the latest XMPP BC, you can find it here. Download the xmppbc.jar and install it by righ clicking on Binding Components and selecting Install New Binding Component. After Installation, make sure you start the XMPP BC (Right click and select Start).
o If the components are not there, you can download them here.
- Deploy the SIPAndXMPPCA by right clicking on the project and selecting “Deploy Project”
- Once deployed, you should be able to use your Spark or Pidgin clients and join the Conference room that was created (e.g. A). You should see yourself in the room as well as the user sipua. You can now send a message to the group and your SIP UA will receive the message. Have your SIP UA respond and see the message appear in the Group Chat.
So a quick recap of what we accomplished. First, we were able to create an application that could bridge two protocols that normally couldn’t speak to each other (See screenshot below). Second, we did this without writing one line of code. Yes, you read that correct. To do this application from scratch all you have to do is configure it, and then tell BPEL how to orchestrate it. Netbeans provides a nice way to do this with their toolkit support (automatically generating WSDL’s and leveraging the design view for the BPEL process to drag and drop activities on the screen)
If you have any questions feel free to shoot us an email by using our mailing lists (
Posted by Chad Gallemore at 1:11:00 PM 0 comments
Labels: Convergence, JBI, SIP BC, XMPP, XMPP BC
Saturday, August 18, 2007
Google Rocks
I'm all the time checking out Google Labs to see what cool thing they have come up with next. I'm a big fan of Google and some of the tools they have put out. I thought I would share some of the ones that I consider must haves, I use these on a daily basis.
- Google Reader: Fabulous tool for managing all of your favorite RSS Feeds. Manages the feeds through a very simple and easily to read web interface. Doesn't matter if you are at work or home all you have to do is log in and you can view it, unlike desktop applications like RSS Owl. Also allows you to star your favorite reads or share with others, providing a unique RSS Feed URL for others to view your shared items.
- Google Desktop: Google has mastered the art of indexing and searching, Google Desktop does this for your desktop. This tool will index your entire hard drive and emails so that you can quickly search for items you know you have, but can't seem to find.
- Blogger: I got into blogging several months ago and settled on Blogger mainly because it was a Google product and I can utilize my same Google login. I've been really happy with the ease of managing my blog, if you are thinking about blogging I would highly recommend Blogger.
- iGoogle: Customize your experience with Google. iGoogle allows you to customize your Google Home page to add things that you are interested in.
So those are the items that I use every day, here are some items that I have been playing around with that are pretty cool.
- Google Pages: Are you wanting to create a personal web page, but you don't know how to write HTML, don't want to pay for hosting or a domain name, or don't know how to use FTP? Google Pages could be for you. With your Google account you create a custom made web page and publish that page to your unique Google pages URL. You don't have to understand HTML, FTP, and you don't have to pay for a domain name or hosting services.
- Google 411: Are you tired of paying fees to use 411 and then paying extra to connect? Check out Google's 411 service, 1.800.GOOG.411. I've used it and it works great, and best of all it's Free.
So to sum it all up, Google Rocks. My wife calls me a geek every time I mention a new cool Google tool I find, but I can't help it, I guess I'm an addict. Anyways, you can find all of these tools on Google Labs. Last thing, Google is more than a search engine; make sure you are utilizing all of the tools they have available, they are Free.
Posted by Chad Gallemore at 11:13:00 PM 0 comments
Thursday, August 16, 2007
My Sports Praise
Since I ranted about some things that tick me off about sports, I thought I would share some recent examples why at the end of the day I absolutely love sports.
- My Cardinals are making a charge in the dog days of August proving that teamwork and heart can perceiver all obstacles.
- Rick Ankiel - If you do not know who he is, use Google and read his story. Fantastic, welcome back.
- High School Football - It is 100% American, the purest form of athletics (no money, tv ratings, etc.) just good competition.
- Tiger Woods - I am not that big of a golf fan, but you have to relish watching greatness.
I could go on and on, but there is no need to do that. See you on the field!!!!!!!!!!
Posted by Chad Gallemore at 1:27:00 PM 0 comments
Tuesday, August 14, 2007
New Enhancements for the XMPP Binding Component
We have some new enhancements for the XMPP Binding Component coming down the pipe this month. Already in place is the ability to join, leave, and send messages to group chats. You can join a group chat upon deployment or you can dynamically join/leave groups at runtime. Also in the works for this month are enhancing the XMPP BC to handle complex types. You can view the documentation for the WSDL Extensions here.
Posted by Chad Gallemore at 9:53:00 PM 0 comments
Wednesday, August 1, 2007
My Sports Rant
So, my favorite time of year is quickly approaching......Football Season. Lately I have been catching up on where my teams stand, and as usual someone is holding out for more money. This is my biggest problem with Pro Sports in general, causing me to be a bigger College sports fan. I get sick and tired of seeing athletes hold out for more money cause they have had a couple of good seasons. What happens if you have a bad couple of years, should the team be allowed to negotiate your contract down to what you deserve, oh no that is not how it works. I am a Chiefs fan, and as most sports fans know, Larry Johnson is holding out for more money. I can see where he is coming from in a way. He has been one of the best backs, if not the best, the last couple of years, and he does not make nearly as much as some of the other backs in the league, e.g. LT, Shaun Alexander, Edge, etc. My beef with all of this is what ever happend to honoring your contract. You are still making a lot of money, more than 90% of the people out there will make in a lifetime. Teams have to honor the contract no matter what, unless they want to cut you. At the end of the day I do not really blame the athletes, I blame the agents. Most of the time I think they ruin what is good about sports, they are not in this for the athletes, they are in it for themselves. Just this morning they were talking about Brady Quinn holding out for more money because he thought he should have been drafted higher, sorry buddy you did not so you get pick 22 money. Now go prove yourself on the field and get that money the next contract, what a novel thought .... proving yourself and earning that money.
I will get off my soap box now.......
Posted by Chad Gallemore at 4:35:00 PM 1 comments