I would like to implement a telephone function (audio, receiving and making calls incl. notification handler) in C#. It is not important whether the call is actually "conducted" by the C# application or not, but the entire handling should take place in the C# application.
We use an OpenScape telephone system. The OpenScape Desktop Client software is currently installed on the PC, which acts as a softphone. I have found some C# examples to address this softphone via TAPI and to make calls. However, the call is then made in the Openscape Desktop Client and I no longer have access to it. I would like to have, if it is too complex to implement a complete softphone in C#, a background application that is configured once.
In the C# application I need:
- Dial number
- Accept call (incl. notification that a call is waiting)
- Make call
- Duration of the current call
- Number of the caller
- Transferring callers
- Put caller on hold (and accept or make another call)
I have now taken a closer look at TAPI and SIP but do not understand which of the two interfaces is the right one for my application or whether there are other ways that I have not yet considered.
Can TAPI handle audio at all?
SIP seems to be the standard in the VoIP game but are there any libs that don't cost a fortune?
What are the advantages and disadvantages of the two approaches? There are some TAPI examples for C#, but somewhat fewer for SIP. Before I run off in the wrong direction, I would like to know your opinion on this.
TAPI examples tested but I was never able to receive a call but only to make a call (call was then transferred to OpenScape Desktop Client and processed there)