IFC Special Interfaces
1.0 Gathering Information

The first thing to do before troubleshooting a communication issue between the Interface and a vendor, is to call to mind the actual Data Flow that is involved.
This is as follows in an OPERA PMS scenario
1.1 Ask the pertinent Questions
When did the issue start happening?
A time frame or even better the exact time an Issue began is always a great help in locating the cause.
How did the issue start happening?
Was anything being done as the Issue occurred? Changes to Parameters? Changes to Networks? Anything along these lines?
1.2 What does the IFC8 GUI show

Have a look at the IFC GUI and see what can be ascertained.
Are there any Error Messages?
If yes please use theses messages to search for a solution.
What are the control lamps showing (click here for more information)
The Physical Status Lamps and Queue Status Lamps are the first things to review:
The Fact that the Queue Lamp to the Vendor is Green and the Physical Layer Lamp to PMS is yellow would suggest there is an Issue with the Connection to the OperaIfcController.
1.3 What does the IFC8 GUI show if using IFC8 as a Service
It doesn't. You will need to stop the Service and start the Interface via a shortcut if you wish to view the GUI.
Any meanigful troubleshooting will require that you can view the Ifc8 GUI.
2.0 Troubleshooting the IFC Controller
2.1 Restarting the IFC Controller Service

First and foremost is to verify the OperaIfcController Service is running.
Press the Windows+R keys to open the run dialogue and then type services.msc
If it is already running, try restarting the service.
If there is still no communication forthcoming the next step is to review the IfcController Logs.
2.2 Locate and Review the Controller Logs

The Location will generally be a sub directory of where IFC8.exe is located for example C:\Fidelio\IFC8\Controller or D:\Fidelio\IFC8\Controller.
If it is not the case, the exact location can be ascertained by reviewing the registry entry.
The KEY is located in:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Micros-Fidelio\Opera IFC Controller
The registry key required is called "LogPath" where you can see UNC Path where the log files are located.
The Log files can be opened in a formatted form for easier reading, using the LogViewer.exe. It can be downloaded here
2.3 Common IFC Controller Error Messages

An Existing Connection was forcibly closed by the remote host
This is caused by an Active network component (Router, Firewall etc.) forcibly closing the connection. The controller will then close the port offered to IFC8.
Workaround: None
How to Resolve: Check that the connection from the IfcController to the Application server / Web Service it is connecting to, is white listed (No Active Surveillance).

The remote name could not be resolved
This is caused by an Issue with Domain Name Resolution. The DNS (Domain Name Server) is unable to resolve (translate) the target name.
In other words the target name is not translated into an IP Address thus making it impossible to find the target destination.
Workaround: Replace the Target Address with its real IP address.
How to resolve: Resolution needs to be done by the network team responsible for the network involved.

The operation has timed out
This occurs when the timeout for the controller is reached (Default 120 sec's). If this occurs frequently and subsequently the connection resumes again, it would suggest a network latency issue.
This is the most common reason for double postings between POS (Point of Sale) systems and Opera PMS.
Workaround: As the IfcController uses HTTP GET to connect to the Web Service one can REDUCE the time out from the default to something lower, 30 or 15 seconds for example, as an example we will use 15.
Secondly the POS time out should be verified and set to a higher value let's say 45 sec's.
This way the controller will have 3 attempts (3*15=45) before the POS user can resend a posting request and cause a double posting.
This workaround should drastically reduce or eliminate any double postings you may have due to any network latency.
How to resolve: Resolution needs to be done by the network team responsible for the network involved.

SecureChannelFailure / Could not create SSL/TLS secure channel
This is caused by the controller having an Issue with certain SSL and TLS Ciphers. It happens sporadically and can only be resolved through an update of the IFC Controller and or the installation of up to date Cipher Suites if you are running an older Windows OS.
A Reference document for this is attached.
Workaround: None
Resolution: Upgrade IfcController to version 5.3.26 or higher

Object Reference not set to an instance of an object
This occurs when:
The Web Service the Controller is attempting to connect to is not available
or
It is running but with difficulties.
Workaround: None
How to Resolve: Please try to resolve by restarting the web service
This would be the WLS_HOME Service if you are using OHS (Oracle HTTP Server) and OC4J_HOME Service on version 5.4.2.0 of the application Server or lower.
2.4 IFC Controller Start Up Errors:
Windows could not start the Opera IFC Controller service on Local computer... Error 1075: The dependency service does not exist or has been marked for deletion'
This occurs when the Controller is marked for deletion thorugh a .NET upgrade. Standard operating procedure from Microsoft.
Resolution ie to re-install the IFC Controller. A guide to which can be found here.
3.0 Waiting for Connection

Here we have a different situation reviewing the PMS Physical Port
(Connection to IFC Controller) we see it is green (ready to start).
Here the Queue to the vendor is also Green so it is ready to commence. The Application Layer is RED so the Application has not started working.
Looking at communication parameters for the vendor we can see the interface is acting as server in this scenario.
This means the Interface is waiting for the vendor to connect, once connected the Interface will come up with the application turning green.
To troubleshoot this please refer to the vendors documentation and or their hotline.
4.0 Attempting to Connect to vendor
4.1 TCP IP Model

In this scenario we see an almost Identical Picture as in 3.0 Waiting for Connection
There is however a marked difference. Reviewing the communication Parameters of the IFC Object it is clear the Interface is the client in this scenario (combination of destination address and port).
Some troubleshooting steps would be,
Can I Ping the destination address?
Can I open the destination address and port (telnet)?
If yes is the vendor software up & running and awaiting connections?
4.2 Serial Interface (COM Port)

ENQ Retries expired
This is a typical situation where the Interface is trying to send records via a serial Interface and is receiving no response from the vendor.
The error message is pretty generic and states "I am getting no response", no more and no less. This means troubleshooting the cause can be a bit tedious.
The premise here is that the communication did work previously in other words the cable and ports were previously ok.
How to resolve:
First re-initialize the port on the IFC side by simply stopping and starting IFC8
Is the vendor software running and ready to Interface?
Have the communication Parameters been changed (Example above 9600=Baud Rate, Parity=N None, Data Bits=8, Stop Bits=1)?
Is the cable connected to both machines?
Is the cable connected to the right COM Port? (Example above COM 5)
Next is to Physically re-initialize the port (Cold reset). This will actually vary depending on what com port is used how the com port is installed / offered on the operating system.

Some Examples:
On Board Com Ports:
Can be found at the rear of the PC / Box / Server and may look similar to this:
It is not common to see this type of com port anymore as with the advent of always smaller machines manufacturers have reverted to only offering USB (Universal Serial Bus) ports.
How to Reset:
To do a cold reset on this type of port Power off the Machine, wait a couple of seconds and then Power on again.
USB to COM Adapter:

USB to COM Adapter:
A more common connection regularly used in installation with few COM ports necessary.
To cold reset stop the Interface
- Remove the USB plug from its socket wait 20 sec's and re-attach
- Restart the Interface.
If that was not successful it may be advisable to:
- Stop the Interface
- Remove the USB Adapter
- Power off the Box /Workstations
- Power on the Box / Workstations
- Attach the USB Adapter Again
- Restart the Interface

Serial Port Servers
These are not commonly found on site at local premises. These are generally used in a Data centre setup or somewhere where the COM Port needs to be a long distance from the actual Machine the IFC Application is running on.
This of course makes resetting them a small challenge as a) You will need to know where they are and b) have access to them or have someone who has access to the them.
If there are many Interfaces using com ports assigned to one of these boxes and only one is not working it is unlikely that the box has an issue.
If all are not working it is probable the box has an issue.
To reset the box simply take it of the power or switch it off.depending on if it has a power switch or not).
If the reset of the port helped then great. If the port repeatedly keeps hanging in ever shorter time periods it would be a symptom of it coming to its life's end and a replacement should be contemplated.