Headless Architecture
Full control over your UI while we handle the SIP/VoIP complexity. Build custom interfaces without fighting pre-built components.
A modern, type-safe Vue.js component library for building SIP/VoIP applications with WebRTC
Install VueSip in your Vue 3 project:
npm install vuesip
# or
pnpm add vuesip
# or
yarn add vuesipStart making calls in minutes:
<script setup lang="ts">
import { useSipClient, useCallSession } from 'vuesip'
const { register, isRegistered } = useSipClient({
uri: 'sip:user@example.com',
password: 'your-password',
server: 'wss://sip.example.com:7443'
})
const { call, answer, hangup, currentCall } = useCallSession()
// Register with SIP server
await register()
// Make a call
function makeCall(target: string) {
call(target)
}
</script>
<template>
<div v-if="isRegistered">
<button @click="makeCall('sip:1234@example.com')">
Call Extension 1234
</button>
<div v-if="currentCall">
Call in progress...
<button @click="hangup">Hang Up</button>
</div>
</div>
</template>Headless Design means you control the UI completely. VueSip provides the business logic and state management for SIP/VoIP functionality, while you build the interface that matches your application's design system.
Production Ready with comprehensive error handling, automatic reconnection, call recovery, and performance optimization built-in.
Developer Friendly with TypeScript support, detailed documentation, working examples, and excellent debugging capabilities.
VueSip is MIT licensed.