Symptoms
You have confirmed that EFM is running, and you can open a broker connection using port 8080 or 8443 from the EFM server. However, from an external broker, not hosted on the same machine, the connection is refused.
Diagnosis
Is this is your first external broker then probably EFM server is not listening for connection requests on outside interfaces. From a remote destination you can try to telnet to either 8080 (http) or 8443 (https) ports: if the connection is refused, this is likely your problem. It might also be a firewall or access-list problem, but then this is a network issue, not an EFM issue.
Solution
By default ans starting with EFM 1.6 the EFM broker only listens to the local, loopack interface (127.0.0.1). To confirm this is the case, check the configuration file:
efm-server:~ $ grep "host" /opt/cisco/kinetic/efm_server/server.json
"host": "127.0.0.1",
The "host" option tells EFM on which interface it should be listening for incoming connections. 127.0.0.1, called the loopback address, will only permit connection originated by EFM server itself to be successful. Should you want to open this up to the outside world, edit the file and replace 127.0.0.1 (loopback) by 0.0.0.0 (all interfaces):
efm-server:~ $ vi /opt/cisco/kinetic/efm_server/server.json
You need to restart the EFM server for this change to take effect:
efm-server:~ $ sudo systemctl restart efm-server