github.com/telequick/telequick-sdk/go/pkg. The package name is telequick.
Constructors and fields
| Argument | Notes |
|---|---|
endpoint | quic://host:port. ALPN h3. |
credPath | Path to your service-account JSON. Empty ⇒ reads TELEQUICK_CREDENTIALS. |
NewClient returns an unconnected client. The first RPC opens the QUIC
session lazily.
RPC methods
All RPC methods returnerror. Internal serialization, FFI calls, and
QUIC writes happen synchronously.
(c *Client) Dial(...) error
clientIdOverride == "" uses the SDK-generated UUID (which is what events
are subscribed under).
(c *Client) OriginateBulk(...) error
cps sets both calls_per_second and max_concurrent_calls to the same
value.
Single-arg methods
Multi-arg methods
Mid-call control verbs
Theclutch CLI exposes transfer, mute, unmute, hold, unhold,
send-dtmf — each calls ExecuteDialplan with a DialplanAction
value (7-12). The Go SDK ships these as one direct method
(ExecuteDialplan); call it with the right action integer:
Audio
SerializeAudioFrame returns a fully-framed wire packet ready to write to
your own QUIC stream.
Method ID constants
Concurrency
Client is not safe for concurrent RPC method calls — guard it with a
mutex if multiple goroutines need to issue RPCs. Audio pushes are routed
to a single internal uni-stream, so serializing PushAudio calls per
call_sid is required to keep sequence_number monotonic on the wire.
OnAudioFrame and OnCallEvent are invoked from a goroutine the SDK
spawns; treat them as if they ran on a hot path (don’t block, don’t allocate
unnecessarily).