PBX GUI - Firewall Module GraphQL APIs
updateFirewallConfiguration
- 1 Enable Firewall
- 2 Disable Firewall
- 3 Add BlacklistIP
- 4 Delete BlacklistIP
- 5 Add an IP to White List
- 6 Update Firewall Configuration
- 7 Fetch BlacklistIP
- 8 Fetch All White Listed IPs
- 9 Fetch Firewall Configurations
- 10 Fetch Firewall Interfaces
- 11 Update Firewall Interface
- 12 Fetch Firewall Advance Settings
- 13 Update Firewall Advance Settings
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 |
---|---|---|---|---|
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 |
---|---|---|---|---|
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 |
---|---|---|---|---|
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 |
---|---|---|---|---|
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 |
---|---|---|---|---|
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 |
---|---|---|---|
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"
}
}
} |