Page tree
Skip to end of metadata
Go to start of metadata


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 -


NameRequiredTypeDefaultDescription

groupNumber

MandatoryID
Unique string to specify the ringgroup number.

description

Optional
string
A Description for the ringgroup.

strategy

MandatoryString


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

extensionList

Mandatory
String

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

ringTime

OptionalString20

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

OptionalString

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

OptionalString

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

postAnswer

OptionalString

Where to send callers if there is no answer.

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

alertInfo

OptionalString

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

needConf

OptionalBoolean

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

OptionalString

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

recevierMessage

OptionalString

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

ringingMusic

OptionalString

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

OptionalBoolean

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

OptionalBoolean

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

OptionalBoolean

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

OptionalString

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

OptionalBooleanfalse

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

answeredElseWhere

OptionalBooleanfalse

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

overrideRingerVolume

OptionalString

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 Parameter 

Query Parameters
 status
 message

API Example -


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
  } 
}


Response

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 -


NameRequiredTypeDefaultDescription

groupNumber

MandatoryID
Unique string to specify the ringgroup number.

description

Optional
string
A Description for the ringgroup.

strategy

MandatoryString


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

extensionList

Mandatory
String

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

ringTime

OptionalString20

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

OptionalString

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

OptionalString

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

postAnswer

OptionalString

Where to send callers if there is no answer.

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

alertInfo

OptionalString

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

needConf

OptionalBoolean

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

OptionalString

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

recevierMessage

OptionalString

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

ringingMusic

OptionalString

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

OptionalBoolean

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

OptionalBoolean

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

OptionalBoolean

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

OptionalString

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

OptionalBooleanfalse

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

answeredElseWhere

OptionalBooleanfalse

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

overrideRingerVolume

OptionalString

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 Parameter 

Query Parameters
 status
 message

API Example -


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
  } 
}


Response

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 -

NameRequiredTypeDefaultDescription

groupNumber

MandatoryID

RingGroup number

Query Parameter 

Query Parameters
 status
 message


API Example - 


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


API Response

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 Example - 

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: 

NameRequiredTypeDefaultDescription

groupNumber

MandatoryID
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 Example - 

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