Create a next-generation call center with Voice Gateway

Get the code View the demo


IBM Voice Gateway provides a way to integrate a set of orchestrated Watson services with a public or private telephone network by using the Session Initiation Protocol (SIP). This code pattern walks you through a Voice Gateway example that enables you to automate your call centers using Watson Assistant and Watson Text to Speech and Speech to Text services, without having to orchestrate between all of the different services yourself. The Voice Gateway does that for you.


IBM Voice Gateway enables direct voice interactions over a telephone with a cognitive self-service agent or the ability to transcribe a phone call between a caller and an agent so that the conversation can be processed with analytics for real-time agent feedback. IBM Voice Gateway lets you:

  • Improve telephone-based customer service: Connect IBM Watson services to your telephone systems, allowing it to answer queries from callers, perform call triage, and transfer the call to the appropriate agents.
  • Drive down costs: Reduce costs by using IBM Watson to handle some of your calls instead of using call center agents.
  • Deployment flexibility: Connect seamlessly to IBM Watson services in IBM Cloud from either a cloud-based or on-premises IBM Voice Gateway deployment.

When you have completed this code pattern, you will understand how to:

  • Provision Watson Assistant, Speech to Text, and Text to Speech services on IBM Cloud
  • Import a sample call center dialog to Watson Assistant
  • Deploy a Voice Gateway service on IBM Cloud Private
  • Connect Voice Gateway to Twilio using the SIP communication protocol



  1. User phones a call center phone number that is associated with a Twilio account.
  2. The Twilio number connects to a configured Voice Gateway service through the SIP communication protocol. Voice Gateway is running on IBM Cloud Private.
  3. Voice Gateway calls the Watson Speech to Text service to transcribe the user input.
  4. Based on user input, certain flows in Watson Assistant are triggered.
  5. Any results from Watson Assistant are transmitted back to the Voice Gateway service using the Watson Text to Speech service.
  6. Voice Gateway sends the audio back using the Elastic SIP Trunk.
  7. The resulting audio is played back to the user.


Find the detailed instructions in the README. These steps explain how to:

  1. Create Watson services on IBM Cloud.
  2. Import the conversation into Watson Assistant.
  3. Deploy the Voice Gateway on IBM Cloud Private.
  4. Configure Voice Gateway and Twilio.