I had a task to build a softphone, and for this purpose I decided to use an SDK. I have found a great guide on the Internet that gives a good description about this topic. There is a 10 step guide which provides all the necessary information. The programming language is C# and I also use .NET Framework 4.0 and Visual Studio 2010. If you are interested have a look at it and just Google for the follows: 'How to build a softphone using Ozeki VoIP SIP SDK'
I hope you will find the provided information as useful as I did.