diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html
index 391090e3f7a..9ce209ba901 100644
--- a/source/_includes/asides/docs_navigation.html
+++ b/source/_includes/asides/docs_navigation.html
@@ -46,7 +46,9 @@
{% active_link /docs/assist/apple/ Assist for Apple devices %}
{% active_link /docs/assist/builtin_sentences/ Built-in sentences %}
{% active_link /docs/assist/custom_sentences/ Custom sentences %}
+ {% active_link /docs/assist/troubleshooting/ Troubleshooting Assist %}
{% active_link /docs/assist/voice_remote_local_assistant/ Configuring a local assistant %}
+ {% active_link /projects/worlds-most-private-voice-assistant/ Tutorial: World's most private voice assistant %}
{% active_link /projects/thirteen-usd-voice-remote/ Tutorial: $13 voice remote %}
diff --git a/source/_integrations/voip.markdown b/source/_integrations/voip.markdown
index ddcb467caf1..6054c162ac5 100644
--- a/source/_integrations/voip.markdown
+++ b/source/_integrations/voip.markdown
@@ -12,7 +12,7 @@ ha_domain: voip
ha_integration_type: integration
---
-The VoIP integration enables users to talk to [Assist](/docs/assist) using an analog phone and a VoIP adapter such as the [Grandstream HT801](https://amzn.to/40k7mRa). See [the tutorial](/projects/private-voice-assistant/voice_remote_classic_phone/) for detailed instructions.
+The VoIP integration enables users to talk to [Assist](/docs/assist) using an analog phone and a VoIP adapter such as the [Grandstream HT801](https://amzn.to/40k7mRa). See [the tutorial](/projects/worlds-most-private-voice-assistant/voice_remote_classic_phone/) for detailed instructions.
diff --git a/source/images/assist/assistant-debug-02.png b/source/images/assist/assistant-debug-02.png
new file mode 100644
index 00000000000..7b73bcc8b51
Binary files /dev/null and b/source/images/assist/assistant-debug-02.png differ
diff --git a/source/images/assist/assistant-debug-03.png b/source/images/assist/assistant-debug-03.png
new file mode 100644
index 00000000000..786de10c534
Binary files /dev/null and b/source/images/assist/assistant-debug-03.png differ
diff --git a/source/images/assist/assistant-debug-04.png b/source/images/assist/assistant-debug-04.png
new file mode 100644
index 00000000000..f4d0c894725
Binary files /dev/null and b/source/images/assist/assistant-debug-04.png differ
diff --git a/source/images/assist/assistant-debug-pipeline-01.png b/source/images/assist/assistant-debug-pipeline-01.png
new file mode 100644
index 00000000000..80df8db88d4
Binary files /dev/null and b/source/images/assist/assistant-debug-pipeline-01.png differ
diff --git a/source/images/assist/assistant-debug-pipeline-02.png b/source/images/assist/assistant-debug-pipeline-02.png
new file mode 100644
index 00000000000..65aab32ff9b
Binary files /dev/null and b/source/images/assist/assistant-debug-pipeline-02.png differ
diff --git a/source/images/assist/assistant-debug-pipeline-03.png b/source/images/assist/assistant-debug-pipeline-03.png
new file mode 100644
index 00000000000..3f7bf927aa5
Binary files /dev/null and b/source/images/assist/assistant-debug-pipeline-03.png differ
diff --git a/source/images/assist/assistant-give-name-01.png b/source/images/assist/assistant-give-name-01.png
new file mode 100644
index 00000000000..1335d09ad96
Binary files /dev/null and b/source/images/assist/assistant-give-name-01.png differ
diff --git a/source/images/assist/assistant-select.png b/source/images/assist/assistant-select.png
new file mode 100644
index 00000000000..ce2a3d9cdd1
Binary files /dev/null and b/source/images/assist/assistant-select.png differ
diff --git a/source/images/assist/assistant-stt-tts-define.png b/source/images/assist/assistant-stt-tts-define.png
new file mode 100644
index 00000000000..eea83eda055
Binary files /dev/null and b/source/images/assist/assistant-stt-tts-define.png differ
diff --git a/source/images/assist/autophon-mod-29.jpg b/source/images/assist/autophon-mod-29.jpg
new file mode 100644
index 00000000000..f6d9f869a21
Binary files /dev/null and b/source/images/assist/autophon-mod-29.jpg differ
diff --git a/source/images/assist/conversation-service-01.png b/source/images/assist/conversation-service-01.png
new file mode 100644
index 00000000000..8a296a09c44
Binary files /dev/null and b/source/images/assist/conversation-service-01.png differ
diff --git a/source/images/assist/grandstream-ht801-interfaces.png b/source/images/assist/grandstream-ht801-interfaces.png
new file mode 100644
index 00000000000..2d283657369
Binary files /dev/null and b/source/images/assist/grandstream-ht801-interfaces.png differ
diff --git a/source/images/assist/grandstream_apply.png b/source/images/assist/grandstream_apply.png
new file mode 100644
index 00000000000..1fa75588691
Binary files /dev/null and b/source/images/assist/grandstream_apply.png differ
diff --git a/source/images/assist/grandstream_autodial.png b/source/images/assist/grandstream_autodial.png
new file mode 100644
index 00000000000..6112c7a4d39
Binary files /dev/null and b/source/images/assist/grandstream_autodial.png differ
diff --git a/source/images/assist/grandstream_login.png b/source/images/assist/grandstream_login.png
new file mode 100644
index 00000000000..0752743a0e5
Binary files /dev/null and b/source/images/assist/grandstream_login.png differ
diff --git a/source/images/assist/grandstream_opus_payload.png b/source/images/assist/grandstream_opus_payload.png
new file mode 100644
index 00000000000..e4dff1bac8b
Binary files /dev/null and b/source/images/assist/grandstream_opus_payload.png differ
diff --git a/source/images/assist/grandstream_port_config.png b/source/images/assist/grandstream_port_config.png
new file mode 100644
index 00000000000..f281434b892
Binary files /dev/null and b/source/images/assist/grandstream_port_config.png differ
diff --git a/source/images/assist/grandstream_vocoder.png b/source/images/assist/grandstream_vocoder.png
new file mode 100644
index 00000000000..86d785a36fc
Binary files /dev/null and b/source/images/assist/grandstream_vocoder.png differ
diff --git a/source/images/assist/ha-cloud-tts-01.png b/source/images/assist/ha-cloud-tts-01.png
new file mode 100644
index 00000000000..66c2df28e97
Binary files /dev/null and b/source/images/assist/ha-cloud-tts-01.png differ
diff --git a/source/images/assist/voip-select-pipline.png b/source/images/assist/voip-select-pipline.png
new file mode 100644
index 00000000000..ef2ed12ddad
Binary files /dev/null and b/source/images/assist/voip-select-pipline.png differ
diff --git a/source/images/assist/voip_configuration.png b/source/images/assist/voip_configuration.png
new file mode 100644
index 00000000000..8e874ef7bb3
Binary files /dev/null and b/source/images/assist/voip_configuration.png differ
diff --git a/source/images/assist/voip_device_available.png b/source/images/assist/voip_device_available.png
new file mode 100644
index 00000000000..f15efc75d8f
Binary files /dev/null and b/source/images/assist/voip_device_available.png differ
diff --git a/source/images/assist/voip_install.png b/source/images/assist/voip_install.png
new file mode 100644
index 00000000000..d4b6ca79334
Binary files /dev/null and b/source/images/assist/voip_install.png differ
diff --git a/source/images/frontpage/promo-private-voice-assistant.png b/source/images/frontpage/promo-private-voice-assistant.png
new file mode 100644
index 00000000000..a65fe3f8781
Binary files /dev/null and b/source/images/frontpage/promo-private-voice-assistant.png differ
diff --git a/source/images/frontpage/voip-tut-frontpage-01.jpg b/source/images/frontpage/voip-tut-frontpage-01.jpg
new file mode 100644
index 00000000000..f812529acea
Binary files /dev/null and b/source/images/frontpage/voip-tut-frontpage-01.jpg differ
diff --git a/source/index.html b/source/index.html
index 146a16a7f67..114a58e1192 100644
--- a/source/index.html
+++ b/source/index.html
@@ -90,7 +90,7 @@ feedback: false
-
+
-
+
+
+
**Voice assistants**.
+1. From the list of assistants, select your assistant.
+ 
+1. In the dialog, select **Debug**.
+
+1. At the top of the screen, from the dropdown menu, select the run you are interested in.
+
+
+## Test if the phrase works without voice
+
+1. [Open the debug view](#view-debug-information).
+1. In the top right corner, select the icon.
+
+1. Select **Run text pipeline**.
+
+1. Enter the phrase you want to test and select **Run**.
+
+1. Check if it worked.
+
+ * If the phrase does not work, try a variant. For example, if *Turn off the light* doesn't work, try: *Turn off the lights in the kitchen*.
+ * Check if your phrase is [supported](/docs/assist/builtin_sentences/).
+ * Make sure you are using the name of the area as it is defined in Home Assistant. If you have a room called *bathroom*, the phrase *Turning on the lights in the bath* won’t work.
diff --git a/source/projects/worlds-most-private-voice-assistant.markdown b/source/projects/worlds-most-private-voice-assistant.markdown
new file mode 100644
index 00000000000..451f0cf1310
--- /dev/null
+++ b/source/projects/worlds-most-private-voice-assistant.markdown
@@ -0,0 +1,99 @@
+---
+title: "World's Most Private Voice Assistant"
+---
+
+This tutorial will guide you to turn your old landline phone into the
+world's most private voice assistant. Pick up the phone to talk to
+your smart home and issue commands and get responses.
+
+
+
+## Required material
+
+* Home Assistant 2023.5 or later
+* An [analog phone](#about-the-analog-phone) with an RJ11 socket
+* An analog telephone adapter
+ [Grandstream HT801](https://amzn.to/40k7mRa)
+ * includes a 5 V power adapter and an Ethernet cable
+* RJ11 phone cable to connect the phone to the Grandstream
+* [Home Assistant Cloud](https://www.nabucasa.com) or a manually configured [Assist Pipeline](/integrations/assist_pipeline)
+
+## Setting up Grandstream
+
+1. Connect the RJ11 cable from the phone to the green socket on the Grandstream.
+ 
+1. Connect the Grandstream to your network:
+ * Plug the Ethernet cable into the blue socket and connect it to your router.
+1. Start up the Grandstream.
+ * Connect the power supply.
+ * Once the Grandstream has booted, the two LEDs for power and Ethernet light up solid blue. The phone LED won't light up.
+1. Identify the IP address of the Grandstream.
+ * If your phone has a star * key, you can get your phone to tell you it's IP address:
+ * Press *** (press the star key three times) and wait until you hear *Enter the menu option*.
+ * Press 02 and the phone will tell you its IP address.
+ * If your phone does not have a star * key, log onto your router to find the IP address.
+1. Enter the IP address into a browser window and log onto the Grandstream *Device Configuration* software.
+ * The default credentials are:
+ * **Username**: `admin`
+ * **Password**: `admin`
+ 
+1. Open the **FXS Port** tab and in the **Offhook Auto-Dial** field, enter the Home Assistant IP address in the following format:
+ * \*47192\*168\*1\*100\*5060
+ 
+ * Note: instead of 192\*168\*1\*100\*, enter the IP address of your Home Assistant instance.
+ * At the bottom of the page, select **Apply**.
+ 
+ * *Offhook Auto-Dial* means that when you pick up the phone, it directly calls Home Assistant. No need to dial.
+
+## Setting up the phone in Home Assistant
+
+1. In Home Assistant, go to {% my config_flow_start domain="voip" title="**Settings** > **Devices & Services** > **Add integration**" %} and add the **Voice over IP** integration.
+ 
+1. Once you see the integration, pick up the phone.
+ * You should now hear the message *This is your smart home speaking. Your phone is connected, but you must configure it within Home Assistant.*
+ * The integration should now include a device and entities.
+ 
+ * Don't hear the voice? Try these [troubleshooting steps](/projects/worlds-most-private-voice-assistant/#troubleshoot-grandstream).
+1. Allow calls.
+ * Calls from new devices are blocked by default since voice commands could be used to control sensitive devices, such as locks and garage doors.
+ * In the **Voice over IP** integration, select the **device** link.
+ * To allow this phone to control your smart home, under **Configuration**, enable **Allow calls**.
+ 
+1. Congratulations! You set up your analog phone to work with Home Assistant. Now pick up the phone and control your device.
+ * Say a [supported voice command](/docs/assist/builtin_sentences/). For example, *Turn off the light in the kitchen*.
+ * You can also ask a question, such as
+ * *Is the front door locked?*
+ * *Which lights are on in the living room?*
+ * Make sure you're using the area name as you defined it in Home Assistant. If you have a room called *bathroom*, the phrase *Turn on the lights in the bath* won't work.
+ * Your command is not supported? [Add your own commands](/integrations/conversation/).
+
+## Give your voice assistant personality using the OpenAI integration
+
+
+
+## Troubleshoot Grandstream
+
+If you’re unable to call Home Assistant, confirm the following settings in your Grandstream device’s web interface.
+
+1. On the **FXS Port** tab, check the **Preferred Vocoder** list.
+ * Make sure that **OPUS** is selected for one of the choices:
+ 
+1. Under **OPUS Payload type**, make sure the value is `123`. It's the default option.
+ 
+1. At the bottom of the page, select **Apply**.
+1. Pick up the phone again and check if you hear the voice.
+
+## Other troubleshooting steps
+
+Are things still not working as expected?
+
+* Checkout the [general troubleshooting section for Assist](/projects/troubleshooting).
+
+## About the analog phone
+
+You can use any analog landline phone with an RJ11 socket.
+
+The phone shown in the video by TheFes is a *Heemaf type 1955*, which was used by the Dutch telephone company PTT at the time.
+
+The phone used during creation of this tutorial is a 1953 [*Tischstation Mod.29 HF-TR* by Autophon AG](https://www.radiomuseum.org/r/autophon_tischstation_mod29_hf_tr.html).
+