Integrating FacetPhone With Filemaker Using FacetPhone's Web CTI Interface
FacetPhone's web based Computer Telephony Integration provides an extremely easy way for applications to dial and retrieve caller ID for looking up a contact. Any application that can make an HTTP request to a URL can utilize this interface. FileMaker has this capability, so we will use it to demonstrate.
In the following example, we have modified the FileMaker sample contact application to have buttons do dial the contact's various phone numbers and a button to lookup a contact on the caller ID of an incoming call:
Note the buttons with a phone icon beside each phone number on the lower left of the screen. Each of these can be clicked to dial its corresponding phone number on the user's phone (on a FacetPhone system!). Let's look at the setup behind the Office Phone dial button:
The Action for the button is "Perform Script". The script to run is "Dial Office". The contents of that script are:
The "Insert from URL" FileMaker script step enters the contents from a URL into a field. Between the square brackets, the options specified are:
"Select" indicates that the entire contents of the FP Web TAPI field will be replaced with the results.
Do not pop up a dialog box.
Place the contents from the URL in the the "FP Web TAPI" field.
For the URL, the address of the FacetPhone server is specified along with a query string that makes the request.
The fp_dial.cgi program is the one that does the dialing. All of the FacetPhone web requests must have the name of the user whose phone will be used. In this case, we have assumed that the user's FileMaker account name is the same as their FacetPhone login name. For the dial request, you must next provide the number to dial which is specified with the "number=" part of the request. We begin with a 9 which is required on the FacetPhone system to access an outside line. Next the number from the "Office Phone" field is used as the number to dial. If the user's name was "joe", the resultant request to the FacetPhone server would be:
And that's all there is to dialing on a FacetPhone system from a FileMaker application!
Hanging Up on a Call
Note the Hang Up button at the top of the screen. This button can be used to hangup the user's active call. Once again, this button is setup to perform a script:
The contents of the "Hang Up" script are:
Everything about this request is the same as the dialing request except for the request part of the URL. To hangup, we will specify the fp_hangup.cgi program. The user name must be supplied as before. Again, if the user's name was "joe", the resultant request to the FacetPhone server would be:
Requesting Incoming Caller ID for Contact Lookup
Note the "Find Caller" button next to the Hang Up button. The setup for this button is:
The contents of the "Find Caller" script are:
The interaction with FacetPhone is at line 10. In this request, we specify the fp_cid.cgi program and the user is specified Again, if the user's name was "joe", the resultant request to the FacetPhone server would be:
This request will actually return a value in the "FP Web TAPI" field. The remainder of the script formats the number to be like they are stored in the database and attempts to find a contact with one of their phone numbers matching the caller ID that was returned.
As you can see, interacting with the FacetPhone business phone system from an application that can access web URLs is extremely easy!
FileMaker and the file folder logo are registered trademarks of FileMaker, Inc. in the U.S. and other countries.
Mac and the Mac logo are trademarks of Apple Inc. registered in the U.S. and other countries.