How to develop a softphone