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:
/gateway
.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:
Servidor Worker
Permite seleccionar el servidor que se conectará a la PBX o al proveedor de telefonía.
Hay 3 tipos de servidores:
Tipo de servidor | Descripción | Símbolo |
---|---|---|
Servidores públicos de SIP.TG | Servidores principales soportados por SIP.TG | ✅ |
Servidores públicos de otros usuarios | Servidores disponibles públicamente alojados por otros usuarios | 🌐 |
Servidores privados | Sus 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.
Códecs de audio
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.
Métodos de transmisión DTMF
DTMF es necesario para interactuar con menús de voz. Los métodos disponibles son RFC2833 (recomendado), INFO e inband.
Reglas de transformación de números
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.
Prioridad
La prioridad permite establecer el orden de llamada de las cuentas SIP al realizar una llamada de Telegram → SIP.
Se aplican las siguientes reglas:
Caller ID y Caller Name
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.
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
Mostrar cuenta y Restablecer contraseña
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.
IPs confiables
Una lista de direcciones IP y subredes desde las cuales se permite la conexión a esta cuenta.
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
Usuario, Contraseña, Dominio y Proxy
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”.
Número en la PBX
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.
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:puerto
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.
Campo:Valor
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 :
.
Número en la PBX
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.
Cada usuario de Telegram puede tener hasta tres tipos de identificadores:
Tipo de identificador | Formato | Posibilidad de contacto | Obligatorio | Modificable | Soporte de PBX |
---|---|---|---|---|---|
Número de teléfono | numérico | limitada | sí | sí | sí |
Nombre de usuario | alfabético | sí | no | sí | limitado |
ID de usuario | numérico | no | sí | no | sí |
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.
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.
Ejemplos de formación de Caller ID
Tal Caller ID en diferentes situaciones puede tomar los tres tipos de identificadores, dependiendo de cuáles tenga el usuario:
0
— esta etiqueta permite resolver la ambigüedad en la interpretación del tipo de identificador.Tal Caller ID en diferentes situaciones puede tomar los tres tipos de identificadores, dependiendo de cuáles tenga el usuario:
0
— esta etiqueta permite resolver la ambigüedad en la interpretación del tipo de identificador.Aquí, el comportamiento es similar al Ejemplo 1, con la única diferencia de que si el usuario no tiene ni número de teléfono ni nombre de usuario, tal llamada será prohibida y no llegará a la PBX.
Y este ejemplo difiere de los dos primeros en que si el usuario no tiene número de teléfono y nombre de usuario, la llamada aún llegará a la PBX, pero con el número anonymous
.
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).Ejemplo de formación de Caller Name
Dependiendo de si el usuario tiene un número de teléfono y nombre de usuario, se utilizará uno de los siguientes:
+
, seguido del nombre mostrado escrito entre paréntesis,@
, seguido del nombre mostrado escrito entre paréntesis,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.
Algoritmo detallado de procesamiento de reglas
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:
{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.{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.
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:
¿Cómo aprende la PBX sobre el número del cliente?
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.
¿Cómo iniciar una llamada desde CRM?
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.
Ejemplo de configuración
/gateway
en @siptg_bot.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.
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”.
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.
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.