Skip to main content
La interacción con la PBX se realiza a través de conexiones SIP, que se configuran conjuntamente tanto en el lado de la PBX como en el lado de SIP.TG. Para crear una conexión SIP en el lado de SIP.TG:
  1. Inicie el bot @siptg_bot y vaya a la sección /gateway.
  2. Seleccione la sesión de Telegram que desea conectar a la PBX, o cree una nueva utilizando el botón “Conectar” (para más detalles, consulte Conexión de sesión paso a paso).
  3. Haga clic en uno de los botones para crear una nueva conexión SIP, correspondiente al tipo de conexión: ”🆕 PBX→SIP․TG”, ”🆕 SIP․TG→PBX” o ”🆕 IP⇿IP”.

Configuración de la conexión SIP a la PBX

La mayoría de los ajustes se muestran directamente en los botones como valores actuales. Para cambiar estos ajustes, simplemente haga clic en el botón correspondiente e ingrese un nuevo valor cuando el bot lo solicite. Sin embargo, algunos botones funcionan de manera diferente:
  • Worker: al hacer clic, aparece una lista de servidores Worker disponibles. Seleccione el servidor deseado de la lista para ver su descripción detallada y asignarlo.
  • Botones con marcas de verificación, como “DTMF ent.”, “DTMF sal.”, “Rellamar”, “Líneas”, “Procesamiento de mensajes”, “Callback” y “Compartir suscripción”, funcionan como interruptores. Un clic activa o desactiva la opción.
  • Protocolo de conexión (UDP/TCP/TLS): cada clic cambia al siguiente protocolo disponible.
  • Mostrar cuenta y Restablecer contraseña: muestran los parámetros de conexión a SIP.TG que deben especificarse en el lado de la PBX.
Permite seleccionar el servidor que se conectará a la PBX o al proveedor de telefonía.Hay 3 tipos de servidores:
Tipo de servidorDescripciónSímbolo
Servidores públicos de SIP.TGServidores principales soportados por SIP.TG
Servidores públicos de otros usuariosServidores disponibles públicamente alojados por otros usuarios🌐
Servidores privadosSus propios servidores, disponibles solo para sus cuentas SIP🔑
En una suscripción gratuita, solo están disponibles algunos de los servidores públicos de SIP.TG.
La elección de códecs afecta la calidad y compatibilidad de la comunicación por voz. Se admiten los códecs Opus, alaw, mulaw, GSM y otros.
DTMF es necesario para interactuar con menús de voz. Los métodos disponibles son RFC2833 (recomendado), INFO e inband.
Permiten establecer el formato de marcación de números para la compatibilidad con la PBX. Más detalles en la sección Reglas de transformación de números.
La prioridad permite establecer el orden de llamada de las cuentas SIP al realizar una llamada de Telegram → SIP.Se aplican las siguientes reglas:
  1. Las cuentas con la misma prioridad se llaman simultáneamente.
  2. Cuanto menor sea la prioridad, antes se llamarán a las cuentas SIP.
  3. La transición a la siguiente prioridad ocurre después de una marcación sin éxito a todas las cuentas SIP de la prioridad anterior.
Reglas para formar el identificador de llamada (Caller ID) y el nombre mostrado del llamante (Caller Name) al realizar una llamada, que se aplica a ambas direcciones.Para más detalles, consulte Tipos de identificadores de llamante.
A continuación se presentan configuraciones específicas para cada tipo de conexión SIP.

PBX → SIP.TG

En este modo, su PBX se registra en SIP.TG como cliente SIP. Usted recibe un nombre de usuario y contraseña SIP del bot y los especifica en su PBX.
Este es el método de conexión más simple y es adecuado para la mayoría de los sistemas (Asterisk, 3CX, FreePBX, etc.).

Captura de pantalla con la configuración de conexión PBX→SIP.TG

Muestran el nombre de usuario, contraseña y dirección de conexión de la línea SIP actual, que debe registrarse en el lado de su PBX.“Restablecer contraseña” genera previamente una nueva contraseña SIP para esta línea. Después de restablecerla, será necesario actualizarla en el lado de la PBX.
Una lista de direcciones IP y subredes desde las cuales se permite la conexión a esta cuenta.

SIP.TG → PBX

Aquí, el servidor Worker de SIP.TG se registra en su PBX. En el bot, usted establece los parámetros de su PBX: nombre de usuario, contraseña y dirección.
No olvide agregar las direcciones IP de SIP.TG a la lista blanca en su PBX. Lista actual: files.sip.tg/fw.txt.

Captura de pantalla con la configuración de conexión SIP.TG→PBX

Parámetros básicos de conexión que deben completarse para hacer posible la conexión a su PBX.“Proxy” solo debe completarse si difiere del “Dominio”.
Cuando un usuario hace clic en el botón de llamada 📞 en la aplicación Telegram sin enviar ningún mensaje — este número se utilizará como número predeterminado que se enviará a la PBX.

IP ⇿ IP

Ambas partes conocen la dirección IP de la otra. Se utiliza en casos donde el registro es imposible o innecesario (por ejemplo, enrutamiento estático).
Adecuado para usuarios avanzados. Requiere configuración de rutas en el lado de la PBX.

Captura de pantalla con la configuración de conexión IP⇿IP

Dirección IP y puerto del lado opuesto (su PBX).Para que la conexión se establezca, en el lado de la PBX, también debe crear una conexión con una dirección IP específica del servidor SIP.TG. Para esto, se utiliza la dirección IP del servidor Worker asignado a la conexión SIP.La dirección IP actual del servidor Worker que se está utilizando se mostrará en el mensaje cuando solicite un cambio al parámetro actual.
Si desea utilizar múltiples conexiones SIP entre las mismas direcciones IP, este campo le permite establecer un encabezado SIP adicional para la identificación correcta de la conexión.El parámetro se establece como un par {nombre del campo SIP}:{valor del campo SIP}, separado por dos puntos :.
Cuando un usuario hace clic en el botón de llamada 📞 en la aplicación Telegram sin enviar ningún mensaje — este número se utilizará como número predeterminado que se enviará a la PBX.

Tipos de identificadores de llamante

Cada usuario de Telegram puede tener hasta tres tipos de identificadores:
  • Número de teléfono, en el que está registrada la cuenta. Siempre está presente, pero por defecto está oculto por la configuración de privacidad para otros usuarios. Con limitaciones significativas, es posible establecer contacto con un usuario por número de teléfono.
  • Nombre de usuario (Username) — este es un nombre de usuario alfabético único. Por defecto, no existe, muchos usuarios lo configuran, pero estrictamente hablando, puede estar ausente. Por el contrario, un usuario puede tener varios nombres de usuario coleccionables. Puede establecer contacto con un usuario por nombre de usuario, y las restricciones son mucho más suaves que para el número de teléfono, pero las PBX en la nube a menudo no contemplan el uso de identificadores de llamante no numéricos.
  • ID de usuario (User ID) — identificador numérico interno. Siempre presente, nunca cambia, pero es imposible establecer contacto con un usuario solo por ID de usuario — puede usarse solo después de que se haya establecido contacto por uno de los otros métodos.
Tipo de identificadorFormatoPosibilidad de contactoObligatorioModificableSoporte de PBX
Número de teléfononuméricolimitada
Nombre de usuarioalfabéticonolimitado
ID de usuarionumériconono
La tabla muestra que cada identificador tiene serias limitaciones que impiden su uso en todos los escenarios. SIP.TG admite todos los tipos de identificadores y sus combinaciones, y también permite establecer la prioridad de su uso según sus necesidades.

Telegram → PBX

Para cada conexión SIP, puede establecer reglas para formar el Caller ID, que se transmitirá en el campo From en el mensaje INVITE para llamadas de Telegram → PBX. Las reglas de formación del Caller ID consisten en varias líneas, con una regla por línea. Cada regla es una cadena de plantilla, en la que {phone}, {username} y {userid} están permitidos como parámetros de plantilla. Al formar el Caller ID final, se utiliza la primera regla, cuyos parámetros de plantilla contienen valores sobre el usuario de Telegram que llama.
  • Ejemplo 1
  • Ejemplo 2
  • Ejemplo 3
{phone}
{username}
0userid
Tal Caller ID en diferentes situaciones puede tomar los tres tipos de identificadores, dependiendo de cuáles tenga el usuario:
  • Si el número de teléfono no está oculto — se utilizará.
  • De lo contrario, si se ha establecido el nombre de usuario — el sistema lo elegirá.
  • Y solo en el caso más excepcional se utilizará el ID de usuario con el prefijo 0 — esta etiqueta permite resolver la ambigüedad en la interpretación del tipo de identificador.
Además del Caller ID, el campo From también puede contener el nombre del llamante (Caller Name), cuya formación también puede controlarse mediante reglas similares, pero además de los parámetros enumerados anteriormente, hay dos más:
  • {name} — nombre mostrado en UTF-8 (puede causar problemas en el lado de la PBX debido a los emojis);
  • {name_ascii} — nombre mostrado convertido a ASCII (opción segura).
+{phone} ({name_ascii})
@{username} ({name_ascii})
{name_ascii}
Dependiendo de si el usuario tiene un número de teléfono y nombre de usuario, se utilizará uno de los siguientes:
  • o bien el número de teléfono con el prefijo +, seguido del nombre mostrado escrito entre paréntesis,
  • o el nombre de usuario con el prefijo @, seguido del nombre mostrado escrito entre paréntesis,
  • o en el caso más extremo — solo el nombre mostrado sin caracteres extraños.

PBX → Telegram

Al recibir una solicitud INVITE desde el lado de la PBX, el identificador llamado se interpretará en plena conformidad con el mismo parámetro Caller ID descrito anteriormente. Sin embargo, el algoritmo para determinar el tipo de identificador y cortar prefijos y caracteres extraños en él no parece tan obvio.
Como en el caso de las llamadas de Telegram → PBX, las reglas se verifican secuencialmente y la selección se detiene en la primera que satisface los criterios dados después de las transformaciones:
  1. Todos los parámetros de plantilla en la regla se reemplazan con sus expresiones regulares correspondientes:
    • {phone}+?[1-9]\d*: un número que no puede comenzar con 0 y opcionalmente puede comenzar con el símbolo +;
    • {username}@?[a-zA-Z]\w*: una cadena alfanumérica que solo puede comenzar con una letra y opcionalmente con un prefijo @;
    • {userid}[1-9]\d*: un número que no puede comenzar con 0 y no puede tener prefijos.
  2. Como resultado del punto 1, se obtiene una expresión regular compleja, contra la cual se verifica el identificador recibido del URI INVITE.
  3. Como resultado de satisfacer la expresión regular, aunque esto solo tiene un sentido teórico, varios tipos de identificadores pueden ser reconocidos en el identificador a la vez. En este caso, se seleccionará el primer valor en el orden especificado: {userid}, {username}, {phone}.
Esto asegura la bidireccionalidad de las reglas de formación del Caller ID y la consistencia de los formatos de identificador para ambas direcciones de llamada.

Integración con CRM

La integración con CRM generalmente no se implementa directamente con SIP.TG, sino a través de una PBX a la que SIP.TG se conecta como un troncal SIP estándar. El CRM mismo “ve” las llamadas y contactos gracias a las capacidades de la PBX. Como regla general, no es necesario instalar módulos o plugins separados específicamente para SIP.TG en el CRM.
La mayoría de las veces, la interacción se organiza de la siguiente manera:
  1. Una llamada de Telegram llega a la Pasarela SIP.TG (cuenta de Telegram).
  2. La Pasarela SIP.TG convierte la llamada a SIP y la pasa a la PBX (a través del troncal SIP).
  3. La PBX, teniendo el módulo o plugin necesario para la integración con CRM, reconoce la llamada entrante, muestra la tarjeta del cliente, registra la llamada o realiza otras acciones.
  4. Al final de la conversación, los datos sobre la llamada (por ejemplo, duración, resultado) también se guardan en el CRM.
Casi cualquier PBX moderna puede usar encabezados SIP (CallerID, From, etc.) durante una llamada entrante o saliente para “pasar” datos al módulo CRM. Al llamar desde Telegram a través de la Pasarela SIP.TG a un troncal SIP, se transmite el identificador del llamante (la mayoría de las veces se muestra como ID de Telegram o nombre de usuario), y la lógica en la PBX mapea este identificador a los registros del CRM.Si su PBX puede administrar CallerID para llamadas salientes (por ejemplo, “sustituye” el número deseado), entonces el CRM puede registrar automáticamente tanto el número de teléfono real como los contactos de Telegram en la tarjeta. Pero hay muchos detalles para cada CRM y PBX; en general, esto no está regulado directamente por SIP.TG.
Si un CRM “sabe cómo” iniciar una llamada (por ejemplo, hacer clic en un número y llamar), generalmente lo hace a través de la PBX, envía un comando Call API o AMI allí (Asterisk, 3CX, etc.). Luego, la PBX traduce la solicitud al troncal SIP de SIP.TG, y la Pasarela llama a Telegram. Todo esto es nuevamente una interacción estándar “CRM → PBX → troncal SIP”, donde SIP.TG simplemente desempeña el papel de un operador de telecomunicaciones para Telegram.
  1. En la PBX, cree una cuenta (troncal SIP) con las credenciales proporcionadas al configurar /gateway en @siptg_bot.
  2. En el CRM, active un plugin o módulo listo (para Asterisk, 3CX, FreePBX, Yate, etc.) o configure solicitudes externas a la PBX a través de su API.
  3. Verifique que el CRM reciba eventos sobre llamadas (aparece la tarjeta, se escriben registros) y, si es necesario, conecte lógica más profunda (distribución de llamadas, vinculación de grabaciones de conversación, automatización).
  4. Para llamadas salientes desde CRM — verifique que la PBX pueda formar una llamada a través del troncal SIP “SIP.TG” (generalmente se selecciona una ruta o regla de marcación para tal línea).

Cuando se necesita configuración adicional

1

Campos de encabezado SIP extendidos

Si su CRM forma o espera algunos encabezados específicos (por ejemplo, X-CRM-ID), tales situaciones se resuelven por medio de su PBX (scripts AGI en Asterisk, configuraciones personalizadas en 3CX, etc.). En el lado de SIP.TG, no hay forma de influir directamente en encabezados SIP arbitrarios.
2

Necesita un CallerID reenviado

En algunos casos, el CRM necesita ver el número de llamada original completo (por ejemplo, para “vincularlo” a un cliente específico). Si la llamada es desde Telegram, entonces el número puede ser cualquier cosa (o estar completamente ausente), y aquí depende de la lógica de su PBX cómo sustituir el CallerID. A veces se agrega una base de datos adicional de correspondencia “ID de Telegram → teléfono del cliente”.
3

Habilitación de grabación de llamadas en CRM

La grabación de llamadas puede habilitarse tanto en la propia PBX como en el modo “Grabación de llamadas” en el lado de SIP.TG (en el Softphone). Si desea almacenar grabaciones específicamente en el CRM, verifique si su PBX puede transferir archivos de grabación allí. Desde el punto de vista de SIP.TG, esta es una transmisión “transparente” de sonido a través de SIP, y no hay configuraciones adicionales para la grabación.

Consejos adicionales

  • Enfoque unificado: todas las configuraciones relacionadas con CRM generalmente se realizan en la interfaz de su PBX. Usted percibe SIP.TG como un operador de telecomunicaciones regular (troncal SIP).
  • PBX típicas (Asterisk, 3CX, FreeSWITCH, Yate, Oktell, Panasonic, etc.) tienen plugins o interfaces REST para la integración con CRM. Estudie la documentación de la PBX: lo más probable es que haya un ejemplo listo.
  • Escenarios de recepción y enrutamiento de llamadas (IVR, cola de operadores, reenvío automático) — todas estas son funciones comunes de PBX. La Pasarela SIP.TG no limita ni complica tales escenarios: funcionan de la misma manera que con otros troncales SIP.
No complique demasiado. Para “hacer amigos” el CRM con las llamadas de Telegram, es suficiente conectar la Pasarela SIP.TG a su PBX y usar las herramientas estándar de integración CRM que están disponibles en la PBX.Si encuentra problemas o errores, use la sección Solución de problemas.
I