Configure voicemail, voice channels, and emergency (E911) services for your phone numbers. This skill provides Java SDK examples.
Scanned 2/12/2026
Install via CLI
openskills install team-telnyx/telnyx-ext-agent-skills---
name: telnyx-numbers-services-java
description: >-
Configure voicemail, voice channels, and emergency (E911) services for your
phone numbers. This skill provides Java SDK examples.
metadata:
author: telnyx
product: numbers-services
language: java
---
# Telnyx Numbers Services - Java
## Installation
```bash
// Add to pom.xml or build.gradle - see https://github.com/team-telnyx/telnyx-java
```
## Setup
```java
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
```
All examples below assume `client` is already initialized as shown above.
## List dynamic emergency addresses
Returns the dynamic emergency addresses according to filters
`GET /dynamic_emergency_addresses`
```java
import com.telnyx.sdk.models.dynamicemergencyaddresses.DynamicEmergencyAddressListPage;
import com.telnyx.sdk.models.dynamicemergencyaddresses.DynamicEmergencyAddressListParams;
DynamicEmergencyAddressListPage page = client.dynamicEmergencyAddresses().list();
```
## Create a dynamic emergency address.
Creates a dynamic emergency address.
`POST /dynamic_emergency_addresses` — Required: `house_number`, `street_name`, `locality`, `administrative_area`, `postal_code`, `country_code`
```java
import com.telnyx.sdk.models.dynamicemergencyaddresses.DynamicEmergencyAddress;
import com.telnyx.sdk.models.dynamicemergencyaddresses.DynamicEmergencyAddressCreateParams;
import com.telnyx.sdk.models.dynamicemergencyaddresses.DynamicEmergencyAddressCreateResponse;
DynamicEmergencyAddress params = DynamicEmergencyAddress.builder()
.administrativeArea("TX")
.countryCode(DynamicEmergencyAddress.CountryCode.US)
.houseNumber("600")
.locality("Austin")
.postalCode("78701")
.streetName("Congress")
.build();
DynamicEmergencyAddressCreateResponse dynamicEmergencyAddress = client.dynamicEmergencyAddresses().create(params);
```
## Get a dynamic emergency address
Returns the dynamic emergency address based on the ID provided
`GET /dynamic_emergency_addresses/{id}`
```java
import com.telnyx.sdk.models.dynamicemergencyaddresses.DynamicEmergencyAddressRetrieveParams;
import com.telnyx.sdk.models.dynamicemergencyaddresses.DynamicEmergencyAddressRetrieveResponse;
DynamicEmergencyAddressRetrieveResponse dynamicEmergencyAddress = client.dynamicEmergencyAddresses().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
```
## Delete a dynamic emergency address
Deletes the dynamic emergency address based on the ID provided
`DELETE /dynamic_emergency_addresses/{id}`
```java
import com.telnyx.sdk.models.dynamicemergencyaddresses.DynamicEmergencyAddressDeleteParams;
import com.telnyx.sdk.models.dynamicemergencyaddresses.DynamicEmergencyAddressDeleteResponse;
DynamicEmergencyAddressDeleteResponse dynamicEmergencyAddress = client.dynamicEmergencyAddresses().delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
```
## List dynamic emergency endpoints
Returns the dynamic emergency endpoints according to filters
`GET /dynamic_emergency_endpoints`
```java
import com.telnyx.sdk.models.dynamicemergencyendpoints.DynamicEmergencyEndpointListPage;
import com.telnyx.sdk.models.dynamicemergencyendpoints.DynamicEmergencyEndpointListParams;
DynamicEmergencyEndpointListPage page = client.dynamicEmergencyEndpoints().list();
```
## Create a dynamic emergency endpoint.
Creates a dynamic emergency endpoints.
`POST /dynamic_emergency_endpoints` — Required: `dynamic_emergency_address_id`, `callback_number`, `caller_name`
```java
import com.telnyx.sdk.models.dynamicemergencyendpoints.DynamicEmergencyEndpoint;
import com.telnyx.sdk.models.dynamicemergencyendpoints.DynamicEmergencyEndpointCreateParams;
import com.telnyx.sdk.models.dynamicemergencyendpoints.DynamicEmergencyEndpointCreateResponse;
DynamicEmergencyEndpoint params = DynamicEmergencyEndpoint.builder()
.callbackNumber("+13125550000")
.callerName("Jane Doe Desk Phone")
.dynamicEmergencyAddressId("0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
.build();
DynamicEmergencyEndpointCreateResponse dynamicEmergencyEndpoint = client.dynamicEmergencyEndpoints().create(params);
```
## Get a dynamic emergency endpoint
Returns the dynamic emergency endpoint based on the ID provided
`GET /dynamic_emergency_endpoints/{id}`
```java
import com.telnyx.sdk.models.dynamicemergencyendpoints.DynamicEmergencyEndpointRetrieveParams;
import com.telnyx.sdk.models.dynamicemergencyendpoints.DynamicEmergencyEndpointRetrieveResponse;
DynamicEmergencyEndpointRetrieveResponse dynamicEmergencyEndpoint = client.dynamicEmergencyEndpoints().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
```
## Delete a dynamic emergency endpoint
Deletes the dynamic emergency endpoint based on the ID provided
`DELETE /dynamic_emergency_endpoints/{id}`
```java
import com.telnyx.sdk.models.dynamicemergencyendpoints.DynamicEmergencyEndpointDeleteParams;
import com.telnyx.sdk.models.dynamicemergencyendpoints.DynamicEmergencyEndpointDeleteResponse;
DynamicEmergencyEndpointDeleteResponse dynamicEmergencyEndpoint = client.dynamicEmergencyEndpoints().delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
```
## List your voice channels for non-US zones
Returns the non-US voice channels for your account.
`GET /channel_zones`
```java
import com.telnyx.sdk.models.channelzones.ChannelZoneListPage;
import com.telnyx.sdk.models.channelzones.ChannelZoneListParams;
ChannelZoneListPage page = client.channelZones().list();
```
## Update voice channels for non-US Zones
Update the number of Voice Channels for the Non-US Zones.
`PUT /channel_zones/{channel_zone_id}` — Required: `channels`
```java
import com.telnyx.sdk.models.channelzones.ChannelZoneUpdateParams;
import com.telnyx.sdk.models.channelzones.ChannelZoneUpdateResponse;
ChannelZoneUpdateParams params = ChannelZoneUpdateParams.builder()
.channelZoneId("channel_zone_id")
.channels(0L)
.build();
ChannelZoneUpdateResponse channelZone = client.channelZones().update(params);
```
## List your voice channels for US Zone
Returns the US Zone voice channels for your account.
`GET /inbound_channels`
```java
import com.telnyx.sdk.models.inboundchannels.InboundChannelListParams;
import com.telnyx.sdk.models.inboundchannels.InboundChannelListResponse;
InboundChannelListResponse inboundChannels = client.inboundChannels().list();
```
## Update voice channels for US Zone
Update the number of Voice Channels for the US Zone.
`PATCH /inbound_channels` — Required: `channels`
```java
import com.telnyx.sdk.models.inboundchannels.InboundChannelUpdateParams;
import com.telnyx.sdk.models.inboundchannels.InboundChannelUpdateResponse;
InboundChannelUpdateParams params = InboundChannelUpdateParams.builder()
.channels(7L)
.build();
InboundChannelUpdateResponse inboundChannel = client.inboundChannels().update(params);
```
## List All Numbers using Channel Billing
Retrieve a list of all phone numbers using Channel Billing, grouped by Zone.
`GET /list`
```java
import com.telnyx.sdk.models.list.ListRetrieveAllParams;
import com.telnyx.sdk.models.list.ListRetrieveAllResponse;
ListRetrieveAllResponse response = client.list().retrieveAll();
```
## List Numbers using Channel Billing for a specific Zone
Retrieve a list of phone numbers using Channel Billing for a specific Zone.
`GET /list/{channel_zone_id}`
```java
import com.telnyx.sdk.models.list.ListRetrieveByZoneParams;
import com.telnyx.sdk.models.list.ListRetrieveByZoneResponse;
ListRetrieveByZoneResponse response = client.list().retrieveByZone("channel_zone_id");
```
## Get voicemail
Returns the voicemail settings for a phone number
`GET /phone_numbers/{phone_number_id}/voicemail`
```java
import com.telnyx.sdk.models.phonenumbers.voicemail.VoicemailRetrieveParams;
import com.telnyx.sdk.models.phonenumbers.voicemail.VoicemailRetrieveResponse;
VoicemailRetrieveResponse voicemail = client.phoneNumbers().voicemail().retrieve("123455678900");
```
## Create voicemail
Create voicemail settings for a phone number
`POST /phone_numbers/{phone_number_id}/voicemail`
```java
import com.telnyx.sdk.models.phonenumbers.voicemail.VoicemailCreateParams;
import com.telnyx.sdk.models.phonenumbers.voicemail.VoicemailCreateResponse;
import com.telnyx.sdk.models.phonenumbers.voicemail.VoicemailRequest;
VoicemailCreateParams params = VoicemailCreateParams.builder()
.phoneNumberId("123455678900")
.voicemailRequest(VoicemailRequest.builder().build())
.build();
VoicemailCreateResponse voicemail = client.phoneNumbers().voicemail().create(params);
```
## Update voicemail
Update voicemail settings for a phone number
`PATCH /phone_numbers/{phone_number_id}/voicemail`
```java
import com.telnyx.sdk.models.phonenumbers.voicemail.VoicemailRequest;
import com.telnyx.sdk.models.phonenumbers.voicemail.VoicemailUpdateParams;
import com.telnyx.sdk.models.phonenumbers.voicemail.VoicemailUpdateResponse;
VoicemailUpdateParams params = VoicemailUpdateParams.builder()
.phoneNumberId("123455678900")
.voicemailRequest(VoicemailRequest.builder().build())
.build();
VoicemailUpdateResponse voicemail = client.phoneNumbers().voicemail().update(params);
```
No comments yet. Be the first to comment!