It's now been several weeks of tinkering to install an OCS Server collection (AD, SQL, OCS, Edge, Mediation, Web Access) on a brand new Dell M-Series Blade Server. The goal of the Unified Communications (UC) group in the INTEROP Labs (iLabs) is seeking to delve into the intricacies of interfacing XMPP and SIMPLE based UC systems so that they can exchange VoIP calls, IM and most importantly presence.
Glenn Evans of DiVitas has this to say about UC:
Unified Communications (UC) is a commonly used term for the integration of disparate communications systems, media, devices and applications. This potentially includes the integration of fixed and mobile voice, e-mail, instant messaging, presence, Internet Protocol (IP)-PBX, Voice over IP (VoIP), Voice over Wireless LAN (VoWLAN), voice mail, fax, audio, video and web conferencing, unified messaging, and unified voicemail into a single environment. UC represents a communication’s “Holy Grail” by magazines and writers in the science fiction community.
However, the team ran into a snag on the part that should have been easy. Sending a voice call from an OCS Client to the SIP gateway (asterisk) only to find log entries saying the target was "actively refusing" the connection.
Start-Line: Exception: Microsoft.Rtc.Signaling.ConnectionFailureException: Unable to establish a connection. ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused
Using TCPDUMP with the syntax "tcpdump -i eth0 -m mediation_server_address" we got the following:
12:11:35.000777 IP ipaddr_mediation_server.65529 > asterisk.0: UDP, length 36
12:11:35.000789 IP asterisk > ipaddr_mediation_server: ICMP asterisk udp port 0 unreachable, length 72
*NOTE: ipaddr_mediation_server was substituted in place of the actual IP address
Yuck! So with some help of the other engineers at Interop we found the following blog entry about how OCS doesn't currently play nice with Asterisk. Which leads me to to believe that the SIP gateways that it does play nicely with must be VERY understanding to accept a UDP port 0 connection attempt for the opening of a SIP conversation. This blog article indicates that apparently the Asterisk team has "loosened" up and seem to now be allowing such a connection...we're upgrading now to see. Here's the article: It's enough to be on your way...: OCS/Asterisk integration Update
Considering just how much grief the iLabs UC team has had getting the two disparate technologies to talk to each other, we're looking at creating a long term UC sandbox at a couple of universities to help push cross platform integration. We hope to eventually have ways to get all of the UC pieces to talk to each other. Maybe someday folks on Jabber can see presence information for OCS users and be able to seamlessly escalate to a VoIP call or a chat. Both Jabber and OCS tout federation capabilities, perhaps in the coming year we can see if the two warring protocols can be made to talk via some sort of gateway?
So in summary: OCS talks just fine with itself and the new Polycom CX700 phones and Microsoft's LiveMeeting using their new Office RoundTable UC conferencing phone+Camera. Jabber talks just fine with other jabber servers and various soft phones and clients. However, getting the two to play nice together is making for LONG nights and more than a little gray hair.