Skip to end of metadata
Go to start of metadata

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

Compare with Current View Version History

« Previous Version 2 Current »

This page describes the GraphQL API for Find Me/Follow Me.

Scope: gql:findmefollow


Fetch Follow Me

Returns the follow me settings for a single extension.

API - fetchFollowMe

API Parameters

Name

Field

Type

Default

Description

extensionId

Mandatory

ID

Specifiy the extension to fetch follow me details.

API Query Fields

Types with a exclamation mark are guaranteed to be non-null.

Name

Type

Description

id

ID!

The ID of an object

status

Boolean

Status of the request

message

String

Message for the request

enabled

Boolean!

If enabled, any call to this extension will go to this follow me instead, including directory calls by name from IVRs. If disabled, calls will go only to the extension. However, destinations that specify FollowMe will come here. This setting is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here.

extensionId

ID!

Follow Me Extension Number

strategy

ringstrategiesv2

Ring strategy for `followMeList`

ringTime

Int

Time in seconds that the phones will ring. Max 60 seconds

followMePrefix

String

CID Name Prefix like `Sales:`

followMeList

String

The numbers that will be dialed. Numbers are `-` separated. External numbers should have a `#` suffix.

callerMessage

ID

System Recording ID. Announcement played to caller

noAnswerDestination

String

Destination after `followMeList` is rung and there was no answer

alertInfo

String

Alert Info can be used for distinctive ring with SIP devices. If you are having issues, see the "Enforce RFC7462" option found in Settings > Advanced Settings.

confirmCalls

Boolean

Enable this if you are calling external numbers that need confirmation. 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

receiverMessageConfirmCall

ID

System Recording ID. Message to be played to the person RECEIVING the call, if `confirmCalls` is enabled.

receiverMessageTooLate

ID

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

ringingMusic

String

Default `Ring`. Custom values will be the category name of "On Hold Music".

initialRingTime

Int

Initial Ring Time. This is the number of seconds to ring the primary extension prior to proceeding to the `followMeList`. The extension can also be included in the `followMeList`. A 0 setting will bypass this.

enableCalendar

Boolean

Enable calendar for follow me (either group or single calendar)

matchCalendar

Boolean

This determines how matching an event is handled (`enableCalendar` must be true to activate). If true, then follow me will match whenever there is an event. If false, follow me will match whenever no event is present

calendar

ID

Calendar ID

calendarGroup

ID

Calendar Group ID

overrideRingerVolume

Int

Ringer Volume Override. Note: This is only valid for Sangoma phones at this time

externalCallerIdMode

externalcidmode

Choose the CID Mode from the `externalcidmode` enum. Default is `default`.

fixedCallerId

String

Fixed CID Value. Fixed value to replace the CID with used with `externalCallerIdMode` fixed modes. Should be in a format of digits only with an option of E164 format using a leading `+`.

API Examples:

API Request (fetchFollowMe)

query {
  fetchFollowMe(extensionId: "101") {
    id
    message
    status
    enabled
    extensionId
    strategy
    ringTime
    followMePrefix
    followMeList
    callerMessage
    noAnswerDestination
    alertInfo
    confirmCalls
    receiverMessageConfirmCall
    receiverMessageTooLate
    ringingMusic
    initialRingTime
    voicemail
    enableCalendar
    calendar
    calendarGroup
    matchCalendar
    overrideRingerVolume
    externalCallerIdMode
    fixedCallerId
  }
}

API Response (fetchFollowMe)

{
  "data": {
    "fetchFollowMe": {
      "id": "ZXh0ZW5zaW9uOaEwMw==",
      "message": "Record found successfully",
      "status": true,
      "enabled": false,
      "extensionId": "101",
      "strategy": "ringallv2",
      "ringTime": 20,
      "followMePrefix": null,
      "followMeList": "101-2317094162#",
      "callerMessage": null,
      "noAnswerDestination": "ext-local,101,dest",
      "alertInfo": null,
      "confirmCalls": null,
      "receiverMessageConfirmCall": null,
      "receiverMessageTooLate": null,
      "ringingMusic": "Ring",
      "initialRingTime": 7,
      "voicemail": "default",
      "enableCalendar": null,
      "calendar": null,
      "calendarGroup": null,
      "matchCalendar": true,
      "overrideRingerVolume": null,
      "externalCallerIdMode": "default",
      "fixedCallerId": null
    }
  }
}

Enable Follow Me

Enable follow me for the specified extension.

API - enableFollowMe

API Input

Name

Field

Type

Default

Description

extensionId

Mandatory

ID

Specify the extension to enable follow me

API Examples:

API Request (enableFollowMe)

mutation {
  enableFollowMe(input: {
    extensionId: "101"
  }) { message status }
}

API Response (enableFollowMe)

{
  "data": {
    "enableFollowMe": {
      "message": "Follow me has been enabled",
      "status": true
    }
  }
}

Disable Follow Me

Disable follow me for the specified extension.

API - disableFollowMe

API Input

Name

Field

Type

Default

Description

extensionId

Mandatory

ID

Specify the extension to disable follow me

API Examples:

API Request (disableFollowMe)

mutation {
  disableFollowMe(input: {
    extensionId: "101"
  }) { message status }
}

API Response (disableFollowMe)

{
  "data": {
    "disableFollowMe": {
      "message": "Follow me has been disabled",
      "status": true
    }
  }
}

Update Follow Me

Update the follow me settings. You can only set a value for either calendar or calendarGroup, but not both.

API - updateFollowMe

API Input

Types with a exclamation mark are required input parameters.

Name

Type

Description

extensionId

ID!

Follow Me Extension Number

enabled

Boolean!

If enabled, any call to this extension will go to this follow me instead, including directory calls by name from IVRs. If disabled, calls will go only to the extension. However, destinations that specify FollowMe will come here. This setting is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here.

strategy

ringstrategiesv2

Ring strategy for `followMeList`

ringTime

Int

Time in seconds that the phones will ring. Max 60 seconds

followMePrefix

String

CID Name Prefix like `Sales:`

followMeList

String

The numbers that will be dialed. Numbers are `-` separated. External numbers should have a `#` suffix.

callerMessage

ID

System Recording ID. Announcement played to caller

noAnswerDestination

String

Destination after `followMeList` is rung and there was no answer

alertInfo

String

Alert Info can be used for distinctive ring with SIP devices. If you are having issues, see the "Enforce RFC7462" option found in Settings > Advanced Settings.

confirmCalls

Boolean

Enable this if you are calling external numbers that need confirmation. 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

receiverMessageConfirmCall

ID

System Recording ID. Message to be played to the person RECEIVING the call, if `confirmCalls` is enabled.

receiverMessageTooLate

ID

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

ringingMusic

String

Default `Ring`. Custom values will be the category name of "On Hold Music".

initialRingTime

Int

Initial Ring Time. This is the number of seconds to ring the primary extension prior to proceeding to the `followMeList`. The extension can also be included in the `followMeList`. A 0 setting will bypass this.

enableCalendar

Boolean

Enable calendar for follow me (either group or single calendar)

matchCalendar

Boolean

This determines how matching an event is handled (`enableCalendar` must be true to activate). If true, then follow me will match whenever there is an event. If false, follow me will match whenever no event is present

calendar

ID

Calendar ID

calendarGroup

ID

Calendar Group ID

overrideRingerVolume

Int

Ringer Volume Override. Note: This is only valid for Sangoma phones at this time

externalCallerIdMode

externalcidmode

Choose the CID Mode from the `externalcidmode` enum. Default is `default`.

fixedCallerId

String

Fixed CID Value. Fixed value to replace the CID with used with `externalCallerIdMode` fixed modes. Should be in a format of digits only with an option of E164 format using a leading `+`.

API Examples:

API Request (updateFollowMe)

mutation {
  updateFollowMe(input: {
    extensionId: "101"
    enabled: true
    followMeList: "101-103-2317094162#"
    strategy: ringallv2prim
    externalCallerIdMode: forcedid
    ringTime: 25
    followMePrefix: "Sales:"
    fixedCallerId: "2317094162"
    enableCalendar: false
    matchCalendar: true
    calendar: ""
    calendarGroup: "c6f2fb7f-55f5-419c-8657-e7aa3c6d6695"
    callerMessage: "1"
    noAnswerDestination: "ext-local,101,dest"
    alertInfo: ""
    confirmCalls: false
    receiverMessageConfirmCall: "1"
    receiverMessageTooLate: "1"
    ringingMusic: "Ring"
    initialRingTime: 7
    overrideRingerVolume: 0
  }) { message status }
}

API Response (updateFollowMe)

{
  "data": {
    "updateFollowMe": {
      "message": "Follow me has been updated",
      "status": true
    }
  }
}

Enums

In GraphQL, the enum type is special kind of scalar that is restricted to a particular set of allowed values. When passed as input for a mutation, it should not be quoted like a string. However, due to the nature of JSON, when returned from a query it will be quoted.

ringstrategiesv2

Value

Description

ringallv2

Ring Extension for duration set in Initial Ring Time, and then, while continuing call to extension (only if extension is in the Group List), ring `followMeList` for duration set in `ringTime`.

ringallv2prim

Ring Extension for duration set in Initial Ring Time, and then, while continuing call to extension (only if extension is in the Group List), ring `followMeList` for duration set in `ringTime`. If the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung

ringall

Ring all available channels until one answers (default)

ringallprim

Ring all available channels until one answers. If the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung

hunt

Take turns ringing each available extension

huntprim

Take turns ringing each available extension. If the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung

memoryhunt

Ring first extension in the list, then ring the 1st and 2nd extension, then ring 1st 2nd and 3rd extension in the list.... etc

memoryhuntprim

Ring first extension in the list, then ring the 1st and 2nd extension, then ring 1st 2nd and 3rd extension in the list.... etc. If the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung

firstavailable

Ring only the first available channel

firstnotonphone

Ring only the first channel which is not offhook - ignore CW

externalcidmode

Value

Description

default

Default: Transmits the Callers CID if allowed by the trunk.

fixed

Fixed CID Value: Always transmit the Fixed CID Value below.

extern

Outside Calls Fixed CID Value: Transmit the Fixed CID Value below on calls that come in from outside only. Internal extension to extension calls will continue to operate in default mode.

did

Use Dialed Number: Transmit the number that was dialed as the CID for calls coming from outside. Internal extension to extension calls will continue to operate in default mode. There must be a DID on the inbound route for this. This will be BLOCKED on trunks that block foreign CallerID

forcedid

Force Dialed Number: Transmit the number that was dialed as the CID for calls coming from outside. Internal extension to extension calls will continue to operate in default mode. There must be a DID on the inbound route for this. This WILL be transmitted on trunks that block foreign CallerID

  • No labels