{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/SoftKeyMenuObject",
  "title": "SoftKeyMenuObject",
  "type": "object",
  "required": [
    "idleKeyList",
    "offHookKeyList",
    "dialingInputKeyList",
    "progressingKeyList",
    "connectedKeyList",
    "connectedVideoKeyList",
    "startTransferKeyList",
    "startConferenceKeyList",
    "conferencingKeyList",
    "releasingKeyList",
    "holdKeyList",
    "ringingKeyList",
    "sharedActiveKeyList",
    "sharedHeldKeyList"
  ],
  "properties": {
    "idleKeyList": {
      "type": "string",
      "example": "guestin|;guestout|;acd_login|;acd_logout|;astate|;redial|;newcall|;cfwd|;recents|;dnd|;unpark|;psk1|;gpickup|;pickup|;dir|4;miss|5;selfview|;messages",
      "description": "Specify the idle key list."
    },
    "offHookKeyList": {
      "type": "string",
      "example": "endcall|1;redial|2;dir|3;lcr|4;unpark|5;pickup|6;gpickup|7",
      "description": "Specify the off hook key list."
    },
    "dialingInputKeyList": {
      "type": "string",
      "example": "dial|1;cancel|2;delchar|3;left|5;right|6",
      "description": "Specify the dialing input key list."
    },
    "progressingKeyList": {
      "type": "string",
      "example": "endcall|2",
      "description": "Specify the progressing key list."
    },
    "connectedKeyList": {
      "type": "string",
      "example": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume",
      "description": "Specify the connected key list."
    },
    "connectedVideoKeyList": {
      "type": "string",
      "example": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume",
      "description": "Specify the connected video key list."
    },
    "startTransferKeyList": {
      "type": "string",
      "example": "endcall|2;xfer|3",
      "description": "Start the transfer key list."
    },
    "startConferenceKeyList": {
      "type": "string",
      "example": "endcall|2;conf|3",
      "description": "Start the conference key list."
    },
    "conferencingKeyList": {
      "type": "string",
      "example": "endcall;join;crdstart;crdstop;crdpause;crdresume",
      "description": "Specify the conferencing key list."
    },
    "releasingKeyList": {
      "type": "string",
      "example": "endcall|2",
      "description": "Specify the releasing key list."
    },
    "holdKeyList": {
      "type": "string",
      "example": "resume|1;endcall|2;newcall|3;redial|4;dir|5",
      "description": "Specify the hold key list."
    },
    "ringingKeyList": {
      "type": "string",
      "example": "answer|1;ignore|2",
      "description": "Specify the ringing key list."
    },
    "sharedActiveKeyList": {
      "type": "string",
      "example": "newcall|1;psk1|2;dir|3;back|4",
      "description": "Specify the shared active key list."
    },
    "sharedHeldKeyList": {
      "type": "string",
      "example": "resume|1;dir|4",
      "description": "Specify the shared held key list."
    }
  }
}