docs: add video for vonage config

This commit is contained in:
Sabiha Khan 2025-11-05 11:44:38 +05:30
parent 5c1fe2c6af
commit 4fe41f104d
7 changed files with 59 additions and 40 deletions

View file

@ -42,7 +42,7 @@ The only command you need to run:
> We collect anonymous usage data to improve the product. You can opt out by setting the `ENABLE_TELEMETRY` to `false` in the below command.
```bash
curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && REGISTRY=ghcr.io/dograh-hq ENABLE_TELEMETRY=true docker compose up
curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && REGISTRY=ghcr.io/dograh-hq ENABLE_TELEMETRY=true docker compose up --pull always
```
> **Note**

View file

@ -10,7 +10,7 @@ Get the stack up and running using Docker with a single command.
<Note>We collect anonymous usage data to improve the product. You can opt out by setting the `ENABLE_TELEMETRY` to `false` in the below command.</Note>
```bash
curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && REGISTRY=ghcr.io/dograh-hq ENABLE_TELEMETRY=true docker compose up
curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && REGISTRY=ghcr.io/dograh-hq ENABLE_TELEMETRY=true docker compose up --pull always
```
Please check [Prerequisites](getting-started/prerequisites) for the system requirements and [Troubleshooting](getting-started/troubleshooting) for common issues.

View file

@ -1,9 +1,9 @@
---
title: "Prerequisites"
description: "System requirements and setup needed to run Dograh AI"
description: "System requirements and setup needed to run Dograh AI locally"
---
## System Requirements
## System Requirements (Local Setup)
### Minimum Requirements
- **RAM**: 8 GB (4 GB available for Docker)
@ -78,8 +78,8 @@ To use a specific registry, set the `REGISTRY` environment variable:
```bash
# Using GitHub Container Registry (recommended)
REGISTRY=ghcr.io/dograh-hq docker compose up
REGISTRY=ghcr.io/dograh-hq docker compose up --pull always
# Using Docker Hub
REGISTRY=dograhai docker compose up
REGISTRY=dograhai docker compose up --pull always
```

View file

@ -28,23 +28,27 @@ The telephony integration system uses a provider abstraction pattern that ensure
```python
# All providers implement this interface
class TelephonyProvider(ABC):
async def initiate_call(to_number: str, webhook_url: str, workflow_run_id: Optional[int] = None, **kwargs)
async def initiate_call(to_number: str, webhook_url: str, workflow_run_id: Optional[int] = None, **kwargs) -> CallInitiationResult
async def get_call_status(call_id: str) -> Dict[str, Any]
async def get_available_phone_numbers() -> List[str]
def validate_config() -> bool
async def verify_webhook_signature(url: str, params: Dict, signature: str) -> bool
async def get_webhook_response(workflow_id: int, user_id: int, workflow_run_id: int) -> str
async def get_call_cost(call_id: str) -> Dict[str, Any]
def parse_status_callback(data: Dict[str, Any]) -> Dict[str, Any]
async def handle_websocket(websocket: WebSocket, workflow_id: int, user_id: int, workflow_run_id: int) -> None
```
## Configuration
Dograh AI uses database configuration for all telephony providers. Configure providers through the web interface:
1. Navigate to **Settings** → **Integrations** → **Telephony**
2. Select your provider
3. Enter credentials
4. Test connection
1. Navigate to **Workflow** → **Phone Call** → **Configure Telephony**
2. Select your provider (Twilio or Vonage)
3. Watch the provider-specific video tutorial for setup guidance
4. Enter your credentials
5. Save configuration
6. Test with a phone call
## Common Features
@ -73,10 +77,10 @@ result = await provider.initiate_call(
)
# Check call status
status = await provider.get_call_status(result["call_id"])
status = await provider.get_call_status(result.call_id)
# Get call cost after completion
cost_info = await provider.get_call_cost(result["call_id"])
cost_info = await provider.get_call_cost(result.call_id)
```
## API Endpoints
@ -86,20 +90,17 @@ The telephony system exposes these unified endpoints:
| Endpoint | Method | Description |
|----------|---------|-------------|
| `/api/v1/telephony/initiate-call` | POST | Start an outbound call |
| `/api/v1/telephony/status-callback/{id}` | POST | Receive call status updates |
| `/api/v1/telephony/webhook/{id}` | GET/POST | Handle initial webhook |
| `/api/v1/telephony/ws/{id}` | WebSocket | Real-time audio streaming |
| `/api/v1/telephony/twilio/status-callback/{id}` | POST | Receive Twilio status updates |
| `/api/v1/telephony/vonage/events/{id}` | POST | Receive Vonage event updates |
| `/api/v1/telephony/twiml` | POST | Handle Twilio webhook (TwiML) |
| `/api/v1/telephony/ncco` | GET | Handle Vonage webhook (NCCO) |
| `/api/v1/telephony/ws/{workflow_id}/{user_id}/{workflow_run_id}` | WebSocket | Real-time audio streaming |
## Implementation Status
- **Twilio**: ✅ Fully implemented and tested
- **Vonage**: ✅ Fully implemented with 16kHz audio support
- **Custom Providers**: The abstraction layer supports adding new providers by implementing the `TelephonyProvider` interface
- **API Endpoints**: All telephony operations use the unified `/api/v1/telephony/*` endpoints:
- `/api/v1/telephony/initiate-call` - Start outbound calls
- `/api/v1/telephony/status-callback/{id}` - Receive call status updates
- `/api/v1/telephony/webhook/{workflow_id}/{user_id}/{workflow_run_id}` - Initial call webhook
- `/api/v1/telephony/ws/{workflow_id}/{user_id}/{workflow_run_id}` - WebSocket for audio streaming
## Troubleshooting

View file

@ -39,14 +39,14 @@ Watch this step-by-step guide to set up Twilio with Dograh AI:
### Step 2: Configure in Dograh AI
1. Navigate to **Settings** → **Integrations** → **Telephony**
2. Select **Twilio** as your provider
3. Enter your credentials:
1. Navigate to **Workflow** → **Phone Call** → **Configure Telephony**
2. Watch the Twilio setup video tutorial above for detailed guidance
3. Select **Twilio** as your provider
4. Enter your credentials:
- Account SID
- Auth Token
- Phone Numbers (comma-separated if multiple)
4. Click **Test Connection**
5. Save configuration
- From Phone Number (with country code, e.g., +1234567890)
5. Click **Save Configuration**
### Step 3: Test Your Configuration

View file

@ -17,6 +17,18 @@ Before setting up Vonage integration, you'll need:
- At least one Vonage phone number
- Dograh AI instance running and accessible
## Video Tutorial
Watch this step-by-step guide to set up Vonage with Dograh AI:
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.tella.tv/video/configuring-telephony-on-dograh-with-vonage-3wvo/embed?b=1&title=1&a=1&loop=0&t=0&muted=0&wt=1"
title="Dograh Vonage Setup"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
## Configuration
### Step 1: Create Vonage Application
@ -29,23 +41,23 @@ Before setting up Vonage integration, you'll need:
### Step 2: Get API Credentials
1. Find your **API Key** and **API Secret** in the dashboard
1. Find your **API Key** and **API Secret** in the dashboard under **API Settings**
2. Navigate to **Numbers** → **Your Numbers**
3. Copy your phone number(s)
4. Link your numbers to your application
### Step 3: Configure in Dograh AI
1. Navigate to **Settings** → **Integrations** → **Telephony**
2. Select **Vonage** as your provider
3. Enter your credentials:
1. Navigate to **Workflow** → **Phone Call** → **Configure Telephony**
2. Watch the Vonage setup video tutorial above for detailed guidance
3. Select **Vonage** as your provider
4. Enter your credentials:
- Application ID
- Private Key (entire key including BEGIN/END lines)
- API Key
- API Secret
- Phone Numbers (comma-separated if multiple)
4. Click **Test Connection**
5. Save configuration
- API Key (Optional - for some operations)
- API Secret (Optional - for webhook verification)
- From Phone Number (without '+' prefix, e.g., 14155551234)
5. Click **Save Configuration**
### Step 4: Test Your Configuration
@ -121,7 +133,7 @@ Vonage uses higher quality audio (16kHz) which provides:
</Accordion>
<Accordion title="Invalid phone number error">
- Remove the '+' prefix for Vonage (use `1234567890` not `+1234567890`)
- Remove the '+' prefix for Vonage (use `14155551234` not `+14155551234`)
- Ensure numbers are in E.164 format without the '+'
- Verify numbers are active in your Vonage account
</Accordion>

View file

@ -175,9 +175,11 @@ export default function ConfigureTelephonyPage() {
<div>
<Card className="h-full">
<CardHeader>
<CardTitle>Setup Guide</CardTitle>
<CardTitle>
{selectedProvider === "twilio" ? "Twilio" : "Vonage"} Setup Guide
</CardTitle>
<CardDescription>
Watch this video to learn how to setup telephony
Watch this video to learn how to setup {selectedProvider === "twilio" ? "Twilio" : "Vonage"}
</CardDescription>
</CardHeader>
<CardContent>
@ -186,7 +188,11 @@ export default function ConfigureTelephonyPage() {
style={{ border: 0 }}
width="100%"
height="100%"
src="https://www.tella.tv/video/cmgbvzkrt00jk0clacu16blm3/embed?b=0&title=1&a=1&loop=0&t=0&muted=0&wt=0"
src={
selectedProvider === "twilio"
? "https://www.tella.tv/video/cmgbvzkrt00jk0clacu16blm3/embed?b=0&title=1&a=1&loop=0&t=0&muted=0&wt=0"
: "https://www.tella.tv/video/configuring-telephony-on-dograh-with-vonage-3wvo/embed?b=0&title=1&a=1&loop=0&t=0&muted=0&wt=0"
}
allowFullScreen
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
/>