capabilities are grouped by setup, inbound work, and outward action. each stage has different dependencies and different proof requirements.
receive first.
act second.
- 01choose a provider and did
start with a carrier account and a compatible number. provider capabilities differ across voice registration, trunking, sms, and email delivery.
- 02prepare the sip client
main writes linphone configuration and reads its databases. later calling branches choose baresip for socket control and audio experiments.
- 03make inbound delivery reachable
configure a provider webhook to an awake public host or tunnel, or use an appropriate carrier-email route where supported.
- 04run doctor and prove delivery
inspect configuration, then send a real text or place a real call. installation alone does not prove carrier routing, media, or credentials.
json, form, and query-string deliveries become common records with sender, recipient, body, timestamps, and the raw provider payload.
provider ids prevent repeated deliveries from multiplying messages; separate read marks keep viewing state explicit.
local views group communication into threads and expose missed calls, messages, voicemail, and call history.
parse supported carrier email, retain message content, and import attachments such as voicemail audio into the local workflow.
the linphone sqlite databases are opened read-only so the toolkit can inspect history without treating the client's database as its own write store.
on mcp, concurrent sip events and http messages enter one sequenced in-memory timeline for the running session.
- 01single-recipient sms
main includes http adapters for voip.ms, flowroute, and signalwire. sending requires both the environment opt-in and explicit send authorization.
- 02sender allow policy
the allow branch evaluates explicit numbers, home country, or selected countries, defaults closed, and persists refusal records.
- 03outbound call tasks
callheavy adds baresip control, local audio pumping, and an optional call-e rail. its strongest proof is a local loopback audio test, not universal carrier verification.
- 04voicemail worker
generated livekit agents and openai tts worker code exists, but the baseline still has authorization and separately-running-agent gaps. it is not one-command voicemail delivery.
- 05mcp outward tools
the mcp branch describes twelve read-only tools and three outward-facing tools over local stdio, not a hosted https api.