How to use the beroNet Gateway API

The beroNet Gateway API

The beroNet Gateway API is a REST API that can simply be accessed by using HTTP + URL.

Basics

The beroNet Gateway API can be accessed by using the URL (the standard username:password are "admin:admin"):

http://IPoftheGateway/app/api/api.php

Under the above mentioned URL you will find documentation about the API, how to use it and an overview about the commands.

Commands have always the following schema: http://<ip_of_beroNet_Gateway_device/app/api/beroFix.php?cmd=[command]&data=[key1]=[value1]:[key2]=[value2]...

You can easily access the API from a console with "wget". If for example you want to read which lineinterfaces are present on your beroNet Gateway card you can execute the following command in a shell

wget -O- --user=admin --password=admin http://berofix/app/api/beroFix.php?cmd=getlif 2>/dev/null

This could for example output the following:

lif:0;type:bf4S0
lif:1;type:bf2GSM

GSM SMS

beroNet Gateway has 3 volatile directories in which SMS are stored:

in        (incoming sms)
out       (outgoing sms queue)
failout   (outgoing sms failed queue)

These 3 Directories can be accessed via the beroNet Gateway API and the 4 Commands:

smsList
smsGet
smsSend
smsDelete

Functionlist and explaination

A complete list of the functions currently supplied by our firmware

SetAPIPWD

Function to set the beroNet Gateway Configuration API Password Usage:

   [command]=setapipwd
   [key]=password
   [value]=[yourpassword]
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=setapipwd&data=password=admin

Return values:

   setapipwd:success -> if everthing was ok.
   setapipwd:error -> if an error occured.

SetWebPWD

Function to set the beroNet Gateway Web Password Usage:

   [command]=setwebpwd
   [key1]=oldpassword
   [value1]=[oldpassword]
   [key2]=newpassword
   [value2]=[newpassword]
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=setwebpwd&data=oldpassword=admin:newpassword=admin

Return values:

   setwebpwd:success -> if everthing was ok.
   setwebpwd:error -> if an error occured.

SetProvType

Function to set the beroNet Gateway provisioning mode to tftp or http Usage:

   [command]=setprovtype
   [key]=type
   [value]=[tftp|http]
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=setprovtype&data=type=tftp

Return values:

   setprovtype:success -> if everthing was ok.
   setprovtype:error -> if an error occured.

SetTFTP

Function to set TFTP Server and URL Usage:

   [command]=settftp
   [key1]=tftphost
   [value1]=[tftphostIP]
   [key2]=tftpurl
   [value2]=[tftURL]
   [key3]=tftponboot
   [value3]=[yes|no]
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=settftp&data=tftphost=10.0.0.1:tftpurl=berofix:tftponboot=no

It is possible to use the variables {mac} and {serial} to identify the devices and create seperate directories in the tftp server. An Example could look like this:

   Example: http://172.20.70.43/app/api/{serial}/beroFix.php?cmd=settftp&data=tftphost=10.0.0.1:tftpurl=berofix:tftponboot=no

Return values:

   settftp:success -> if everthing was ok.
   settftp:error -> if an error occured.

SetHTTP

Function to set HTTP Server and URL Usage:

   [command]=sethttp
   [key1]=httphost
   [value1]=[httphostIP]
   [key2]=httpurl
   [value2]=[httpurl]
   [key3]=httponboot
   [value3]=[yes|no]
   [key4]=httpport
   [value4]=[httpport]
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=sethttp&data=httphost=10.0.0.1:httpport=81:httpurl=berofix:httponboot=no

It is possible to use the variables {mac} and {serial} to identify a single device in the http server like:

   Example: http://172.20.70.43/app/api/beroFix.php?cmd=sethttp&data=httphost=10.0.0.1:httpport=81:httpurl=berofix/{mac}/:httponboot=no

Return values:

   sethttp:success -> if everthing was ok.
   sethttp:error -> if an error occured.

GetLif

Function to get detected Lineinterfaces. Usage:

   [command]=getlif
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=getlif

Return values:

   lif:Lineinterface Number
   type:Lineinterface type
   lif:[0|1];type:[bf4S0|bf1E1|bf2E1|bf2GSM|bf4FXO|bf4FXS]
   Example:
   lif:0;type:bf2E1
   lif:1;type:bf4S0

GetInfo

Function to get Version infos for HW Revison or firmware ... Usage:

   [command]=getinfo
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=getinfo

Return values:

   ROOTFSVersion:[number]
   APPFSVersion:[number]
   HWRevision:[number]
   HWSerial:[number]
   FPGAVersion:[number]
   MAC:[macaddress]
   APIVersion:[version]

GetISDNState

Function to get the state of each configured ISDN port Usage:

   [command]=getisdnstate
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=getisdnstate

Return values:

   getisdnstate:success -> if everthing was ok
   getisdnstate:error -> if an error occured

GetISDNStats

Function to get ISDN Layer 1 / Layer 2 statistics. Usage:

   [command]=getisdnstats
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=getisdnstats

Return values:

   getisdnstats:success -> if everthing was ok
   getisdnstats:error -> if an error occured

GetAnalogState

Function to get the state of each configured analog port Usage:

   [command]=getanalogstate
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=getanalogstate

Return values:

   getanalogstate:success -> if everthing was ok
   getanalogstate:error -> if an error occured

GetSIPState

Function to get the state of each SIP Registar Usage:

   [command]=getsipstate
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=getsipstate

Return values:

   getsipstate:success -> if everthing was ok
   getsipstate:error -> if an error occured

GetISGWInfo

Function to get the several infos from ISGW (Telnet Wrapper). Usage:

   [command]=getisgwinfo
   [key]=isgwcmd
   [value]=[i |r |l |k |u |bc |ss |ssp | ...]
   i=isdn state
   r=status of registration
   l=status of operation
   k=status of operations (compact)
   u=uptime of isgw
   bc=list bchannel objects
   ss=show call statistics
   ssp=show port specific call statistics
   or any other valid ISGW Telnet command. Press h in the
   telnet interface to get a list of possible commands.
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=getisgwinfo&data=isgwcmd=u

Return values:

   getisgwinfo:success -> if everthing was ok
   getisgwinfo:error -> if an error occured

Logging

Function to control logging features on beroNet Gateway Usage:

   [command]=logging
   [key1]=active
   [value1]=[0|1]
   [key2]=loglevel
   [value2]=[0-9]
   [key3]=logserver
   [value3]=[IP-Address]
   [key4]=logport
   [value4]=[udpport]
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=logging&data=active=1:loglevel=5:logserver=172.20.5.51:logport=55555

Return values:

   logging:success -> if everthing was ok
   logging:error -> if an error occured

Config_Update

Function to start Config Update via TFTP or HTTP depending on how setprovtype is set Usage:

   [command]=config_update
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=config_update

Return values:

   config_update:Prov_type:success -> if everthing was ok
   config_update:Prov_type:failed:[comments] ->TFTP / HTTP problem or no Download selected.[comments] for details
   config_update:Prov_type:error -> if an major error occured. Check Config Files.

Firmware_Update

Function to start Firmware update via TFTP or HTTP depending on how setprovtype is set Usage:

   [command]=firmware_update
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=firmware_update

Return values:

   firmware_update:Prov_type:success -> if everthing was ok
   firmware_update:Prov_type:failed:[comments] ->TFTP / HTTP problem or no Download selected.[comments] for details
   firmware_update:Prov_type:error -> if an major error occured.

beroCloud

Function to enable Monitoring for beroNet's Cloud solution Usage:

   [command]=berocloud
   [key1]=cloud_enable
   [value1]=[0|1]
   [key2]=cloud_key
   [value2]=[CLOUDKEY]
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=berocloud&data=cloud_enable=0:cloud_key=5555555555

Return values:

   berocloud:success -> if everthing was ok
   berocloud:error -> if an error occured

CreateConfig

Function to create and download config files Usage:

   [command]=createconfig
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=createconfig

Return values:

   createconfig:success -> if everthing was ok
   createconfig:error -> if an error occurred

RestoreOldConfig

Function to Restore the previous provisioning config Usage:

   [command]=restoreoldconfig
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=restoreoldconfig

Return values:

   restoreoldconfig:success -> if everthing was ok
   restoreoldconfig:error -> if an error occured

Fulltrace

Usage:

   [command]=fulltrace
   [key1]=action
   [value1]=[start|stop|download]
   [key2]=sipsig
   [value2]=[yes|no] only set if action=start
   [key3]=sipaudio
   [value3]=[yes|no] only set if action=start
   Examples:
   Start: http://172.20.70.43/app/api/beroFix.php?cmd=fulltrace&data=action=start:sipsig=yes:sipaudio=no
   Stop: http://172.20.70.43/app/api/beroFix.php?cmd=fulltrace&data=action=stop
   Download: http://172.20.70.43/app/api/beroFix.php?cmd=fulltrace&data=action=download

Return values:

   fulltrace:success -> if everthing was ok.
   fulltrace:error -> if an error occurred.

Reload

Function Reload with new settings Usage:

   [command]=reload
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=reload

Return values:

   reload:success -> if everthing was ok
   reload:error ->if an error occured

Reboot

Function to reboot a beroNet Gateway device Usage:

   [command]=reboot
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=reboot

Return values:

   reboot:rebooting... -> if reboot is initiated

SmsList

Function to list SMS Queues Usage:

   [command]=smslist
   [key]=queue
   [value]=[in/out/failout]
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=smslist&data=queue=failout

Return values:

   smslist:success -> if everthing was ok.
   smslist:error -> if an error occured.

SmsGet

Function to get SMS Usage:

   [command]=smsget
   [key1]=queue
   [value1]=[queuename]
   [key2]=idx
   [value2]=[smsid]
   [key3]=delete
   [value3]=[yes] just if you want to delete the sms
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=smsget&data=queue=out:idx=000013fb09d06:delete=yes

Return values:

   smsget:success -> if everthing was ok.
   smsget:error -> if an error occured.

SmsSend

Function to send SMS Usage:

   [command]=smssend
   [key1]=num
   [value1]=[phonenumber] HTML special characters have to be replaced
   [key2]=port
   [value2]=[portnumber]
   [key3]=msg
   [value3]=[message] HTML special characters have to be replaced
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=smssend&data=num=%2B123456:port=1:msg=This is the message

Return values:

   smssend:success -> if everthing was ok.
   smssend:error -> if an error occured.

SmsDelete

Function to delete SMS Usage:

   [command]=smsdelete
   [key1]=queue
   [value1]=[queuename]
   [key2]=idx
   [value2]=[smsid]
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=smsdelete&data=queue=out:idx=000013fb09d06

Return values:

   smsdelete:success -> if everthing was ok.
   smsdelete:error -> if an error occured.

HealthCheck

Function to check the health state of the beroNet Gateway Usage:

   [command]=healthcheck
   Example: http://172.20.70.43/app/api/beroFix.php?cmd=healthcheck

Return values:

   CPU Load:[number]
   Free RAM:[number]

If you need scheduled remote assistance, you can request our on-demand support services: https://www.beronet.com/support