Get updates

2008 Finalist
PBX / telephone
Unison includes a complete, powerful IP-PBX, integrated into the server. Unlike low-cost PBX systems based on Asterisk, the Unison PBX uses our patented technology to scale to thousands of users and provide advanced features, including:
- Auto-attendant (IVR)
- Customization
- Upload voice prompts
- Multiple auto attendants
- Music on hold
- Unison Control Panel™
- Simple online PBX management
- Unified with other server features
- Operator panel
- Call control and call log integrated into Unison Desktop™ client (patent pending)
- Unison Intelligent Presence™ integrates telephone presence status with email and IM (patent pending)
- Call parking
- Call forwarding
- Call recording – initiated from client or server, patent pending
- Automated call distribution (ACD)
- Priority-based call routing
- Skill-based call distribution
- Hunt groups
- Patented unlimited call queue technology
- Real-time queue stats
- Voicemail
- Stored on server
- Accessible from Unison Desktop
- Analog and IP phone support
- Supports agents on cell phones or analog phones
- Keep extension while traveling
- Unlimited extensions
- Unlimited DIDs
- Unlimited origination and termination providers
- Unison Intelligent Call Routing™ to reduce cost of calls
The Unison PBX is similar in functionality to a major-brand PBX system, but with two advantages:
- It is software-based and more cost-effective that a proprietary hardware-based solution.
- It is already tied into the Unison messaging system (email and instant messaging) so you do not need an expensive integration project to get unified communications – it simply works, out of the box.
Because Unison relies on open protocols and a back end enabled for SOA, its IP-PBX functionality can also be integrated with other applications, such as for call centers or CRM.
Technical overview
The following Unison Server components directly or indirectly support VoIP telephony:
Phone registrar
The Phone Registrar is a SIP proxy server which acts as an intermediary between SIP clients (such as IP telephones) and the Call Router (a SIP router). It is responsible for initiating a (SIP) call on behalf of the client ‘device’ and connecting a calling device to a device being called – at the request of the Call Router.
The Phone Registrar stores the mappings of SIP account names (VoIP device IDs or DIDs) onto corresponding IP addresses and ports and uses this information when connecting callers. In SIP terms, the Phone Registrar performs the functions of a SIP registrar and location service.
It’s worth noting that the location (registration) information used by the Phone Registrar is stored in random access memory (RAM) and thus is volatile and not persistent. When the Phone Registrar is stopped, this information is lost. However, when the Phone Registrar is started again, the location information is recovered very soon, because the SIP client devices remaining online send this information to the Phone Registrar at regular intervals.
The Phone Registrar is a stateless proxy server and is totally unaware of a call state. After connecting a caller, it immediately forgets about the call. By doing so, the Phone Registrar can handle heavy SIP traffic and, consequently, large volumes of subscribers.
To authenticate the client devices requesting registration, the Phone Registrar interacts with the AAA server using the RADIUS protocol.
Call Router
The Call Router is responsible for routing SIP calls to the appropriate destinations.
The Call Router acts as both a user agent server and user agent client. As a server, it receives and processes SIP requests. To find out how requests should be answered, it acts as a user agent client and generates SIP requests itself.
Unlike the Phone Registrar (a SIP proxy server) which is stateless, the Call Router keeps the call state and is responsible for handling all SIP signaling from call initiation up to its completion.
To interact with the Phone Registrar, the Call Router uses SIP. The routing information is requested from the AAA server over the RADIUS protocol. The Call Router also supports UMSCTL, an internal protocol used by the Unison Desktop client softphone for getting the information about a call state and controlling the call from the Unison Desktop client user interface.
AAA server
The AAA (Authentication, Authorization and Accounting) server, among other things, performs the function of Automatic Call Distributor (ACD). It is responsible for implementing the ACD rules and providing the Call Router with the call routing information, according to the ACD rules. It has access to the lists of extensions, phone numbers and VoIP devices ‘owned’ by registered Unison users and is capable of retrieving this information from the Unison database at the Call Router’s request.
The AAA server can also access the information related to SIP account names (VoIP device IDs or DIDs) and corresponding passwords, so it is capable of authenticating any IP phone attempting to register itself in the system.
In addition to supporting VoIP telephony, the AAA server also keeps track of the instant messaging service usage (who went online and when, who started or completed a chat, and so on).
The AAA server does not interact with the Unison database directly, but via the Database server. The requests coming from the Phone Registrar and Call Router are translated by the AAA server into SQL requests sent to the Database server. The data retrieved by the Database server from Unison database and returned to the AAA server is then converted to the format appropriate for the Phone Registrar and the Call Router.
RTP proxy server
The RTP (Real-time Transport Protocol) proxy server handles the exchange of media streams between phone devices after media session establishment and thus supports phone conversations.
The server’s main purpose is to ensure that RTP packets reliably traverse NATs. The server’s secondary purpose is to provide the ability to record phone conversations at a central location and keep an archive of those recordings.
TFTP server
The TFTP (Trivial File Transfer Protocol) server is used for auto-configuration of SIP interfaces of IP phones supporting TFTP (such as Cisco 7940 and 7960 IP Phones).
Voice Mail server
The Voice Mail server handles all interactions with Unison users related to the generation and delivery of voice mail. In particular, the Voice Mail server ‘answers’ a call on behalf of the recipient when the recipient is not available, informs the caller that he or she can leave a message by playing a corresponding sound file, records the message, generates an e-mail and attaches the recorded message as a sound file to the e-mail, and then passes this e-mail to the Mail server for delivery.
The Voice Mail server acts as a communication endpoint device using SIP and RTP for data exchange.
The server supports the following codecs: G711ULAW, G711ALAW, and GSM.
Media server
The Media server is responsible for playing music (sound files) to participants of phone conversations whose calls are placed on hold.
For data exchange, the Media server uses RTP.
The server supports the following codecs: G711ULAW, G711ALAW, and GSM.
IVR server
The IVR server is responsible for all interactions with a caller in cases when the called numbers or extensions are associated with voice menus defined in the system. The corresponding phone numbers and extensions are referred to as voice menu entry points.
A voice menu is a set of options a caller can choose from by pressing numeric keys on his or her phone. Each voice menu, generally, is a node in some hierarchically organized tree-like structure of voice menus. A node may or may not be associated with a phone number or extension.
Every node (each voice menu) is always associated with a number of sound files that are played by the server one after another when the caller ‘goes to’ this node. The sound files will normally contain instructions for a caller explaining what options he or she can use and how these options can be accessed. (Those options as a rule are associated with pressing certain numeric keys on the caller’s phone.)
For each node a timeout is defined. If after listening to the sound files a caller does not push any number during a certain period of time, the timeout event occurs and the server performs an action specified for this event.
If the timeout occurs or the caller presses a number associated with some action, the IVR server can:
- Redirect the call to a specified phone number, extension or a hunt group
- Switch to another voice menu within the same hierarchy (tree) of voice menus
- Play the sound files associated with the voice menu once again
- Return to the previous menu
- Hang up
The IVR server interacts with the following Unison server components: the Call Router, the Database server, and the RTP proxy server.
When communicating with the Call Router, the IVR server uses SIP. The requests sent to the Database server are SQL requests. The media streams are passed to the caller through the RTP proxy server according to RTP.
The IVR server supports the following codecs: G711ULAW, G711ALAW, and GSM.
