Parakeet is a VoIP-based phone system, which means it comes with some firewall and bandwidth requirements. Parakeet will usually work fine in most home and office networks with no changes at all. However, more advanced or restrictive firewalls, and networks with limited bandwidth may require tweaking in order to achieve the best performance.
Your firewall should be configured to allow outbound traffic over the following port ranges:
- 443/TCP (HTTPS)
- 5061/TCP (SIP TLS)
- 16384-32768/UDP (RTP)
Note that due to the elastic nature of the Parakeet infrastructure, we're currently not able to provide a fixed list of IP address that this traffic must be allowed for. However, as long as your firewall and router allow inbound traffic over an established connection, you should only need to allow these ports for initial outgoing traffic.
Parakeet will never make an incoming request to your infrastructure. Inbound calls are delivered over client-initiated long-lived TCP connections to our servers, and RTP audio is delivered over the same UDP port that was used to send the traffic to us (which should allow it to squeeze through most firewall configurations).
The bandwidth requirements for Parakeet vary based on the device being used and the device's connection and configuration. For calls placed to a phone number, Parakeet uses the G.711 codec which requires approximately 8KB/s per active call. For calls placed to a Parakeet channel, or another user, we attempt to use the OPUS codec, which may require up to 70KB/s, but delivers far superior audio quality.
Parakeet will adapt to the current network state automatically when using the mobile applications. When connecting to Wi-Fi, Parakeet will attempt to negotiate an OPUS call. If you cross over to a cellular network, the app will automatically re-negotiate a G.711 call to reduce audio (unless you have set the app to prefer high quality audio calls).
If possible, enabling QoS for traffic on the RTP ports mentioned above may help to improve the quality of Parakeet.