FacetPhone Integration
From Opentaps Wiki
Jump to navigationJump to search
FacetPhone is a commercial Voice over IP (VOIP) solution. There are two points of FacetPhone integration in Opentaps, both in the CRMSFA application:
- When creating a new order, the VoIP server is queried for the user's current call, and the DNIS (dialled number identifier) of that call is used to look up a related Tracking Code to populate the order
- When creating or editing Leads, Contacts, etc. the server is queried for the user's current call, and the phone number fields in the Opentaps screen are populated with the caller's phone number, if possible. This feature is currently only implemented in the Create Contact screen.
Note that VoIP integration in Opentaps assumes that the VoIP server username is identical to the Opentaps username.
FacetPhone Integration
FacetPhone integration is activated by configuring the properties below (at a minimum) in hot-deploy/crmsfa/config/voip.properties (and restarting Opentaps):
facetPhone.integrate = true facetPhone.server.connect.ipAddress = (IP of the FacetPhone server)
Other configurable properties include:
Property | Purpose | Default |
---|---|---|
facetPhone.server.connect.port | Port number to connect to the server | 6500 |
facetPhone.server.connect.timeout | How long to wait when connecting (milliseconds) | 10000 |
facetPhone.cid.queryString | Query string to send to the server to retrieve data about the lates call for a user | ?<utapicid><uname=${userLoginId}><dnis><state> |
facetPhone.cid.callState.regexp | Regular expression used to extract call state (completed/active) from the string returned by the server | ^.*<state=([a-zA-Z]*)>.*$ |
facetPhone.cid.dnis.regexp | Regular expression used to extract DNIS (dialled number identifier) from the string returned by the server | ^.*<dnis=([0-9]*)>.*$ |
facetPhone.cid.number.identify.regexp | Regular expression used to extract the caller's phone number from the string returned by the server | ^.*<number=([0-9]+)>.*$ |
All Platforms
Phone number parsing is controlled by these configurable properties in hot-deploy/crmsfa/config/voip.properties:
Property | Purpose | Default |
---|---|---|
voip.number.parse.regexp | Regular expression used to parse a phone number into separate strings for country code, area code and phone number. Capturing group indices for separate strings are defined below (note that capturing group indices begin at 1) | ^([0-9]?)([0-9]{3})([0-9]{7})$ |
voip.number.parse.regexp.group.countryCode | Index of the capturing group (set of brackets) in voip.number.parse.regexp which indicates the country code | 1 |
voip.number.parse.regexp.group.areaCode | Index of the capturing group (set of brackets) in voip.number.parse.regexp which indicates the area code | 2 |
voip.number.parse.regexp.group.phoneNumber | Index of the capturing group (set of brackets) in voip.number.parse.regexp which indicates the phone number | 3 |