Back-end Developer Needed to Finalize WebRTC Phone Dialer Integration (LARAVEL , MySQL ) - Contract to Hire

Remote, USA β€’ Full-time β€’ Posted 2026-04-04
Apply Now

Project Overview We are in the final phase of integrating a WebRTC-to-SIP online dialer inside our web application. The backend, FreePBX, SIP trunks, and the WebRTC gateway (Docker) have already been configured by us. We now need a skilled full-stack developer to complete the remaining client-side and API-level integration inside the web application. You will not work on the telecom backend β€” only the frontend + app logic that connects to the PBX via WSS. What You Will Receive From Our WebRTC Engineer You will be given all configuration details required to connect the web app: Server-Side Provided to You β€’ WSS signaling URL β†’ wss://ourdomain:8089/ws β€’ STUN/TURN server credentials β€’ SIP extension details (username/password) β€’ Codec and registration parameters β€’ Trunk routing rules (already implemented server-side) You do NOT need to configure FreePBX, trunks, or WebRTC servers. Your job is strictly on the web app. Your Responsibilities (Full-Stack / App Side) You will implement all client-side WebRTC SIP logic, including: 1. SIP Registration / Signaling β€’ Implement SIP registration refresh every 300 seconds β€’ Handle WebSocket keep-alive every 30 seconds β€’ Properly register extension to WSS endpoint β€’ Manage session tokens and auto-renew 2. ICE & Connectivity Handling β€’ Integrate STUN/TURN servers provided by our WebRTC engineer β€’ Handle ICE candidate generation and reconnection logic β€’ Detect and manage call state changes inside the UI 3. Calling Workflow β€’ Send outbound call requests through WebSocket/SIP.js (or equivalent) 4. Error & Edge Case Management β€’ Handle: β€’ registration failures β€’ connection drops β€’ TURN failures β€’ ICE negotiation issues β€’ token expiration 5. Testing & Debugging β€’ Place test calls to all SIP trunks via the web app β€’ Confirm UI logic handles call flow correctly β€’ Work jointly with us for live validation What Is Already Done (So You Don’t Do It) The following tasks are already handled by the WebRTC/SIP engineer, so you will NOT work on them: βœ” Secure WSS signaling setup βœ” DTLS-SRTP (encrypted media) βœ” SIP session timers (server side) βœ” STUN/TURN server setup βœ” Prefix-based trunk routing βœ” FreePBX PJSIP extensions βœ” Audio path & backend media flow βœ” WebRTC Docker gateway You only implement the client logic, not the telecom infrastructure. Deliverables To complete this project, you must deliver: 1. A fully working WebRTC dialer inside the web app 2. Correct handling of registration, connectivity, and signaling 3. Successful outbound calls via PBX and SIP trunks 4. Stable two-way audio in all test calls 5. Clean, documented code ready for production Required Skills β€’ Strong knowledge of JavaScript/TypeScript β€’ Experience with WebRTC, SIP.js, JSSIP, or similar β€’ Experience in single-page apps (React / Vue / Next.js β€” whichever the app uses) β€’ Ability to debug WebRTC flows using browser dev tools β€’ Strong understanding of WebSocket communication β€’ Ability to collaborate with telecom engineer To Apply, Please Answer: 1. Have you integrated WebRTC with SIP.js or JSSIP before? 2. Can you explain SIP registration refresh logic? 3. Have you worked with ICE/STUN/TURN in production apps? 4. Share one example of a real-time communication project you built. Goal The final outcome is simple: The web app must register successfully and make stable outbound calls through our PBX over WSS with full feature reliability. Apply tot his job

Similar Jobs