Showing results for 
Search instead for 
Did you mean: 

How to build a CTI between and a Cisco telephony system I don't directly control?

Matt R
Level 1
Level 1

Dear Community,

I am looking for your intelligence and advice on our CTI. I hope the problematic described below will be a worthy challenge deserving your time for this (long) read.

What's my situation?

We are a small registered financial advisory firm of 3 people based in Belgium. We use has our Customer Relationship Management (CRM) system to record our customer contact info (incl. phone number) and our customer interactions (incl. summary of phone calls conducted with our customers).

We use Unlimited Salesforce Licences and we have a skilled Salesforce developer in-house to configure and customize what we need.  We access our CRM from a Chrome browser on our company laptops (mostly or any device with a browser and an internet connection).

In parallel, we have a Cisco telephony system to conduct all our outbound and inbound calls. It is set up as follows (please see attached schema): 1 internet modem > 1 Router Cisco 800 > 1 Switch Ethernet Cisco Catalyst 2960 > 3 Cisco IP Phones 7970 series > 3 Desktop Computers.

We merely use the desktop computers linked to the telephony system as secured terminals to execute financial market transactions. We don't use them to run our mailboxes, CRM, Microsoft Office applications or anything else. Instead we use our company laptops to do all these other tasks.

We have 3 Belgian phone numbers (one per Cisco phone), as well as a general company phone number that makes all 3 phones ring when receiving a call from the outer world.

Our company laptops and our telephony system run on 2 physically separated and different network. Our company laptops use a 'regular' internet connection, while our telephony system runs on a virtual private network. While both systems are eventually connected to the internet, they are through 2 different DSL (i.e. we have 2 cables going to the street to our office building, one cable per system and network).

Today, when we want to call a customer, we have to look up her phone number in our CRM, then manually dial it on our physical phone. Also, when we receive a phone call, we have to copy the number displayed on our phone in our CRM to access all the caller existing info.

In the future, to gain operational efficiency, we want to build a CTI that "takes control" of our Cisco phones from within our Salesforce CRM. In other words, we want to a have a 'click-to-call' functionality to make outbound calls directly from within Salesforce and a 'contact pop-up' functionality when we receive inbound calls from customers.

What's my complication?

[Thanks for reading down to here. I promise it will get more interesting in a minute.]

First, we know close to nothing about telephony and CTI. We are familiar with, http, javascript and other web-based development. We know about Salesforce Open CTI and Call Centers configuration. However, on the telephony side, we have no knowledge about middleware and telephony configuration required to make a CTI with Salesforce.

Second - and that is the fun part - we have no control and (almost) no admin access to our telephony system. Indeed, our system is provided by our national financial regulator to conduct business. One of the system's functionality is that it records all phone conversations on a regulator's server in case the regulator needs to go back to a conversation for compliance or legal reason.

Still we have a bit of physical access to the telephony infrastructure: we have access to the physical phone and its ports (e.g. AUX), as well as to the router and the switch. So we have the ability to physically connect stuff (cables, hubs, other switch and router) to the existing telephony system, but we (probably) cannot (re-)program the system ourselves (or at least we don't know how to do it).

So the whole challenge it to be able to integrate our Salesforce CRM running on one network with a Cisco telephony system running on another network over which we have no software access but only hardware access.

So, what's my question?

You guessed it. How can we make our Salesforce. com Open CTI Call Center communicate with our on-premise Cisco Telephony System?

There are few potential options that I came across while documenting over the web but we have no idea on how they concretely they could be step-by-step implemented. Apologies if the description of these options is non-sense or redundant (again I am by no means a telephony expert, thanks for your indulgence:)

1) The "pointing" option: I was told that it is possible to point inbound and outbound calls from a number - like our general office number - to a cloud telephony system with which Salesforce can then integrate. We can not "port" completely our numbers (that are provided by the regulator), but could we "point" them to somewhere else? If yes, how to do that? It would seem strange to me that a phone number you don't really own can be redirected without some form of hardware at the switch or router level (otherwise it seems you could hijack just any phone number)

2) The "call forward" option: I can setup a call forward on my Cisco phone (that works already when I am not at the office, I forward all calls to my mobile phone). I guess that I could forward all calls to a cloud-based phone system (e.g. Twilio) then integrate that cloud system with Salesforce. However, that would only solve the call inbound part of our CTI, not the outbound calls.

3) The "hardware and cable" option: as I have access to the physical phone, router and switch ports, I can connect cables and hardware to them. Is there a hardware configuration that could achieve my requirement (e.g. connecting a hub behind my Cisco phone to control it from my company laptop, connecting another piece of hardware to the switch, link my office internet modem to the telephony modem). It would be acceptable to have a CTI that only works while we sit at our office because cables and physical connections to the existing telephony system is required. Also, I suppose that any hardware solution would require some form of middleware to make it communicate with Salesforce. Which I have absolutely no idea on how to do...

In summary

Any help and advice on this would be greatly appreciated!current-infrastructure.png

5 Replies 5

Level 1
Level 1


looks like you are looking for a screen pop functionality in the CRM app, i would recommend you reaching out to sales force to see what kind of integration they have with your CTI application.

Level 1
Level 1

Hello Matt, What did you end up doing to solve this scenario ? I have a similar scenario and want to build custom solution. 

Hi vyapaka85 - I abandoned actually... But my research brought me these additional insights:


- For inbound call: my Cisco phone supports call forwarding (i have a CFwdALL button on my phone set). Hence I could forward all incoming calls to lets say any phone number I can buy, link to Twilio, and then integrate to Salesforce via open CTI. Now, what I don't know is if the conversation recording system of the Cisco system will correctly record a forward call.


- For outbound call: I contacted multiple local CTI providers, all who wanted to sell me they own software and solution for a high price. All pretended that they can "fake" the number the recipient of the call sees on their device. So I could call from my Twilio number 000-0000-001 but the recipient of the call would see 000-0000-999, for example. They didn't explain me how they do it though, but I suspect that there is a form of "header" when you place a call programmatically that has a "display name" parameters. But anyway, that solution would defeat the purpose of my requirements as I would like to really physically go through my Cisco system, again to record all conversation.


Sorry I cannot be more helpful... I am of course interested to that you keep me posted of your progress! Thanks. 

Hello Matt - Thanks for your response. I have done some work to integrate Sales-force with UCCE by building a custom web app which talks to the PG and later referencing the web page on the Saleforce interface using OPEN CTI. I am thinking a similar strategy could be employed here where my webpage on the server could talk to CUCM via JTAPI. I will let you know once I make some progress.

Level 1
Level 1

Hi Matt, 

Are you open to try a third-party CTI connector - probably this will help you to connect your Salesforce CRM with Cisco’s telephony system. Many CTI functionalities like screen pop, click to dial, custom phone number format support, etc can be enabled with ease. 

If interested, start your CTI connector search from here:

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: