Category Archives: IT Guide

For IT to prepare, install and maintain Dynamics Telephony

Incoming Call Alert Audio

You can set the audio file and audio device to use for incoming calls. This is useful if you want to silence the alert, or play the alert from a different speaker.

There are 3 settings you use. All are per-user settings.

General Settings > Also Alert PC Speaker
General Settings > File Location
General Settings > Inbound Alert Device

You must set ALL 3 settings to use this feature.

Also Alert PC Speaker. This is not a good name. It really means to use PC Speaker INSTEAD of your current audio device for inbound call alerts..

File Location: The audio file should be in .WAV format. Be sure to store it in a folder that the user has permission to access. To silence the alert, make a small .WAV file of silence. Example setting value: C:\DT\my_alert.wav

Inbound Alert Device: The device can be more difficult to set. You need to use the name of the device, or part of the name. The setting is not case sensitive. You can get a list of your devices using these steps:
a) Go to DT Menu > App Folder
b) Quit DT
c) Use Notepad to view file pjsip.log
d) See the list of devices like this:
..WMME found 5 devices:
.. dev_id 0: Wave mapper (in=2, out=2)
.. dev_id 1: Microphone (Plantronics C710) (in=2, out=0)
.. dev_id 2: Microphone (High Definition Aud (in=2, out=0)
.. dev_id 3: Speakers (Plantronics C710) (in=0, out=2)
.. dev_id 4: Speakers (High Definition Audio (in=0, out=2)

So, an example setting value would be: plantronics

Configure for Internal Calls

The DT Client has specific options for internal calls

The following settings are global, so they apply to the whole team. If you need users with different options then you need to create a separate Settings Team.

In order to detect internal calls, be sure to set the extension length. Set it to the longer length you might have. For example, if you have 4 and five digit extensions, set it to 5.
Setting: Provider Configuration > Internal Extension Length

If you have mandatory fields on your Phone Call form, or whatever form is popped by the DT Client for inbound calls, you might want to turn off validation for internal calls.
Setting: Advanced Configuration > Validate Internal

If you want to stop a CRM Phone Call being created for internal calls, you can do this.
Setting: Advanced Configuration > Internal Phonecalls

If you want to take your internal calls on your twinned deskphone, you can set the DT Client to ignore internal calls completely.
Setting: Advanced Configuration > Ignore Internal

Queues and DNIS

Maybe you want agents to be aware of which incoming line, or queue, a call is coming from. Or maybe you want each phone-call record in CRM to be tagged with the name of the incoming line or queue the call came in on. You need to configure a DNIS in Dynamics Telephony.

DNIS is also used in marketing measurement, where a different phone number is used in different publications of an Ad, to measure which publication is the most successful.

Other uses:

  • You want to pop a particular form based on the Queue-name
  • You want to auto-populate the Queue-name into a custom field – e.g. in a phonecall, lead or case (incident)
  • You want per-queue statistics in CRM
  • You want to filter the customer search using Queue-name (e.g., if you have a queue per “brand”)
  • You want to search one of multiple CRM instances based on queue name.

DNIS stands for “Dialled Number Identification System”. It just means the number the caller dialled, or the line or queue the call came in on.

DT Client Implementation

Throughout the implementation, go-live and support lifetime, we will endeavor to have a DEDICATED ENGINEER assigned to your company. This is a unique approach we take because we know it has big benefits for you. It means your engineer is fully aware of your needs and situation. No need to tell them how important a particular issue is – they will always know. No need to tell them how your business works – they will already know.

Timeline. For budgetary purposes, you can use the following implementation timescales. NOTE, we operate a 2 week shutdown over the Christmas period, usually from December 20 to Jan 4th, inclusive.
– Short – most work done by Dynamics Telephony – 1 month
– Long – work spread over various partners – 3 months

Risks. Here are some common risks to the project, and what we do to minimize them:
– Install issues. We will require early access to a sample end-user environment to identify any install issues up front.
– Network & Security Issues. We will require early access to an end-user environment, along with sandbox CRM and Telephony to identify any network issues up front.

Milestones. Here are some project dependencies/milestones to monitor during the typical project
– Dataverse SDK access via Service User created. This Service User is a client-secret application user configured in Azure Portal.
– UAT environment and test cases agreed.
– IT Support and User Training ready.

If the project is projected to be too long, then we recommend phasing as 1)Outbound operations and 2)Inbound operations.

Project Team Members.

  • Project Manager. Overall responsibility. See timeline above to estimate commitment required
  • Telephony. The person who creates new users on the phone system, or writes the procedure for this. The person who can provide credentials and network access to the Telephony API. Telephony security prime.
  • Users. A prime user of CRM for the use cases envisaged.
  • CRM. CRM architecture prime. CRM security prime.
  • Training. The person who writes the user training guides.
  • Support. The person who provides guides to first line IT support of CRM/Telephony users.

Each member of the team will need to attend a presentation of the DT Client and Q&A on their tasks and impacts.
Following on from that, test users will need to be set up on the phone system and CRM. DT engineers will require access to these.
Depending on complexity, about a day of effort might be required to update training materials for the users.

Call Recording Integration

Call Recording Integration

Have you requirements like these?

  • You want agents to be able to pause a call recording in progress.
  • You are tired of trying to find the matching call recording for a conversation logged in CRM.
  • Users want to be able to easily listen to call recordings of previous calls to a customer.
  • You want to integrate with recording analytics, like gong.io or Microsoft Conversation Analytics.
  • You want to upload call recordings to your own storage.

Dynamics Telephony Client (DT Client) can help with all of these requirements.

NOTE: The Call Recording features described here are dependant on the API of your Call Recording system. All features are supported on Asterisk, FreePBX and our own phone system (DTPS). Other phone systems may be supported. Please contact us for more details. If your system is not supported, we will make you an offer to connect your Call Recording API to our DT Client.

Recording link in CRM – In the call log that the DT Client automatically creates for every call you make or receive, a link to the call recording in your call recording storage will also be populated. You can click on the Audio Control to play the recording, or use the URL to download the recording to your PC. Access to the recording can be controilled via CRM roles applied to forms that display the URL or Audio Control.

Recording pause-resume control is available in the DT Client. This control can be hidden if you do not want users to have this capability.

Recording Upload. The DT Client will trigger upload of your recordings:

  • The upload can be to analytics platforms such as Microsoft Conversation analytics, or gong.io
  • The upload can be to storage such as Azure or FTP.
  • The recordings can be stereo or mono. Some analytics applications require stereo.

Troubleshooting: EoD

If you get EoD when trying to make a call, here are the possible causes.

EoD means Error On Dial – so there was an issue making the call. Normally, this is due to an undialable number. So the first thing to check is that the number being dialled is valid.

If you are not properly connected to the phone system, you will get EoD on every call. So, try a number you know exists – like another extension or the voicemail system. If you cannot get to those, then you need to check your connection to the phone system.

If you need a prefix – like 9 or 0 – to access an outside line, check that is being inserted.

If you open the log file and search up from the bottom for “dial(” you will see the actual number being dialled. Make sure that is correct.

Create a Dialer Campaign

Use this procedure to add a set of accounts, leads or contacts to a queue for Dynamics Telephony to autodial them. You should already have a shared queue prepared – e.g. Priority Leads, or you can use the users personal queues, e.g. <John Smith>

NOTE use the original Advanced Find available in Advanced Settings. Otherwise, you will not get the extra phonecall fields indicated below. If you do not get the extra fields, then you can bulk edit the phonecalls created to add the extra field values. These field values allow your views to find campaign calls easily.

Steps:

  • Advanced Find the records (Leads, Contacts, Accounts) you want to add to the campaign.
  • Click Create Quick Campaign
  • Enter a name of the campaign
  • Select activity type as Phone Call
  • Check “Add created activities to a queue
  • Select the queue you want to use
  • NEXT
  • Enter a Subject for the phonecalls
  • Enter 1 as the Attempt for the phonecalls
  • For Queue, select the same queue as above.
  • Select YES for Dynamics Telephony Call
  • NEXT
  • Create

Phonecall Data Details

Dynamics Telephony will create a phonecall record for every inbound and outbound call it handles, and write detailed call data to it. The fields used are a mixture of standard and custom (those beginning with cts_) fields, as follows

  • Items marked with * are only available when server-side integration is enabled.

Activity Status (statecode) The phonecall could be open (e.g. a callback or a queued dialer call), completed, or cancelled (* e.g. an abandon callback that was cancelled due to the customer calling in again).

Actual End (actualend) Date and time the call ended at, after any wrap time.

Actual Start (actualstart) Date and time the call started at, i.e. started to be offered to the user.

Alerting Time (cts_incomingtime) The number of seconds the inbound call was ringing the users phone before it was answered.

Arrival Time * (cts_arrivaltime) The date and time the inbound call first arrived into the phone system. From this time, the call will probably have queued before being presented to the user.

Attempt (cts_attempt) For repeated attempts to contact a customer, via automatic (e.g. No Answer) or user initiated callbacks.

Call From (from) Lookup to the customer (inbound calls) or user (outbound calls) that started the call.

Call Outcome (cts_outcome) The outcome of the call. It might be an automatic outcome (e.g. No Answer), or a user chosen outcome (e.g. Callback, Not Interested, etc.)

Call Tag (cts_calltag) This is not used by the DT Client. You can use it to tag the call.

Call To (to) Lookup to the customer (outbound calls) or user (inbound calls) that was called.

Created By (createdby) The user or process owner that created this call.

Created On (createdon) For inbound and click-to-dial calls, the date and time the call was started. For dialer calls, the date and time the call was created – usually some time before it was presented to the agent for dialing.

Description (description) The notes for the call. Part of the note can be auto-created by Dynamics Telephony Client.

Direction (directioncode) Inbound, or outbound for click-to-dial and dialer calls.

DNIS (cts_dnis) The DNIS (number the caller called for inbound calls) or queue or skillset for inbound calls.

Due (scheduledend) The time a callback should be made at. This is filled by the DT Client depending on the Call Outcome. For dialer calls, the process creating the call might fill this too.

Duration (actualdurationminutes) The total duration of the call in minutes, including any wrap time.

Dynamics Telephony Call (cts_is_dt_call) A boolean indicating this phonecall was created by DT Client, or a process that wants to set this to true.

Hold Time (cts_holdtime) The number of seconds this call was put on hold by the user. If the call was put on hold multiple times, these are summed here.

Inbound Queue * (cts_inboundqueue) The name (or number if no name) of the queue the inbound call arrived on.

Last On Hold Time (lastonholdtime) Time and date the call was last put on hold by the user.

Left Voice Mail (leftvoicemail) If the user selects an outcome for the call, that is configured to “Tag as voicemail”, then this boolean field will be set.

Modified By (modifiedby)

Modified On (modifiedon)

Offer Time (cts_offertime) For dialer calls, the number of seconds the call was offering to the user before they clicked accept, and entered the Preview state.

Original Phone Call (cts_originalphonecall) A lookup to the first call in a chain of call attempts to contact a customer.

Outbound Route (cts_outboundroute) The name of the outbound CLI (Calling Number) used by this outbound call.

Owner (ownerid)

Pause Time (cts_pasuetime) For dialer calls, the number of seconds the user had the call in Pause state. Pause is when the Preview or Wrap timers are paused.

Phone Number (phonenumber) The callers phone number (inbound), or the phone number a user called (outbound)

Preview Time (cts_previewtime) For dialer calls, the number of seconds spent previewing the customer record before the dialer auto-dialed the call.

Previous Phone Call (cts_previousphonecall) A lookup to the previous call in a chain of call attempts to contact a customer.

Queue (cts_queue) For dialer calls, a lookup to the CRM Queue that holds (or held) the queueitem linked to this phonecall.

Recording URL (cts_recordingurl) A URL link to the audio recording of this call. Display it on a CRM form in URL format and you will be able to cick it to follow it.

Regarding (regardingobjectid) Lookup to the customer record.

Ringing Time (cts_ringingtime) For outbound calls, the number of seconds the call was ringing before the customer answered, or the user hung up the call.

Status Reason (statuscode) Open or received (the call was completed).

Subject (subject) The subject text of the call. Often this is filled automatically by the DT Client.

Talk Time (cts_talktime) The number of seconds the user spent actually talking. Excludes, for example, hold time, wrap time etc.

Total Time (cts_totaltime) The number of seconds for the call, from the moment it was offered/presented to the end of Wrap Time

Wait Time * (cts_waittime) The number of seconds the inbound call was waiting in the inbound queue on the phone system, before it was presented to a user.

Wrap Time (cts_wraptime) The number of seconds the call was in Wrap state. Wrap, when configured, starts when the call is hung up. Wrap time is after call time for making notes etc.

FreePBX Integration to Dynamics 365 CRM

Dynamics Telephony for FreePBX is a comprehensive integration yielding agent productivity improvements and customer service enhancements enabled by seamless integration between CRM and FreePBX, on both the agent desktop and server-side (e.g. IVR).

freePBX_plus_CRM

OUT OF THE BOX DYNAMICS 365 INTEGRATION
  • Unify FreePbx and Dynamics 365 in a single simple user interface for users
  • Embedded call controls in Microsoft Dynamics 365, unifying the desktop for your sales & service staff
  • Simplify your sales and service team’s workflow, reducing clicks, screens, and searches for up to 50% efficiency improvements
  • Pop relevant customer information at the moment of interaction for your staff on every call
  • Speed through outbound calling campaigns with the fully integrated progressive dialer
  • Capture call statistics, callbacks, next steps, call dispositions, automated follow ups & more within Dynamics 365
  • Auto-create links to call recordings in Dynamics 365 for easy access or connectivity to Microsoft Call Intelligence
  • Callers who abandon your queues captured in CRM for easy callback.
  • Callers who request a callback in your queue (IVR) captured in CRM for easy callback management.
  • Realtime dashboard of agents in CRM – Easy to listen-in to calls, whisper to agent or join the call
  • Centralised admin and simple install options
  • Comprehensive support options
UNIQUE FEATURES CREATED BY CLOSE INTEGRATION
  • Call recording playback in CRM of FreePbx call recordings
  • Per phone-call: click to listen to recording; queue, duration, agent, customer, transfers, outcome, IVR data,
  • Outbound Calling numbers based on CRM data
  • Route VIP callers to top of queue based on CRM data
  • Route callers straight to their account manager, using CRM data
  • CRM data available for your IVR scripts.
  • Realtime display in CRM of calls with CRM data
  • Missed / abandoned calls – click in CRM to call them back
  • In-queue callback requests actioned in CRM.
  • Queue controls: join, leave, pause
  • API for custom features
RELATED POSTS

For full information on Dynamics Telephony, see https://dynamicstelephony.com

Click-to-call for any phone.

This is a standalone feature that does not require the Dynamics Telephony Client.

This feature allows you to click on any phone number in a Dynamics 365 CRM entity, and the call is automatically dialed for you and ALSO logged in CRM for you automatically.

The system first rings your own phone (mobile, landline, smartphone app, anything). When you answer that, the system will bridge in the number you clicked on. So, no special integration or settings are required to get going. Simply provide your own phone number and you are ready to go.

CIF_C2D_01

Feature Highlights
  • Works on phone numbers within the following records: Contacts,  Accounts,  Phonecall activities,  Leads,  Opportunities, and Cases.
  • You can set your “Calling Number” to any phone number that you own.
  • Logs each call in CRM
  • Pops a quick-form for adding a note to the call.
  • Quick-form includes a Mark Complete button to save the note and complete the phonecall activity
  • Enable just on the CRM User Roles you want
  • Enable just on the CRM Apps you want.
User Guide
  1. You will know this feature is enabled for you by the presence of an expand-button  ( < ) just under your name – top right of the CRM page.
  2. When you click on the phone icon beside a phone number, the system will dial it.
  3. A panel will open on the right, to allow you change the call log. You can change the subject or notes (Description) of the call
  4. Click Mark Complete in the side panel when done to save the call log. the panel will close (hide).