Skip to content

Commit

Permalink
Update Dashboard UI images further (#105)
Browse files Browse the repository at this point in the history
* UI fixes

* remove image
  • Loading branch information
niravcodes authored Mar 3, 2025
1 parent 7f6355b commit 0753f18
Show file tree
Hide file tree
Showing 24 changed files with 87 additions and 93 deletions.
2 changes: 1 addition & 1 deletion docs/_common/dashboard/create-cxml-script.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
If you're on the **Legacy UI**, go to the "cXML/LaML" section in your [SignalWire Space](https://signalwire.com/signin), then click on "Bins", and create a new script.

<Frame>
![Legacy bin](@image/dashboard/legacy/xml-bins.webp)
![Legacy bin](@image/dashboard/legacy/xml-bins.png)
</Frame>

</TabItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -377,10 +377,6 @@ that you can use to access your local application.
Now that the code is ready and the HTTP endpoint is reachable from the web, we
need to configure our SignalWire number to access it.

If you don't have a phone
number yet, make sure to [buy one](/platform/phone-numbers/getting-started/buying-a-phone-number). You
will need at least one number to receive messages.
First, we need to create a new cXML script resource that points to your ngrok URL.
To do so, go to the "Resources" section from your sidebar, and create a new Script Resource.
Select the Script type as cXML.
Expand Down Expand Up @@ -409,13 +405,13 @@ want to configure. In the `Handling Inbound Messages` section, assign your cXML
defaultOpen={false}
>
You don't need to create a new cXML resource for your call.
You don't need to create a new cXML resource.
Simply open the settings for the number you want to configure, and under "**Inbound Message Settings**",
choose to handle incoming messages using "LaML Webhooks", then paste the public ngrok URL
which connects to your application.
which connects to your application. Make sure to **check** the "Use External URL for LaML Webhook handler?" checkbox.
![legacy UI cxml webhook configuration](@image/dashboard/legacy/external-cxml-webhook.webp)
![Legacy UI cXML webhook configuration](@image/dashboard/legacy/external-cxml-webhook-messaging.png)
</Accordion>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -398,9 +398,9 @@ You don't need to create a new cXML resource for your call.
Simply open the settings for the number you want to configure, and under "Voice and Fax Settings",
choose to handle incoming calls using "LaML Webhooks", then paste the public ngrok URL
which connects to your application.
which connects to your application. Make sure to **check** the "Use External URL for LaML Webhook handler?" checkbox.
![legacy UI cxml webhook configuration](@image/dashboard/legacy/external-cxml-webhook.webp)
![legacy UI cxml webhook configuration](@image/dashboard/legacy/external-cxml-webhook.png)
</Accordion>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ import NewLegacy from '/docs/home/platform/dashboard/_ui-admonition.mdx'

In your SignalWire Dashboard, you can purchase a phone number and edit its settings to direct calls to the Ngrok URL. The settings for your phone number of choice will look something like this:

![legacy settings for phone number](@image/dashboard/legacy/external-cxml-webhook.webp)
![Legacy settings for phone number](@image/dashboard/legacy/external-cxml-webhook.png)

</Accordion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ import NewLegacy from '/docs/home/platform/dashboard/_ui-admonition.mdx'

In your SignalWire Dashboard, you can purchase a phone number and edit its settings to direct calls to the Ngrok URL. The settings for your phone number of choice will look something like this:

![legacy settings for phone number](@image/dashboard/legacy/external-cxml-webhook.webp)
![legacy settings for phone number](@image/dashboard/legacy/external-cxml-webhook.png)

</Accordion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,5 @@ How to Access Recordings

You can view, listen to, and download all your recordings in the Storage section of your SignalWire Space. From the sidebar, navigate to **Storage** > **Recordings**.

If you're on the Legacy UI, click the "cXML/LaML" section on the left-hand side nav. Click the "Recordings" tab, and you will be able to view, listen, and
download your recording files.

You can also [access recordings via our REST API](/rest/compatibility-api/endpoints/retrieve-recording).

Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ import NewLegacy from '/docs/home/platform/dashboard/_ui-admonition.mdx'

The settings for your phone number of choice will look something like this:

![legacy settings for phone number](@image/dashboard/legacy/external-cxml-webhook.webp)
![legacy settings for phone number](@image/dashboard/legacy/external-cxml-webhook.png)

Configure your number to "Handle Calls Using" using LaML webhooks and point it to `your-ngrok-domain/voice`.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ import NewLegacy from '/docs/home/platform/dashboard/_ui-admonition.mdx'

In your SignalWire Dashboard, you can purchase a phone number and edit its settings to direct calls to the Ngrok URL. The settings for your phone number of choice will look something like this:

![legacy settings for phone number](@image/dashboard/legacy/external-cxml-webhook.webp)
![Legacy settings for phone number](@image/dashboard/legacy/external-cxml-webhook.png)

</Accordion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ import NewLegacy from '/docs/home/platform/dashboard/_ui-admonition.mdx'

In your SignalWire Dashboard, you can purchase a phone number and edit its settings to direct calls to the Ngrok URL. The settings for your phone number of choice will look something like this:

![legacy settings for phone number](@image/dashboard/legacy/external-cxml-webhook.webp)
![legacy settings for phone number](@image/dashboard/legacy/external-cxml-webhook.png)

</Accordion>

Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,14 @@ SignalWire so that you don't need to set up any infrastructure of your own.
You can create and manage bins from the LaML section of your Dashboard under the
Bins tab.

![In the cXML/LaML page of a SignalWire Space, the Bins tab is circled in red.](@image/dashboard/legacy/xml-bins.webp)
![In the cXML/LaML page of a SignalWire Space, the Bins tab is circled in red.](@image/dashboard/legacy/xml-bins.png)

{/*
<figure>
<img
className="img-800"
src={
require("@site/docs/home/products/voice/getting-started/how-to-set-up-voicemail/xml-bins.webP")
require("@site/docs/home/products/voice/getting-started/how-to-set-up-voicemail/xml-bins.png")
.default
}
alt="A screenshot of the LaML page within the SignalWire Project called 'Dan's Space'. The Bins tab is circled in red."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,40 +17,45 @@ you need to prepare an XML file with instructions on what to do after a message
is received on a given phone number.

<figure>
<img className="img-500" src={require("./receiving.webP").default} alt="A diagram illustrating the process of receiving text messages from users using cXML applications." />
<figcaption>
Receiving text messages from users using cXML applications.
1) the user sends a message to a number in your SignalWire Space.
2) SignalWire fetches the XML bin URL associated with the destination number.
3) The contents of the XML bin are interpreted and executed.
4) Any response specified in the XML bin will reach the caller.
</figcaption>
```mermaid
graph LR
Sender["Message Sender"]
subgraph CompanyNumbers["Numbers in Company"]
N1["+1 (555) 2011"]
N2["+1 (555) 2012"]
N3["..."]
end
subgraph XML["cXML response"]
C["&lt;?xml&gt;<br>&lt;Response&gt;<br>...<br>&lt;/Response&gt;"]
end
%% Positioning adjustments
Sender -- "(1) The user sends a message to a number in your SignalWire Space." --> N1
N1 -- "(2) SignalWire fetches the XML bin URL associated with the destination number." --> C
C -- "(3) The contents of the XML bin are interpreted and executed." --> N1
N1 -- "(4) Any response specified in the XML bin will reach the caller." --> Sender
```
<figcaption>
Receiving text messages from users using cXML applications.
</figcaption>
</figure>

## cXML Applications

Let's write our first XML bin. We will host this one on SignalWire (you can use
your own server if you want, which even allows you to generate bins
Let's write our first cXML script. We will host this one on SignalWire (you can use
your own server if you want, which even allows you to generate scripts
dynamically).

You can create and manage bins from the LaML section of your Dashboard under the
Bins tab.
Navigate to the "Resources" tab from the sidebar and create a new Resource. There,
select the resource type of "Script", and pick "cXML script".

![A screenshot of the LaML page with the Bins tab circled in red.](@image/dashboard/legacy/xml-bins.webp)
<Frame>
![Create a new cXML script.](@image/dashboard/resources/new-cxml-bin.png)
</Frame>

{/* <figure>
<img
className="img-800"
src={
require("@site/docs/home/products/voice/getting-started/how-to-set-up-voicemail/xml-bins.webP")
.default
}
alt="A screenshot of the LaML page with the Bins tab circled in red."
/>
<figcaption>cXML applications tab of the LaML section</figcaption>
</figure> */}

Create a new bin, and use the following lines as content:
There, you can paste the following XML:

```xml
<?xml version="1.0" encoding="UTF-8"?>
Expand All @@ -59,24 +64,46 @@ Create a new bin, and use the following lines as content:
</Response>
```

The bin above will reply with a fixed message to any incoming SMS. Find the full technical reference in the [Compatibility XML](compatibility-api/cxml/index.mdx) section.
The script will reply with a fixed message to any incoming SMS. Find the full technical reference in the [Compatibility XML](compatibility-api/cxml/index.mdx) section.

Copy the Request URL of the script you just created, then read the next section to configure a number to handle messages using that bin.

import NewLegacy from '/docs/home/platform/dashboard/_ui-admonition.mdx'

<NewLegacy />

<Accordion title="For Legacy UI">

Navigate to the "LaML/cXML" section of your Dashboard and create a new cXML bin with the content above.

<Frame>
![Create a new cXML script.](@image/dashboard/legacy/xml-bins.png)
</Frame>

Copy the Request URL of the bin you just created, then read the next section to configure a number to handle messages using that bin.
</Accordion>

## Configuring your number {#configuring-your-number}

The last step is connecting a number to the bin. If you don't have a phone
number yet, make sure to [buy one](/platform/phone-numbers/getting-started/buying-a-phone-number). You
will need at least one number to receive messages.

Then, open the settings for the number. Under "Messaging Settings", choose to
handle messages using "LaML Webhooks", then paste the URL of the bin in the
field below.
Navigate to the "Phone Numbers" section of your Dashboard and open the settings for the number you want to configure.
There, assign the cXML script you just created to handle messages.

<Frame>
![Open the settings for the number.](@image/dashboard/phone-numbers/assign-resource-full.png)
</Frame>

<NewLegacy />

<Accordion title="For Legacy UI">

Open the settings for the number you want to configure. Under "Messaging Settings", choose to
handle messages using "LaML Webhooks". In the dropdown, select the cXML script you just created.

</Accordion>

<figure>
<img className="img-800" src={require("./number-messaging-settings.webP").default} alt="A screenshot of the Phone Numbers page. 'Handle Messages Using' is set to LaML Webhooks. 'When a Message Comes In' is set to the URL of the LaML bin." />
<figcaption>Connecting a number to an XML bin. First select "LaML Webhooks", then paste the URL of the bin.</figcaption>
</figure>

Try sending a message to the configured phone number: after a few seconds you'll receive an automated reply.

Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ We are going to implement voicemail in an cXML bin hosted on SignalWire.
First, to create a new cXML bin, navigate to the "Resources" section from your sidebar. There, create
a new Script, and select the "cXML" option.

Create a new cXML bin, and paste the following XML in it:
Create a new cXML script, and paste the following XML in it:

```xml
<?xml version="1.0" encoding="UTF-8"?>
Expand All @@ -27,7 +27,7 @@ Create a new cXML bin, and paste the following XML in it:
</Response>
```

Copy the code above into your XML bin, then save it.
We will update the `URL-To-Hangup-Bin` part later, once we create that script.

The cXML uses the [&lt;Say>] verb to play
the voicemail prompt to a caller and [&lt;Record>] to record a message.
Expand All @@ -39,13 +39,11 @@ and a key that when pressed will execute a new document of instructions. If you
Take a moment to notice the `action` attribute for [&lt;Record>]. We would like to play a
message right after the recording ends, but adding a [&lt;Say>] verb below
[&lt;Record>] will not wait for the recording to finish.
The `action` attribute allows us to specify the URL of a different bin which should be executed _right after the recording ends_:
The `action` attribute allows us to specify the URL of a different script which should be executed _right after the recording ends_:
we will use this to play a closing message and hang up the call with [&lt;Hangup>].

{/* TODO: Update the following part once this issue is addressed [https://github.com/signalwire/cloud-product/issues/13517](ISSUE) */}

For this reason we also need another bin, which will be executed after the recording in the first one terminates. This second bin will
play a short prompt advising the caller that they will be contacted and then it will hang up the call. Even though this bin is
For this reason we also need another script, which will be executed after the recording in the first one terminates. This second script will
play a short prompt advising the caller that they will be contacted and then it will hang up the call. Even though this script is
simple, it's very important to hang up to avoid looping calls after a recording!

```xml
Expand All @@ -56,8 +54,11 @@ simple, it's very important to hang up to avoid looping calls after a recording!
</Response>
```

Save this new cXML. Take note of its Request URL, and go back to the first bin to update the "action" URL in
[&lt;Record>] to point to the second bin!
Save this new cXML script. You will be taken to the script's details page. There, take note of the Request URL of the script. It should
look something like `https://<space-name>.signalwire.com/laml-bins/<script-id>`.

Go back to the first script and update the "action" URL in
[&lt;Record>] to point to the second script!

[&lt;Record>]:/compatibility-api/cxml/voice/record
[&lt;Hangup>]:/compatibility-api/cxml/voice/hangup
Expand Down Expand Up @@ -89,9 +90,6 @@ If you're still on **Legacy UI**, refer to [Making and Receiving Phone Calls](..

You can view, listen to, and download all your recordings in the Storage section of your SignalWire Space. From the sidebar, navigate to **Storage** > **Recordings**.

If you're on the Legacy UI, click the "LaML" section on the left-hand side nav. Click the "Recordings" tab, and you will be able to view, listen, and
download your recording files.

You can also [access recordings via our REST API](/rest/compatibility-api/endpoints/retrieve-recording).

### Wrapping up
Expand Down
15 changes: 0 additions & 15 deletions docs/home/products/voice/getting-started/recording-calls/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,21 +42,6 @@ The final step is to configure one of your SignalWire phone numbers to answer ca

![Assign Resource](@image/dashboard/phone-numbers/assign-resource-voice.png)

{/* <figure>
<img
className="img-800"
src={
require("@site/docs/home/products/voice/getting-started/how-to-set-up-voicemail/number-bin-config.webP")
.default
}
alt="In the Phone Numbers page of a SignalWire Space, a phone number edit pane is shown. 'Accept Incoming Calls' is set to 'Voice Calls'. 'Handle Calls Using' is set to 'LaML Webhooks'. 'When a Call Comes In' is set to the desired XML Bin URL."
/>
<figcaption>
To configure your number to handle incoming calls with an XML bin, set "Handle calls
using" to "LaML Webhooks", then specify the URL of the XML bin.
</figcaption>
</figure> */}

Refer to [Making and Receiving Phone Calls](../making-and-receiving-phone-calls/index.mdx#receiving-incoming-calls) for more information about this step.

## Conclusion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,17 +138,7 @@ await rec.stop();

### From the SignalWire Dashboard

Any recording you make will be available in your SignalWire Dashboard for download at `https://<space_name>.signalwire.com/video_recordings`.
Alternatively, navigate to the _Video_ screen from the sidebar, and click on the _Recordings_ tab to reach the same place.

<figure>
<img
className="img-800"
src={require("./dashboard-recording.webP").default}
alt="A screenshot of the Recordings tab of the Video page in the SignalWire Dashboard. A Room Recording is shown, with metadata and options to download or delete the recording."
/>
<figcaption>A recording accessed from the SignalWire Dashboard.</figcaption>
</figure>
Any recording you make will be available in your SignalWire Dashboard for download at the Storage sidebar tab. Navigate to **Storage** > **Recordings** to view, or download your recordings.

### From the REST APIs

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/dashboard/legacy/external-cxml-webhook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/dashboard/legacy/external-cxml-webhook.webp
Binary file not shown.
Binary file removed images/dashboard/legacy/laml-recording.webp
Binary file not shown.
Binary file removed images/dashboard/legacy/number-bin-config.webP
Binary file not shown.
Binary file added images/dashboard/legacy/xml-bins.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/dashboard/legacy/xml-bins.webp
Binary file not shown.

0 comments on commit 0753f18

Please sign in to comment.