v0.1.0 - React SIP phone and dynamic island
Superseded: install 0.1.2 or later. Version 0.1.0 has a JSR npm conversion issue; the current release fixes standard Vite builds and strict TypeScript declarations. The published package targets React 19.
Azeer React Phone 0.1.0
The first public release: a customizable SIP/WebRTC phone for React, with complete widgets, a dynamic island, and composable controls.
- Calling: incoming/outgoing audio, manual and automatic dialing, mute, hold, DTMF, and blind REFER transfer.
- Dynamic island: persistent connection status, six window/container positions, and configurable expand, compact notification, or manual incoming-call presentation.
- Audio visuals: configurable ElevenLabs UI Orb, Live Waveform, and Bar Visualizer source adaptations, driven by call audio.
- Customization: scoped themes, caller identity and render slots, selectable buttons, motion, branding, dragging, and synthesized call cues.
- Integration: React 19, TypeScript, lifecycle callbacks, a headless client, and microphone/autoplay recovery.
Get started
npx jsr add @azeer-ui-widget/react-phoneDocumentation · Playground · Package · Dynamic island guide
The playground starts in Preview mode. Real calls require your own SIP account and a compatible PBX. Credentials stay in memory and are excluded from code export.
Validation and scope
Validated with 64 unit tests and 48 desktop/mobile/SIP browser cases, including actual local two-browser WebRTC audio, permission races, island behavior, and automated accessibility. Documentation checks cover search, links, assets, keyboard scrolling, and the hosted playground subpath.
This is a single-call audio phone. Transfer requires PBX REFER support. Production PBX routing, TURN, and transfer interoperability need an end-to-end test on your deployment. Attended transfer, conferencing, recording, and emergency calling are not included.
MIT © 2026 Owais. Includes preserved third-party notices.