All systems operational
System statusAll operational
Voice
Inbound callsOperational
Outbound callsOperational
Hotlines & conferenceOperational
IVR builderOperational
PBX & SIP
Desk phones & softphoneOperational
Live PBXOperational
SIP trunkingOperational
Messaging
SMS & MMSOperational
GrouplyOperational
NotificationsOperational
Platform
Customer portalOperational
API & webhooksOperational
Knowledge BaseOperational

This status page is being updated. For any service issue, call (845) 951-1000 or email support@voitex.com.

Home  /  API  /  Player

The player action,explained.

Everything you need to put long audio on the phone: what callers can do, how the keypad works, and how to pick up exactly where they left off.

3 hoursper recording, up to 120 MB
10keypad controls
±0.2 sresume accuracy
What it is

Long audio, made for the phone.

The player is one action in the Call Routing API. You send a link to an audio file and the keys you want active. Voitex handles playback, the keypad and the timing, and reports back what the caller did.

Lecture & class lines

Let students listen to a full lecture by phone, skip back over a hard part, slow it down, and pick up tomorrow exactly where they stopped.

Music & community hotlines

Play songs, albums and announcements to thousands of callers, with volume and next or previous track on the keypad.

Podcasts, audiobooks & sermons

Turn long episodes and chapters into something people can listen to from any phone, landline included, with no app to install.

How it works

From a key press to a bookmark.

Four steps, and your server only gets involved when it needs to.

01

The caller picks a recording

Your menu, or your server, decides what to play: a lecture number, the latest episode, or where they left off last time.

02

Playback starts right away

The file starts downloading the moment your reply arrives. If it is still loading, callers hear hold music, never silence.

03

The caller takes control

Skip, pause, change speed and volume, or open a spoken menu. Keys you did not map are ignored, so nobody loses their place by accident.

04

You get their place back

When they press a key you care about, finish, or hang up, you receive the exact position and settings, ready to resume.

The keypad

Every key, a control.

This is the lecture keypad from the full example below. Grey keys move through the recording on their own, purple keys pause or open a menu, and white keys stop playback and tell your server.

1−15 s
2Pause
3+15 s
4−1 min
6+1 min
7−5 min
8Bookmark
9+5 min
*Menu
0Previous
#Next
SeekPause / menuReturns to you
player.completedVoitex → you
{
  "event": "player.completed",
  "player": {
    "reason": "key", "name": "bookmark", "digits": "8",
    "position_ms": 1383400, "duration_ms": 2895000,
    "speed": 1.5, "volume": 2, "paused": false,
    "listened_ms": 1102000
  }
}

A key you didn't map does nothing, so a caller fumbling for 3 never loses their place. If they hang up mid-recording, call.ended brings the position as an automatic bookmark.

Controls

Ten things a key can do.

Use them in controls, in paused_controls and inside menus.

{"seek": -15}Jump back or forward 1 to 3600 seconds.
{"pause_toggle": true}Pause or resume.
{"speed": 1.5}Change speed. Their place is kept.
{"volume": 2}A step louder or quieter, up to ±6.
{"volume_cycle": true}Cycle 0 → +2 → +4 → 0.
{"volume_reset": true}Back to normal volume.
{"moh_toggle": true}While paused, switch to hold music.
{"return": "bookmark"}Stop and tell you, with this name.
{"menu": {…}}Open a spoken menu.
"confirm": [ … ]Optional on any control: heard after it works.
Spoken menus

Press 5 for options.

Callers who know the menu type straight through it. A fast “5 7” works with no prompt heard. Two levels deep.

5Options menu
1Volume3 options
1Quieter
2Reset
3Louder
2Likedto you
3Playliststo you
5Next dateto you
6Skip 10to you
70.5× speed
8Normal speed
91.5× speed
While paused

A pause that waits.

Paused callers get their own keys, a beep every 30 seconds or hold music, and up to an hour before timing out.

2
ResumeSteps back 0.5 s so no word is lost.
0
Hold musicSwap the pause beep for music.
5
Hear the lengthReturns “length” to you, still paused.
pause_timeout 300 sresume_rewind_ms 500
Resume

Pick up exactly where they were.

Every player.completed, and the player block on call.ended, reports the caller’s place and settings. Send the same player back with them and the caller carries on as if nothing happened.

position_mswhere they stopped
speed · volumetheir settings
paused · mohpaused or on hold music
listened_mstime actually listened
paused_ms · menu_mstime paused and in menus
Full exampleThe lecture keypad, in one action+
player · lecture keypadaction
{
  "action": "player",
  "url": "https://cdn.example.org/lectures/24.mp3",
  "start_ms": 0,
  "controls": {
    "1": {"seek": -15},  "3": {"seek": 15},
    "4": {"seek": -60},  "6": {"seek": 60},
    "7": {"seek": -300}, "9": {"seek": 300},
    "2": {"pause_toggle": true},
    "8": {"return": "bookmark"},
    "0": {"return": "previous"}, "#": {"return": "next"}, "*": {"return": "menu"},
    "5": {"menu": {
      "prompts": [{"action": "play", "url": "https://cdn.example.org/prompts/options.mp3"}],
      "timeout": 3,
      "options": {
        "1": {"menu": {"timeout": 3, "options": {
               "1": {"volume": -2}, "2": {"volume_reset": true}, "3": {"volume": 2}}}},
        "2": {"return": "liked"}, "3": {"return": "playlists"},
        "5": {"return": "next_date"}, "6": {"return": "skip_10"},
        "7": {"speed": 0.5, "confirm": [{"action": "say", "text": "Half speed"}]},
        "8": {"speed": 1},
        "9": {"speed": 1.5, "confirm": [{"action": "say", "text": "One and a half speed"}]}
      }}}
  },
  "paused_controls": {
    "2": {"pause_toggle": true},
    "0": {"moh_toggle": true},
    "5": {"return": "length"}
  },
  "pause_timeout": 300,
  "action_url": "/ivr/player"
}
Questions

Good to know.

Which audio formats work?

mp3, wav, ogg, flac, aiff and more. The file is converted for the phone line automatically, so a high-quality file sounds the same as a small one.

How long can a recording be?

Up to 3 hours and 120 MB per file. The first two minutes are ready almost instantly, so playback starts while the rest is prepared.

How accurate is the position?

About ±0.2 seconds, which is exact enough for a bookmark or resume point.

Do I have to store bookmarks?

Yes. Voitex reports positions; bookmarks, likes, playlists and listening history are yours to keep in your own system.

What if the caller hangs up mid-recording?

The player block on call.ended includes their position, so you can save it as an automatic bookmark.

Can I count listening time?

Yes. listened_ms, paused_ms and menu_ms tell you how long the caller actually listened, paused and spent in menus.

Put your audio library on the phone.