Architecture

CounterPath's softphone clients are built on open standards, leveraging SIP (Session Initiation Protocol) to create, run and terminate multi-media sessions. They are built on ITU codec standards for voice and video (for example, G.711, G.722.2, G.723, G.726, G.729, H.263, and H.264), and the SIP SIMPLE standard for Instant Messaging and Presence.

Softphone Architecture Summary

CounterPath softphones use the open-source reSIProcate SIP stack, which is the most compliant RFC 3261 SIP stack. This SIP implementation supports UDP, TCP and TLS transport protocols, as well as IPV4 and IPV6.

For more details and information on RFC Compliance see SIP and Open Standards.

Call Manager

The Call Manager provides the interfaces for controlling SIP-related aspects of VOIP communications: incoming and outgoing SIP calls and registrations. The Contact Manager controls contact-related aspects of a local User Agent's VoIP communication experience, such as buddy list, instant messaging (IM) and presence.

Audio and Video Engines

CounterPath's Audio and Video Engines select voice and video codecs to optimize the sound and video quality to the user's bandwidth. CounterPath softphones include a dynamic jitter buffer to re-order out-of-order packets, adjust to changing network delay, and compensate for existing network congestions and overloads. They support AGC (Automatic Gain Control) and AEC (Acoustic Echo Cancellation) and implement several packet-loss-concealment algorithms and noise-reduction mechanisms. The audio/video media engine provides the ability to monitor network conditions and make adjustments to improve call quality to optimum levels if the link degrades.

NAT Traversal

CounterPath softphones are STUN, ICE and TURN enabled. STUN is a protocol that allows an endpoint to determine its IP address with respect to the STUN server. It also allows the endpoint to characterize the type of NAT or firewall it is located behind. ICE is a methodology for establishing connections between two endpoints by collecting and advertising a list of possible IP addresses that the sofphone may be reached at. Some of these addresses are gathered using STUN.

The softphone application will attempt to establish contact with another softphone application using the addresses advertised in SDP using the ICE candidates to determine the optimal path. In the event of a restrictive NAT/firewall, a relay solution such as TURN is required to establish a call. TURN allows a softphone to acquire a public address which it can then advertise to another softphne.

CounterPath is actively involved in the IETF (Internet Engineering Task Force) standardization process for STUN, TURN and ICE.

For more information, please get in touch. Contact Us

Interoperability

CounterPath is dedicated to supporting Open Communications. Learn more about our interoperability
Interoperable Products Interoperability Program

Partner Programs

Apply to become a technology, product or channel partner.
Learn more