Call Center with Twilio SMS

I have worked with Cisco contact center software for many years and wanted to implement an SMS feature natively into CVP (Cisco Customer Voice Portal). There are many solutions for this from a variety of vendors, but I was already utilizing a Twilio SIP trunk, so I stuck with Twilio. This allowed me to integrate with my personal lab, do it quickly, and without significant cost.

Twilio is an awesome platform and one of the benefits is that all pricing is usage based. Whether you are Uber or Lyft or Pavan’s Contact Center Lab, the messaging used is what is charged. There are some guidelines and caveats that pending SMS volume, that will need to be considered, but for my lab no special design limitations applied.

My approach to this was utilizing the Twilio Java SDK and building my first CVP elements which turned out to be a pretty enduring process. The tools I used were IntelliJ with Maven along with some guidance from a friend in a few places. Overall, my experience showed that the biggest hurdle was getting familiar with how to code for CVP rather than just writing code itself.

When the original element proof of concept was complete, I worked to clean up my code, and make it modular. I wanted the element itself to take inputs in Call Studio so the code would not need to be re-complied for every implementation. For future work, I plan to update the app to read from a properties file so messages can be changed without needing to redeploy the application since the properties file is read at application startup.

In total, three (3) elements were created:

  • CheckNumberType - Checks if the caller is a calling from a mobile number, landline, or other.
  • CheckCallerID - Checks what the caller ID information is to personalize the SMS
  • SendSMS - Sends an SMS message.

When I finished and showed it to a colleague, his immediate reaction was “This is cool, can you do this with UCCX?” and so I spun up UCCX and got to work. I was then able to reproduce the call flow I had built on CVP using the UCCX built-in REST API function and added some extra voice prompts to demo cleaner.

This was a fun project and I expanded on my knowledge of CVP development, REST API, and UCCX scripting.