How to use the beroNet Gateway API

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