Skip to content

Instantly share code, notes, and snippets.

@bajajcodes
Created May 24, 2024 04:37
Show Gist options
  • Save bajajcodes/5722cade50a9867b98b246a2cb30ced4 to your computer and use it in GitHub Desktop.
Save bajajcodes/5722cade50a9867b98b246a2cb30ced4 to your computer and use it in GitHub Desktop.
This code is for setting up telephony server
import logging
import os
import sys
# Third-party imports
from fastapi import FastAPI
from vocode.streaming.telephony.config_manager.redis_config_manager import (
RedisConfigManager,
)
from vocode.streaming.telephony.server.base import (
TelephonyServer
)
from dotenv import load_dotenv
# if running from python, this will load the local .env
# docker-compose will load the .env file by itself
load_dotenv()
app = FastAPI(docs_url=None)
logging.basicConfig()
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
config_manager = RedisConfigManager(
logger=logger,
)
BASE_URL = os.getenv("BASE_URL")
port = sys.argv[sys.argv.index("--port") + 1] if "--port" in sys.argv else 3000
# Open a ngrok tunnel to the dev server
logger.info('ngrok tunnel "{}" -> "http://127.0.0.1:{}"'.format(BASE_URL, port))
if not BASE_URL:
raise ValueError("BASE_URL must be set in environment")
telephony_server = TelephonyServer(
base_url=BASE_URL,
config_manager=config_manager,
logger=logger,
)
app.include_router(telephony_server.get_router())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment