Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

Version 1 Current »

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

Please find below list of APIs supported by ringgroup module.

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

Create Ringgroup

Creating an ringgroup into Freepbx/PBXact system.

API Name  addRingGroup API.

API Parameters -

Name

Required

Type

Default

Description

groupNumber

Mandatory

ID

Unique string to specify the ringgroup number.

description

Optional

string

A Description for the ringgroup.

strategy

Mandatory

String

Ringing Strategy. Ex (ringall,hunt,memoryhunt,*-prim,firstavailable,firstnotonphone,random)

extensionList

Mandatory

String

Extensions to ring, separated by. Example: "100-101-102"

ringTime

Optional

String

20

Time in seconds that the phones will ring. For all hunt style ring strategies, this is the time for each iteration of phone(s) that are rung

groupPrefix

Optional

String

You can optionally prefix the CallerID name when ringing extensions in this group. ie: If you prefix with "Sales:", a call from John Doe would display as "Sales:John Doe" on the extensions that ring.

callerMessage

Optional

String

Message to be played to the caller before dialing this group.

postAnswer

Optional

String

Where to send callers if there is no answer.

syntax: context,extension,priority Ex: "app-blackhole,hangup,1"

alertInfo

Optional

String

Alert info can be used for distinctive ring with SIP devices.

needConf

Optional

Boolean

Enable this if you\'re calling external numbers that need confirmation - eg, a mobile phone may go to voicemail which will pick up the call. Enabling this requires the remote side push 1 on their phone before the call is put through. This feature only works with the ringall ring strategy.

recevierMessageConfirmCall

Optional

String

Message to be played to the person RECEIVING the call, if \'Confirm Calls\' is enabled.

recevierMessage

Optional

String

Message to be played to the person RECEIVING the call, if the call has already been accepted before they push 1.

ringingMusic

Optional

String

If you select a music to play on hold, instead of \'Ring\', they will hear that instead of Ringing while they are waiting for someone to pick up.

ignoreCallForward

Optional

Boolean

When set to true, agents who attempt to Call Forward will be ignored, this applies to CF, CFU and CFB. Extensions entered with \'#\' at the end, for example to access the extension\'s Follow-Me, might not honor this setting .

ignoreCallWait

Optional

Boolean

When enabled, agents who are on an occupied phone will be skipped as if the line were returning busy. This means that Call Waiting or multi-line phones will not be presented with the call and in the various hunt style ring strategies, the next agent will be attempted.

pickupCall

Optional

Boolean

When enabled, this will allow calls to the Ring Group to be picked up with the directed call pickup feature using the group number from any extension. When not checked, individual extensions that are part of the group can still be picked up by doing a directed call pickup by dialing the group number. Any extensions can still be picked up by doing a directed call pickup to the ringing extension , which works whether or not this is checked.

callRecording

Optional

String

You can always record calls that come into this ringgroup (Force), never record them (Never), or allow the extension that answers to do on-demand recording (Dont Care). 

ex: Force,Never,Dont Care.

callProgress

Optional

Boolean

false

Should this ringgroup indicate call progress to digital channels where supported.(true/false)/

answeredElseWhere

Optional

Boolean

false

Should calls indicate answered elsewhere when a user answers.(true/false).

overrideRingerVolume

Optional

String

Override the ringer volume. Note: This is only valid for Sangoma phones at this time.

Accepted values between (1-14) otherwise value will not bet set.

Query Parameters 

status
message

API Request 

1. Api to add Ringgroup
 
GQLAPI:  /admin/api/api/gql
 
parameters:
 
 
mutation{
  addRingGroup(input:{
    groupNumber:908189
    description:"testgro"
    extensionList:"100-101"
    strategy:"ringall"
    ringTime: "30"
    groupPrefix: "sales:"
    needConf:true
    ignoreCallForward:true
    ignoreCallWait:true
    pickupCall:true
    callRecording:"never"
    callProgress:true
    answeredElseWhere:true
    overrideRingerVolume: "14"
    }) {
    message status
  }
}

API Response 

2.Api to add Ringgroup
 
GQLAPI:  /admin/api/api/gql
 
parameters:
 
 
{
  "data": {
    "addRingGroup": {
      "message": "Successfully added ringgroup",
      "status": "true"
    }
  }
}

Update Ringgroup

update an ringgroup into Freepbx/PBXact system.

API Name  updateRingGroup API.

API Parameters -

Name

Required

Type

Default

Description

groupNumber

Mandatory

ID

Unique string to specify the ringgroup number.

description

Optional

string

A Description for the ringgroup.

strategy

Mandatory

String

Ringing Strategy. Ex(ringall,hunt,memoryhunt,*-prim,firstavailable,firstnotonphone,random)

extensionList

Mandatory

String

Extensions to ring, separated by. Example: "100-101-102"

ringTime

Optional

String

20

Time in seconds that the phones will ring. For all hunt style ring strategies, this is the time for each iteration of phone(s) that are rung

groupPrefix

Optional

String

You can optionally prefix the CallerID name when ringing extensions in this group. ie: If you prefix with "Sales:", a call from John Doe would display as "Sales:John Doe" on the extensions that ring.

callerMessage

Optional

String

Message to be played to the caller before dialing this group.

postAnswer

Optional

String

Where to send callers if there is no answer.

syntax: context,extension,priority Ex: "app-blackhole,hangup,1"

alertInfo

Optional

String

Alert info can be used for distinctive ring with SIP devices.

needConf

Optional

Boolean

Enable this if you\'re calling external numbers that need confirmation - eg, a mobile phone may go to voicemail which will pick up the call. Enabling this requires the remote side push 1 on their phone before the call is put through. This feature only works with the ringall ring strategy.

recevierMessageConfirmCall

Optional

String

Message to be played to the person RECEIVING the call, if \'Confirm Calls\' is enabled.

recevierMessage

Optional

String

Message to be played to the person RECEIVING the call, if the call has already been accepted before they push 1.

ringingMusic

Optional

String

If you select a music to play on hold, instead of \'Ring\', they will hear that instead of Ringing while they are waiting for someone to pick up.

ignoreCallForward

Optional

Boolean

When set to true, agents who attempt to Call Forward will be ignored, this applies to CF, CFU and CFB. Extensions entered with \'#\' at the end, for example to access the extension\'s Follow-Me, might not honor this setting .

ignoreCallWait

Optional

Boolean

When enabled, agents who are on an occupied phone will be skipped as if the line were returning busy. This means that Call Waiting or multi-line phones will not be presented with the call and in the various hunt style ring strategies, the next agent will be attempted.

pickupCall

Optional

Boolean

When enabled, this will allow calls to the Ring Group to be picked up with the directed call pickup feature using the group number from any extension. When not checked, individual extensions that are part of the group can still be picked up by doing a directed call pickup by dialing the group number. Any extensions can still be picked up by doing a directed call pickup to the ringing extension , which works whether or not this is checked.

callRecording

Optional

String

You can always record calls that come into this ringgroup (Force), never record them (Never), or allow the extension that answers to do on-demand recording (Dont Care). 

ex: Force,Never,Dont Care.

callProgress

Optional

Boolean

false

Should this ringgroup indicate call progress to digital channels where supported.(true/false)/

answeredElseWhere

Optional

Boolean

false

Should calls indicate answered elsewhere when a user answers.(true/false).

overrideRingerVolume

Optional

String

Override the ringer volume. Note: This is only valid for Sangoma phones at this time.

Accepted values between (1-14) otherwise value will not bet set.

Query Parameters 

status
message

API Request 

1. Api to add Ringgroup
 
GQLAPI:  /admin/api/api/gql
 
parameters:
 
mutation{
  updateRingGroup(input:{
    groupNumber:908189
    description:"testgro"
    extensionList:"100-101"
    strategy:"ringall"
    ringTime: "30"
    groupPrefix: "sales:"
    needConf:true
    ignoreCallForward:true
    ignoreCallWait:true
    pickupCall:true
    callRecording:"never"
    callProgress:false
    answeredElseWhere:false
    overrideRingerVolume: "14"
    }) {
    message status
  }
}

API Response 

2.Api to update Ringgroup
 
GQLAPI:  /admin/api/api/gql
 
parameters:
 
{
  "data": {
    "updateRingGroup": {
      "message": "RingGroup updated Successfully",
      "status": "true"
    }
  }
}

Delete Ringgroup

Delete an Ringgroup from Freepbx/PBXACT

API Name  deleteRingGroup API.

API Parameters -

Name

Required

Type

Default

Description

groupNumber

Mandatory

ID

RingGroup number

Query Parameters 

status
message

API Request 

mutation{
  deleteRingGroup(input:{
    groupNumber:908189
  }) {
    message status
  } 
}

API Response 

{
  "data": {
    "deleteRingGroup": {
      "message": "Successfully deleted ringgroup",
      "status": "true"
    }
  }
}

Fetch all Ringgroup detail

API Name :  fetchAllRingGroup 

API Parameters to query

Query Parameters 

ringgroups{
    groupNumber
    description
    groupTime
    groupList
    strategy
    groupPrefix
    needConf
    overrideRingerVolume
    callRecording
    pickupCall
    callProgress
    answeredElseWhere
    ignoreCallForward
    ignoreCallWait
    alertInfo
    callerMessage
    ringingMusic
    postAnswer
    recevierMessage
    recevierMessageConfirmCall
 }
totalCount
message
status

API Request 

{
  fetchAllRingGroups {
     status
     ringgroups{
       groupNumber
       description
       groupTime
       groupList
       strategy
    }
    totalCount
    message
    status
  }
}

API Response 

{
  "data": {
    "fetchAllRingGroups": {
      "status": true,
      "ringgroups": [
        {
          "groupNumber": 908181,
          "description": "testgro",
          "groupTime": 20,
          "groupList": "100-101",
          "strategy": "ringall"
        },
        {
          "groupNumber": 908185,
          "description": "testgro",
          "groupTime": 20,
          "groupList": "100-101",
          "strategy": "ringall"
        }
      ],
      "totalCount": 2,
      "message": null
    }
  }
}


Fetch a particular Ringgroup

API Name :  fetchRingGroup

API Parameters: 

Name

Required

Type

Default

Description

groupNumber

Mandatory

ID

Ring group number to query

API Parameters to query

Query Parameters 

groupNumber
description
groupTime
groupList
strategy
groupPrefix
needConf
overrideRingerVolume
callRecording
pickupCall
callProgress
answeredElseWhere
ignoreCallForward
ignoreCallWait
alertInfo
callerMessage
ringingMusic
postAnswer
recevierMessage
recevierMessageConfirmCall

API Request 

{
  fetchRingGroup(groupNumber:908181) {
    status
    message
    groupNumber
    description
    groupTime
    groupList
    strategy
  }
}

API Request 

{
  "data": {
    "fetchRingGroup": {
      "status": true,
      "message": "Record found successfully",
      "groupNumber": 908181,
      "description": "testgro",
      "groupTime": 20,
      "groupList": "100-101",
      "strategy": "ringall"
    }
  }
}
  • No labels