Opentaps VoIP Setup

From Opentaps Wiki
Revision as of 21:01, 30 October 2007 by Cliberty (talk | contribs) (New page: ==VoIP Integration== At the time of writing, VoIP integration is limited to the [http://www.facetcorp.com/fp_overview.html FacetPhone] platform. There are two points of VoIP integration ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

VoIP Integration

At the time of writing, VoIP integration is limited to the FacetPhone platform.

There are two points of VoIP 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 not implemented in any screens.

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