2

We have a phone system integrated with Salesforce using OpenCTI and I'm looking for a solution to this: https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-permissions-in-cross-origin-iframes

Once Chrome 63 is rolled out it will no longer by default give permission for certain privileges such as microphone access to cross origin iframes. My understanding is this will prevent the mic from working in our softphone. I don't have much experience with CTI implementation and wasn't involved in the setup of this system so I'm flying a bit blind here. The phone system dev has suggested we need to update the Salesforce iframe tag or add an http header to include an allow attribute for microphone - the link above presents the example:

<iframe src="https://example.com" allow="geolocation; microphone; camera"></iframe>

I've looked around and from what I can see there's nowhere in Salesforce to configure the CTI iframe at this level. We are not using a softphone layout in Salesforce, just an external one hosted by the phone system. We have custom classes and a custom visualforce screen pop on call connection but I don't think they're of any use to this issue.

Is this something we can solve in Salesforce, or does it require changes in the CTI adapter?

  • try something like this here and see if it takes care of your concern – Ronnie Dec 6 '17 at 0:51
  • Thanks, but my main question is where would I put this? I can't see any component or configuration in Salesforce that allows me to edit the iframe that cti connections use. – Philip Clark Dec 6 '17 at 8:23
  • you would create a <head></head> element on your page like found here in the documentation: developer.salesforce.com/docs/atlas.en-us.api_cti.meta/api_cti/… – Ronnie Dec 7 '17 at 4:06
  • But I don't have a page - the softphone is not hosted in Salesforce, it's hosted by the phone system and communicates with Salesforce via OpenCTI Javascript API. The only configuration items I know of within Salesforce are the Setup --> Customize --> Call Center --> Call Centers --> [call center name] record, which allows you to set limited parameters but not media permissions. Are we not able to set permissions without having a softphone page within Salesforce to do it on? – Philip Clark Dec 7 '17 at 5:56
  • 1
    We've had confirmation from Salesforce support that this is a platform issue. Specifically this will effect any Salesforce org with OpenCTI where an externally hosted softphone is displayed through the cti iframe and uses webrtc to make a phone call. We had the idea of passing the softphone through a visualforce iframe to the cti iframe and including microphone permission in the vf iframe, but this won't work because the visualforce page is on a different domain (c.cs72.visual.force.com) from it's parent (cs72.salesforce.com) so still breaks cross origin iframe permissions. – Philip Clark Dec 19 '17 at 1:04
0

Interesting thread here https://partners.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F9300000001tcz&fId=0D53A00003OVvvs&s1oid=00D300000000iTz&OpenCommentForEdit=1&s1nid=0DB3000000007Uh&emkind=chatterPostNotification&s1uid=00530000009pmVs&emtm=1516049309647&fromEmail=1&s1ext=0

Open CTI product manager says: "we're aware of the issue and are testing the fix. We'll be patching it soon so customers aren't inconvenienced. Exact dates are tbd at the moment."

  • Bingo, that was the issue we raised. I can confirm issue has been resolved with a patch issued in February '18. – Philip Clark Apr 5 '18 at 13:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.