> For the complete documentation index, see [llms.txt](https://docs.voipnumber.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voipnumber.net/how-to/echo.md).

# Echo 🔊

## Overview

Nothing does ever get more useful when testing VoIP systems than an echo extension 🔊&#x20;

You can dial it to hear back whatever you are sending, and once you hear it you know it's all good 😊 (sometimes this may even be true 🤭)&#x20;

💡 Let's see how to setup echo 🔊 (and delay echo 🔊⏰) in just a few, simple steps

<figure><img src="/files/AeS29AFxbkb6IEyMU2We" alt="" width="331"><figcaption><p>One, two. One, two, three. It works 😎</p></figcaption></figure>

### Use Case

Testing, enjoying your own voice, or maybe translating to other language back on your speaker?&#x20;

## Setup

To dial anything it needs to be referenced by something. Popularly it is called extension, but on VoIP Number we call it [Connection](/components/connection.md). Think of it as an anchor, it may serve as a SIP endpoint (to register a phone and receive inbound calls) or as an anchor only (or placeholder) to execute something on a call. That scenario to execute is called [Call Flow](/components/call-flow.md)

You build it by dragging actions onto a call flow pane with [Call Flow Builder](/features/call-flow-builder.md)

1. Create Connections. Go to Connections tab at [app.voipnumber.net/connections](https://app.voipnumber.net/connections) and create virtual connections (anchors) for your 2 functions: echo and delay echo. Virtual here means that they will not represent a regular SIP user (endpoint) because we do not want to register to them and receive inbound calls, we just want to execute our echos when call hits them

As such, these connections do not need SIP password (you can leave it empty)&#x20;

<figure><img src="/files/C03xyEhfJVBa32mdwLfv" alt=""><figcaption><p>Adding <a data-mention href="/pages/SGpaBCqJbPfiF7siXWit">/pages/SGpaBCqJbPfiF7siXWit</a> for echo</p></figcaption></figure>

<figure><img src="/files/d1cfuquNCsbJiM3kTrj6" alt=""><figcaption><p>Adding <a data-mention href="/pages/SGpaBCqJbPfiF7siXWit">/pages/SGpaBCqJbPfiF7siXWit</a> for echo with delay</p></figcaption></figure>

<figure><img src="/files/weuT2eplcp2oTlX6qtIu" alt=""><figcaption><p>You should now have 2 connections for testing echo 😎</p></figcaption></figure>

####

2. Create Call Flows. Go to [Call Flow Builder](/features/call-flow-builder.md) on your [app.voipnumber.net/callflowbuilder](https://app.voipnumber.net/callflowbuilder) or to Call Flows page at [app.voipnumber.net/callflows](https://app.voipnumber.net/callflows) and select `+Add` (or `+New`). Create one call flow for echo and another for echo with delay. You may start it from announcing something to the caller and then send a call to your echo action 👉

<figure><img src="/files/djiOSibWOP3VW3BwO0aN" alt=""><figcaption><p><a data-mention href="/pages/CCmcnF9mK5OpHj1Wb3qZ">/pages/CCmcnF9mK5OpHj1Wb3qZ</a> for echo with delay</p></figcaption></figure>

<figure><img src="/files/NXrMfUozvNbFn7Qyg87T" alt=""><figcaption><p>Tell caller what it is all about</p></figcaption></figure>

<figure><img src="/files/gFvygSqOvAKyGWRyn8gS" alt=""><figcaption><p>Configure echo (set a delay and attenuate if needed)</p></figcaption></figure>

####

<figure><img src="/files/WWDzz6rZyT4nayxKhuh6" alt=""><figcaption><p>You should now have 2 call flows for testing your echo 😎</p></figcaption></figure>

####

3. Finally, let's connect [Connection](/components/connection.md) to a [Call Flow](/components/call-flow.md). Go to [app.voipnumber.net/connections](https://app.voipnumber.net/connections), click on a row with a [Connection](/components/connection.md) and then click `ATTACH CALLFLOW` button. Select respective call flows

<figure><img src="/files/OCPP2IYaGjtbHPMfh1G7" alt=""><figcaption><p>Attach <a data-mention href="/pages/CCmcnF9mK5OpHj1Wb3qZ">/pages/CCmcnF9mK5OpHj1Wb3qZ</a> to <a data-mention href="/pages/SGpaBCqJbPfiF7siXWit">/pages/SGpaBCqJbPfiF7siXWit</a> for your delay echo function</p></figcaption></figure>

####

<figure><img src="/files/AxavP6JmTX0UI2JXCOfD" alt=""><figcaption><p>Attach <a data-mention href="/pages/CCmcnF9mK5OpHj1Wb3qZ">/pages/CCmcnF9mK5OpHj1Wb3qZ</a> to <a data-mention href="/pages/SGpaBCqJbPfiF7siXWit">/pages/SGpaBCqJbPfiF7siXWit</a> for your echo function</p></figcaption></figure>

####

<figure><img src="/files/2AB1fmRtob06OtTOHDQM" alt=""><figcaption><p>You should now have 2 connections with call flows attached. You're ready to test it!</p></figcaption></figure>

✅ You now have created a Call Flow that you can dial through SIP extension and SIP trunk. You can also get a telephone [Number](https://docs.voipnumber.net/components/number) to dial it from mobile and landline telephone networks

## Test it

It's a testing time! 🚀 Use any of these methods to dial into your setup

1. **SIP on VoIP Number**

Open your favourite call app, softphone, desk phone with SIP user registered on VoIP Number (only registered user or a SIP trunk is allowed to make a call, see [Register a Softphone (SIP phone)](/guides/register-a-softphone-sip-phone.md), [Register IP desk phone](/guides/register-ip-desk-phone.md))

2. **SIP trunk on 3rd party (external) provider**

Configure your SIP trunk on your provider (e.g. *Twilio*) with details (SIP credentials) of one of your Connections (or trunk) on VoIP Number

3. **SIP** [Trunk](/components/trunk.md)  **on VoIP Number, by Connection**

Configure your SIP client with details (and credentials) of your SIP [Trunk](/components/trunk.md)  on VoIP Number (you can disable authentication on a SIP trunk on VoIP Number to allow unauthenticated calls to reach your echo trough a trunk, if that's what you need)

👉 ... and dial your test connections by `SIP user` name

We set up `SIP user` to `echo` and `delay` , so we can call into theirs call flows by dialing these SIP URIs:

`echo` -> `echo@sip.voipnumber.net`&#x20;

`delay` -> `delay@sip.voipnumber.net`&#x20;

or

`echo` -> `[*]@NAME_OF_YOUR_TRUNK_WITH_ECHO_CALL_FLOW.sip.voipnumber.net`&#x20;

`delay` -> `[*]@NAME_OF_YOUR_TRUNK_WITH_DELAY_ECHO_CALL_FLOW.sip.voipnumber.net`&#x20;

You will need to use different names for `SIP User` because they must be unique on the platform

4. **SIP trunk on VoIP Number with Call Flow processing**

Create a [Trunk](/components/trunk.md) and select your echo Call Flows in the Processing section of the trunk

5. **PSTN/mobile**

👉 Attach a [Number](/components/number.md) to your connections (or trunk) to call them from a PSTN or mobile phone

<figure><img src="/files/q1Z44cjPCKw1D4ezYful" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/PrelZGLSHFXByZboVMgk" alt=""><figcaption></figcaption></figure>

## What else can be built with `Echo`?

💡 Of course you can mix echo with other actions. So maybe a speech translation system that plays your sentences translated to other language back on caller's speaker? Sure, just add action `Translate speech` ahead of your `Echo` . Done 🚀

<figure><img src="/files/vF4OOBZdELf99PvSMjZj" alt=""><figcaption><p>Play translated speech back to caller with <code>Echo</code> action</p></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.voipnumber.net/how-to/echo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
