All posts by dtAdmin

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.

Dialer Import Wizard

Use the Dialer Import Wizard to import a set of lead, account, contact, incident (case) or phonecall records into the auto-dialer.

The Wizard will create a phonecall and queueitem for each imported record. The auto-dialer will then pop those records to the members of the queue and auto-dial them.

To use the Wizard, in the DT Client, go to a list of records you would like to use and select some or all of them. then move your mouse as shown below to see the Wizard. If the button is missing, you need to enable it in DT Menu > Settings : Queue Configuration > Show Dialer Wizard.

Queue Items To – Pick the queue for the items. Use the built-in queue called DynamicsTelephony for the simplest operation.

Queue Item Title – A title for each phonecall. Including a date code or some unique reference is a good idea so you can find these phonecalls later. E.g. Leads 9Feb2023. You can use the placeholders <<name>> and <<type>>, e.g. <<name>> (<<type>>) – 9Feb2023 would result in a title like John Simpson (lead) 9Feb2023

NOTE: If the record has a “subject” (e.g. Topic for lead), that will be used instead as the Subject of the phonecall.

Reject Duplicates – Select to not import a record that is already in the selected queue.

Require Number – Select to only import records that have a phone number. Unless you have specified custom phone numbers for the import record, the phone number fields checked on the import record are, in order:
– telephone1 (Business Phone)
– telephone2 (Home Phone)
– telephone3 (Other Phone)
– mobilephone (Mobile Phone)
The first one found is the one that will be used for the auto-dial calls.

Is Personal – The auto-dialer will pop these records only to you, even if there are other members of the queue available.

Click Start to start the import. You will see the number of leads imported, rejected and duplicates.

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

SCA – Troubleshooting Guide

You may see a message in the Sales Call Accelerator (SCA) panel. Here is help for each of these messages

For advanced troubleshooting, you can open the browser console. You can filter messages in the console using the text DT. Here is a sample of a good startup and call showing notifications are disabled in the browser by the user.

20:09:44 DT : Handle registered successfully.
20:09:44 DT : Notification Permission Denied. Upcoming call notifications are disabled.
20:09:44 DT : _cParams : dtps-dtps-sh.dynamicstelephony.com enableFollowUp:true
20:10:47 DT : clickToActHandler:Param : {“value”:”5550101″,”name”:”telephone1″,”format”:”Phone”,”entityLogicalName”:”contact”,”entityId”:”dcb1b095-a17e-ec11-8d21-000d3a6599ad”,”recordTitle”:”John Smith”}
20:10:47 DT : Call(0768561713, 075550101)
20:10:47 DT : Inside Call() channel:0768561713, number:075550101
20:10:48 DT : clicked page environment : {“appid”:”0468e89e-ae44-ea11-a813-000d3a654590″,”etn”:”contact”,”id”:”dcb1b095-a17e-ec11-8d21-000d3a6599ad”,”pagetype”:”entityrecord”,”clientUrl”:”https://your_company.crm11.dynamics.com”,”appUrl”:”https://your_company.crm11.dynamics.com/main.aspx?appid=0468e89e-ae44-ea11-a813-000d3a654590″,”orgLcid”:1033,”orgUniqueName”:”org55d82660″,”orgId”:”470dbc79-bb81-4946-ab66-3e1b2241b628″,”userId”:”{AAEB5C64-FB48-EA11-A813-000D3AB4F1B4}”,”userLcid”:1033,”username”:”# Patrick Jones”,”crmVersion”:”9.2.22103.00194″,”cifVersion”:”9.1.0.549″,”isDirty”:false,”customParams”:”{\”f\” : true, \”a\”: \”user@customer.com\”, \”b\”: \”qW23E1as90frt-der\”, \”c\”: \”dtps-dtps-sh.dynamicstelephony.com\”, \”d\”: \”wd3\”}”}
20:10:48 DT : NOT in Quote so leaving entity as contact
20:10:48 DT : createCallActivity()
20:10:48 DT : getEntityData() OK. callattempt:null
20:10:51 DT : createCallActivity() – record created successfully, activity id:70ea2ec0-a16a-ed11-9561-0022489bd91f
20:10:58 DT : call request done:ok