esphome-intercom
VoIP Stack for ESPHome and Home Assistant - local SIP phones, HA softphone/router, phonebook, softphone accounts and optional trunk calls
File Explorer
Download Latest Version (.zip)- hassfest.yml
- release.yml
- tests.yml
- validate.yml
- angry.png
- error.png
- error_no_ha.png
- error_no_wifi.png
- happy.png
- idle_00.png
- idle_01.png
- idle_02.png
- idle_03.png
- idle_04.png
- idle_05.png
- idle_06.png
- idle_07.png
- idle_08.png
- idle_09.png
- idle_10.png
- idle_11.png
- idle_12.png
- idle_13.png
- idle_14.png
- idle_15.png
- idle_16.png
- idle_17.png
- idle_18.png
- idle_19.png
- listening.png
- loading.png
- neutral.png
- thinking.png
- timer_finished.png
- angry.png
- error.png
- error_no_ha.png
- error_no_wifi.png
- happy.png
- idle_00.png
- idle_01.png
- idle_02.png
- idle_03.png
- idle_04.png
- idle_05.png
- idle_06.png
- idle_07.png
- idle_08.png
- idle_09.png
- idle_10.png
- idle_11.png
- idle_12.png
- idle_13.png
- idle_14.png
- idle_15.png
- idle_16.png
- idle_17.png
- idle_18.png
- idle_19.png
- listening.png
- loading.png
- neutral.png
- thinking.png
- timer_finished.png
- available.flac
- Computer_Ready.flac
- Home_Connected.flac
- Home_Connected_Male.flac
- ringtone.flac
- silence-10ms-16k16bit-mono.wav
- timer_finished.flac
- wake_word_triggered.flac
- ehi_troiaio.json
- ehi_troiaio.tflite
- icon.png
- icon@2x.png
- __init__.py
- ringtone.js
- voip-phonebook-card.js
- voip-stack-card-model.js
- voip-stack-card.js
- voip-stack-engine.js
- voip-stack-media-model.js
- voip-stack-playback-processor.js
- voip-stack-processor.js
- voip-stack-session-model.js
- voip-stack-video-model.js
- voip-stack-video.js
- en.json
- it.json
- __init__.py
- account_services.py
- assist_intents.py
- assist_runtime.py
- audio_format.py
- audio_pcm.py
- audio_ws.py
- audio_ws_view.py
- authorization.py
- automation_routing.py
- binary_sensor.py
- bridge_manager.py
- call_deadlines.py
- call_registry.py
- call_scope.py
- conference.py
- config.py
- config_entry_runtime.py
- config_flow.py
- config_validation.py
- const.py
- debug_capture.py
- device_resolver.py
- diagnostics.py
- dial_fork.py
- dial_plan.py
- dtmf.py
- dtmf_events.py
- endpoint_device.py
- endpoint_entity_manager.py
- endpoint_lifecycle.py
- endpoint_registry.py
- endpoint_routing.py
- endpoint_runtime.py
- endpoint_session.py
- esphome_actions.py
- esphome_state_bridge.py
- event.py
- fsm.py
- g711.py
- groups.py
- icons.json
- inbound_answer.py
- local_softphone_bridge.py
- local_softphone_runtime.py
- logbook.py
- manifest.json
- media_call_lifetime.py
- media_debug.py
- media_offer_answer.py
- media_ports.py
- media_renegotiation.py
- media_reservation.py
- media_session_updates.py
- media_ws_session.py
- opus_codec.py
- outbound_attempts.py
- outbound_lifecycle.py
- pbx_routing.py
- pbx_runtime.py
- peer.py
- peer_snapshot.py
- phone_config.py
- phone_endpoint.py
- phonebook_runtime.py
- phonebook_services.py
- queue_utils.py
- ring_group.py
- roster.py
- route_decisions.py
- router.py
- rtp.py
- runtime_diagnostics.py
- sdp.py
- sensor.py
- service_endpoints.py
- services.py
- services.yaml
- session_cleanup.py
- sip.py
- sip_auth.py
- sip_bridge.py
- sip_client.py
- sip_dialog.py
- sip_endpoint.py
- sip_listener.py
- sip_registrar.py
- sip_rtp_bridge.py
- sip_runtime.py
- sip_tcp_io.py
- sip_transaction.py
- sip_trunk.py
- sip_udp_io.py
- sip_video_relay.py
- softphone_answer.py
- softphone_commands.py
- softphone_forward.py
- softphone_originate.py
- softphone_termination.py
- store.py
- strings.json
- switch.py
- text.py
- trunk_dtmf.py
- trunk_routing.py
- trunk_runtime.py
- video_rtcp.py
- video_rtp.py
- video_transcoder.py
- video_ws_view.py
- websocket_api.py
- websocket_owner.py
- phase_00v_virtual_device.md
- afe-controls.png
- assist-unanswered-doorbell.png
- assistant-angry.jpg
- assistant-animated.gif
- assistant-happy.jpg
- assistant-neutral.jpg
- assistant-speaking.jpg
- audio-stack.png
- browser-ha-esp-path.png
- call-flow-sequences.png
- call-from-esp-to-homeassistant.gif
- call-from-home-assistant-to-esp.gif
- card-configuration.png
- card-selection.png
- create-account-service-filled.png
- create-account-service.png
- cross-transport-bridge.gif
- dashboard.gif
- ducking-barge-in.gif
- esp-mirror-card-keypad-options.png
- esp-mirror-card.png
- esp-route-decision.png
- esphome-add-device.png
- ha-sip-video-call.gif
- ha-softphone-card.png
- ha-softphone-keypad.jpg
- ha-softphone-options.jpg
- hacs-download-voip-stack.png
- home-assistant-local-sip-pbx.png
- lvgl-audio-volume.jpg
- lvgl-hangup-reason.jpg
- mobile-notification-answer.gif
- p4-touch-overview.jpg
- phonebook-endpoint.png
- ring-group-conference-group.png
- shared-audio-aec-pipeline.png
- sip-topology.png
- tcp-udp-choice.png
- voice-assistant-extension.png
- voip-dashboard-phonebook.png
- voip-doorbell-room-to-room.png
- voip-stack-add-integration.png
- voip-stack-config-flow.png
- ARCHITECTURE.md
- AUTOMATION_DIALPLAN.md
- BREAKING_CHANGES.md
- CALL_FLOWS.md
- DEPLOYMENT_GUIDE.md
- DIALPLAN_RESOLVER.md
- ESP_ENTITY_SURFACE.md
- ESPRESSIF_COMPONENTS.md
- GROUPS.md
- INTERCOM_PROTOCOL.md
- MEDIA_SHOT_LIST.md
- PHONEBOOK_PROTOCOL.md
- README.md
- reference.md
- RELEASE_2026_5_0.md
- RELEASE_2026_7_0.md
- RELEASE_2026_7_1.md
- RELEASE_2026_8_0.md
- SERVICES.md
- SIP_TRUNK.md
- SIP_VIDEO.md
- TESTING_AND_DEBUG.md
- troubleshooting.md
- voip_profile.md
- voip_test_matrix.md
- __init__.py
- audio.cpp
- audio.h
- audio_decoder.cpp
- audio_decoder.h
- audio_reader.cpp
- audio_reader.h
- audio_resampler.cpp
- audio_resampler.h
- audio_transfer_buffer.cpp
- audio_transfer_buffer.h
- __init__.py
- guition.py
- m5stack.py
- waveshare.py
- __init__.py
- display.py
- mipi_dsi.cpp
- mipi_dsi.h
- __init__.py
- ring_buffer.cpp
- ring_buffer.h
- __init__.py
- runtime_diag.cpp
- runtime_diag.h
- __init__.py
- audio_pipeline.cpp
- audio_pipeline.h
- automation.h
- speaker_media_player.cpp
- speaker_media_player.h
- __init__.py
- automation.h
- README.md
- speaker.h
- UPSTREAM.md
- __init__.py
- UPSTREAM.md
- voice_assistant.cpp
- voice_assistant.h
- __init__.py
- voip_simulator.cpp
- voip_simulator.h
- voip_stack.yaml
- voip_stack.yaml
- assist-voice-voip-commands.yaml
- dashboard.yaml
- doorbell-automation.yaml
- APACHE-2.0.txt
- ESPHOME-LICENSE.txt
- flac_codecs_psram.yaml
- shared_mono_mixer_48k.yaml
- esp32p4_c6_sdio.yaml
- es7210_tdm.yaml
- jtag.yaml
- p4_audio_deep_debug.yaml
- runtime_controller_snapshot.yaml
- runtime_diag.yaml
- sysview_jtag.yaml
- native.yaml
- native_no_wifi_signal.yaml
- README.md
- dual_mic_entities.yaml
- single_mic_entities.yaml
- aec_controls.yaml
- controls.yaml
- speaker_power_output.yaml
- speaker_power_switch.yaml
- status_spotpear_ball_v2.yaml
- status_ws2812_ring.yaml
- status_ws2812_single.yaml
- continuous_full_aec.yaml
- continuous_full_afe.yaml
- call_ended_page.yaml
- call_idle_page.yaml
- call_in_call_page.yaml
- call_ringing_in_page.yaml
- call_ringing_out_page.yaml
- nav_full.yaml
- nav_voip_only.yaml
- lvgl_settings_aec_combined.yaml
- lvgl_settings_aec_voip.yaml
- lvgl_settings_mute.yaml
- lvgl_settings_navigation.yaml
- lvgl_settings_p4_unified.yaml
- lvgl_settings_p4_unified_boot.yaml
- lvgl_settings_sync_aec.yaml
- lvgl_settings_sync_afe_single_mic.yaml
- lvgl_settings_sync_mute.yaml
- lvgl_settings_sync_va.yaml
- lvgl_settings_sync_volumes.yaml
- lvgl_settings_va.yaml
- lvgl_settings_volumes.yaml
- p4_ppa.yaml
- p4_va_cleanup.yaml
- runtime_controller_mono_media_player_48k.yaml
- sendspin_artwork.yaml
- full_audio_lvgl_maintenance.yaml
- full_audio_maintenance.yaml
- full_native_audio_maintenance.yaml
- esp32p4_base.yaml
- esp32s3_base.yaml
- full_voice_voip_runtime.yaml
- boot_events.yaml
- full_ui_state_globals.yaml
- mww_safe_start.yaml
- mww_task_priority.yaml
- transition_probe.yaml
- ui_hook_placeholders.yaml
- voip_ringtone_orchestration.yaml
- base.yaml
- local_commands.yaml
- runtime_controls.yaml
- runtime_events.yaml
- timers_runtime.yaml
- auto_entities.yaml
- call_buttons.yaml
- call_settings.yaml
- callbacks.yaml
- debug.yaml
- entities_full_duplex.yaml
- full_runtime_callbacks.yaml
- ha_api.yaml
- ha_api_runtime.yaml
- ha_integration.yaml
- phonebook_subscribe.yaml
- simple_led_status_full_duplex.yaml
- simple_led_status_mic_only.yaml
- simple_led_status_speaker_only.yaml
- speaker_mute.yaml
- speaker_mute_runtime.yaml
- transport.yaml
- voip_only.yaml
- build_hacs_zip.py
- run_virtual_device_tests.sh
- yaml_paths.sh
- mic_input.pcm
- idle_snapshot.json
- esp-busy-while-in-call-direct.json
- esp-busy-while-in-call-via-ha.json
- esp-busy-while-ringing-direct.json
- esp-busy-while-ringing-via-ha.json
- esp-mirror-card-contract.json
- esp-to-esp-direct-decline.json
- esp-to-esp-via-ha-decline.json
- esp-to-ha-answer-hangup.json
- esp-to-ha-answer-waits-browser-audio.json
- esp-to-ha-busy-while-in-call.json
- esp-to-ha-busy-while-ringing.json
- esp-to-ha-decline.json
- ha-softphone-answer.json
- ha-softphone-card-contract.json
- ha-softphone-remote-cancel.json
- ha-to-esp-answer-hangup.json
- ha-to-esp-auto-answer.json
- ha-to-esp-cancel.json
- ha-to-esp-dnd-decline.json
- incoming-call-during-media.json
- phonebook-json-shared.json
- sip-auth-unsupported.json
- softphone-codec-only-488.json
- spotpear-full-contract-audio-artifacts.json
- spotpear-full-contract-va-voip-preempt.json
- spotpear-full-contract-voice-assistant-run.json
- terminal-no-late-green.json
- qualification_matrix.py
- README.md
- voip_matrix.py
- __init__.py
- test_account_service_security.py
- test_assist_endpoint.py
- test_assist_intents.py
- test_assist_media_renegotiation.py
- test_assist_runtime.py
- test_authorization.py
- test_call_registry.py
- test_call_scope.py
- test_conference.py
- test_config_hardening.py
- test_device_resolver_sip.py
- test_diagnostics.py
- test_dial_fork.py
- test_dial_plan.py
- test_documentation_contract.py
- test_dtmf_events.py
- test_endpoint_ha_entities.py
- test_endpoint_registry.py
- test_endpoint_session.py
- test_frontend_card_contract.py
- test_frontend_card_runtime.py
- test_frontend_engine_runtime.py
- test_frontend_video_runtime.py
- test_g711.py
- test_group_call_matrix.py
- test_groups.py
- test_ha_softphone_backend_contract.py
- test_hacs_contract.py
- test_inbound_answer.py
- test_live_ring_group_tool_safety.py
- test_live_voip_qualification_contract.py
- test_local_softphone_bridge.py
- test_logbook.py
- test_media_call_lifetime.py
- test_media_debug.py
- test_media_ports.py
- test_media_session_updates.py
- test_media_ws_session.py
- test_outbound_attempts.py
- test_pbx_routing.py
- test_pbx_runtime.py
- test_phone_config.py
- test_phonebook_service_security.py
- test_qualification_matrix.py
- test_ring_group.py
- test_runtime_controller_target_model.py
- test_runtime_diagnostics.py
- test_sdp_remote_target.py
- test_session_cleanup.py
- test_sip_rtp_dtmf.py
- test_sip_runtime.py
- test_sip_transaction.py
- test_sip_video_peer.py
- test_sip_video_relay.py
- test_sip_wildix_replay.py
- test_softphone_answer.py
- test_softphone_commands.py
- test_softphone_forward.py
- test_softphone_originate.py
- test_softphone_termination.py
- test_text_style.py
- test_trunk_dtmf.py
- test_trunk_routing.py
- test_video_rtp.py
- test_video_transcoder.py
- test_voip_backend_route_contract.py
- test_voip_phase1.py
- test_voip_yaml_media_contract.py
- test_websocket_owner.py
- bootstrap.sh
- configuration.yaml
- home-assistant-voip-lab.service.in
- login_access_token.py
- README.md
- refresh_playwright_auth.py
- audio_analysis.py
- contract_simulator.py
- scenario_runner.py
- simctl.py
- snapshot_compare.py
- analyze_jtag_snapshots.py
- deploy_ha_voip_stack.sh
- ha_softphone_card_trace.py
- ha_softphone_matrix.py
- inbound_routing_qualification.py
- jtag_snapshots.py
- live_voip_qualification.py
- local_softphone_live_matrix.py
- qemu_esp32s3.py
- ring_group_live_matrix.py
- runtime_state_qualification.py
- runtime_visual_qualification.py
- sip_video_browser_probe.py
- sip_video_peer.py
- voip_dev_check.py
- .gitignore
- home-assistant-voice-pe-voip.yaml
- .gitignore
- .gitignore
- partitions_16mb_huge_factory.csv
- waveshare-s3-touch-lcd-1.85c-box-full-afe.yaml
- README.md
- .gitignore
- generic-s3-full-aec.yaml
- .gitignore
- generic-s3-full-esphome-native.yaml
- .gitignore
- generic-s3-full-aec.yaml
- spotpear-ball-v2-full-afe.yaml
- waveshare-p4-touch-full-afe-landscape.yaml
- waveshare-p4-touch-full-afe-portrait.yaml
- waveshare-s3-full-afe.yaml
- generic-s3-full-afe.yaml
- .gitignore
- generic-s3-voip.yaml
- .gitignore
- generic-s3-voip-esphome-native-full-duplex.yaml
- generic-s3-voip-esphome-native-mic-only.yaml
- generic-s3-voip-esphome-native-speaker-only.yaml
- .gitignore
- generic-s3-voip.yaml
- spotpear-ball-v2-voip.yaml
- README.md
- .gitignore
- hacs.json
- LICENSE
- README.md
- THIRD_PARTY_NOTICES.md
// repository documentation
Was this content helpful?
(0 ratings)
