Inbound PSTN to Twilio Client Contact Centre Powered by Taskrouter
Languages: C#, js
This implements:
- Single channel (Voice)
- 4 departments
- Agent UI based on TaskRouter SDK for low latency
- Twilio Client WebRTC dashboard
- Conference instruction
- Call instruction
- Conference recording
- Call holding
- Call transfers
- optional assignment_callback url implementation
This has been created in VS 2017 and so the newer Csproj file will not work in older versions, if you cannot upgrade to 2017 or later, you can open this project in VS Code:
https://code.visualstudio.com/
- Setup a new TwiML App https://www.twilio.com/console/voice/twiml/apps and point it to the domain where you deployed this app (add
/incoming_call
suffix):https://YOUR_DOMAIN_HERE/home/incoming_call
- Buy a Twilio number https://www.twilio.com/console/phone-numbers/incoming
- Configure your number to point towards this TwiML App (Voice: Configure With: TwiML App)
- Define the following env variables in Web.config:
<appSettings>
<add key="TWILIO_ACME_ACCOUNT_SID" value="" />
<add key="TWILIO_ACME_AUTH_TOKEN" value="" />
<add key="TWILIO_ACME_TWIML_APP_SID" value="" />
<add key="TWILIO_ACME_WORKSPACE_SID" value="" />
<add key="TWILIO_ACME_MANAGER_WORKFLOW_SID" value="" />
<add key="TWILIO_ACME_SUPPORT_WORKFLOW_SID" value="" />
<add key="TWILIO_ACME_SALES_WORKFLOW_SID" value="" />
<add key="TWILIO_ACME_BILLING_WORKFLOW_SID" value="" />
<add key="TWILIO_ACME_CALLERID" value="" />
</appSettings>
If you have a single workflow in your contact center simply add the same worfklow sid to:
<add key="TWILIO_ACME_MANAGER_WORKFLOW_SID" value="" />
<add key="TWILIO_ACME_SUPPORT_WORKFLOW_SID" value="" />
<add key="TWILIO_ACME_SALES_WORKFLOW_SID" value="" />
<add key="TWILIO_ACME_BILLING_WORKFLOW_SID" value="" />
This is not production code and is for information purposes only