FacetPhone Integration

From Opentaps Wiki
Revision as of 01:13, 19 November 2008 by Sichen (talk | contribs) (New page: [http://www.facetcorp.com/fp_overview.html FacetPhone] is a commercial Voice over IP (VOIP) solution. There are two points of FacetPhone integration in Opentaps, both in the CRMSFA applic...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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:

  1. 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
  2. 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