Sign inSign up

phirumseng/plxy-voice-gateway-media

By phirumseng

โ€ขUpdated about 1 month ago

PLXY AI Call Center media edge โ€” FreeSWITCH 1.10 SIP and RTP trunk box, no call logic

Image
Networking
0

136

phirumseng/plxy-voice-gateway-media repository overview

โ plxy-voice-gateway-media

Telephony edge of the PLXY AI Call Center: a FreeSWITCH 1.10 container carrying the SIP trunks to the carrier and to 3CX, and the RTP audio in both directions.

Deliberately dumb. It parks calls and answers the Event Socket; every decision is made by plxy-voice-gateway. That is what makes this box auditable โ€” the piece exposed to the internet holds no business logic.

Part of a five-image platform that answers calls from a SIP trunk, runs an AI conversation, and transfers to a 3CX agent when the flow says so.

๐Ÿ“– Deployment guideโ  ยท Configuration referenceโ 

โ Ports

Host-networked in production โ€” these are bound on the DMZ host itself.

PortProtocolPurpose
5060UDP/TCPSIP โ€” carrier trunk and 3CX
16384-16484UDPRTP audio (โ‰ˆ50 concurrent calls). Must be open inbound from the carrier
8021TCPEvent Socket โ€” bound to 127.0.0.1, for the gateway only

If the RTP range is wrong or blocked, calls connect and stay silent. That is the single most common deployment fault.

โ Configuration

VariableRequiredWhat it is
TELCO_PROXYโœ…Carrier SBC host[:port]
TELCO_ALLOWED_NETSโœ…Carrier source CIDRs. The container refuses to start without it
PBX3CX_PROXYโœ…Your 3CX host[:port]
PBX3CX_ALLOWED_NETSโœ…3CX source CIDRs
EXTERNAL_IPAddress put in SIP/SDP. Default auto; set the public IPv4 behind 1:1 NAT or audio flows one way only
TELCO_REGISTER / TELCO_USERNAMEOnly for credentialed trunks; IP-authenticated trunks stay false
RTP_START / RTP_ENDDefault 16384โ€“16484. Widen for more calls and open the firewall in step

TELCO_ALLOWED_NETS is required for a reason: the trunk profile does not digest-authenticate callers, so that ACL is the only thing between the SIP port and the internet. List the carrier's SBC networks and nothing wider.

โ Secrets

ESL_PASSWORD_FILE โ€” read from a mounted file, never the environment. Shared with plxy-voice-gateway.

โ Run it

This image is one service of the gateway stack and needs plxy-voice-gateway beside it. On the DMZ host:

git clone https://github.com/SengPhirum/PLXY_AICC.git && cd PLXY_AICC
deploy/swarm/secrets-init.sh gateway prod
TAG=0.1.0 deploy/swarm/deploy.sh gateway prod

Firewall table and carrier onboarding notes: https://sengphirum.github.io/PLXY_AICC/setup-guideโ 

โ Tags

latest tracks the newest release. Pin the version tag (0.1.0) in production, and use the same tag for all five images โ€” they ship as one set.

โ The other images

plxy-voice-gatewayโ  ยท plxy-callbot-apiโ  ยท plxy-callbot-uiโ  ยท plxy-callbot-workerโ 

Tag summary

Content type

Image

Digest

sha256:34dc242c6โ€ฆ

Size

46.5 MB

Last updated

about 1 month ago

docker pull phirumseng/plxy-voice-gateway-media