Back-end Developer Needed to Finalize WebRTC Phone Dialer Integration (LARAVEL , MySQL ) - Contract to Hire
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
Apply To this Job