Control de llamada (Call Control)

Los métodos aquí indicados irán siempre firmados con la cabecera "X-Api-Key" al igual que el resto de métodos.

Obtener las llamadas que hay en la centralita

GET /callcontrol/status

Se obtendrá el estado de la centralita, sólo aparecerán los datos de las extensiones que tengan llamadas, si una extensión no aparece, es que no tiene llamadas.

Ejemplo de respuesta para una centralita sin llamadas:

{
  "domain": "testsip.com",
  "extensionStatuses": {}
}

Ejemplo de respuesta para una centralita con llamadas internas

{
  "domain": "testsip.com",
  "extensionStatuses": {
    "100": {
      "username": "100",
      "state": "BUSY",
      "calls": [
        {
          "uuid": "01c73913-a3c6-4f5a-8d5d-5bf426e62563",
          "created": 1550072782416,
          "callerId": "100",
          "destination": "104",
          "direction": null,
          "state": "ANSWERED"
        }
      ]
    },
    "104": {
      "username": "104",
      "state": "BUSY",
      "calls": [
        {
          "uuid": "8f2dffcd-8e3d-4d53-ad80-622fc0083492",
          "created": 1550072782616,
          "callerId": "100",
          "destination": "104",
          "direction": null,
          "state": "ANSWERED"
        }
      ]
    }
  }
}

Ejemplo de respuesta para una centralita con llamadas salientes

{
  "domain": "testsip.com",
  "extensionStatuses": {
    "104": {
      "username": "104",
      "state": "BUSY",
      "calls": [
        {
          "uuid": "2b7e9c6e-89d2-43fc-be82-8742faf8fb5d",
          "created": 1550072975138,
          "callerId": "104",
          "destination": "900101010",
          "direction": null,
          "state": "ANSWERED"
        }
      ]
    }
  }
}

Colgar una llamada

GET /callcontrol/hangup/{callId}

Con éste método puede colgar una llamada que tenga la centralita.

Ejemplo

  • Petición
GET /callcontrol/hangup/2b7e9c6e-89d2-43fc-be82-8742faf8fb5d

Activar grabación

GET /callcontrol/recording/{callId}/start

Con éste método se inicia la grabación para el callId indicado.

Si se ejecuta dos veces en una misma llamada, se reinicia la grabación descartando lo anteriormente grabado.

Ejemplo

  • Petición
GET /callcontrol/recording/2b7e9c6e-89d2-43fc-be82-8742faf8fb5d/start

Parar grabación

GET /callcontrol/recording/{callId}/stop

Con éste método se para la grabación para el callId indicado.

Ejemplo

  • Petición
GET /callcontrol/recording/2b7e9c6e-89d2-43fc-be82-8742faf8fb5d/stop

Descolgar extensión que esta sonando

Para este método se utiliza el evento "TALK", si el softphone o terminal lo soporta, se descolgará la llamada.

Hay que tener en cuenta qeu el "callId" que hay que enviar en esta petición es el de la pata que queremos descolgar. Por ejemplo en una llamada entrante a una cola, sería el "bLegId".

GET /callcontrol/talk/{callId}

Con éste método puede colgar una llamada que tenga la centralita.

Ejemplo

  • Petición
GET /callcontrol/talk/2b7e9c6e-89d2-43fc-be82-8742faf8fb5d