Develop a Telephony System Login Page

If needed, create a telephony system login page that appears in the Omni-Channel utility in the Lightning service console.

Complete this step if your telephony provider doesn’t support SSO, meaning that reps must log into a telephony system to make and receive calls. The telephony system must maintain the duration and validity of the login session.

  1. In your callCenter file, include a scvVendorLoginUrl in the customSettings field {contactCenterName}.callCenter.
    <?xml version="1.0" encoding="UTF-8"?>
    <CallCenter xmlns="http://soap.sforce.com/2006/04/metadata">
    ...
        <customSettings>{&quot;reqTimeout&quot;:&quot;5000&quot;,&quot;reqCallCenterType&quot;:&quot;SCVBYOT&quot;,*scvVendorLoginUrl&quot;:&quot;https://YOUR_SERVER_LOGIN_URL&quot;*,&quot;reqStandbyUrl&quot;:&quot;https://domain:port/softphone&quot;,&quot;reqSoftphoneHeight&quot;:&quot;300&quot;,&quot;reqUseApi&quot;:&quot;true&quot;,&quot;reqSoftphoneWidth&quot;:&quot;500&quot;,&quot;reqSalesforceCompatibilityMode&quot;:&quot;Lightning&quot;}</customSettings>
    ...    
    </CallCenter>
  2. In the response to init(), set showLogin to true and include an optional number for loginFrameHeight in the InitResult object.
  3. Upon initialization, the Omni-Channel utility shows an iframe that is populated with the URL specified in the scvVendorLoginUrl field of customSettings in the callCenter file: Omni login window
  4. Publish a Connector API event with the login result to show either a login failure or the dialer.
    publishEvent({
      eventType: Constants.SHARED_EVENT_TYPE.LOGIN_RESULT, 
      payload: new GenericResult({ success: true })
    });
  5. The rep can now log out from Omni-Channel. Omni-Channel logout window
  6. In the event of a session timeout, the telephony vendor can trigger a logout from the Connector API and use the Connector API publishEvent method. The vendor can provide a loginFrameHeight for the login iframe. If no value is provided, a default value of 350 is used.
    publishEvent({ 
      eventType: Constants.SHARED_EVENT_TYPE.LOGOUT_RESULT,
      payload: new LogoutResult({ success: true, loginFrameHeight: 350 }) 
    })

    Clicking Log Out in the Voice Call Simulator performs the same action. To learn more, see Test Your Implementation with the Voice Call Simulator.

    Note