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/voiceYour 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=1Choose 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
Call event: an inbound call arrives, or your application creates an outbound call.
Signals requests your voice URL.
Your server returns OneML.
Signals executes the document on the live call.
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.
- 01Subscribe to PressOne Business.
- 02Complete KYC.
- 03Enable Developer Mode.
- 04Get credentials.
- 05Follow the quickstart.
- 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