~.pbx.kazoo.name.~ Conexión

~.pbx.kazoo.name.~ Conexión #

El ~.pbx.kazoo.name.~ proporciona un servicio de recopilación de datos para el ~.pbx.kazoo.name.~ Plataforma UCaaS/CPaaS.

En la tabla siguiente se describen los ajustes necesarios al configurar un ~.pbx.kazoo.name.~ PBX conexión:

Ajuste Descripción
Nombre Un nombre único para poder identificar fácilmente el uso de la conexión.
API Llave El API Clave para permitir ~.Dimensions.~ Para conectarse a ~.pbx.kazoo.name.~ y supervisar las comunicaciones del cliente.
ID de cuenta El ~.pbx.kazoo.name.~ Id. de cuenta de inquilino para el cliente.
Crossbar REST API REST API Conexión URL.
Blackhole WebSocket API Conexión WebSocket URL
País La ubicación de la conexión del sistema telefónico. Se utiliza para localizar los números de teléfono de la conexión.

Information Circle info

Asegúrese de que el < correcto C0> Tipos de eventos</c0> están habilitados en el Blackhole WebSocket.\

Versiones compatibles #

~.pbx.kazoo.name.~ Lanzamiento ~.Dimensions.~ Soporte Notas
5.3 Compatible Ninguno
5.2 Compatible Ninguno
5.1 Compatible Ninguno
5.0 Compatible Ninguno
4.31 Compatible ACDC compatible con Sprint 85
4.21 Compatible Ninguno
< 4.x No compatible Ninguno

  1. Los recopiladores de datos tardan más en iniciarse en los sistemas 4.x debido a que tienen que solicitar suscripciones a eventos individualmente. ↩︎

Requisitos de configuración #

Los siguientes requisitos se aplican a ~.pbx.kazoo.name.~ PBX Conexiones:

Artículo Requisito
Plan de numeración ~.Dimensions.~ Requiere un plan de numeración único para poder distinguir entre dispositivos y usuarios. Dispositivo 'SIP Los nombres de usuario no pueden ser los mismos que cualquier número de extensión (incluido el ID de extensión/presencia de los usuarios, flujos de llamadas, etc.)
Usuarios Todos ~.pbx.kazoo.name.~ los usuarios DEBEN tener lo siguiente para ser monitoreados correctamente:
  • Una dirección de correo electrónico válida y única configurada en su cuenta
  • Un identificador de presencia (se utiliza para mostrar el número del usuario en los informes)
Además, para poder iniciar sesión en el ~.Dimensions.~ portal, el nombre de usuario del usuario en ~.pbx.kazoo.name.~ debe ser su dirección de correo electrónico.
Filtrado de resumen de agentes Actualmente, el estado del agente no se puede filtrar por cola. Al filtrar el informe de resumen del agente por cola, se mostrarán todos los agentes con su estado para el rango de fechas correspondiente del informe. Solo la información de la llamada se puede filtrar contra un específico si es necesario. Esto se debe al hecho de que la información específica de la cola no se almacena históricamente en los eventos de estado del agente.

API Llave #

Este API La clave se genera a partir de la tecla ~.pbx.kazoo.name.~ mediante la aplicación "Autenticación". Permite ~.Dimensions.~ Para conectarse a su ~.pbx.kazoo.name.~ instalación.

Captura de pantalla

ID de cuenta #

El ~.pbx.kazoo.name.~ El identificador de cuenta de inquilino es necesario para el cliente específico en el ~.pbx.kazoo.name.~ plataforma. Esto permite ~.Dimensions.~ para identificar de forma única a los usuarios de este cliente y las llamadas al ~.pbx.kazoo.name.~ plataforma. Esto se puede encontrar en el ~.pbx.kazoo.name.~ mediante la aplicación "Centro de Control". Edite el nombre de la cuenta y se mostrará.

Captura de pantalla

Siempre que sea posible, un API clave en el nivel más alto se debe usar para permitir ~.Dimensions.~ Para monitorear múltiples clientes a través de una sola conexión a ~.pbx.kazoo.name.~. Esto reducirá la carga en el ~.pbx.kazoo.name.~ instancia.

API Conexiones #

Para conectarse a la variable ~.pbx.kazoo.name.~ plataforma, ~.Dimensions.~ Requiere acceso a la sección REST y API de WebSocket. Introduzca las URL de estos en las casillas proporcionadas.

Crossbar REST API URL #

El Crossbar REST API Se utiliza para consultar información sobre los usuarios, dispositivos y callfows configurados en la cuenta de un cliente. Esta información se utiliza para crear cuentas de usuario y para ayudar a modelar el tráfico de llamadas.

'Si está utilizandoui.zswitch.net, luego el Crossbar (REST) eshttps://ui.zswitch.net

Document note

Quite el "/v2" del final de URL si es que existe.

Blackhole WebSocket URL #

El Blackhole La conexión se utiliza para supervisar el tráfico de llamadas y para realizar un seguimiento de los eventos de cambio de documentos para los objetos ~.Dimensions.~ modelos (usuarios, dispositivos, flujos de llamadas, etc.).

Al configurar los detalles de conexión, incluya el número de puerto para el Blackhole conexión.

Si está utilizandoapi.zswitch.net, luego el Blackhole (WebSocket) eswss://api.zswitch.net:5443

Si se utiliza un DNS SRV, no se debe proporcionar el número de puerto.

Document note

Quite el "/v2" del final de URL si es que existe.

ACDC Apoyo

Si se utiliza una versión de ~.pbx.kazoo.name.~ que apoya ACDC en lugar de Qubicle, Cola & Los eventos del agente se pueden monitorear si el socket EDR está habilitado. Lo mismo URL Configurado para Blackhole se utilizará para conectarse a la toma EDR.

DNS SRV #

~.Dimensions.~ Soportes DNS Registros SRV para ambos Crossbar y Blackhole Conexiones. Al configurar los registros SRV, se deben usar los prefijos que se enumeran a continuación para cada uno de los diferentes tipos de conexión:

Tipo de conexión DNS Prefijo SVR
Crossbar REST API _crossbar._TCP
Blackhole WebSocket _blackhole._TCP
WebRTC _webrtc._TCP

Ejemplo Crossbar Configuración de SRV En el ejemplo siguiente se muestran dos registros SRV para un Crossbar conexión. Se pueden configurar más según sea necesario.

En el ~.Dimensions.~ PBX Plantilla, el Crossbar se configuraría parahttps://zone1.example.com .

\_crossbar.\_tcp.zone01.example.com.	1 EN SRV 10 100 8443 apps001-ca.example.com.
\_crossbar.\_tcp.zone01.example.com.	1 EN SRV 100 10 8443 apps001-fl.example.com.

Ejemplo Blackhole Configuración de SRV

En el ~.Dimensions.~ PBX Plantilla, el Blackhole se configuraría parawss://zone1.example.com .

\_blackhole.\_tcp.zone01.example.com.	1 EN SRV 10 100 2096 apps001-ca.example.com.
\_blackhole.\_tcp.zone01.example.com.	1 EN SRV 100 10 2096 apps001-fl.example.com.

Ejemplo de configuración de WebRTC SRV

\_webrtc.\_tcp.zone01.example.com.	1 EN SRV 10 100 5065 apps001-ca.example.com.
\_webrtc.\_tcp.zone01.example.com.	1 EN SRV 100 10 5065 apps001-fl.example.com.

Document note

Si se utiliza cualquiera de los ~.UcClient.~ softphones (Desktop, Móvil o CRM), es necesario configurar una configuración adicional de proxy de salida en su cuenta de revendedor. Por favor, póngase en contacto con ~.Dimensions.~ soporte para tener esta configuración.

~.pbx.kazoo.name.~ Requisitos/restricciones de la plataforma #

Sub Cuentas #

~.Dimensions.~ Se puede configurar para aprovisionar y monitorear automáticamente las subcuentas de un cliente, hasta 1 nivel por debajo. Para utilizar esta función, la conexión de un cliente debe configurarse manualmente sin un PBX plantilla.

Para obtener más información, consulte el sistemas telefónicos sección.

Document note

El seguimiento de subcuentas solo está disponible en las cuentas de los clientes y no debe utilizarse en las cuentas de los revendedores.

Limitación de velocidad #

~.Dimensions.~ realiza una serie de consultas y solicitudes durante su proceso de inicio inicial cuando está aprendiendo sobre el ~.pbx.kazoo.name.~ instancia. Si los límites de velocidad en el ~.pbx.kazoo.name.~ se han establecido demasiado bajo, es posible que este inicio inicial falle. Si esto sucede, un miembro de ~.Dimensions.~ El soporte se pondrá en contacto con más información.

Eventos de WebSocket #

~.Dimensions.~ requiere que los siguientes eventos estén habilitados en WebSocket para permitir que se modelen todas las llamadas y se realice un seguimiento de las modificaciones de programación:

"datos": {
	"llamar": [	
		"Llama. CHANNEL_CREATE. {CALL_ID}",
        "Llama. CHANNEL_ANSWER. {CALL_ID}",
        "Llama. CHANNEL_DESTROY. {CALL_ID}",
		"Llama. CHANNEL_HOLD. {CALL_ID}",
		"Llama. CHANNEL_UNHOLD. {CALL_ID}",
		"Llama. CHANNEL_BRIDGE. {CALL_ID}",
		"Llama. PARK_PARKED. {CALL_ID}",
		"Llama. PARK_RETRIEVED. {CALL_ID}",
		"Llama. PARK_ABANDONED. {CALL_ID}"
		][	
		"call.CHANNEL_CREATE.{CALL_ID}",
        "call.CHANNEL_ANSWER.{CALL_ID}",
        "call.CHANNEL_DESTROY.{CALL_ID}",
		"call.CHANNEL_HOLD.{CALL_ID}",
		"call.CHANNEL_UNHOLD.{CALL_ID}",
		"call.CHANNEL_BRIDGE.{CALL_ID}",
		"call.PARK_PARKED.{CALL_ID}",
		"call.PARK_RETRIEVED.{CALL_ID}",
		"call.PARK_ABANDONED.{CALL_ID}"
		],
	"Conferencia": [ 
		"Conferencia.Comando. {CONFERENCE_ID}",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.undeaf-member",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.miembro-sordo",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.unmute-member",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.miembro-mute",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.start-talking",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.dejar de hablar",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.del-member",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.agregar-miembro",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.unlock",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.lock",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.conferencia-destruir",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.conference-create",
		"Conferencia.evento. {CONFERENCE_ID}. {CALL_ID}.\*"
		][ 
		"conference.command.{CONFERENCE_ID}",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.undeaf-member",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.deaf-member",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.unmute-member",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.mute-member",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.start-talking",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.stop-talking",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.del-member",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.add-member",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.unlock",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.lock",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.conference-destroy",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.conference-create",
		"conference.event.{CONFERENCE_ID}.{CALL_ID}.*"
		],
	"Fax": [	
		"fax.estado. {FAX_ID}",
		"fax.objeto. {ACCIÓN}"
		][	
		"fax.status.{FAX_ID}",
		"fax.object.{ACTION}"
		],
	"objeto": [
	"object.doc_created.account",
	"object.doc_created.callflow",
	"object.doc_created.device",
	"object.doc_created.faxbox",
	"object.doc_created.media",
	"object.doc_creado.usuario",
	"object.doc_created.vmbox",
	"object.doc_created.fax",
	"object.doc_created.mailbox_message",
	"object.doc_created.call_recording",
	"object.doc_editado.cuenta",
	"object.doc_edited.callflow",
	"object.doc_editado.dispositivo",
	"object.doc_editado.faxbox",
	"object.doc_edited.media",
	"object.doc_editado.usuario",
	"object.doc_editado.vmbox",
	"object.doc_editado.fax",
	"object.doc_editado.mensaje_de_buzón",
	"object.doc_edited.call_recording",
	"object.doc_deleted.account",
	"object.doc_deleted.callflow",
	"object.doc_deleted.device",
	"object.doc_deleted.faxbox",
	"object.doc_deleted.media",
	"object.doc_deleted.user",
	"object.doc_deleted.vmbox",
	"object.doc_eliminado.fax",
	"object.doc_deleted.mensaje_de_buzón",
	"object.doc_deleted.call_recording"
	][
	"object.doc_created.account",
	"object.doc_created.callflow",
	"object.doc_created.device",
	"object.doc_created.faxbox",
	"object.doc_created.media",
	"object.doc_created.user",
	"object.doc_created.vmbox",
	"object.doc_created.fax",
	"object.doc_created.mailbox_message",
	"object.doc_created.call_recording",
	"object.doc_edited.account",
	"object.doc_edited.callflow",
	"object.doc_edited.device",
	"object.doc_edited.faxbox",
	"object.doc_edited.media",
	"object.doc_edited.user",
	"object.doc_edited.vmbox",
	"object.doc_edited.fax",
	"object.doc_edited.mailbox_message",
	"object.doc_edited.call_recording",
	"object.doc_deleted.account",
	"object.doc_deleted.callflow",
	"object.doc_deleted.device",
	"object.doc_deleted.faxbox",
	"object.doc_deleted.media",
	"object.doc_deleted.user",
	"object.doc_deleted.vmbox",
	"object.doc_deleted.fax",
	"object.doc_deleted.mailbox_message",
	"object.doc_deleted.call_recording"
	]
}

Crossbar API Solicitudes #

Lo siguiente Crossbar API Las solicitudes son utilizadas por Dimensions:

Uso general

{BARRA TRANSVERSAL}/v2/api_auth,httpMethod=PUT
{CROSSBAR}/v2/websockets,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID},httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/api_key,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/descendants?paginate=false,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/users?paginate=false,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/users/{USERID},httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/users/{USERID}/quickcall/{DESTINATION},httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/users/{USERID}/presence,httpMethod=POST
{CROSSBAR}/v2/accounts/{ACCOUNTID}/devices?paginate=false,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/devices/{DEVICEID},httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/devices/{DEVICEID}/quickcall/{DESTINATION},httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/callflows?paginate=false,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/callflows? {Filtros de cadena de consulta},httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/callflows/{CALLFLOWID},httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/groups?paginate=false,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/groups/{GROUPID}?paginate=false,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/conferences?paginate=false,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/conferences/{CONFERENCEID},httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/vmboxes?paginate=false,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/metaflows,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/storage,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/channels,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/channels/{CHANNELID},httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/channels/{CHANNELID},httpMethod=PUT
{CROSSBAR}/v2/accounts/{ACCOUNTID}/resources,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/qubicle_queues?paginate=false,httpMethod=GET
{CROSSBAR}/v2/accounts/{ACCOUNTID}/qubicle_queues/{QUEUEID},httpMethod=GET

~.UcClient.~ ACD Control

Se utiliza mientras se controla el estado del agente desde ~.UcClient.~ y Tablero.

{CROSSBAR}/v2/accounts/{ACCOUNTID}/qubicle_recipients/status,httpMethod=POST,content={"data":{"recipient_ids":[" {RECIPIENTID1}","{RECIPIENTID2}"]["{RECIPIENTID1}","{RECIPIENTID2}"]}}
{CROSSBAR}/v2/accounts/{ACCOUNTID}/qubicle_recipients/{USERID},httpMethod=POST
{CROSSBAR}/v2/accounts/{ACCOUNTID}/qubicle_recipients/{USERID}/status,httpMethod=POST

Control de perfil de presencia

Se utiliza cuando los perfiles de presencia están habilitados en el ~.UcClient.~.

{CROSSBAR}/v2/accounts/{accountId}/users/{userId},httpMethod=PATCH
{CROSSBAR}/v2/accounts/{accountId}/callflows/{callFlowId},httpMethod=POST
{CROSSBAR}/v2/accounts/{accountId}/callflows/groups/{groupId},httpMethod=POST
{CROSSBAR}/v2/accounts/{accountId}/callflows/groups/{groupId},httpMethod=POST

ACDC Soporte en código abierto

Se utiliza si se ejecuta Open source ~.pbx.kazoo.name.~ Usando ACDC y eventos de agente/cola EDR.

{crossbar}/v2/accounts/{accountId}/queues,httpMethod=GET
{crossbar}/v2/accounts/{accountId}/queues/{queueId},httpMethod=GET
{crossbar}/v2/accounts/{accountId}/queues/{queueId}/stats_summary,httpMethod=GET
{crossbar}/v2/accounts/{accountId}/agents/{recipientId}/status,httpMethod=GET
{crossbar}/v2/accounts/{accountId}/agents/{userId}/status,httpMethod=POST

Restricciones de la plataforma #

Las restricciones que se enumeran a continuación se aplican a la última versión de ~.pbx.kazoo.name.~ soportado.

Restricción Descripción
Seguimiento del flujo de llamadas No se puede recopilar información de llamada a través del socket web API para llamadas mientras están en un flujo de llamadas. El seguimiento de llamadas comenzará una vez que una llamada interactúe con un usuario/dispositivo o con la cola del centro de llamadas. Mientras estén en un flujo de llamadas, las llamadas se tratarán como si estuvieran en el estado "En cola".
Seguimiento del correo de voz Las llamadas que se desvían al correo de voz desde un teléfono no se pueden rastrear como si hubieran ido al correo de voz y, en cambio, se modelarán como no respondidas. Esto se debe a que no se proporciona información suficiente a través del socket web API para que se modele el escenario correcto.
Seguimiento de transferencias anunciadas Debido a la forma en que se generan los eventos de llamada, recomendamos que todos los teléfonos estén configurados para la transferencia a ciegas. Si los teléfonos no están configurados para la transferencia a ciegas y se cuelga una transferencia asistida antes de conectarla, es posible que la llamada no se modele correctamente. Esto se debe a una limitación en FreeSWITCH.
Llamada rápida Si se ejecuta un ~.pbx.kazoo.name.~ versión anterior a la 5.0, las llamadas rápidas respondidas en un dispositivo externo (celular/casa) generan entradas de registro de llamadas no válidas.