I've been working on something similar. Best Route to go is to make a desktop app using electron. It encapsulates a chromium browser and a node server in one. You can then use jquery directly in your server app to manipulate a gui or make use of libraries like peerjs or sipjs within the server although it will still act as client on those libraries. You loose mobile support if you go this route though.
Also have a look at drachtio , its SIP middleware for node. So if you make use of peerjs or socket.io-stream then you can transport and make requests like any other SIP app. This makes your app more robust seeing as it will interface with any external sip clients too, audio and video gets transported to and from your clients in the same way.
Hope this helps.