This article is intended as If you are having problems with the CafeX Trials Environment, such as:
- Trials Environment not starting correctly.
- Local video preview not showing where expected.
- Calls no longer working when they used too.
- Cannot login to sample app when you used to be able too
The trials environment is based on server side software which binds to an IP address to run. Some actions related to IP changes, such as fast switching between networks, e.g. moving from WiFI to LAN and then back again can confuse it.
To minimize the chances of issues you should shut down trials when you expect to move between networks. This is done by:
- MAC: Clicking Stop Servers on the Trial Environment Launcher and waiting for the icons to turn red
- Linux: Running the stop_all.sh script located in the Trial Environment install directory
Default Trials Install Directory:
When the Trial Environment starts it detects if the IP address of the machine it is running on has changed, if it has the Trial Environment configuration will be updated accordingly. However complications can occur so if you do see issues with your Trials Environment we would recommend the below steps.
Note: Trials will not work when bound to the Loopback Adapter (127.0.0.1).
Downloading Troubleshooting: When downloading trials you'll want to unpack everything barring the mediabroker file (this get's used in it's raw .gz form).
Note: Safari's default settings is to unpack anything you download. This is an issue for the mediabroker. To stop this either use a different browser or uncheck the following:
Safari > Preferences > General > Open "safe" files after downloading: uncheck.
1) Fully Stop & Start the Trials Environment
1. Stop trials via the Trials Launcher (Mac) or Script (Linux), see above.
2. Confirm trials has shutdown by running the following in a terminal: ps -ef | grep java
3. Kill any remaining java processes with the following command: kill -9 <PID>
Where <PID> is substitited with the PID of a running java process. On the MAC this should also close the Trials Launcher.
Warning: This will kill all java processes on your machine.
4. Start trials either by starting the Trials Launcher and clicking Start Servers (Mac) or by running the start_all.sh script in the Trials install directory (Linux).
2) Check if your hostname is resolvable to your current IP address
Some DHCP servers will give a new hostname, so if trials complains of an unkown hostname it is likely the networks DHCP server has assigned you a hostname and it needs to be added to your /etc/hosts
- Open terminal
- Type ifconfig and make a note of the IP address against the inet entry: e.g. 10.147.53.79
- Type hostname and make a note of the host name output on the line below your hostname command. This was a long string something a bit like xxx_vlan_10_147_53_79_cisco
- Check the /etc/hosts file contains an entry with the IP address followed by the hostname e.g. 10.147.53.79 xxx_vlan_10_147_53_79_cisco.
On a mac type sudo /usr/bin/nano /etc/hosts
you will be asked for your laptop password and after entering it you will see the contents of the file.
- If the IP/hostname entry is already there type ctrl + x to quit.
- If you need to add a new entry, then add your IP address/hostname pair after the last line in the file. Type ctrl + x to quit. When asked, press Y to save, and hit return when asked the filename to save as.
3) Can you ping your IP address?
Trials will not work if you are unable to ping your own IP, you can check this by typing the following:
Where x.x.x.x is your IP address. If you can't ping your IP address some of the culprits are:
- MAC built in firewall in stealth mode. Check via Setting -> Security & Privacy -> Firewall
- VPN connection security blocking self pings, you would need to ask you Network Administrator about this or disconnect from VPN and disable the client.
IP Firewall (ipfw) rules blocking self pings. You can check the ipfw rules with the following command:
sudo ipfw list
You can deactivate the IP Firewall or flush it's rules.
McAfee for Mac comes with a firewall and blocks all incoming ICMP - this will break your trials env install. To disable the firewall open up the 'McAfee Endpoint Protection for Mac Console' Select Preferences & turn firewall off on the General tab.
4) Check Gateway Configuration against current IP
Check https://IPADDRESS:8443/web_plugin_framework/webcontroller/ and make sure the IPs stated in Gateway -> General Administration and Gateway -> Media Brokers reflect the machines current IP address.
Under Media Broker be sure to click the edit button against the Media Broker entry to check all the configured IP addresses, including clicking the "+" symbol under WebRTC Client.
Firewalls can cause the installer to delay or connection attempts to go slow. McAfee's firewall can be disabled on the little panel for administration and is a known issue for interfering with the installation.
6) Check Log files for errors
Often the issue will be made clear by consulting the server logs and client logs.
Server Logs: The most useful server logs are:
<trials install directory>/FAS/domain/servers/appserver-registrar/log/server.log
<trials install directory>/FAS/domain/servers/appserver-registrar/log/boot.log
Try going to the end of the log and searching backwards for "Exception".
Chrome Logs: If using Chrome for a client then you can see the logs in the console, shown by bringing up the page context menu (normally by right clicking in the browser window) and selecting "Inspect Element", and then selecting the Console tab.
iPad Logs: You can obtain iPad logs by plugging the iPad into a MAC, opening XCode and navigating to Window -> Organiser -> Devices and selecting your iPad in the left hand menu. In the drop down menu select console
7) Check the Proxy settings are not preventing the LB from accessing the AS
We have seen a problem where the load balancer would not connect to the Web Gateway. This was due to a proxy server being configured on the mac. Once we added its own address to bypass the proxy it was able to connect.
8) Remove the Mac's DNS configuration
If a DNS server is configured on the Mac, but it fails to respond to any request (e.g. if the router has no route to the DNS server it is acting as a proxy for and simply drops the request), the Trials Environment will not start correctly.
A solution to this is to remove the Mac's DNS configuration entirely associated with the access point it is connected to. The recommended way of achieving this is to manually configure the Mac with a static IP address, and in doing so, not configure it with a DNS server.
This can be set via the System Preferences > Network > Advanced > TCP/IP settings menu.
This results in the Mac performing hostname lookups via the /etc/hosts file rather than DNS, and assuming the appropriate addresses are present within it, the Trials Environment starts successfully.
9) Check you have the resources to run trials
Especially on older Mac if you are running too many other programs the trails environment may get starved of resources and stall or become unusably slow.
Use 'Activity Monitor' to ensure you have plenty of free memory to run trials.
Or from the command line use free -m
If you are running on linux use the command df -h to show the space on the machine. If your directory "use%" show's at 100% this will interfere with calls and perhaps even starting the server.
10) Is iptables/firewalld running?
run service iptables status
If that returns values, try disabling it with service iptables stop
For CentOS/RHEL 7 iptables has been replaced with firewalld. You can check the status with:
systemctl status firewalld
and if running disable with:
systemctl stop firewalld
11) Linphone grabs port 5060 - Prevents sample app calls.
If you're running something like Linphone on the same box, it grabs prot 5060. You need to kill the Linphone service and then restart (stop & start scripts) the Trial Environment. This frees up the port, and you can now make calls from the sample app.
12) Trials on a cloud instance.
Even though it is not recommended trials can be run on a cloud instance such as an amazon web service (AWS).
To get this to work it's important that the instance has a minimum requirement for running trials in terms of resources.
The catch is you must make this configuration change every time you restart trials (the script, and by proxy the server).
The change that needs to be made is in the media broker configuration you must change the "Public Port" to be the public IP of the AWS instance.
This change needs to be made on the Web Plugin Framework e.g.
Navigate to gateway > Media broker > click the "pencil" edit button on the right.
Next scroll down to "WebRTC Client" and change the public port, please see picture below:
(for more information, please see: Understanding Fusion Media Broker Ports)
Please make sure that any firewalls are configured to allow the ports through.
If all else fails try re-installing the Trials Environment
There are certain situation that call for re-install. If the Trials env will no longer start correctly. even after trying step 3 multiple times, try removing the previous install and performing a fresh install into a new directory.
1. Ensure the trials environment has been stopped, see above.
2. Close Trials Launcher (MAC only) and remove application file
3. Remove install directory of previous install or install new environment to a different directory.
Note: About Trials Environment 2.1.2 running on OS X Yosemite 7 beta
The CafeX Trials.app link fails to launch the trials kit. The trials kit can still be started by running the start-all.sh