使用说明
isip——给你的人工智能代理一个电话☎️
一个MCP服务器(加上Python SDK和CLI),允许AI代理通过SIP拨打和进行真实的电话。
它做什么
点克劳德桌面、光标或任何MCP客户端 isip 你的代理人可以 拨打一个真实的电话号码,说话(TTS),听(STT),记录通话,并报告一份记录 --无需构建Twilio应用程序,无需SaaS平台,也不需要Docker。它建立在本土,经过战斗考验 PJSIP 堆栈。
在引擎盖下,有三种方法可以拨打电话:
- MCP服务器 --将调用作为工具暴露给任何AI代理。
- Python SDK(
Sippy) -一个干净的高级API:sippy.call(target, prompt=…)→ 成绩单。 - CLI(
siptester) --单个调用或JSON定义的测试套件。
你的经纪人,正在打电话
一旦MCP服务器连接到Claude Desktop或Cursor,模型就可以用简单的语言进行调用:
You: "Call +1 512-555-0142, introduce yourself, and ask whether they're open today."
Claude: 📞 Calling… connected (24.1s).
Transcript: "Hi! Yes, we're open until 6pm today. How can I help?"
暴露于代理的MCP工具:
| 工具 | 它做什么 |
|---|---|
place_call(phone, prompt) |
拨打号码,说出提示,转录回复 |
list_recordings() |
查看之前的通话记录+成绩单 |
代理人驾驶电话; isip 处理SIP信令、音频、TTS/STT和录制。
为什么存在
给代理人一部手机可以解锁两件事:
- 测试语音AI --脚本和回归测试来自代码或代理本身的SIP语音代理、中继、网关和IVR。
- 代理间电话 (更大的想法) --处理长达一小时的等待的人工智能称人类讨厌(例如保险 利益验证),并进行谈判 AI到AI 当另一侧也实现自动化时——将一小时的等待时间变成几秒钟。
快速开始
先决条件
- macOS(10.15+)·Python 3.12+·自制
安装
# 1. System dependencies
brew install pjproject ffmpeg
# 2. Clone + set up the SDK
git clone https://github.com/nwalker85/isip.git
cd isip/sdk/python
python3.12 -m venv .venv && source .venv/bin/activate
pip install -e .
# 3. Configure credentials
cp ../../.env.example ../../.env # then edit with your keys
.env:
# AI services
OPENAI_API_KEY=sk-...
DEEPGRAM_API_KEY=...
ELEVENLABS_API_KEY=... # optional
# SIP gateway
SIP_USERNAME=your_username
SIP_PASSWORD=your_password
SIP_GATEWAY=<your-gateway>.sip.livekit.cloud
将其连接到您的代理(MCP)
cd mcp-server-isip
pip install -e .
添加到克劳德桌面(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"isip": {
"command": "mcp-server-isip",
"cwd": "/path/to/isip"
}
}
}
那就让克劳德打个电话吧。看 mcp-server-isip/QUICKSTART.md 对于完整设置。
或者从Python调用
from siptester import Sippy, VoiceService, SipHeaders
sippy = Sippy(
voice_service=VoiceService("openai", "tts-1"),
transcription_service=VoiceService("deepgram", "nova-2"),
)
target = SipHeaders(sip_to="sip:+15125550142@<your-gateway>.sip.livekit.cloud")
result = sippy.call(target, prompt="Hello, this is a test call.")
if result.established:
print(result.duration, result.transcript)
一个衬垫:
from siptester import quick_call
print(quick_call(phone="+15125550142", prompt="Hello, is anyone there?",
username="user", password="pass").transcript)
或者从CLI
source sdk/python/.venv/bin/activate
siptester call \
--gateway "$SIP_GATEWAY" --user "$SIP_USERNAME" --password "$SIP_PASSWORD" \
--phone +15125550142 --prompt-text "Hello, this is a test" \
--openai-key "$OPENAI_API_KEY" --deepgram-key "$DEEPGRAM_API_KEY"
# Or a JSON test suite:
siptester suite --suite tests/example_tests.json \
--gateway "$SIP_GATEWAY" --user "$SIP_USERNAME" --password "$SIP_PASSWORD"
建筑
AI agent (Claude / Cursor)
│ MCP
▼
mcp-server-isip ──► Sippy (high-level API) ──► SipTestClient ──► PJSIP (native)
│ │
OpenAI TTS / Deepgram STT SIP gateway (e.g. LiveKit)
│
the phone network
- MCP服务器 (
mcp-server-isip/)--面向代理的工具。 - 开发包 (
sdk/python/siptester/) —Sippy高级API,低级SipTestClient,以及siptesterCLI。 - PJSIP --本地SIP信令。
- 人工智能服务 --OpenAI TTS用于提示,Deepgram STT用于转录;ElevenLabs可选。
状态
一个经过端到端验证的工作原型(对LiveKit SIP网关的实时呼叫):
| 组件 | 状态 |
|---|---|
| PJSIP绑定 | ✅ 工作 |
Python SDK/ Sippy |
✅ 工作 |
| OpenAI TTS·Deepgram STT✅ 工作 | |
| 实时SIP呼叫(LiveKit网关) | ✅ ~28s电话,收到成绩单 |
| 录音 | ✅ 工作 |
| MCP服务器 | ✅ AI代理可以拨打电话 |
| CLI | ✅ 工作 |
路线图
- SDK强化 --打包、使用PJSIP模拟的单元测试、类型覆盖。
- 命令行界面 --配置文件(
~/.isip/config.yaml),JSON输出,并行运行并重试。 - 代理电话 --更丰富的MCP工具(多回合对话、DTMF/IVR导航、呼叫转移)和代理到代理VOB用例。
- 跨平台 --Linux验证,Docker镜像优化。
故障排除
pjsua/未找到PJSIP →brew install pjprojectffmpeg未找到 →brew install ffmpeg- 麦克风权限 → 系统设置→ 隐私和安全→ 麦克风
- NAT/防火墙 → set
local_ip到您的公共IPSipHeaders(...) - SIP身份验证失败 → 与您的SIP提供商验证凭据;电子邮件样式的用户名会自动规范化。
学分和许可证
内置于 PJSIP, 开放人工智能 (TTS), Deepgram (STT),并针对 LiveKit 的 SIP网关。
麻省理工学院——见 许可证.
给你的经纪人一个电话。