For years people have been talking about the convergence of the mobile office. Specifically, they've been talking about how VoIP software will allow telephone service to be provided just like any standard IT application. And whenever there's talk about providing access to an application, there's talk about Citrix.
The question of how Citrix Presentation Server will support and/or integrate with VoIP software is as old as VoIP itself. That said, now that Presentation Server is very mature and supports features like bidirectional audio, this question is once again in the spotlight.
To that end, Citrix Presentation Server product manager Orestes Melgarejo has written a very important blog entry called "To VoIP, or not to VoIP." In it, Orestes talks about the Presentation Server VoIP question and presents three different ways that Citrix could integrate these two technologies.
As you know, I'm not typically one to simply link to other peoples' blogs, but in this case, Orestes' asked for the community's thoughts two weeks ago, and so far there haven't been any responses.
Therefore in this article, I'm summarizing Orestes' thoughts and asking for your feedback on both his and the community's behalf. And if you want more details on this topic, I encourage you to read Orestes' original blog entry.
Citrix Presentation Server's VoIP Integration Options
When we talk about VoIP delivered as an application, we're typically talking about software programs that use a computer's local speakers and mic (or a headset or handset) as a telephone. This software is colloquially known as "softphone" software.
So in this case, the heart of the issue is that you have softphone software, and you have Presentation Server. Now what?
There are three options:
- Install the softphone software on your Presentation Server. Users access it through ICA along with the client mic and client audio virtual channels.
- Install the softphone software natively on the client device. The softphone communicates with the VoIP backend directly, bypassing Citrix.
- Use a hybrid approach. Install the VoIP software on the client directly, but configure it so that its native SIP network traffic is wrapped in ICA and sent through the Presentation Server.
Let's look at each of these a bit more in-depth, as well as the pros and cons of each method.
Install the VoIP softphone software on the Presentation Server, access it remotely via ICA
This method is something that a lot of people have tried. In fact, this is one of the primary examples that Citrix touts when they talk about the virtual loopback adapter features of Presentation Server. In this case, the softphone is literally just like any other Windows application that's accessed remotely via an ICA client. This is truly a complete office via ICA.
- It will work on any client device that can run ICA with bi-directional audio.
- No additional client-side software installation.
- It will work from anywhere, since the user will already have an ICA connection open to the server. No need to worry about ports, firewalls, etc.
- This would be a nice integrated package that would provide "everything" a remote worker needs. As Orestes says, "The entire office would follow the user."
- The ICA protocol wasn't designed with realtime audio in mind, so there will most likely be performance problems.
- There will most likely be audio quality problems.
- Since the softphone software would be physically distant from the mic and speakers, its echo cancellation and other features might not work.
Install the VoIP soft phone client on the user's client device
You could also choose to bypass Citrix altogether and just install the softphone software directly onto the end user's client. Of course doing so pretty much means that Citrix would not be managing this application (unless you bundled the softphone with the ICA client, but that's still not a "real" Citrix-managed application).
- Best performance and quality. This is how the softphone was meant to be used.
- Lack of control of the softphone software.
- The client device must be running on a platform that can support the softphone.
- The softphone will require a separate install.
- There may be connectivity issues since the softphone will use its own ports and protocols.
- You won't have visibility into the performance of the softphone, and you'll have to balance "ICA versus SIP" traffic with some external performance tool.
The Hybrid Approach
The hybrid approach would involve some changes in the Presentation Server product from Citrix. The idea here is that you would still install the softphone software locally on your end users' client devices, but that Citrix would build a custom ICA virtual channel that would let you route the softphone SIP traffic through the ICA protocol up to the Presentation Server. Then the Presentation Server would communicate with the backend VoIP infrastructure from behind the firewall.
- The softphone could use the existing ICA connection to the server, making connection and firewall traversal easier.
- Since the softphone software was local to the user's workstation, this might actually work!
- You would still need to install the softphone client on the end-user's workstation.
- There still might be problems with quality, since the VoIP SIP protocol is UDP, and ICA is TCP. (i.e. You'd have to wrap the UDP in TCP.)
Again, Orestes stressed that they're just in the early phases of starting to think about this. This means that we, as the community, can really have an impact in the direction that they go. So what do you think? Is this something that's important? What would you do? What about adding video into this mix?