Hi Community,
[FreedomUI]
Today I come with a problem regarding CTI integration with third party provider. I want to ask if anyone knows how to override call action link which you can find in the contact page, so instead of launching it to external handler or by built in CTI Creatio solution in cloud in communication panel, I want it to different action with my CTI Iframe that I have implemented with custon Angular component also in communication panel. The main problem here is how I override it (the onclick action in contact page and list for phone number input, but also in other places), to invoke my custom implementation ex. invoking call action on Iframe (I will do it with browser bus API) and then saving the call to the database (by calling to the webservice).
Second question: Is it a must to integrate the solution with the CTI Model or use Terrasoft.integration? I don't use CTI panel and creatio CTI interface for calling implementation, I use custom Angular component with IFrame, so I guess I don't need to. Not sure how to tackle it. I guess I could integrate with it somehow to use built in solutions. I have also seen some solutions overriding the BaseCtiProvider. How do I use it, so I could maybe also implement other things such as holdings etc.?
Thanks for help in advance, Tuan.
Like
Hi Tuan,
Thank you for reaching out.
1. Unfortunately, you cannot currently override the call action in Freedom UI. The only possible way is to create your own Telephony integration.
2. You can find the main concepts and architecture of Creatio’s CTI model in the following documentation:
https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/platform-customization/classic-ui/telephony-integration/overview
There are unfortunately no detailed step-by-step guides for implementing custom telephony providers. This is due to the high variability of external APIs and the level of customization required for each provider. We typically recommend reviewing existing provider implementations and using the Academy materials as a foundation.
Eduard Dovydovskyi,
Hi. Thanks for answering.
Overriding by writing my own provider is something that I have recently found out. It could work for me.
I did make some implementations with it, but I encountered a new problem when changing the default message provider to my own. The issue is that clicking the phone number on contact page or list instead of invoking the makeCall method in the i guess CTI model and then provider it handles it as a tel:phoneNumber with default implementation and force me to use external appliation. Somehow the CTI Model does not invoke makeCall to then invoke makeCall on provider side. The init method does not even run with my provider.
I want to also mention that the code for my provider was copied 1:1 from VirtualCTIProvider. Just changed the define string to my own.
For on prem environemnt instead of getting the dialog, I get nothing. The link does not even work.
Do you have any idea how can i solve that? I'm almost done with the solution and that's should be my last obstacle.
Hi Tuan,
You need to check if Telephony is enabled. To do so you need to:
1. Go to System settings in the System setup block, open the "Default messages exchange library" ("SysMsgLib" code) system setting and check if the default value is set.
2. Open the user profile page, e. g., by clicking Your profile on the Creatio homepage.
3. Open Additional settings
4. Open Call Center parameters setup
5. Check if "Disable Call Center integration" is unchecked and press the Save button. In the User profile press the Save button again.
This should enable Telephony. Hope it helps
Eduard Dovydovskyi,
Thanks for advice, but still it's not working. I had that option already set to enable. However I made some changes to my solution and it works better now. I still cannot click on phone number and invoke makeCall method, still I get the external dialog. Now it might have something to do with license operation which I don't really know how to set and where.
Everything will work fine if I use Webitel license, but I don't think that should be solution to the license issue.
Tuan,
Please register this issue for our support team directly via support@creatio.com so we could investigate it properly.