Settings

SIP Integration

Connect an existing SIP trunk or PBX to Katexs so your agents answer and place calls on your own carrier, keeping your numbers, rates, and compliance setup.


When to use SIP

  • You already have a carrier โ€” Keep your negotiated per-minute rates and existing number inventory.
  • You run a PBX โ€” Route only certain queues or after-hours traffic to an agent.
  • Regulatory requirements โ€” Media must traverse a specific carrier or region.
  • Number portability is painful โ€” Point the trunk at Katexs instead of porting hundreds of DIDs.

Inbound: send calls to Katexs

  1. 1

    Create a SIP trunk in Katexs

    Settings โ†’ Phone Numbers โ†’ SIP โ†’ New trunk. Katexs issues a termination URI and credentials.

  2. 2

    Point your carrier at it

    Configure the origination URI on your carrier or PBX to the URI Katexs shows.

  3. 3

    Allow-list our signaling IPs

    Copy the IP ranges from the trunk detail page into your firewall and carrier ACL.

  4. 4

    Map DIDs to agents

    Each inbound DID is assigned to an agent exactly like a Katexs-provisioned number.

text
Termination URI : sip:ws42.sip.katexs.com
Transport       : TLS (5061) โ€” UDP/TCP 5060 available on request
Media           : SRTP, opus or PCMU/PCMA
Auth            : Digest (username + password) or IP allow-list
DTMF            : RFC 2833

Outbound: place calls through your trunk

Add your carrier's origination host and credentials so outbound calls leave over your trunk. Set the caller ID your carrier permits โ€” mismatched caller IDs are the top cause of rejected outbound SIP calls.

json
{
  "sip_trunk": {
    "name": "acme-carrier",
    "direction": "both",
    "outbound_host": "sip.carrier.example.com",
    "transport": "tls",
    "auth": { "username": "acme_ws42", "secret_ref": "SIP_PASSWORD" },
    "codecs": ["opus", "PCMU"],
    "caller_id": "+15555550100",
    "concurrency_limit": 25
  }
}

Codecs and quality

CodecBandwidthNotes
opus~24 kbpsBest transcription accuracy. Preferred when your carrier supports it.
PCMU / PCMA64 kbpsUniversal G.711. Narrowband, slightly worse recognition.
G.7298 kbpsSupported but lossy; expect more transcription errors.

Verify the trunk

  1. 1

    Run the built-in check

    The trunk page runs an OPTIONS ping and reports registration status and round-trip time.

  2. 2

    Place a test inbound call

    Dial a mapped DID. The call should appear in Call Logs within a second of ringing.

  3. 3

    Place a test outbound call

    Use Creator โ†’ Deploy โ†’ Call a number and confirm your caller ID is presented correctly.

  4. 4

    Listen to the recording

    Check for one-way audio, which almost always means an SRTP or NAT misconfiguration.

Common problems

SymptomLikely cause
403 Forbidden on INVITESignaling IP not allow-listed, or digest credentials wrong.
Call connects, no audioSRTP mismatch or media ports blocked by the firewall.
One-way audioNAT traversal โ€” enable symmetric RTP on your SBC.
488 Not Acceptable HereNo shared codec. Add PCMU as a fallback.
Outbound rejectedCaller ID not authorized on the trunk.
SIP trunks are configured per workspace, and each trunk has its own concurrency limit. Calls above the limit end with concurrency-limit rather than queuing.