api/ruby/telnyx-sip-ruby/SKILL.md
Configure SIP trunking connections and outbound voice profiles. Use when connecting PBX systems or managing SIP infrastructure. This skill provides Ruby SDK examples.
npx skillsauth add team-telnyx/telnyx-toolkit telnyx-sip-rubyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
gem install telnyx
require "telnyx"
client = Telnyx::Client.new(
api_key: ENV["TELNYX_API_KEY"], # This is the default and can be omitted
)
All examples below assume client is already initialized as shown above.
Get all outbound voice profiles belonging to the user that match the given filters.
GET /outbound_voice_profiles
page = client.outbound_voice_profiles.list
puts(page)
Create an outbound voice profile.
POST /outbound_voice_profiles — Required: name
outbound_voice_profile = client.outbound_voice_profiles.create(name: "office")
puts(outbound_voice_profile)
Retrieves the details of an existing outbound voice profile.
GET /outbound_voice_profiles/{id}
outbound_voice_profile = client.outbound_voice_profiles.retrieve("1293384261075731499")
puts(outbound_voice_profile)
PATCH /outbound_voice_profiles/{id} — Required: name
outbound_voice_profile = client.outbound_voice_profiles.update("1293384261075731499", name: "office")
puts(outbound_voice_profile)
Deletes an existing outbound voice profile.
DELETE /outbound_voice_profiles/{id}
outbound_voice_profile = client.outbound_voice_profiles.delete("1293384261075731499")
puts(outbound_voice_profile)
Returns a list of your connections irrespective of type.
GET /connections
page = client.connections.list
puts(page)
Retrieves the high-level details of an existing connection.
GET /connections/{id}
connection = client.connections.retrieve("id")
puts(connection)
Returns a list of your credential connections.
GET /credential_connections
page = client.credential_connections.list
puts(page)
Creates a credential connection.
POST /credential_connections — Required: user_name, password, connection_name
credential_connection = client.credential_connections.create(
connection_name: "my name",
password: "my123secure456password789",
user_name: "myusername123"
)
puts(credential_connection)
Retrieves the details of an existing credential connection.
GET /credential_connections/{id}
credential_connection = client.credential_connections.retrieve("id")
puts(credential_connection)
Updates settings of an existing credential connection.
PATCH /credential_connections/{id}
credential_connection = client.credential_connections.update("id")
puts(credential_connection)
Deletes an existing credential connection.
DELETE /credential_connections/{id}
credential_connection = client.credential_connections.delete("id")
puts(credential_connection)
Checks the registration_status for a credential connection, (registration_status) as well as the timestamp for the last SIP registration event (registration_status_updated_at)
POST /credential_connections/{id}/actions/check_registration_status
response = client.credential_connections.actions.check_registration_status("id")
puts(response)
Get all IPs belonging to the user that match the given filters.
GET /ips
page = client.ips.list
puts(page)
Create a new IP object.
POST /ips — Required: ip_address
ip = client.ips.create(ip_address: "192.168.0.0")
puts(ip)
Return the details regarding a specific IP.
GET /ips/{id}
ip = client.ips.retrieve("6a09cdc3-8948-47f0-aa62-74ac943d6c58")
puts(ip)
Update the details of a specific IP.
PATCH /ips/{id} — Required: ip_address
ip = client.ips.update("6a09cdc3-8948-47f0-aa62-74ac943d6c58", ip_address: "192.168.0.0")
puts(ip)
Delete an IP.
DELETE /ips/{id}
ip = client.ips.delete("6a09cdc3-8948-47f0-aa62-74ac943d6c58")
puts(ip)
Returns a list of your IP connections.
GET /ip_connections
page = client.ip_connections.list
puts(page)
Creates an IP connection.
POST /ip_connections
ip_connection = client.ip_connections.create
puts(ip_connection)
Retrieves the details of an existing ip connection.
GET /ip_connections/{id}
ip_connection = client.ip_connections.retrieve("id")
puts(ip_connection)
Updates settings of an existing IP connection.
PATCH /ip_connections/{id}
ip_connection = client.ip_connections.update("id")
puts(ip_connection)
Deletes an existing IP connection.
DELETE /ip_connections/{id}
ip_connection = client.ip_connections.delete("id")
puts(ip_connection)
Get all FQDNs belonging to the user that match the given filters.
GET /fqdns
page = client.fqdns.list
puts(page)
Create a new FQDN object.
POST /fqdns — Required: fqdn, dns_record_type, connection_id
fqdn = client.fqdns.create(connection_id: "1516447646313612565", dns_record_type: "a", fqdn: "example.com")
puts(fqdn)
Return the details regarding a specific FQDN.
GET /fqdns/{id}
fqdn = client.fqdns.retrieve("id")
puts(fqdn)
Update the details of a specific FQDN.
PATCH /fqdns/{id}
fqdn = client.fqdns.update("id")
puts(fqdn)
Delete an FQDN.
DELETE /fqdns/{id}
fqdn = client.fqdns.delete("id")
puts(fqdn)
Returns a list of your FQDN connections.
GET /fqdn_connections
page = client.fqdn_connections.list
puts(page)
Creates a FQDN connection.
POST /fqdn_connections — Required: connection_name
fqdn_connection = client.fqdn_connections.create(connection_name: "string")
puts(fqdn_connection)
Retrieves the details of an existing FQDN connection.
GET /fqdn_connections/{id}
fqdn_connection = client.fqdn_connections.retrieve("id")
puts(fqdn_connection)
Updates settings of an existing FQDN connection.
PATCH /fqdn_connections/{id}
fqdn_connection = client.fqdn_connections.update("id")
puts(fqdn_connection)
Deletes an FQDN connection.
DELETE /fqdn_connections/{id}
fqdn_connection = client.fqdn_connections.delete("id")
puts(fqdn_connection)
GET /v2/mobile_voice_connections
page = client.mobile_voice_connections.list
puts(page)
POST /v2/mobile_voice_connections
mobile_voice_connection = client.mobile_voice_connections.create
puts(mobile_voice_connection)
GET /v2/mobile_voice_connections/{id}
mobile_voice_connection = client.mobile_voice_connections.retrieve("id")
puts(mobile_voice_connection)
PATCH /v2/mobile_voice_connections/{id}
mobile_voice_connection = client.mobile_voice_connections.update("id")
puts(mobile_voice_connection)
DELETE /v2/mobile_voice_connections/{id}
mobile_voice_connection = client.mobile_voice_connections.delete("id")
puts(mobile_voice_connection)
tools
Build cross-platform VoIP calling apps with React Native using Telnyx Voice SDK. High-level reactive API with automatic lifecycle management, CallKit/ConnectionService integration, and push notifications. Use for mobile VoIP apps with minimal setup.
tools
Build browser-based VoIP calling apps using Telnyx WebRTC JavaScript SDK. Covers authentication, voice calls, events, debugging, call quality metrics, and AI Agent integration. Use for web-based real-time communication.
tools
Build VoIP calling apps on iOS using Telnyx WebRTC SDK. Covers authentication, making/receiving calls, CallKit integration, PushKit/APNS push notifications, call quality metrics, and AI Agent integration. Use when implementing real-time voice communication on iOS.
tools
Build cross-platform VoIP calling apps with Flutter using Telnyx WebRTC SDK. Covers authentication, making/receiving calls, push notifications (FCM + APNS), call quality metrics, and AI Agent integration. Works on Android, iOS, and Web.