Saltar al contenido principal

Traducción de Números

📖 Volver a la Documentación Principal

La traducción de números convierte números de teléfono entre diferentes formatos para asegurar un formato E.164 consistente en todo el sistema.

Documentación Relacionada

Documentación Principal

Flujo de Procesamiento de Llamadas

Servicios Relacionados

Monitoreo


Traducción de Números

La traducción de números convierte números de teléfono entre diferentes formatos (local, nacional, internacional) para asegurar un formato E.164 consistente en todo el sistema.

¿Qué es la Traducción de Números?

La traducción de números normaliza los números de teléfono al formato E.164 (estándar internacional) antes del procesamiento de llamadas. Esto asegura:

  • Numeración consistente en todo el sistema
  • Enrutamiento adecuado a destinos dentro y fuera de la red
  • Compatibilidad con troncos SIP internacionales y redes IMS

Formato E.164: [Código de País][Número Nacional] (sin prefijo +, sin espacios)

  • Ejemplo: 61403123456 (móvil de Australia)
  • Ejemplo: 16505551234 (número de EE. UU.)

Cuándo Ocurre la Traducción

La traducción ocurre:

  • Antes de las búsquedas Sh
  • Antes de las búsquedas HLR
  • Antes de la autorización OCS
  • Antes de que se genere el XML del plan de marcado

Para Llamadas MT: Traducir el número de destino (parte llamada) Para Llamadas MO: Traducir tanto los números de origen como de destino

Configuración

config :tas,
number_translate: %{
country_code: :PF, # Código de país ISO 3166-1 alpha-2
localAreaCode: "617" # Código de área predeterminado para números cortos
}

Parámetros:

  • country_code: Código de país ISO como átomo (por ejemplo, :AU, :US, :PF)
  • localAreaCode: Código de área que se antepone a los números locales cortos

Códigos de País Soportados

El TAS incluye lógica de traducción para 248 países y territorios, cubriendo todos los códigos ISO 3166-1 alpha-2 con servicio telefónico.

CódigoPaís/TerritorioPrefijo E.164Longitud NacionalTroncoIDDNotas
:ACIsla de Ascensión2475Ninguno00
:ADAndorra3766-9Ninguno00
:AEEmiratos Árabes Unidos9719000
:AFAfganistán939000
:AGAntigua y Barbuda110Ninguno011NANP, delega a EE. UU.
:AIAnguila110Ninguno011NANP, delega a EE. UU.
:ALAlbania3559000
:AMArmenia3748000
:AOAngola2449Ninguno00
:ARArgentina5410000
:ASSamoa Americana110Ninguno011NANP, delega a EE. UU.
:ATAustria4310-13000
:AUAustralia61900011
:AWAruba2977Ninguno00
:AXIslas Åland3589-10000Delega a FI
:AZAzerbaiyán9949000
:BABosnia y Herzegovina3878000
:BBBarbados110Ninguno011NANP, delega a EE. UU.
:BDBangladés88010000
:BEBélgica328-9000
:BFBurkina Faso2268Ninguno00
:BGBulgaria3599000
:BHBaréin9738Ninguno00
:BIBurundi2578Ninguno00
:BJBenín2298Ninguno00
:BLSan Bartolomé5909000
:BMBermudas110Ninguno011NANP, delega a EE. UU.
:BNBrunéi6737Ninguno00
:BOBolivia5918Ninguno00
:BQBonaire/Sint Eustatius/Saba5997Ninguno00
:BRBrasil5510-11000
:BSBahamas110Ninguno011NANP, delega a EE. UU.
:BTBután9758Ninguno00
:BVIsla Bouvet478Ninguno00Delega a NO
:BWBotsuana2678Ninguno00
:BYBielorrusia37598810
:BZBelice5017Ninguno00
:CACanadá110Ninguno011NANP, delega a EE. UU.
:CCIslas Cocos61900011Delega a AU
:CDRD Congo2439000
:CFRepública Centroafricana2368Ninguno00
:CGRepública del Congo2429Ninguno00
:CHSuiza419000
:CICosta de Marfil22510Ninguno00
:CKIslas Cook6825Ninguno00
:CLChile569000
:CMCamerún2379Ninguno00
:CNChina8611Ninguno00
:COColombia5710000
:CRCosta Rica5068Ninguno00
:CUCuba5380119
:CVCabo Verde2387Ninguno00
:CWCurazao5997-8Ninguno00
:CXIsla de Navidad61900011Delega a AU
:CYChipre3578Ninguno00
:CZRepública Checa4209Ninguno00
:DEAlemania4910-12000
:DJYibuti2538Ninguno00
:DKDinamarca458Ninguno00
:DMDominica110Ninguno011NANP, delega a EE. UU.
:DORepública Dominicana110Ninguno011NANP, delega a EE. UU.
:DZArgelia2139000
:ECEcuador5939000
:EEEstonia3727-8Ninguno00
:EGEgipto2010000
:EHSahara Occidental2129000Delega a MA
:EREritrea2917000
:ESEspaña349Ninguno00
:ETEtiopía2519000
:FIFinlandia3589-10000
:FJFiyi6797Ninguno00
:FKIslas Malvinas5005Ninguno00
:FMMicronesia6917Ninguno011
:FOIslas Feroe2986Ninguno00
:FRFrancia339000
:GAGabón2417Ninguno00
:GBReino Unido4410000
:GDGranada110Ninguno011NANP, delega a EE. UU.
:GEGeorgia9959000
:GFGuayana Francesa5949000
:GGGuernsey4410000Delega a GB
:GHGhana2339000
:GIGibraltar3508Ninguno00
:GLGroenlandia2996Ninguno00
:GMGambia2207Ninguno00
:GNGuinea2249Ninguno00
:GPGuadalupe5909000
:GQGuinea Ecuatorial2409Ninguno00
:GRGrecia3010Ninguno00
:GSGeorgia del Sur5005Ninguno00Delega a FK
:GTGuatemala5028Ninguno00
:GUGuam110Ninguno011NANP, delega a EE. UU.
:GWGuinea-Bisáu2457Ninguno00
:GYGuyana5927Ninguno001
:HKHong Kong8528Ninguno001
:HMIslas Heard y McDonald61900011Delega a AU
:HNHonduras5048Ninguno00
:HRCroacia3859000
:HTHaití5098Ninguno00
:HUHungría3690600
:IDIndonesia6210-120001
:IEIrlanda3539000
:ILIsrael9729000
:IMIsla de Man4410000Delega a GB
:INIndia9110000
:IOTerritorio Británico del Océano Índico2467Ninguno00
:IQIrak96410000
:IRIrán9810000
:ISIslandia3547Ninguno00
:ITItalia399-10Ninguno00El 0 inicial se conserva para líneas fijas
:JEJersey4410000Delega a GB
:JMJamaica110Ninguno011NANP, delega a EE. UU.
:JOJordania9629000
:JPJapón81100010
:KEKenia25490000
:KGKirguistán9969000
:KHCamboya8558-90001
:KIKiribati6865Ninguno00
:KMComoras2697Ninguno00
:KNSan Cristóbal y Nieves110Ninguno011NANP, delega a EE. UU.
:KPCorea del Norte85010000
:KRCorea del Sur829-100001
:KWKuwait9658Ninguno00
:KYIslas Caimán110Ninguno011NANP, delega a EE. UU.
:KZKazajistán7108810
:LALaos85610000
:LBLíbano9618000
:LCSanta Lucía110Ninguno011NANP, delega a EE. UU.
:LILiechtenstein4237Ninguno00
:LKSri Lanka949000
:LRLiberia2317-9Ninguno00
:LSLesoto2668Ninguno00
:LTLituania3708800
:LULuxemburgo3529Ninguno00
:LVLetonia3718Ninguno00
:LYLibia2189000
:MAMarruecos2129000
:MCMónaco3778-9Ninguno00
:MDMoldavia3738000
:MEMontenegro3828000
:MFSan Martín5909000
:MGMadagascar2619000
:MHIslas Marshall6927Ninguno011
:MKMacedonia del Norte3898000
:MLMalí2238Ninguno00
:MMBirmania958-10000
:MNMongolia9768Ninguno001
:MOMacao8538Ninguno00
:MPIslas Marianas del Norte110Ninguno011NANP, delega a EE. UU.
:MQMartinica5969000
:MRMauritania2228Ninguno00
:MSMontserrat110Ninguno011NANP, delega a EE. UU.
:MTMalta3568Ninguno00
:MUMauricio2308Ninguno00
:MVMaldivas9607Ninguno00
:MWMalaui2659000
:MXMéxico5210Ninguno00
:MYMalasia609-10000
:MZMozambique2589Ninguno00
:NANamibia2649000
:NCNueva Caledonia6876Ninguno00
:NENíger2278Ninguno00
:NFIsla Norfolk6725-6Ninguno00
:NGNigeria234100009
:NINicaragua5058Ninguno00
:NLPaíses Bajos319000
:NONoruega478Ninguno00
:NPNepal97710000
:NRNauru6747Ninguno00
:NUNiue6834Ninguno00
:NZNueva Zelanda648-9000
:OMOmán9688Ninguno00
:PAPanamá5078Ninguno00
:PEPerú519000
:PFPolinesia Francesa6898Ninguno00
:PGPapúa Nueva Guinea6758Ninguno05
:PHFilipinas6310000
:PKPakistán9210000
:PLPolonia489Ninguno00
:PMSan Pedro y Miquelón5086Ninguno00
:PNIslas Pitcairn648-9000Delega a NZ
:PRPuerto Rico110Ninguno011NANP, delega a EE. UU.
:PSPalestina9709000
:PTPortugal3519Ninguno00
:PWPalaos6807Ninguno011
:PYParaguay5959000
:QACatar9748Ninguno00
:REReunión2629000
:RORumania409000
:RSSerbia3819000
:RURusia7108810
:RWRuanda2509000
:SAArabia Saudita9669000
:SBIslas Salomón6775-7Ninguno00
:SCSeychelles2487Ninguno00
:SDSudán2499000
:SESuecia469000
:SGSingapur658Ninguno001
:SHSanta Elena2904-5Ninguno00
:SIEslovenia3868000
:SJSvalbard478Ninguno00Delega a NO
:SKEslovaquia4219000
:SLSierra Leona2328000
:SMSan Marino37810Ninguno00
:SNSenegal2219Ninguno00
:SOSomalia2528Ninguno00
:SRSurinam5977Ninguno00
:SSSudán del Sur2119000
:STSanto Tomé y Príncipe2397Ninguno00
:SVEl Salvador5038Ninguno00
:SXSint Maarten17217Ninguno00
:SYSiria9639000
:SZEsuatini2688Ninguno00
:TCIslas Turcas y Caicos110Ninguno011NANP, delega a EE. UU.
:TDChad2358Ninguno00
:TGTogo2288Ninguno00
:THTailandia6690001
:TJTayikistán9929Ninguno810
:TKTokelau6904Ninguno00
:TLTimor-Leste6707-8Ninguno00
:TMTurkmenistán99388810
:TNTúnez2168Ninguno00
:TOTonga6765-7Ninguno00
:TRTurquía9010000
:TTTrinidad y Tobago110Ninguno011NANP, delega a EE. UU.
:TVTuvalu6885Ninguno00
:TWTaiwán88690002
:TZTanzania2559000
:UAUcrania3809000
:UGUganda2569000
:USEstados Unidos110Ninguno011Reglas base NANP
:UYUruguay5988000
:UZUzbekistán9989Ninguno810
:VACiudad del Vaticano399-10Ninguno00Delega a IT
:VCSan Vicente y las Granadinas110Ninguno011NANP, delega a EE. UU.
:VEVenezuela5810000
:VGIslas Vírgenes Británicas110Ninguno011NANP, delega a EE. UU.
:VIIslas Vírgenes de EE. UU.110Ninguno011NANP, delega a EE. UU.
:VNVietnam849-10000
:VUVanuatu6785-7Ninguno00
:WFWallis y Futuna6816Ninguno00
:WSSamoa6855-7Ninguno0
:XKKosovo3838000
:YEYemen9679000
:YTMayotte2629000Delega a RE
:ZASudáfrica279000
:ZMZambia2609000
:ZWZimbabue2639000

Comportamientos Especiales de Traducción

1. Eliminación de Prefijos de Bloqueo de CLI

Antes de la traducción de formato, se eliminan los prefijos de bloqueo de CLI:

Entrada:  *67555123456
Paso 1: Eliminar *67 → 555123456
Paso 2: Traducir → 1555123456 (si es EE. UU.)

2. Eliminación de Parámetros SIP

Los parámetros después de los puntos y coma se eliminan:

Entrada:  61403123456;npdi;rn=+61400000000
Paso 1: Eliminar ;npdi;rn=... → 61403123456
Paso 2: Traducir → 61403123456

3. Eliminación de Caracteres No Dígitos

Se eliminan todos los caracteres no dígitos (excepto +):

Entrada:  +61 (403) 123-456
Paso 1: Eliminar formato → +61403123456
Paso 2: Traducir → 61403123456

Variables Establecidas Después de la Traducción

VariableValorDescripción
destination_numberFormato E.164Número de destino normalizado
tas_destination_numberFormato E.164Igual a destination_number (ambos establecidos por compatibilidad)
effective_caller_id_numberFormato E.164Número de origen normalizado (llamadas MO)

Qué Ocurre Cuando la Traducción Falla

Escenario: Código de País No Definido

config :tas, number_translate: %{country_code: :XX}  # Inválido

Resultado: {:error, "Código de País No Definido"} - llamada rechazada

Escenario: Formato de Número Inválido

Entrada: "abc123" (contiene letras)
Paso 1: Eliminar no dígitos → "123"
Paso 2: Demasiado corto, no se puede coincidir con ningún patrón
Resultado: Puede pasar tal cual o ser rechazado según la lógica del plan de marcado

Mejor Práctica: Siempre valide la provisión de suscriptores con números E.164 correctos en HSS.

Pruebas de Traducción de Números

Probador de Traducción de UI Web (/translate):

  1. Navegue a /translate en el Panel de Control
  2. Seleccione el código de país del menú desplegable
  3. Ingrese un número de prueba en cualquier formato
  4. Vea la salida E.164 traducida
  5. Pruebe múltiples formatos para validar

Escenarios de Prueba Comunes:

  • Códigos cortos locales → E.164
  • Formato nacional (0NSN) → E.164
  • Formato internacional (+CC) → E.164
  • Números con prefijos de CLI → eliminados y traducidos
  • Números con formato (espacios, guiones) → E.164 limpia

Solución de Problemas de Traducción de Números

Problema: Llamadas fallando con "NÚMERO_NO_ASIGNADO"

  1. Verifique el formato del número traducido:

    • Use la herramienta /translate para probar el número
    • Verifique que la salida coincida con el formato E.164 esperado
    • Confirme que el código de país y el código de área sean correctos
  2. Verifique la b��squeda Sh:

    • El número traducido se utiliza para la consulta Sh
    • Use /sh_test con el número traducido
    • Verifique que el suscriptor exista con ese MSISDN
  3. Verifique las variables del plan de marcado:

    • Revise los registros para el valor de destination_number
    • Confirme que la traducción ocurrió antes del plan de marcado

Problema: Se aplica un código de área incorrecto

# Configuración
config :tas, number_translate: %{
country_code: :AU,
localAreaCode: "617" # Incorrecto para su región
}

# Entrada: 12345678 (número local de 8 dígitos)
# Salida: 6161712345678 (incorrecto - doble código de área)
# Solución: Establecer el localAreaCode correcto para su implementación

Problema: Números internacionales no reconocidos

Verifique si el número incluye el código de país:

  • +61403123456 o 61403123456 → Reconocido
  • 0403123456 en configuración de código de país incorrecto → Enrutado incorrectamente

Comportamiento de Traducción MO vs MT

Llamadas MT (Móvil Terminado):

  • Solo se traduce el número de destino (parte llamada)
  • El número de origen (llamador) se pasa tal cual desde SIP
  • El destino se utiliza para la búsqueda Sh del suscriptor llamado

Llamadas MO (Móvil Originado):

  • Se traduce el número de destino (parte llamada)
  • También se traduce el número de origen (parte llamadora)
  • El origen se utiliza para la búsqueda Sh del suscriptor que llama
  • Ambos números se normalizan para un registro/CDR consistente

Mejores Prácticas

  1. Utilice el Código de País Correcto:

    • Establezca country_code para que coincida con su región de implementación
    • Pruebe a fondo antes de la producción
  2. Configure el Código de Área Local Apropiado:

    • localAreaCode debe coincidir con el área predeterminada de su red
    • Se utiliza para números cortos sin código de área
  3. Pruebe Todos los Formatos de Números:

    • Local (códigos cortos)
    • Nacional (formato 0NSN)
    • Internacional (formato +CC)
    • Números de servicio especiales (emergencia, correo de voz)
  4. Monitoree los Registros de Traducción:

    • Verifique errores de "Código de País No Definido"
    • Esté atento a formatos de número inesperados
    • Valide que la salida E.164 coincida con las expectativas
  5. Documente Su Plan de Numeración:

    • Defina qué formatos utilizarán los suscriptores
    • Pruebe cada formato en la herramienta /translate
    • Capacite al personal de operaciones sobre los formatos esperados