Signals for developers

Connect software to Nigerian phone networks.

Create and control calls through a Twilio-compatible Calls API, return OneML from your webhooks, or connect an existing voice system through SIP Access.

Public documentation. Self-service Programmable Voice. Live in Nigeria.

Create a call

POST /2010-04-01/Accounts/ACCOUNT_SID/Calls.json
Host: api.helios.pressone.co
Content-Type: application/x-www-form-urlencoded

To=+2341800000001
From=+2341700000000
Url=https://example.com/voice

Your server returns OneML

<Response>
  <Say>Hello from Signals.</Say>
  <Gather numDigits="1" action="/menu" />
</Response>

Action callback to your server

POST /menu  (application/x-www-form-urlencoded)

CallSid=CALL_SID
From=+2341700000000
To=+2341800000001
Digits=1

Choose your interface

Start at the level your application already understands.

Interface 01

Programmable Voice

Create and inspect calls directly through the Twilio-compatible Calls resource, and control them with webhooks.

  • Create outbound calls on the 2010-04-01 Calls resource.
  • Receive inbound calls on a configured voice URL.
  • Status callbacks are emitted for calls created through the REST API.

Interface 02

OneML

Return an XML document from your webhook and Signals executes it on the live call.

  • Documented verbs: Say, Play, Gather, Record, Dial, Redirect, Pause, Hangup, Reject, Stream and Disconnect.
  • Gather collects DTMF, speech or both.
  • Action URLs post the result back to your server for the next document.

Interface 03

Twilio migration

If your application already speaks the Twilio Calls API and TwiML, start by checking it against the public compatibility matrix.

  • Familiar 2010-04-01 request and response shapes.
  • OneML is derived from TwiML and compatible with supported TwiML applications.
  • Unsupported verbs, attributes and behaviours are listed publicly.

Interface 04

SIP Access

Connect an existing contact-centre platform, PBX, dialler or AI voice system over SIP rather than rebuilding it on an API.

  • Managed connectivity between your SIP platform and Nigerian phone networks.
  • Nigerian numbers from multiple providers in one account.
  • Detailed configuration documentation is being aligned for launch.

First call

Your first call uses a familiar request shape.

Create an outbound call

curl -X POST "https://api.helios.pressone.co/2010-04-01/Accounts/ACCOUNT_SID/Calls.json" \
  -u ACCOUNT_SID:AUTH_TOKEN \
  -d "To=+2341800000001" \
  -d "From=+2341700000000" \
  -d 'Twiml=<Response><Say>Hello from Signals.</Say></Response>'

Placeholder credentials and numbers. Replace with your own account values.

A successful request creates a call that begins in the queued state. The response includes a CallSid, which identifies the call for later inspection through the Calls resource.

Supply either inline OneML with the request, or a Url that Signals will request when the call connects. Both paths use the same webhook control loop.

Webhook control loop

The same control model for inbound and outbound calls.

Control loop

  1. Call event: an inbound call arrives, or your application creates an outbound call.

  2. Signals requests your voice URL.

  3. Your server returns OneML.

  4. Signals executes the document on the live call.

  5. Action and status data returns to your server.

Inbound calls are controlled by the voice URL configured on the number. Outbound calls created through the REST API are controlled the same way, either by inline OneML or by a Url supplied with the request.

Status callbacks apply only to calls created through the REST API. Inbound calls use the configured voice URL and do not emit status callbacks.

Webhooks are form encoded by default and are signed with the X-Twilio-Signature header. Verify the signature before acting on a request.

Develop with proof

Build on infrastructure that is already carrying traffic.

99.99% platform uptime

The platform proof point published across the Signals site, measured on platform availability.

Connected across six telco networks

Calls reach people on Nigerian networks through Signals’ managed connectivity.

Real-time network visibility

Network performance, call logs and usage are visible while workloads run.

Public sandbox and documentation

The reference, quickstart and compatibility matrix are public, so you can evaluate before you subscribe.

Self-service access

Get credentials without a sales process.

  1. 01Subscribe to PressOne Business.
  2. 02Complete KYC.
  3. 03Enable Developer Mode.
  4. 04Get credentials.
  5. 05Follow the quickstart.
  6. 06Move a controlled workload to production.

Platform access is ₦500,000 per year. It includes one Nigerian phone number and ₦200 of test credit, so you can place a real call before committing a workload.

Self-service onboarding covers Programmable Voice and Automations and costs nothing extra. Developer Mode is available after full KYC. SIP Access is a managed infrastructure service: it requires technical approval and is provisioned by Signals after a technical discovery call.

Next step

Make your first Nigerian call from software.