Q:

Can someone explain how Salesforce works with CTI? (Avaya)

I have a client who has Salesforce and uses an Avaya switch to run their call center. They enter in random call information into this old legacy program called Omni and once a week they manually update Salesforce with the info that they gathered from calls that week.
I need to track these things:

Length of call in seconds
Audio recording to call (or at least a link to one)
Caller ID (like the auto-generated ID of a user, not necessarily their phone number)
Speed to answer (How long a person is on hold before they get an answer)

What I am confused about is this. I am pretty sure Avaya tracks these things. What I need is to have a way to have all of these things in Salesforce. I'd like to have fields in certain entities that store the things listed above.
So my question is, what is the role of a CTI connector in this process? How does Avaya save it's information for the CTI connector/Salesforce to access it? Maybe these are the wrong questions to ask so if anyone has any insight as to how this works I'd love to know.

A:

Salesforce doesn't provide any way to track these things. As a developer you have to do this. We have setup for Genesys and Avaya in our organization and we have built CTI adapter for salesforce with genesys. 
Let me tell you few things, SF doesn't know your dialer. Its your responsibility how you implement it with Open CTI API. Sf will just pop up records which you invoke through Open CTI API. rest you have to decide how you want to handle call flow.
In our Genesys CTI Adapter we track talk, ring, warp, etc in out adapter and later we update same in sfdc via API.
Sfdc API will help you to  search, load customer record based on phone number or other parameters. But its your responsibility how you are going to track it.

