Skip to content

nordcloud/mc-connect-softphone

Repository files navigation

MC Connect Softphone

Development

Export your AWS credentials as env variables (or use aws-vault).

AWS role: arn:aws:iam::552821478383:role/Nordcloud-MC-Connect

Start local API:

The server will restart on every file change. If it crashes - restart it manually. Changes in in the src/assets folder are picked without restarting the server.

Troubleshooting:

  • Session expired — You need to log in with AWS Connect SAML SSO. Look for the link in id.nordcloud.com. If you don't see the link request access.
  • The security token included in the request is invalid — The AWS credentials are expired or missing. Lambda is trying to connect to DynamoDB.

Deployment

dev: npm run deploy:dev.

prod: Push to main branch.

Environments

dev: https://cx1wq7djx5.execute-api.eu-central-1.amazonaws.com

prod: https://t2yzyfrm23.execute-api.eu-central-1.amazonaws.com

Okta integration

  • Sign-in method: OIDC - OpenID Connect
  • Application type: Single-Page Application
  • Proof Key for Code Exchange (PKCE): enabled
  • Grant type: Authorization Code
  • Sign-in redirect URIs: api-url/oauth-callback
  • Sign-out redirect URIs: api-url

Amazon Connect integration

Connect AWS console

  • In "Approved origins": add urls for prod, dev and localhost.
  • In "Contact flows": Add the "connect-outbound-flow" lambda for prod and dev.

Connect Dashboard > Contact Flow > Whisper Outbound Flow

  • Add a "Invoke AWS Lambda function" block. Choose the lambda for "connect-outbound-flow". Add a function input parameter - Destination Key: Username, (Set Dynamically) Namespace: Agent, Value: User name. Timeout: 8
  • Add a "Call Phone Number” block, link it to the the previous block. Set "Caller ID number to display" > User Attribute > Namespace: External > Value: caller_id,