Skip to content

API Interface

VoIPSUN PBX provides a simple HTTP API for initiating calls (click2call), terminating calls, displaying active calls, and managing the call center. Additional features can be customized to meet client requirements.

Authentication

All API requests require:

  • username — API user credentials (configured in Settings → HTTP API Users)
  • password — authentication password

Call Operations

Originate Action

Initiates a new call — first dials the selected extension, then connects to the destination number.

Parameters:

ParameterDescription
actionoriginate
dstNumDestination phone number
srcExtenPublicNumPublic number of the source extension (use only one of the src* parameters)
srcExtenInternalNumInternal number of the source extension
srcExtenIdSource extension ID
srcSipUsernameSIP username of the source extension
dialplanNameRequired if multiple extensions share the same internal number
customCDR1-4Optional custom fields in the CDR record
dialerCid, dialerNameCustom CallerID
monitorFilename, monitorPathCall recording configuration
checkExten, checkIpHost, checkIpContactExtension availability verification

Example request:

http://IP_PBX/api/api.php?username=voipsun&password=secretpwd&action=originate&srcExtenInternalNum=100&dstNum=800123456

Dial Action

Routes calls through predefined outbound routing contexts.

Parameters:

ParameterDescription
actiondial
outrouteName or outrouteIdOutbound routing selection
contextRequired Asterisk dialplan context
hangupContextOptional context on call failure

Example request:

http://IP_PBX/api/api.php?username=voipsun&password=secretpwd&action=dial&dstNum=800123456&outrouteName=outgoing&context=processing

Call Termination

Terminates an active call by channel name.

Parameters:

ParameterDescription
actionhangupcall
channelNameChannel identifier from the active calls list

Example request:

http://IP_PBX/api/api.php?username=voipsun&password=secretpwd&action=hangupcall&channelName=SIP/5555-0000b704

Call Monitoring

Active Calls List

Returns a JSON list of ongoing calls with channel names, duration, status, and identifiers.

Parameters:

ParameterDescription
actionlistcalls

JSON response fields:

FieldDescription
channelNameChannel identifier
contextDialplan context
src, dstSource and destination number
durationCall duration in seconds
statusConnection status (Up)
accountCodeAccount identifier

Call Spying

Initiates monitoring of active calls by connecting a supervisor to listen.

Parameters:

ParameterDescription
actionspying
srcExtenPublicNum / srcExtenInternalNum / srcExtenId / srcSipUsernameSupervisor source extension (only one)
dstExtenPublicNum / dstExtenInternalNum / dstExtenId / dstSipUsername / dstChannelNameTarget call (only one)
spyCid, spyNameSupervisor CallerID

SIP Channel Status

Parameters:

ParameterDescription
actionsipstatus

Response fields:

FieldDescription
userSIP username
hostRegistration IP address
statusConnection status (OK, UNKNOWN, Unmonitored)
useragentDevice information
regcontactRegistration contact address

Call Center Agent Management

Agent Login

http://IP_PBX/api/api.php?username=voipsun&password=secretpwd&action=agentlogin&srcExtenInternalNum=100&agentNumber=1000&agentPin=1234

Parameters:

ParameterDescription
actionagentlogin
agentNumberAgent identifier
agentPinAuthentication PIN

Agent Logout

ParameterDescription
actionagentlogout
agentNumber, agentPinAgent identification

Pause / Unpause

ParameterDescription
actionagentpause or agentunpause
agentNumber, agentPinAgent identification

Add to Queue

ParameterDescription
actionagentadd
queueNameQueue identifier
penaltyPriority level

Remove from Queue

ParameterDescription
actionagentremove
queueNameQueue identifier

Agent Status

Returns agent status: logged in/logged out, available/busy/in call/on hold/unavailable.

ParameterDescription
actionagentstatus
agentNumber, agentPinAgent identification

Queue Status

Provides complete queue metrics including agent details, wait times, service levels, and waiting callers.

ParameterDescription
actionqueuestatus
queueNameTarget queue

Recording Management

Move Recording

Moves and optionally renames a call recording.

ParameterDescription
actionmoverecord
cdrIdCDR record identifier
filenameNew file name (optional)
pathTarget directory (optional, at least one of filename/path is required)

Example request:

http://IP_PBX/api/api.php?username=voipsun&password=secretpwd&action=moverecord&cdrId=10000&filename=record.wav&path=/archive/2024

Error Codes

General Errors

CodeDescription
100Unauthorized user or insufficient permissions
110Unknown action parameter
120Missing required parameters

Originate Errors (200–228)

CodeDescription
200Conflicting extension selection parameters
201–203Extension, dialplan, or configuration not found
210–211IP address mismatch
220–228Extension unavailability states (unavailable, busy, ringing, etc.)

Dial Errors (250)

CodeDescription
250Outbound routing not found

Spying Errors (300–312)

CodeDescription
300Conflicting source parameters
301Conflicting destination parameters
302–304Source extension/dialplan issues
310–312Destination extension/dialplan issues

Agent Errors (500–636)

CodeDescription
500–504Agent authentication or extension lookup
550Logout authentication failure
580, 590Pause/unpause authentication failure
600–601Queue management failure
610–636Agent status and availability verification errors

Recording Errors (800–812)

CodeDescription
800CDR record not found
801No recording data in CDR
810–812File permission or access issues

JSON Response Format

Successful response:

{"success":"true"}

Error response:

{"success":"false","errno":"100","reason":"Unauthorized user or bad permissions"}
© 2026 VoIPSUN s.r.o.