Summary
The documented FunctionResult.execute_rpc(), rpc_dial(), rpc_ai_message(), and rpc_ai_unhold() helpers emit a SWML execute_rpc verb, but that verb is absent from the SDK's bundled signalwire/signalwire/schema.json and from the public SWML verb reference.
The SDK-level documentation clearly presents these helpers as intended for call screening and cross-call coordination. What remains unclear is whether the emitted wire shape is a stable public contract or an SDK implementation detail, and which production constraints apply.
This is a public contract/schema question, not an account-specific support incident. No account identifiers or credentials are involved.
Evidence
The current schema contains no execute_rpc, rpc_dial, or rpc_ai_message definition. The unit tests pin the generated JSON shape but do not establish the live-platform contract.
Requested clarification / outcome
- Confirm whether the documented
FunctionResult RPC helpers are supported for production use and covered by the SDK's normal backward-compatibility and deprecation policy.
- Clarify whether the emitted
execute_rpc SWML shape is itself a stable public contract, or an implementation detail that applications should not emit directly.
- If it is public, add it to the bundled schema and the SWML verb reference—or document why it is intentionally excluded.
- Document the supported method names and important operational constraints: required call states, timeouts, concurrency/rate limits, and unsupported combinations.
Intended flow
The production use case is:
- Hold an inbound AI call.
- Use
rpc_dial() to start a separately handled outbound leg.
- Coordinate the two calls with
rpc_ai_message() or global data.
- Release the original call with
rpc_ai_unhold().
Related schema-versus-live-platform question: #88.
Summary
The documented
FunctionResult.execute_rpc(),rpc_dial(),rpc_ai_message(), andrpc_ai_unhold()helpers emit a SWMLexecute_rpcverb, but that verb is absent from the SDK's bundledsignalwire/signalwire/schema.jsonand from the public SWML verb reference.The SDK-level documentation clearly presents these helpers as intended for call screening and cross-call coordination. What remains unclear is whether the emitted wire shape is a stable public contract or an SDK implementation detail, and which production constraints apply.
This is a public contract/schema question, not an account-specific support incident. No account identifiers or credentials are involved.
Evidence
global_data/rpc_ai_global_data()expansion: 350fccaThe current schema contains no
execute_rpc,rpc_dial, orrpc_ai_messagedefinition. The unit tests pin the generated JSON shape but do not establish the live-platform contract.Requested clarification / outcome
FunctionResultRPC helpers are supported for production use and covered by the SDK's normal backward-compatibility and deprecation policy.execute_rpcSWML shape is itself a stable public contract, or an implementation detail that applications should not emit directly.Intended flow
The production use case is:
rpc_dial()to start a separately handled outbound leg.rpc_ai_message()or global data.rpc_ai_unhold().Related schema-versus-live-platform question: #88.