Fix README.md

This commit is contained in:
Varun Singh
2025-04-01 23:32:50 -07:00
parent c9f7882728
commit 18b56d4a10
3 changed files with 17 additions and 26 deletions

View File

@@ -2,15 +2,15 @@
This repository contains two server implementations for handling
the pinless dialin workflow in pipecat cloud. This is the companion to the
[pstn/sip pcc starter images](https://github.com/daily-co/pipecat-cloud-images/tree/vr000m-starter-image-dial-in-out/pipecat-starters/pstn_sip).
Pipecat Cloud [pstn_sip starter image](https://github.com/daily-co/pipecat-cloud-images/tree/main/pipecat-starters/pstn_sip).
In addition you can use `/api/dial` to trigger dial-out, and
eventually, call-transfers.
1. [Simple Python Server](simple-python/README.md) -
1. [FastAPI Server](simple-python/README.md) -
A FastAPI implementation that handles PSTN (Public Switched Telephone
Network) and SIP (Session Initiation Protocol) calls using the Daily API.
2. [Vercel Serverless](vercel/readme.md) -
2. [Vercel Serverless](vercel/README.md) -
A Next.js API implementation designed for deployment on Vercel's
serverless platform.
@@ -39,7 +39,7 @@ Both implementations provide:
### Environment Variables
Both implementations require similar environment variables:
- `DAILY_API_KEY`: Your Daily API key
- `PIPECAT_CLOUD_API_KEY`: Pipecat Cloud API Key, begins with pk_*
- `AGENT_NAME`: Your Daily agent name
- `PINLESS_HMAC_SECRET`: Your HMAC secret for request verification
- `LOG_LEVEL`: (Optional) Logging level (defaults to 'info')
@@ -47,12 +47,12 @@ Both implementations require similar environment variables:
See the individual README files in each implementation directory for
specific setup instructions.
### ### Phone number setup
### Phone number setup
You can buy a phone number through the Pipecat Cloud Dashboard:
1. Go to `Settings` > `Telephony`
2. Follow the UI to purchase a phone number
3. Configure the webhook URL to receive incoming calls
3. Configure the webhook URL to receive incoming calls (e.g. `https://my-webhook-url.com/api/dial`)
Or purchase the number using Daily's
[PhoneNumbers API](https://docs.daily.co/reference/rest-api/phone-numbers).
@@ -86,11 +86,9 @@ to `{service}/start` that will manage this for you.
In the meantime, the server described below serves as the webhook
handler for the `room_creation_api`. Configure your pinless phone
number or sip interconnect to the `ngrok` tunnel or
number or SIP interconnect to the `ngrok` tunnel or
the actual server URL, append `/api/dial` to the webhook URL.
## Examples curl commands
Note: Replace `http://localhost:3000` with your actual server URL and

View File

@@ -1,17 +1,7 @@
# Daily PSTN/SIP Server
# PSTN/SIP Webhook Handler
A FastAPI server that handles PSTN (Public Switched Telephone Network) and SIP (Session Initiation Protocol) calls using the Daily API.
## Requirements
- Python 3.8+
- FastAPI
- Uvicorn
- Python-dotenv
- Requests
- Pydantic
- Loguru
## Setup
1. Clone the repository
@@ -19,22 +9,23 @@ A FastAPI server that handles PSTN (Public Switched Telephone Network) and SIP (
```bash
pip install -r requirements.txt
```
3. Copy `.env.example` to `.env`:
3. Copy `env.example` to `.env`:
```bash
cp .env.example .env
```
4. Update `.env` with your credentials:
- `AGENT_NAME`: Your Daily agent name
- `DAILY_API_KEY`: Your Daily API key
- `PIPECAT_CLOUD_API_KEY`: Your Daily API key
- `PINLESS_HMAC_SECRET`: Your HMAC secret for request verification
## Running the Server
3. Copy `env.example` to `.env`:
Start the server with:
```bash
python server.py
```
The server will run on `http://localhost:3000`
The server will run on `http://localhost:3000` and you can expose it via ngrok for testing:
`ngrok http 3000`
## API Endpoints
@@ -78,5 +69,7 @@ Returns a JSON object containing:
## Error Handling
- 401: Invalid signature
- 400: Invalid authorization header (e.g. missing Daily API key in bot.py)
- 405: Method not allowed (e.g. incorrect route on the webhook URL)
- 500: Server errors (missing API key, network issues)
- Other status codes are passed through from the Daily API

View File

@@ -20,7 +20,7 @@ Next.js API routes for handling Daily Pipecat requests.
```
3. Create `.env.local` file with your credentials:
```
DAILY_API_KEY=your_daily_api_key
PIPECAT_CLOUD_API_KEY=pk_*
AGENT_NAME=my-first-agent
PINLESS_HMAC_SECRET=your_hmac_secret
LOG_LEVEL=info
@@ -69,7 +69,7 @@ The application is configured for Vercel deployment:
1. Push your code to a Git repository
2. Import your project in Vercel dashboard
3. Configure environment variables:
- `DAILY_API_KEY`
- `PIPECAT_CLOUD_API_KEY`
- `AGENT_NAME`
- `PINLESS_HMAC_SECRET`
- `LOG_LEVEL` (optional, defaults to 'info')