Job Details

Nodejs webrtc sip expert

Description :

I am looking for an experienced Nodejs developer. Must be experienced with WebRTC and SIP.

The first part of this project will be building a Node app - which doesn't contain anything non-open-source, has a clear scriptable installation instruction -

Dockerfile is the best - and can work on a headless Linux Ubuntu 14.04/16.04 server) which does the following:

1) has a config file containing credentials to a SIP telephony provider - I am not quite certain how these look like - you tell me - basically you register a login with any existing SIP provider, such as fpbx.de - purely as an example - in my name and we try it by calling to my mobile phone, which is in the Czech Republic - any provider charges can be added to project value. Account should include a phone number they give me, which can be used for dial-in, this can be put into a config file too.

2) given a phone number, plus a bi-directional SDP offer from a WebRTC endpoint - which can be either a browser or Kurento server side - for an audio-only stream, does a call to the phone number given with a bi-directional communication, returning SDP answer and/or result code. correct processing of hang up on both sides. web page served with same Node app illustrating use - you type a phone number, click Call, and get connected, a simple alert() shows error/status message if any, no design. you can even use a totally blank page with phone number simply as URL parameter, this is not a web design or web programming project.

3) Accepts a PIN code and callback function which fires when someone dials our call-in number and enters the given PIN. several of these can be invoked at the same time, with different PIN's. if the PIN is wrong/unknown the call is dropped, if correct the callback fires sending an SDP offer, we reply with SDP answer, and the connection is established. Similarly, a web page implementing the scenario: a PIN as an URL parameter, which creates a call over webRTC when some calls in with that PIN, will test by opening 2 of them from different computers and different PINs at the same time.

After that is done, i will make another project to integrate this into our existing (pure WebRTC which needs SIP capability) solution.

I have an app that does WebRTC web-based group video+audio calls, loosely based on Kurento one2many example (implementing full group calls, many2many), done in Node.js.