[Freeswitch-dev] 3rd party call control (3PCC) / CTI possibilities

EiSl 1972 eisl1972 at gmail.com
Thu Oct 23 05:08:02 EDT 2008


Hello all,

Lets first mention the amazing peace of code (with respect to quality,
stability and flexibility) you've all delivered with FreeSWITCH.
FreeSWITCH also took our attention and we're currently investigating
the possibilities for integration with our existing software suite.

We're delivering a software suite with comprehensive contact center
alike functionality (e.g. advanced / skill-based call-routing
including IVR + VoiceMail) and call monitoring. A part of that is also
call handling by so-called operators which can pick calls from queues
and route them to employees. All call monitoring / manipulation is
done via (propriety) CTI interface (Computer telephony Interface
provided by the PBX. We're currently supporting a couple of
traditional PBX'es and two IP-PBX'es. We would now also like to
integrate FreeSWITCH within our Suite, first
only using part but on longer term providing a complete solution: the
Suite with IP-PBX.

I've some questions to your developers with respect to 3rd party call
control / CTI possibilities towards FreeSWITCH. Let's first give a
quick overview of the call manipulation commands and expected call
events that are required:

==================
Commands
------------
MakeCall
AnswerCall (support depends on if endpoint supports this)
ClearCall
Hold / UnholdCall
ConsultationCall (can be part of Hold + MakeCall)
TransferCall (as well blind as attended)
ConferenceCall

Events (device-based or call/connection-based)
------
Idle
Alert/Ringing/Delivered (incoming = true or false, original called
party = xxx [in case of forwarding/redirecting])
Connected
Disconnected/Cleared (drop initiator = xx)
Transferred (transfer initiator = xx)
Held (held initiator = xx)
Conferenced
Failed (cause = xxxx)
==========================

What are your suggestions about FreeSWITCH and the CTI interface? What
is the best starting point for us to have our application
connected/hooked to FreeSWITCH so that we are able to identify the
call events and can manipulate the calls as given in example above?
Our application suite is developed in .Net and C/C++ and (currently)
windows platform only.


With regards,

EiSl



More information about the Freeswitch-dev mailing list