on 11-10-2022 2:01 PM
Dear all,
I am working on a solution to replace dial pad in SAP CRM Interaction Center with click-to-call. Clicking the phone number should no longer open the dial pad, but instead directly use system default app for phone calls.
So far, I have two different approaches which both work, but I am not really happy with neither. Maybe there is a more 'standard' way to achieve this or somebody has a good idea.
My first approach was to replace some code in function onCommunicationLinkClicked of file crmcmp_ic_frame_scripts.js (component CRMCMP_IC_FRAME).
Old code:
if ( simple_cti == true )<br> contextAreaWnd.mcm_show_dialpad( channel_address, false, simple_cti );<br>else<br> contextAreaWnd.mcm_show_dialpad( channel_address, true, false );<br>
Replaced with:
var telephone_number = 'tel:' + channel_address;<br>window.open(telephone_number).focus();<br>
This will replace opening of dial pad by using default application for protocol TEL.
I don't like this approach because adjusting the javascript files often causes problems (e.g. during upgrades).
Second approach for component ICCMP_BP_DETAIL/BuPaCommContact:
CASE iv_property.
WHEN if_bsp_wd_model_setter_getter=>fp_fieldtype.
rv_value = cl_bsp_dlc_view_descriptor=>field_type_event_link.
WHEN if_bsp_wd_model_setter_getter=>fp_onclick.
rv_value = 'CLICK_TO_CALL'.
ENDCASE.
method EH_ONCLICK_TO_CALL.
CONCATENATE gv_click_to_call_js 'thtmlbSuppressOnLoadKeyboardFocus(); window.open("' gv_click_to_call_js '", ' sy-timlo ')' INTO gv_click_to_call_js.
endmethod.
<script type="text/javascript" language="javascript">
<%= controller->get_click_to_call_number_js( ). %>
</script><br>
Thinking about doing the second approach for every field/attribute where a phone number is displayed is cumbersome.
Can any of you think of a better solution or an idea to replace the dial pad system wide with click-to-call?
Looking forward to your ideas.
Best regards
Sascha
Hi Sascha, we have been able to interact with the layer of events in the Interaction Center - Web Client to enable custom triggers for things like click-to-dial. We wanted to overcome the limitation of ICI/BCB server-based interfaces and instead drive more modern client-side CCaaS integrations. Our DaVinci platform provides these services as part of our platform. This allows immediate integration of platforms like Genesys Cloud CX, Twilio, Amazon Connect, Five9, etc. Let me know if you'd like further details.
Thanks, Anthony
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Anthony, thanks for the quick response, but we're not looking for a third party solution. As mentionend, I was able to implement click-to-call functionality using two differenct approaches in our interaction center. I just looking for a 'better', more standard way of doing things.
Best regards, Sascha
Hi Sascha, there are much better ways of implementing click-to-dial and other softphone functionality, but it's too complicated to share the details here. We needed to replace the entire CTI toolbar in ICWC, so we needed to go beyond solving for just one use case. Are you looking to expand your use cases? If not, I would recommend that you stay with your approach.
Good luck, Anthony
Hi Anthony, right now, we are having full CTI integration but that's no longer needed/wanted due to budget reasons. We really just need to replace the hyperlink of the phone numbers in format 'tel:123456789', so on clicking it will open Windows default app for this protocol.
In the meantime, I have decided not to use my second approach, because it would mean to do it on every field with a phone number. I am sticking now with my first approach, even if it means changing standard javascript file. I don't like it, but at the moment I have no other option. Still hoping somebody here will come up with a better idea.
Regards, Sascha
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.