Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
Godot SIP is a native GDExtension addon that brings SIP VoIP calling to Godot projects using pjproject (PJSIP). It supports account registration, outgoing and incoming calls, call state events, and audio routing with configurable SIP transports (UDP/TCP/TLS).Built binaries are provided for desktop and Android (arm64), so you can integrate real-time voice calling into games and apps without maintaining your own SIP stack. The addon includes a demo scene/script to help you get connected quickly and adapt the flow to your own UI.Use cases include in-game voice dialing, secure support/call-center experiences, social communication features, and VoIP-enabled utility apps built with Godot. It is open source under the GPL-2.0 license.
Godot SIP GDExtension (Godot 4.x)
This repository scaffolds a GDExtension that will embed SIP calling via PJSIP.
Status
- GDExtension skeleton is in place.
- PJSIP (
pjsua) integration is wired for init, registration, calls, and audio device selection. - Godot-facing API is active (
SIPClient,SIPCall) with async signals from native callbacks.
License
This repository distributes binaries that link against pjproject (PJSIP).
- Distributed addon binaries and releases are licensed under
GPL-2.0-or-later. - The top-level
LICENSEfile contains the GNU GPL v2 text. pjprojectis included as a submodule inthirdparty/pjsip/pjprojectand keeps its own upstream licensing and notices.
If you need non-GPL distribution terms, use an appropriate commercial licensing path for pjproject and adjust this repository's distribution model accordingly.
Build prerequisites
- Godot 4.x headers via
godot-cpp. - PJSIP built for your target platform(s).
- CMake 3.22+ and a C++17 compiler.
Clone with submodules
This repository uses a git submodule for pjproject.
git clone --recurse-submodules <repo-url>
If you already cloned without submodules:
git submodule update --init --recursive
Quick build (all platforms)
- Build
godot-cppfor your target platform and note its path. - Build PJSIP and note its root path (contains
pjlib/include). - Configure + build this project:
cmake -S . -B build \
-DGODOT_CPP_PATH=/path/to/godot-cpp \
-DPJSIP_PATH=/path/to/pjsip
cmake --build build --config Debug
The build outputs to build/bin/ with Godot-style names like:
godot_sip.windows.debug.x86_64.dllgodot_sip.linux.release.x86_64.sogodot_sip.macos.release.arm64.dylib
Copy the resulting library to your Godot project bin/ folder and add godot_sip.gdextension to the project root.
Godot API
SIPClientinitialize(user_agent: String) -> boolregister_account(sip_uri, username, password, registrar) -> boolmake_call(destination_uri: String) -> SIPCallhangup_call(call: SIPCall)answer_call(call: SIPCall)reject_call(call: SIPCall)get_audio_input_devices() -> PackedStringArrayget_audio_output_devices() -> PackedStringArrayselect_audio_input_device(name: String) -> boolselect_audio_output_device(name: String) -> boolregistration_state_changed(state)signalincoming_call(call)signalcall_state_changed(call, state)signal
Demo Scene
- Open
demo/sip_demo.tscnin Godot. - Fill account fields, then click
Register. - Enter destination URI and click
Call. - Use
Answer,Reject,Hang Upfor active/incoming calls. - Pick audio devices from the dropdowns or refresh with
Refresh Audio Devices.
Next steps
- Add call hold/resume, transfer, and DTMF APIs.
- Add transport options (TCP/TLS, custom SIP port, ICE/STUN/TURN config).
- Add platform packaging scripts to copy the right
.dll/.so/.dylibinto a Godot project automatically.
Godot SIP is a native GDExtension addon that brings SIP VoIP calling to Godot projects using pjproject (PJSIP). It supports account registration, outgoing and incoming calls, call state events, and audio routing with configurable SIP transports (UDP/TCP/TLS).
Built binaries are provided for desktop and Android (arm64), so you can integrate real-time voice calling into games and apps without maintaining your own SIP stack. The addon includes a demo scene/script to help you get connected quickly and adapt the flow to your own UI.
Use cases include in-game voice dialing, secure support/call-center experiences, social communication features, and VoIP-enabled utility apps built with Godot. It is open source under the GPL-2.0 license.
Reviews
Quick Information
Godot SIP is a native GDExtension addon that brings SIP VoIP calling to Godot projects using pjproject (PJSIP). It supports account registration, outgoing and incoming calls, call state events, and audio routing with configurable SIP transports (UDP/TCP/TLS).Built binaries are provided for desktop and Android (arm64), so you can integrate real-time voice calling into games and apps without maintaining your own SIP stack. The addon includes a demo scene/script to help you get connected quickly and adapt the flow to your own UI.Use cases include in-game voice dialing, secure support/call-center experiences, social communication features, and VoIP-enabled utility apps built with Godot. It is open source under the GPL-2.0 license.