# Altice trunk por internet

Configuración de SIP TLS con certificado privado en Issabel/Asterisk para Altice

*<span style="font-size: 11.0pt; line-height: 107%; color: #475569;">Tutorial reproducible: Root CA privada, certificado de PBX con IP pública en Common Name y configuración de chan\_sip</span>*

<div align="center" id="bkmrk-resultado-esperado%3A-"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #EAF7EF; padding: 7.0pt 8.0pt 7.0pt 8.0pt;" valign="top" width="672">**<span style="color: #1e6b3a;">Resultado esperado: </span>**<span style="color: #1e6b3a;">La PBX presenta un certificado firmado por una Root CA privada. La IP pública del cliente aparece exclusivamente en el Subject Common Name (CN), sin Subject Alternative Name (SAN). Altice importa la Root CA como autoridad confiable.</span>

</td></tr></tbody></table>

</div><div align="center" id="bkmrk-compatibilidad%3A-proc"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #FFF3CD; padding: 7.0pt 8.0pt 7.0pt 8.0pt;" valign="top" width="672">**<span style="color: #7a4e00;">Compatibilidad: </span>**<span style="color: #7a4e00;">Procedimiento validado para Issabel con Asterisk 11 y chan\_sip. En PJSIP los nombres de parámetros y archivos de configuración son diferentes.</span>

</td></tr></tbody></table>

</div># 1. Alcance y arquitectura

El procedimiento crea una infraestructura de certificados independiente para cada cliente. No se debe reutilizar la Root CA de otro cliente.

<div align="center" id="bkmrk-dato-valor-%2F-descrip"><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><thead><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"><td style="width: 3.5in; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; background: #1F4E78; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="336">**<span style="color: white;">Dato</span>**

</td><td style="width: 3.5in; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #1F4E78; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="336">**<span style="color: white;">Valor / descripción</span>**

</td></tr></thead><tbody><tr style="mso-yfti-irow: 1;"><td style="width: 3.5in; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" width="336">Root CA privada

</td><td style="width: 3.5in; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" width="336">Firma el certificado de la PBX. Altice importa únicamente el certificado público de esta CA.

</td></tr><tr style="mso-yfti-irow: 2;"><td style="width: 3.5in; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" width="336">Certificado de la PBX

</td><td style="width: 3.5in; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" width="336">Contiene la IP pública en el Subject CN y se presenta durante el handshake TLS.

</td></tr><tr style="mso-yfti-irow: 3;"><td style="width: 3.5in; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" width="336">Clave privada de la PBX

</td><td style="width: 3.5in; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" width="336">Permanece únicamente en la PBX. Nunca se comparte.

</td></tr><tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes;"><td style="width: 3.5in; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" width="336">Archivo PEM

</td><td style="width: 3.5in; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" width="336">Contiene la clave privada y el certificado de la PBX para que chan\_sip pueda cargarlo.

</td></tr></tbody></table>

</div># 2. Datos requeridos

<span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>IP pública de la nueva PBX.

<span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>IP o FQDN del SBC de Altice.

<span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>Puerto TLS asignado por Altice, normalmente 5061.

<span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>Codecs y parámetros SIP entregados por Altice.

<div align="center" id="bkmrk-ejemplo-del-tutorial"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #EAF2F8; padding: 7.0pt 8.0pt 7.0pt 8.0pt;" valign="top" width="672">**<span style="color: #1f4e78;">Ejemplo del tutorial: </span>**<span style="color: #1f4e78;">Se utilizará 200.10.20.30 como IP ficticia. Sustituirla por la IP pública real del cliente.</span>

</td></tr></tbody></table>

</div># 3. Respaldar la configuración existente

<div align="center" id="bkmrk-fecha%3D%24%28date-%2B%25f-%25h%25"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">FECHA=$(date +%F-%H%M%S)</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">mkdir -p /root/backup-tls-$FECHA</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">cp -a /var/lib/asterisk/keys /root/backup-tls-$FECHA/</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">cp -a /etc/asterisk/sip\_general\_custom.conf /root/backup-tls-$FECHA/ 2&gt;/dev/null</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">ls -lah /root/backup-tls-$FECHA</span>

</td></tr></tbody></table>

</div># 4. Crear el directorio de trabajo y definir la IP

<div align="center" id="bkmrk-mkdir--p-%2Froot%2Fissab"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">mkdir -p /root/issabelpbx-certificados</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">cd /root/issabelpbx-certificados</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">IP\_PUBLICA="200.10.20.30"</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">echo "$IP\_PUBLICA"</span>

</td></tr></tbody></table>

</div># 5. Crear la Root CA

## 5.1 Generar la clave privada de la Root CA

<div align="center" id="bkmrk-openssl-genrsa--out-"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl genrsa -out issabelpbx-root-ca.key 4096</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">chmod 600 issabelpbx-root-ca.key</span>

</td></tr></tbody></table>

</div><div align="center" id="bkmrk-seguridad%3A-issabelpb"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #FDECEC; padding: 7.0pt 8.0pt 7.0pt 8.0pt;" valign="top" width="672">**<span style="color: #8b1e1e;">Seguridad: </span>**<span style="color: #8b1e1e;">issabelpbx-root-ca.key es la clave privada de la CA. No se envía a Altice, no se coloca en correos y debe conservarse en un respaldo seguro.</span>

</td></tr></tbody></table>

</div>## 5.2 Crear la configuración de la Root CA

<div align="center" id="bkmrk-cat-%3E-issabelpbx-roo"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">cat &gt; issabelpbx-root-ca.cnf &lt;&lt;'EOF'</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">\[req\]</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">prompt = no</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">default\_md = sha256</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">distinguished\_name = dn</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">x509\_extensions = v3\_ca</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">\[dn\]</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">C = DO</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">O = IssabelPBX</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">OU = Voice Security</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">CN = IssabelPBX Root CA</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">\[v3\_ca\]</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">subjectKeyIdentifier = hash</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">authorityKeyIdentifier = keyid:always,issuer</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">basicConstraints = critical,CA:TRUE</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">keyUsage = critical,keyCertSign,cRLSign</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">EOF</span>

</td></tr></tbody></table>

</div>## 5.3 Generar el certificado Root CA

<div align="center" id="bkmrk-openssl-req--x509--n"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl req -x509 -new -key issabelpbx-root-ca.key -sha256 -days 3650 -out issabelpbx-root-ca.crt -config issabelpbx-root-ca.cnf</span>

</td></tr></tbody></table>

</div>## 5.4 Verificar la Root CA

<div align="center" id="bkmrk-openssl-x509--in-iss"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl x509 -in issabelpbx-root-ca.crt -noout -subject -issuer -dates</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl x509 -in issabelpbx-root-ca.crt -noout -text | grep -A3 "Basic Constraints"</span>

</td></tr></tbody></table>

</div>Resultado esperado: el Subject y el Issuer son iguales y aparece CA:TRUE.

# 6. Crear el certificado de la PBX

## 6.1 Generar la clave privada de la PBX

<div align="center" id="bkmrk-openssl-genrsa--out--1"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl genrsa -out issabelpbx.key 2048</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">chmod 600 issabelpbx.key</span>

</td></tr></tbody></table>

</div><div align="center" id="bkmrk-compatibilidad%3A-rsa-"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #EAF2F8; padding: 7.0pt 8.0pt 7.0pt 8.0pt;" valign="top" width="672">**<span style="color: #1f4e78;">Compatibilidad: </span>**<span style="color: #1f4e78;">RSA 2048 ofrece mayor compatibilidad con SBC antiguos. Si Altice confirma soporte y existe un requerimiento formal, puede usarse RSA 4096.</span>

</td></tr></tbody></table>

</div>## 6.2 Crear la configuración con la IP en el Common Name y sin SAN

<div align="center" id="bkmrk-cat-%3E-issabelpbx.cnf"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">cat &gt; issabelpbx.cnf &lt;&lt;EOF</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">\[req\]</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">prompt = no</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">default\_md = sha256</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">distinguished\_name = dn</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">\[dn\]</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">C = DO</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">O = IssabelPBX</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">OU = VoIP</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">CN = ${IP\_PUBLICA}</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">\[v3\_cert\]</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">subjectKeyIdentifier = hash</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">authorityKeyIdentifier = keyid,issuer</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">basicConstraints = critical,CA:FALSE</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">keyUsage = critical,digitalSignature,keyEncipherment</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">extendedKeyUsage = serverAuth,clientAuth</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">EOF</span>

</td></tr></tbody></table>

</div><div align="center" id="bkmrk-requisito-de-altice%3A"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #FFF3CD; padding: 7.0pt 8.0pt 7.0pt 8.0pt;" valign="top" width="672">**<span style="color: #7a4e00;">Requisito de Altice: </span>**<span style="color: #7a4e00;">No agregar subjectAltName. La IP debe quedar exclusivamente en Subject Common Name (CN).</span>

</td></tr></tbody></table>

</div>## 6.3 Generar el CSR

<div align="center" id="bkmrk-openssl-req--new--ke"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl req -new -key issabelpbx.key -out issabelpbx.csr -config issabelpbx.cnf</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl req -in issabelpbx.csr -noout -subject</span>

</td></tr></tbody></table>

</div>Resultado esperado: CN=IP\_PUBLICA.

## 6.4 Firmar el certificado con la Root CA

<div align="center" id="bkmrk-openssl-x509--req--i"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl x509 -req -in issabelpbx.csr -CA issabelpbx-root-ca.crt -CAkey issabelpbx-root-ca.key -CAcreateserial -out issabelpbx.crt -days 825 -sha256 -extfile issabelpbx.cnf -extensions v3\_cert</span>

</td></tr></tbody></table>

</div>## 6.5 Crear el PEM que utilizará Asterisk

<div align="center" id="bkmrk-cat-issabelpbx.key-i"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">cat issabelpbx.key issabelpbx.crt &gt; issabelpbx.pem</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">chmod 600 issabelpbx.pem</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">grep "BEGIN" issabelpbx.pem</span>

</td></tr></tbody></table>

</div>Debe aparecer una clave privada y un certificado.

# 7. Validar los certificados antes de instalarlos

## 7.1 Verificar Subject, Issuer, vigencia y serie

<div align="center" id="bkmrk-openssl-x509--in-iss-1"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl x509 -in issabelpbx.crt -noout -subject -issuer -dates -serial -fingerprint -sha256</span>

</td></tr></tbody></table>

</div>Debe mostrarse el CN con la IP pública y el Issuer como IssabelPBX Root CA.

## 7.2 Confirmar que no existe SAN

<div align="center" id="bkmrk-openssl-x509--in-iss-2"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl x509 -in issabelpbx.crt -noout -text | grep -A3 "Subject Alternative Name"</span>

</td></tr></tbody></table>

</div>El comando no debe devolver ninguna línea.

## 7.3 Verificar la cadena de confianza

<div align="center" id="bkmrk-openssl-verify--cafi"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl verify -CAfile issabelpbx-root-ca.crt issabelpbx.crt</span>

</td></tr></tbody></table>

</div>Resultado esperado: issabelpbx.crt: OK

## 7.4 Verificar que la clave y el certificado coincidan

<div align="center" id="bkmrk-openssl-x509--in-iss-3"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl x509 -in issabelpbx.crt -noout -modulus | openssl md5</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl rsa -in issabelpbx.key -noout -modulus | openssl md5</span>

</td></tr></tbody></table>

</div>Los dos hashes deben ser idénticos.

# 8. Archivos generados y tratamiento

<div align="center" id="bkmrk-archivo-funci%C3%B3n-%C2%BFse-"><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><thead><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; background: #1F4E78; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">**<span style="color: white;">Archivo</span>**

</td><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #1F4E78; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">**<span style="color: white;">Función</span>**

</td><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #1F4E78; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">**<span style="color: white;">¿Se comparte con Altice?</span>**

</td></tr></thead><tbody><tr style="mso-yfti-irow: 1;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">issabelpbx-root-ca.crt

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Certificado público de la Root CA

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Sí

</td></tr><tr style="mso-yfti-irow: 2;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">issabelpbx-root-ca.key

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Clave privada de la Root CA

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Nunca

</td></tr><tr style="mso-yfti-irow: 3;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">issabelpbx.crt

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Certificado público de la PBX

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Solo si Altice lo solicita

</td></tr><tr style="mso-yfti-irow: 4;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">issabelpbx.key

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Clave privada de la PBX

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Nunca

</td></tr><tr style="mso-yfti-irow: 5;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">issabelpbx.pem

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Clave privada + certificado para Asterisk

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Nunca

</td></tr><tr style="mso-yfti-irow: 6; mso-yfti-lastrow: yes;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">issabelpbx.csr

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Solicitud de certificado

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">No es necesario

</td></tr></tbody></table>

</div><div align="center" id="bkmrk-entrega-habitual%3A-al"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #EAF7EF; padding: 7.0pt 8.0pt 7.0pt 8.0pt;" valign="top" width="672">**<span style="color: #1e6b3a;">Entrega habitual: </span>**<span style="color: #1e6b3a;">Altice importa issabelpbx-root-ca.crt como Trusted Root CA. La PBX presenta issabelpbx.crt automáticamente durante el handshake TLS.</span>

</td></tr></tbody></table>

</div># 9. Instalar los certificados en Issabel

<div align="center" id="bkmrk-cp-%2Froot%2Fissabelpbx-"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">cp /root/issabelpbx-certificados/issabelpbx.pem /var/lib/asterisk/keys/</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">cp /root/issabelpbx-certificados/issabelpbx.crt /var/lib/asterisk/keys/</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">cp /root/issabelpbx-certificados/issabelpbx-root-ca.crt /var/lib/asterisk/keys/</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">chown asterisk:asterisk /var/lib/asterisk/keys/issabelpbx.pem /var/lib/asterisk/keys/issabelpbx.crt /var/lib/asterisk/keys/issabelpbx-root-ca.crt</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">chmod 640 /var/lib/asterisk/keys/issabelpbx.pem</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">chmod 644 /var/lib/asterisk/keys/issabelpbx.crt</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">chmod 644 /var/lib/asterisk/keys/issabelpbx-root-ca.crt</span>

</td></tr></tbody></table>

</div># 10. Configurar TLS en chan\_sip

Editar /etc/asterisk/sip\_general\_custom.conf y agregar o ajustar:

<div align="center" id="bkmrk-tlsenable%3Dyestlsbind"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">tlsenable=yes</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">tlsbindaddr=0.0.0.0:5061</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">tlsclientmethod=tlsv1\_2</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">tlsdontverifyserver=yes</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">tlscertfile=/var/lib/asterisk/keys/issabelpbx.pem</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">tlscafile=/var/lib/asterisk/keys/issabelpbx-root-ca.crt</span>

</td></tr></tbody></table>

</div><div align="center" id="bkmrk-importante%3A-tlsdontv"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #EAF2F8; padding: 7.0pt 8.0pt 7.0pt 8.0pt;" valign="top" width="672">**<span style="color: #1f4e78;">Importante: </span>**<span style="color: #1f4e78;">tlsdontverifyserver=yes desactiva la validación del certificado remoto por parte de la PBX. No afecta la validación que Altice realiza sobre el certificado de la PBX.</span>

</td></tr></tbody></table>

</div>Buscar configuraciones TLS duplicadas:

<div align="center" id="bkmrk-grep--rnie-%27%5E%28tlsena"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">grep -RniE '^(tlsenable|tlsbindaddr|tlsclientmethod|tlsdontverifyserver|tlscertfile|tlscafile)' /etc/asterisk</span>

</td></tr></tbody></table>

</div># 11. Configurar el trunk de Altice

<div align="center" id="bkmrk-plantilla%3A-los-par%C3%A1m"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #FFF3CD; padding: 7.0pt 8.0pt 7.0pt 8.0pt;" valign="top" width="672">**<span style="color: #7a4e00;">Plantilla: </span>**<span style="color: #7a4e00;">Los parámetros de autenticación, dominio, DID, codecs y SRTP deben ajustarse a la ficha técnica entregada por Altice.</span>

</td></tr></tbody></table>

</div><div align="center" id="bkmrk-type%3Dpeerhost%3Dip_sbc"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">type=peer</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">host=IP\_SBC\_ALTICE</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">port=5061</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">transport=tls</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">context=from-trunk</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">disallow=all</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">allow=ulaw</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">allow=alaw</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">insecure=port,invite</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">qualify=yes</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">; Si Altice exige SRTP:</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">; encryption=yes</span>

</td></tr></tbody></table>

</div># 12. Reiniciar y verificar Asterisk

<div align="center" id="bkmrk-systemctl-restart-as"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">systemctl restart asterisk</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">systemctl status asterisk --no-pager</span><span style="color: black; mso-color-alt: windowtext;">  
  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">asterisk -rx "sip show settings" | grep -i -A5 TLS</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">ss -lntp | grep 5061</span>

</td></tr></tbody></table>

</div>Debe aparecer TLS SIP Bindaddress: 0.0.0.0:5061 y Asterisk escuchando en el puerto TCP 5061.

# 13. Confirmar el certificado realmente presentado por Asterisk

<div align="center" id="bkmrk-echo-%7C-openssl-s_cli"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">echo | openssl s\_client -connect 127.0.0.1:5061 -showcerts 2&gt;/dev/null | openssl x509 -noout -subject -issuer -dates -serial -fingerprint -sha256</span>

</td></tr></tbody></table>

</div>La salida debe mostrar Subject CN=IP\_PUBLICA e Issuer CN=IssabelPBX Root CA.

<div align="center" id="bkmrk-echo-%7C-openssl-s_cli-1"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">echo | openssl s\_client -connect 127.0.0.1:5061 -showcerts 2&gt;/dev/null | openssl x509 -noout -text | grep -A3 "Subject Alternative Name"</span>

</td></tr></tbody></table>

</div>No debe mostrar resultados.

# 14. Verificación externa y captura con Wireshark

Desde una red externa, probar el puerto y el certificado:

<div align="center" id="bkmrk-openssl-s_client--co"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">openssl s\_client -connect IP\_PUBLICA:5061 -tls1\_2 -showcerts</span>

</td></tr></tbody></table>

</div>En Wireshark puede filtrarse el certificado con:

<div align="center" id="bkmrk-tls.handshake.type-%3D"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">tls.handshake.type == 11</span>

</td></tr></tbody></table>

</div>En versiones antiguas:

<div align="center" id="bkmrk-ssl.handshake.type-%3D"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">ssl.handshake.type == 11</span>

</td></tr></tbody></table>

</div>Ruta de validación: TLS &gt; Handshake Protocol: Certificate &gt; Certificate &gt; signedCertificate &gt; subject &gt; commonName. Debe aparecer la IP pública.

# 15. Errores frecuentes y diagnóstico

<div align="center" id="bkmrk-mensaje-interpretaci"><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><thead><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; background: #1F4E78; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">**<span style="color: white;">Mensaje</span>**

</td><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #1F4E78; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">**<span style="color: white;">Interpretación probable</span>**

</td><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #1F4E78; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">**<span style="color: white;">Acción recomendada</span>**

</td></tr></thead><tbody><tr style="mso-yfti-irow: 1;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">tlsv1 alert unknown ca

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">El SBC no confía en la CA emisora.

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Confirmar que Altice importó issabelpbx-root-ca.crt como Trusted Root CA y lo asoció al trunk.

</td></tr><tr style="mso-yfti-irow: 2;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">tlsv1 alert internal error

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">El SBC superó o cambió la etapa de validación, pero falla otra política.

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Revisar CN, ausencia de SAN, RSA 2048/4096, EKU, TLS 1.2, cifrados y logs detallados del SBC.

</td></tr><tr style="mso-yfti-irow: 3;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">FILE \* open failed!

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Asterisk no pudo completar o manejar el flujo TLS, o no puede leer un archivo.

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Validar rutas, permisos, propietario y el error TLS inmediatamente anterior.

</td></tr><tr style="mso-yfti-irow: 4;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Asterisk presenta un certificado antiguo

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">La configuración no fue recargada o existe otra definición TLS.

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Revisar grep recursivo, reiniciar Asterisk y repetir openssl s\_client contra 127.0.0.1:5061.

</td></tr><tr style="mso-yfti-irow: 5;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">No aparece CN con la IP

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Se generó el certificado con otro Subject.

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Recrear el CSR y certificado verificando CN=${IP\_PUBLICA}.

</td></tr><tr style="mso-yfti-irow: 6; mso-yfti-lastrow: yes;"><td style="width: 168.0pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Aparece Subject Alternative Name

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">La plantilla incluyó SAN.

</td><td style="width: 168.0pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="224">Regenerar el certificado sin ninguna sección subjectAltName.

</td></tr></tbody></table>

</div># 16. Lista de comprobación final

**☐** Se creó una Root CA exclusiva para el cliente.

**☐** La Root CA muestra CA:TRUE.

**☐** El certificado de la PBX muestra CA:FALSE.

**☐** El Subject CN contiene la IP pública correcta.

**☐** El certificado no contiene Subject Alternative Name.

**☐** Extended Key Usage incluye serverAuth y clientAuth.

**☐** openssl verify devuelve OK.

**☐** La clave privada coincide con el certificado.

**☐** El PEM contiene la clave privada y el certificado.

**☐** Los archivos están instalados en /var/lib/asterisk/keys.

**☐** Los permisos y propietario son correctos.

**☐** Asterisk escucha en TCP 5061.

**☐** El trunk utiliza transport=tls.

**☐** Altice importó la Root CA.

**☐** openssl s\_client confirma el certificado activo.

**☐** Wireshark muestra la IP en subject &gt; commonName.

# 17. Respaldo recomendado

<div align="center" id="bkmrk-mkdir--p-%2Froot%2Frespa"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #F2F4F7; padding: 6.0pt 8.0pt 6.0pt 8.0pt;" valign="top" width="672"><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">mkdir -p /root/respaldo-pki-issabelpbx</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">cp -a /root/issabelpbx-certificados/\* /root/respaldo-pki-issabelpbx/</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">chmod 700 /root/respaldo-pki-issabelpbx</span><span style="color: black; mso-color-alt: windowtext;">  
</span><span style="font-size: 8.5pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: 'Liberation Mono'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; color: #1e293b;">chmod 600 /root/respaldo-pki-issabelpbx/\*.key</span>

</td></tr></tbody></table>

</div><div align="center" id="bkmrk-conservaci%C3%B3n%3A-guarda"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 7.0in; background: #FDECEC; padding: 7.0pt 8.0pt 7.0pt 8.0pt;" valign="top" width="672">**<span style="color: #8b1e1e;">Conservación: </span>**<span style="color: #8b1e1e;">Guardar una copia cifrada y fuera del servidor de issabelpbx-root-ca.key. Sin esa clave no será posible emitir nuevos certificados bajo la misma Root CA.</span>

</td></tr></tbody></table>

</div># 18. Resumen operativo

<span style="mso-fareast-font-family: Aptos; mso-bidi-font-family: Aptos;"><span style="mso-list: Ignore;">1.<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>Crear una Root CA nueva y exclusiva para el cliente.

<span style="mso-fareast-font-family: Aptos; mso-bidi-font-family: Aptos;"><span style="mso-list: Ignore;">2.<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>Crear la clave y el CSR de la PBX con la IP pública en CN y sin SAN.

<span style="mso-fareast-font-family: Aptos; mso-bidi-font-family: Aptos;"><span style="mso-list: Ignore;">3.<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>Firmar el certificado de la PBX con la Root CA.

<span style="mso-fareast-font-family: Aptos; mso-bidi-font-family: Aptos;"><span style="mso-list: Ignore;">4.<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>Validar cadena, CN, ausencia de SAN y coincidencia de clave.

<span style="mso-fareast-font-family: Aptos; mso-bidi-font-family: Aptos;"><span style="mso-list: Ignore;">5.<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>Enviar a Altice únicamente el certificado público de la Root CA, salvo que soliciten otro archivo.

<span style="mso-fareast-font-family: Aptos; mso-bidi-font-family: Aptos;"><span style="mso-list: Ignore;">6.<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>Instalar PEM, certificado y Root CA en Issabel.

<span style="mso-fareast-font-family: Aptos; mso-bidi-font-family: Aptos;"><span style="mso-list: Ignore;">7.<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>Configurar chan\_sip, trunk TLS y reiniciar Asterisk.

<span style="mso-fareast-font-family: Aptos; mso-bidi-font-family: Aptos;"><span style="mso-list: Ignore;">8.<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>Verificar el certificado activo con openssl s\_client y, si es necesario, con Wireshark.