/
PBX GUI - Firewall Module GraphQL APIs

PBX GUI - Firewall Module GraphQL APIs

updateFirewallConfiguration

This wiki is to capture the Firewall module provided GraphQL APIs.

Please find below list of APIs supported by Firewall module.

firewall module APIs are useful to create, delete and fetch the values of existing configured ringgroup. 

Enable Firewall

Enable firewall configuration to into Freepbx/PBXact system.

API: enableFirewall

API Parameters -none

 

Query Parameters 

status message

 

API Request 

GQL API:  /admin/api/api/gql   mutation {   enableFirewall(input: { }){   message   status   } }

 

API Response 

{   "data": {     "enableFirewall": {       "message": "Firewall enable process has been completed.",       "status": true     }   } }

Disable Firewall

Disable firewall configuration to into Freepbx/PBXact system.

API: disableFirewall

API Parameters -none

Query Parameters 

status message

 

API Request 

GQL API:  /admin/api/api/gql   mutation {   disableFirewall(input: { }){   message   status   } }

 

API Response 

{   "data": {     "disableFirewall": {       "message": "Firewall has been disabled",       "status": true     }   } }

Add BlacklistIP

Add ( configure ) firewall configuration to into Freepbx/PBXact system.

API: addBlackListIP

API Parameters -

Name

Required

Type

Default

Description

Name

Required

Type

Default

Description

IP

Mandatory

String

 

IP address that needs to be blocked

 

Query Parameters 

status message

 

API Request 

GQL API:  /admin/api/api/gql   parameters:   mutation {     addBlackListIP(input: {     IP: "100.100.100.100"   }) {         status message     } }

 

API Response 

{   "data": {     "addBlackListIP": {       "status": true,       "message": "IP has been added to blacklist"     }   } }

Delete BlacklistIP

Delete( Blacklist) firewall configuration to into Freepbx/PBXact system.

API: deleteBlackListIP

 

API Parameters -

Name

Required

Type

Default

Description

Name

Required

Type

Default

Description

IP

Mandatory

String

 

IP address that needs to be blocked

 

Query Parameters 

status message

 

API Request 

GQL API:  /admin/api/api/gql   parameters:   mutation {     deleteBlackListIP(input: {     IP: "100.100.100.100"   }) {         status message     } }

 

API Response 

{   "data": {     "deleteBlackListIP": {       "status": true,       "message": "IP removed from blacklist"     }   } }

Add an IP to White List

Add Whitelist IP configuration to into Freepbx/PBXact system.

API: addWhiteListIP

 

API Parameters -

Name

Required

Type

Default

Description

Name

Required

Type

Default

Description

sourceIp

Mandatory

String

 

IP address to whitelist

zone

Mandatory

String

 

Describe the service zone to be trusted or not

hidden

Mandatory

Boolean

 

Setting to true will hide this value from GUI

 

Query Parameters 

status message

 

API Request 

GQL API:  /admin/api/api/gql   parameters:   mutation {   addWhiteListIP(input: {sourceIp: "100.100.100.100", zone: "trusted", hidden: false}) {     status     message   } }

 

API Response 

{   "data": {     "addWhiteListIP": {       "status": true,       "message": "IP has been Whitelisted"     }   } }

Update Firewall Configuration

Update firewall configuration to into Freepbx/PBXact system.

API: updateFirewallConfiguration

 

API Parameters -

Name

Required

Type

Default

Description

Name

Required

Type

Default

Description

status

 

Boolean

true

To enable/disable a firewall

responsiveFirewall

 

Boolean

true

To enable/disable a responsive firewall

chansip

 

Boolean

true

Set the chainSIP configuration

pjsip

 

Boolean

true

Set the pjSIP Configuration

safeMode

 

String

"disabled"

To enable/disable safe mode

currentJiffies

 

String

"1000"

Set the current Jiffer value, default is 1000

serviceZone

 

String

["external", "other", "internal"]

Set OOBE an external setup options

enableTrustedHost

 

Boolean

true

Set the trusted host. true/false

enableResponsive

 

Boolean

true

Set OOBE answered enabled/disabled. true/false

externalSetup

 

Boolean

true

Set the service Zone, default is true

 

Query Parameters 

status message

 

API Request 

GQL API:  /admin/api/api/gql   parameters:   mutation {    updateFirewallConfiguration(      input: {        status: true        responsiveFirewall: true        chansip: true        pjsip: true        safeMode: "disabled"        currentJiffies: "1100"        enableTrustedHost: false        enableResponsive: false        externalSetup: false        serviceZone: ["external", "other", "internal"]      }    ) {      status      message    } }

 

API Response 

{   "data": {     "updateFirewallConfiguration": {       "status": true,       "message": "Firewall configurations have been saved successfully"     }   } }

Fetch BlacklistIP

Fetch ( Blacklist) firewall configuration to into Freepbx/PBXact system.

API: fetchAllBlacklistIPs

 

API Parameters -none

Query Parameters 

status message blacklistIps {      sourceIp      trusted    }

 

API Request 

GQL API:  /admin/api/api/gql   parameters:   query {   fetchAllBlacklistIPs{     message status blacklistIps {       sourceIp       trusted     }   } }

 

API Response 

{   "data": {     "fetchAllBlacklistIPs": {       "message": "List of all blacklistedIPs",       "status": true,       "blacklistIps": [         {           "sourceIp": "100.100.101.102",           "trusted": false         },         {           "sourceIp": "100.101.101.101",           "trusted": false         }       ]     }   } }

Fetch All White Listed IPs

Fetch ( WhiteList) IPs firewall configuration to into Freepbx/PBXact system.

API: fetchAllWhitelistIPs

 

API Query Parameters 

Query Parameters 

whitelistIps {   sourceIp   trusted }  status  message

 

API Request 

GQL API:  /admin/api/api/gql   parameters:   query{   fetchAllWhitelistIPs {     status     message     whitelistIps {       sourceIp       trusted     }   } }

 

API Response 

{   "data": {     "fetchAllWhitelistIPs": {       "status": true,       "message": "List of all whiltelistedIPs",       "whitelistIps": [         {           "sourceIp": "100.100.100.100",           "trusted": true         },         {           "sourceIp": "100.100.100.101",           "trusted": true         }       ]     }   } }

Fetch Firewall Configurations

Fetch  firewall configuration from Freepbx/PBXact system.

API: fetchFirewallConfiguration

 

API Query Parameters 

Query Parameters 

status, message,   configurations {    status    responsiveFirewall    chainSip    pjSip    safemode    currentJiffies    enableTrustedHost    enableResponsive    externalSetup    provision  }

 

API Request 

GQL API:  /admin/api/api/gql   Parameters:   query{   fetchFirewallConfiguration{     status, message,      configurations {       status       responsiveFirewall       chainSip       pjSip       safemode       currentJiffies       enableTrustedHost       enableResponsive       externalSetup       provision     }   } }

 

API Response 

{   "data": {     "fetchFirewallConfiguration": {       "status": true,       "message": "List of firewall configurations",       "configurations": [         {           "status": true,           "responsiveFirewall": true,           "chainSip": false,           "pjSip": false,           "safemode": "enabled",           "currentJiffies": "1000",           "enableTrustedHost": true,           "enableResponsive": true,           "externalSetup": true,           "provision": false         }       ]     }   } }

 

Fetch Firewall Interfaces

Fetch  firewall interfaces from Freepbx/PBXact system.

API: fetchInterface 

 

API Query Parameters 

Query Parameters 

status     message     interfaces {         ints         zone         description     }

 

API Request 

query{   fetchInterface {     status     message     interfaces {         ints         zone         description     }   } }

API Response 

{     "data": {         "fetchInterface": {             "status": true,             "message": "List of firewall interface and default zones",             "interfaces": [                 {                     "ints": "eth0",                     "zone": "Internet (Default Firewall)",                     "description": "dsfdsfds"                 }             ]         }     } }

 

Update Firewall Interface

Update firewall Interface into Freepbx/PBXact system.

API: updateFirewallInterface

 

API Parameters -

Name

Required

Type

Default

Description

Name

Required

Type

Default

Description

ints

Mandatory

string

 

Interface name which has to be updated

zone

Mandatory

string

 

Describe the service zone to be trusted or not.

Allowed values for zone - external, internal, other, reject, trusted

description

Optional

string

 

Description

 

Query Parameters 

ints zone description message

 

API Request 

mutation {     updateFirewallInterface(input: {     ints: "eth0"     zone:"external",     description:"dsfdsfds"   }) {       ints       zone       description       message   } }

API Response 

{     "data": {         "updateFirewallInterface": {             "clientMutationId": "12432",             "ints": "eth0",             "zone": "external",             "description": "dsfdsfds",             "message": "Firewall Interface updated successfully"         }     } }

 

Fetch Firewall Advance Settings

Fetch  firewall settings from Freepbx/PBXact system.

API: fetchFirewallAdvanceSettings 

 

API Query Parameters 

Query Parameters 

status message advanceSettings {     safemode     lefilter     customrules     rejectpackets     id_service     id_sync_fw     import_hosts }

 

API Request 

query{   fetchFirewallAdvanceSettings {     status     message     advanceSettings {         safemode         lefilter         customrules         rejectpackets         id_service         id_sync_fw         import_hosts     }   } }

API Response 

{     "data": {         "fetchFirewallAdvanceSettings": {             "status": true,             "message": "List of firewall advance settings",             "advanceSettings": {                 "safemode": "disabled",                 "lefilter": "enabled",                 "customrules": "enabled",                 "rejectpackets": "enabled",                 "id_service": "disabled",                 "id_sync_fw": "legacy",                 "import_hosts": "disabled"             }         }     } }

 

Update Firewall Advance Settings

Update firewall Advance Settings into Freepbx/PBXact system.

API: updateFirewallAdvanceSettings

 

 

API Parameters -

Name

Required

Type

Description

Name

Required

Type

Description

safemode

Optional

string

Set Safe Mode enable/disable

lefilter

Optional

string

Set Responsive LetsEncrypt Rules enable/disable

customrules

Optional

string

Set Custom Firewall Rules enable/disable

rejectpackets

Optional

string

Set Reject Packets enable/disable

id_service

Optional

string

Set Intrusion Detection Service enable/disable

id_sync_fw

Optional

string

Set Intrusion Detection Sync Firewall enable/legacy

import_hosts

Optional

string

Set Add etc/hosts as Trusted enable/disable

Query Parameters 

status message

API Request 

mutation {     updateFirewallAdvanceSettings(input: {     safemode: "enabled"     lefilter: "disabled"     customrules: "disabled"     rejectpackets: "disabled"     id_service: "enabled"     id_sync_fw: "enabled"     import_hosts: "disabled"   }) {       status       message   } }

API Response 

{     "data": {         "updateFirewallAdvanceSettings": {             "status": true,             "message": "Firewall advance settings updated succefully"         }     } }

Return to Documentation Home I Return to Sangoma Support