{"id":5950,"date":"2026-03-28T14:44:30","date_gmt":"2026-03-28T20:44:30","guid":{"rendered":"https:\/\/ajtel.net\/W\/?page_id=5950"},"modified":"2026-03-28T16:41:06","modified_gmt":"2026-03-28T22:41:06","slug":"tutorial-iphone-bria-2","status":"publish","type":"page","link":"https:\/\/ajtel.net\/W\/tutorial-iphone-bria-2\/","title":{"rendered":"Tutorial Bria AJTEL"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5950\" class=\"elementor elementor-5950\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9eafe0b e-flex e-con-boxed e-con e-parent\" data-id=\"9eafe0b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;video&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a613ef9 exad-sticky-section-no exad-glass-effect-no elementor-widget elementor-widget-html\" data-id=\"a613ef9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     AJTEL \u00b7 Tutorial Bria iPhone \u00b7 TLS + SRTP\r\n     Elementor HTML \u2192 activar Stretch Section\r\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap');\r\n\r\n.ajt-bg-wrap {\r\n  position: relative;\r\n  width: 100%;\r\n  overflow: hidden;\r\n  font-family: 'Montserrat', sans-serif;\r\n  color: white;\r\n  \/* Degradado AJTEL *\/\r\n  background: linear-gradient(135deg,\r\n    #031525 0%, #042040 20%, #053570 42%,\r\n    #0057aa 62%, #0080cc 80%, #00a8d8 100%);\r\n}\r\n\r\n\/* Logos blancos flotando \u2014 t\u00e9cnica exacta Yupitel: background-position animado *\/\r\n.ajt-bg-wrap::before {\r\n  content: '';\r\n  position: absolute;\r\n  inset: 0;\r\n  background-image:\r\n    url('https:\/\/ajtel.net\/W\/wp-content\/uploads\/2021\/02\/Logomodificadooriginal.png'),\r\n    url('https:\/\/ajtel.net\/W\/wp-content\/uploads\/2021\/02\/Logomodificadooriginal.png'),\r\n    url('https:\/\/ajtel.net\/W\/wp-content\/uploads\/2021\/02\/Logomodificadooriginal.png');\r\n  background-size:     15%, 12%, 18%;\r\n  background-position: 10% 20%, 80% 60%, 50% 80%;\r\n  background-repeat:   no-repeat;\r\n  opacity: 0.13;\r\n  filter: brightness(0) invert(1);\r\n  animation:\r\n    ajt-bgMove1 25s ease-in-out infinite,\r\n    ajt-bgMove2 30s ease-in-out infinite reverse,\r\n    ajt-bgMove3 35s ease-in-out infinite;\r\n  pointer-events: none;\r\n  z-index: 0;\r\n}\r\n\r\n\/* Grid decorativo *\/\r\n.ajt-bg-wrap::after {\r\n  content: '';\r\n  position: absolute;\r\n  inset: 0;\r\n  background-image:\r\n    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\r\n    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\r\n  background-size: 44px 44px;\r\n  pointer-events: none;\r\n  z-index: 0;\r\n}\r\n\r\n\/* Keyframes exactos de Yupitel \u2014 mueven background-position *\/\r\n@keyframes ajt-bgMove1 {\r\n  0%,100% { background-position: 10% 20%, 80% 60%, 50% 80%; }\r\n  25%     { background-position: 20% 10%, 70% 70%, 40% 90%; }\r\n  50%     { background-position: 80% 30%, 30% 40%, 60% 10%; }\r\n  75%     { background-position: 70% 80%, 90% 20%, 20% 70%; }\r\n}\r\n@keyframes ajt-bgMove2 {\r\n  0%,100% { background-position: 80% 60%, 10% 20%, 50% 80%; }\r\n  33%     { background-position: 90% 10%, 20% 90%, 30% 30%; }\r\n  66%     { background-position: 10% 80%, 70% 10%, 80% 60%; }\r\n}\r\n@keyframes ajt-bgMove3 {\r\n  0%,100% { background-position: 50% 80%, 10% 20%, 80% 60%; }\r\n  40%     { background-position: 30% 10%, 90% 70%, 20% 30%; }\r\n  80%     { background-position: 70% 90%, 40% 20%, 60% 80%; }\r\n}\r\n\r\n.ajt-bg-content {\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n\/* \u2500\u2500 Scope \u00fanico para no chocar con WordPress\/Elementor \u2500\u2500 *\/\r\n.ajt-tut * { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n.ajt-tut {\r\n  --glass-bg:      rgba(0,0,0,0.28);\r\n  --glass-bg2:     rgba(0,0,0,0.38);\r\n  --glass-border:  rgba(255,255,255,0.15);\r\n  --glass-border2: rgba(255,255,255,0.30);\r\n  --blur:          blur(20px);\r\n  --blur-sm:       blur(12px);\r\n  --accent:   #40d0ff;\r\n  --accent2:  #1a8fff;\r\n  --green:    #00e5a0;\r\n  --yellow:   #ffc93c;\r\n  --red:      #ff5c7a;\r\n  --text:     #ffffff;\r\n  --text-dim: rgba(255,255,255,0.85);\r\n  --text-muted: rgba(255,255,255,0.50);\r\n  --mono: 'Montserrat', sans-serif;\r\n  --sans: 'Montserrat', sans-serif;\r\n\r\n  font-family: \"Montserrat\", sans-serif;\r\n  color: #fff;\r\n}\r\n\r\n\/* Google Fonts import inline *\/\r\n\/* \u2500\u2500 All content above bg \u2500\u2500 *\/\r\n.ajt-tut__inner {\r\n  position: relative;\r\n  z-index: 1;\r\n  padding: 36px 32px;\r\n  max-width: 860px;\r\n  margin: 0 auto;\r\n}\r\n\r\n@media(max-width:600px) {\r\n  .ajt-tut__inner { padding: 24px 18px; }\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 HEADER \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.ajt-header {\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 20px;\r\n  margin-bottom: 36px;\r\n  padding-bottom: 32px;\r\n  border-bottom: 1px solid var(--glass-border);\r\n}\r\n\r\n.ajt-logo-row {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 12px;\r\n}\r\n\r\n.ajt-logo-icon {\r\n  width: 38px; height: 38px;\r\n  background: linear-gradient(135deg, var(--accent2), var(--accent));\r\n  border-radius: 10px;\r\n  display: flex; align-items: center; justify-content: center;\r\n  box-shadow: 0 0 20px rgba(0,119,255,0.4);\r\n  flex-shrink: 0;\r\n}\r\n\r\n.ajt-logo-icon svg { width: 20px; height: 20px; }\r\n\r\n.ajt-logo-name {\r\n  font-family: var(--mono);\r\n  font-weight: 700;\r\n  font-size: 17px;\r\n  letter-spacing: 0.12em;\r\n  background: linear-gradient(90deg, var(--accent2), var(--accent));\r\n  -webkit-background-clip: text;\r\n  -webkit-text-fill-color: transparent;\r\n  background-clip: text;\r\n}\r\n\r\n.ajt-badge {\r\n  margin-left: auto;\r\n  background: rgba(0,229,160,0.1);\r\n  border: 1px solid rgba(0,229,160,0.3);\r\n  backdrop-filter: var(--blur-sm);\r\n  -webkit-backdrop-filter: var(--blur-sm);\r\n  border-radius: 6px;\r\n  padding: 5px 12px;\r\n  font-family: var(--mono);\r\n  font-size: 10px;\r\n  font-weight: 700;\r\n  letter-spacing: 0.12em;\r\n  color: var(--green);\r\n  text-transform: uppercase;\r\n}\r\n\r\n.ajt-title {\r\n  font-size: clamp(26px, 4.5vw, 40px);\r\n  font-weight: 800;\r\n  line-height: 1.1;\r\n  letter-spacing: -0.02em;\r\n  background: linear-gradient(135deg, #ffffff 0%, var(--accent) 100%);\r\n  -webkit-background-clip: text;\r\n  -webkit-text-fill-color: transparent;\r\n  background-clip: text;\r\n}\r\n\r\n.ajt-subtitle {\r\n  font-family: var(--mono);\r\n  font-size: 12px;\r\n  color: var(--text-muted);\r\n  letter-spacing: 0.05em;\r\n  line-height: 1.8;\r\n}\r\n.ajt-subtitle b { color: var(--accent); font-weight: 600; }\r\n\r\n\/* Security badges *\/\r\n.ajt-sec-row {\r\n  display: flex;\r\n  gap: 10px;\r\n  flex-wrap: wrap;\r\n}\r\n\r\n.ajt-sec-badge {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  background: var(--glass-bg);\r\n  border: 1px solid var(--glass-border);\r\n  backdrop-filter: var(--blur-sm);\r\n  -webkit-backdrop-filter: var(--blur-sm);\r\n  border-radius: 8px;\r\n  padding: 7px 14px;\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  font-weight: 600;\r\n  letter-spacing: 0.07em;\r\n  color: var(--text-dim);\r\n}\r\n\r\n.ajt-dot {\r\n  width: 7px; height: 7px;\r\n  border-radius: 50%;\r\n  animation: ajt-pulse 2.2s infinite;\r\n}\r\n.ajt-dot--blue  { background: var(--accent);  box-shadow: 0 0 8px var(--accent); }\r\n.ajt-dot--green { background: var(--green);   box-shadow: 0 0 8px var(--green); }\r\n.ajt-dot--yellow{ background: var(--yellow);  box-shadow: 0 0 8px var(--yellow); }\r\n\r\n@keyframes ajt-pulse {\r\n  0%,100% { opacity:1; transform:scale(1); }\r\n  50%      { opacity:0.4; transform:scale(0.8); }\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 INTRO CARDS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.ajt-grid3 {\r\n  display: grid;\r\n  grid-template-columns: repeat(3, 1fr);\r\n  gap: 12px;\r\n  margin-bottom: 32px;\r\n}\r\n@media(max-width:560px) { .ajt-grid3 { grid-template-columns: 1fr; } }\r\n\r\n.ajt-card {\r\n  background: var(--glass-bg);\r\n  border: 1px solid var(--glass-border);\r\n  backdrop-filter: var(--blur);\r\n  -webkit-backdrop-filter: var(--blur);\r\n  border-radius: 14px;\r\n  padding: 16px 18px;\r\n  transition: border-color 0.2s, background 0.2s;\r\n}\r\n\r\n.ajt-card:hover {\r\n  background: var(--glass-bg2);\r\n  border-color: var(--glass-border2);\r\n}\r\n\r\n.ajt-card__label {\r\n  font-family: var(--mono);\r\n  font-size: 10px;\r\n  font-weight: 600;\r\n  letter-spacing: 0.13em;\r\n  color: var(--text-muted);\r\n  text-transform: uppercase;\r\n  margin-bottom: 6px;\r\n}\r\n\r\n.ajt-card__val {\r\n  font-family: var(--mono);\r\n  font-size: 14px;\r\n  font-weight: 700;\r\n  color: var(--accent);\r\n}\r\n.ajt-card__val--g { color: var(--green); }\r\n.ajt-card__val--y { color: var(--yellow); }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 CALLOUT \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.ajt-callout {\r\n  display: flex;\r\n  gap: 14px;\r\n  padding: 16px 18px;\r\n  border-radius: 12px;\r\n  margin-bottom: 20px;\r\n  font-family: var(--mono);\r\n  font-size: 12px;\r\n  line-height: 1.75;\r\n  backdrop-filter: var(--blur-sm);\r\n  -webkit-backdrop-filter: var(--blur-sm);\r\n  border: 1px solid;\r\n}\r\n\r\n.ajt-callout--info    { background: rgba(0,194,255,0.07);  border-color: rgba(0,194,255,0.22);  color: var(--text-dim); }\r\n.ajt-callout--warn    { background: rgba(255,201,60,0.07); border-color: rgba(255,201,60,0.22); color: var(--text-dim); }\r\n.ajt-callout--success { background: rgba(0,229,160,0.07); border-color: rgba(0,229,160,0.22); color: var(--text-dim); }\r\n\r\n.ajt-callout__icon { font-size: 18px; flex-shrink: 0; }\r\n.ajt-callout b { color: var(--text); }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 SECTIONS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.ajt-section {\r\n  margin-bottom: 36px;\r\n  animation: ajt-fadeup 0.5s ease both;\r\n}\r\n\r\n@keyframes ajt-fadeup {\r\n  from { opacity:0; transform:translateY(14px); }\r\n  to   { opacity:1; transform:translateY(0); }\r\n}\r\n\r\n.ajt-section:nth-child(2)  { animation-delay:.04s }\r\n.ajt-section:nth-child(3)  { animation-delay:.08s }\r\n.ajt-section:nth-child(4)  { animation-delay:.12s }\r\n.ajt-section:nth-child(5)  { animation-delay:.16s }\r\n.ajt-section:nth-child(6)  { animation-delay:.20s }\r\n.ajt-section:nth-child(7)  { animation-delay:.24s }\r\n.ajt-section:nth-child(8)  { animation-delay:.28s }\r\n\r\n.ajt-sec-head {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 14px;\r\n  margin-bottom: 18px;\r\n}\r\n\r\n.ajt-stepnum {\r\n  width: 38px; height: 38px;\r\n  border-radius: 50%;\r\n  background: linear-gradient(135deg, var(--accent2), var(--accent));\r\n  display: flex; align-items: center; justify-content: center;\r\n  font-family: var(--mono);\r\n  font-weight: 700;\r\n  font-size: 14px;\r\n  color: #fff;\r\n  flex-shrink: 0;\r\n  box-shadow: 0 0 18px rgba(0,119,255,0.4);\r\n}\r\n\r\n.ajt-stepnum--warn {\r\n  background: linear-gradient(135deg, #ff4d6d, #ff8c42);\r\n  box-shadow: 0 0 18px rgba(255,77,109,0.35);\r\n}\r\n\r\n.ajt-sec-title {\r\n  font-size: 17px;\r\n  font-weight: 700;\r\n  letter-spacing: -0.01em;\r\n  color: var(--text);\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 TABLE CARD \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.ajt-table {\r\n  background: var(--glass-bg);\r\n  border: 1px solid var(--glass-border);\r\n  backdrop-filter: var(--blur);\r\n  -webkit-backdrop-filter: var(--blur);\r\n  border-radius: 14px;\r\n  overflow: hidden;\r\n}\r\n\r\n.ajt-row {\r\n  display: flex;\r\n  align-items: flex-start;\r\n  border-bottom: 1px solid var(--glass-border);\r\n  transition: background 0.15s;\r\n}\r\n.ajt-row:last-child { border-bottom: none; }\r\n.ajt-row:hover { background: rgba(255,255,255,0.05); }\r\n\r\n.ajt-row__key {\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  font-weight: 600;\r\n  letter-spacing: 0.06em;\r\n  color: var(--text-muted);\r\n  padding: 13px 16px;\r\n  min-width: 185px;\r\n  border-right: 1px solid var(--glass-border);\r\n  line-height: 1.5;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.ajt-row__key--red    { color: rgba(255,92,122,0.85); }\r\n.ajt-row__key--yellow { color: rgba(255,201,60,0.85); }\r\n\r\n@media(max-width:560px) {\r\n  .ajt-row { flex-direction: column; }\r\n  .ajt-row__key { border-right: none; border-bottom: 1px solid var(--glass-border); min-width: unset; width: 100%; }\r\n}\r\n\r\n.ajt-row__val {\r\n  font-family: var(--mono);\r\n  font-size: 12px;\r\n  font-weight: 500;\r\n  color: var(--text-dim);\r\n  padding: 13px 16px;\r\n  flex: 1;\r\n  line-height: 1.6;\r\n}\r\n\r\n.ajt-hl        { color: var(--accent);  font-weight: 700; }\r\n.ajt-hl--g     { color: var(--green);   font-weight: 700; }\r\n.ajt-hl--y     { color: var(--yellow);  font-weight: 700; }\r\n.ajt-note      { display: block; font-size: 10px; font-weight: 400; color: var(--text-muted); margin-top: 3px; }\r\n.ajt-examples  { display: block; font-size: 10px; color: rgba(0,194,255,0.55); margin-top: 3px; }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 TOGGLE PILL \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.ajt-toggle {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  vertical-align: middle;\r\n}\r\n\r\n.ajt-toggle__pill {\r\n  width: 30px; height: 17px;\r\n  border-radius: 9px;\r\n  background: var(--green);\r\n  box-shadow: 0 0 10px rgba(0,229,160,0.5);\r\n  position: relative;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.ajt-toggle__pill::after {\r\n  content: '';\r\n  position: absolute;\r\n  top: 2px; right: 2px;\r\n  width: 13px; height: 13px;\r\n  border-radius: 50%;\r\n  background: #fff;\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 NUMBERED LIST \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.ajt-list {\r\n  list-style: none;\r\n  counter-reset: ajt-c;\r\n  background: var(--glass-bg);\r\n  border: 1px solid var(--glass-border);\r\n  backdrop-filter: var(--blur);\r\n  -webkit-backdrop-filter: var(--blur);\r\n  border-radius: 14px;\r\n  padding: 4px 0;\r\n}\r\n\r\n.ajt-list li {\r\n  counter-increment: ajt-c;\r\n  display: flex;\r\n  gap: 14px;\r\n  padding: 13px 18px;\r\n  border-bottom: 1px solid var(--glass-border);\r\n  font-size: 13px;\r\n  color: var(--text-dim);\r\n  line-height: 1.6;\r\n}\r\n\r\n.ajt-list li:last-child { border-bottom: none; }\r\n\r\n.ajt-list li::before {\r\n  content: counter(ajt-c, decimal-leading-zero);\r\n  font-family: var(--mono);\r\n  font-size: 10px;\r\n  font-weight: 700;\r\n  color: var(--accent2);\r\n  min-width: 24px;\r\n  margin-top: 2px;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.ajt-list b { color: var(--text); font-weight: 700; }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 PATH HINT \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.ajt-path {\r\n  margin-top: 10px;\r\n  background: rgba(0,0,0,0.25);\r\n  border: 1px solid var(--glass-border);\r\n  backdrop-filter: var(--blur-sm);\r\n  -webkit-backdrop-filter: var(--blur-sm);\r\n  border-radius: 8px;\r\n  padding: 11px 16px;\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  color: var(--text-muted);\r\n  line-height: 2;\r\n}\r\n.ajt-path span { color: var(--accent); }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 DIVIDER \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.ajt-divider {\r\n  border: none;\r\n  border-top: 1px solid var(--glass-border);\r\n  margin: 36px 0;\r\n}\r\n\r\ncode.ajt-code {\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  background: rgba(0,194,255,0.1);\r\n  color: var(--accent);\r\n  padding: 2px 6px;\r\n  border-radius: 4px;\r\n  border: 1px solid rgba(0,194,255,0.2);\r\n}\r\n\r\n\r\n.ajt-bg-wrap {\r\n  position: relative;\r\n  overflow: hidden;\r\n  border-radius: 22px;\r\n  \/* Degradado marca AJTEL \u2014 azul profundo \u2192 cyan *\/\r\n  background: linear-gradient(135deg,\r\n    #031628 0%,\r\n    #042444 20%,\r\n    #063670 42%,\r\n    #0055a5 62%,\r\n    #0088cc 80%,\r\n    #00b4d8 100%\r\n  );\r\n}\r\n\r\n\/* Grid tenue encima del degradado *\/\r\n\r\n\r\n\/* \u2500\u2500\u2500 Logos flotantes (marca de agua) \u2500\u2500\u2500 *\/\r\n\r\n\r\n\r\n\r\n\/* Logo 1 \u2014 grande, esquina sup-derecha, gira lento *\/\r\n\r\n\r\n\/* Logo 2 \u2014 mediano, centro-izquierda, flotaci\u00f3n vertical *\/\r\n\r\n\r\n\/* Logo 3 \u2014 peque\u00f1o, esquina inf-izq, deriva diagonal *\/\r\n\r\n\r\n\/* Logo 4 \u2014 muy grande, centro-derecha, pulsa suave *\/\r\n\r\n\r\n@keyframes ajt-wm1 {\r\n  0%   { transform: rotate(-8deg)  scale(1);    opacity: 0.05; }\r\n  50%  { transform: rotate(4deg)   scale(1.06); opacity: 0.08; }\r\n  100% { transform: rotate(-14deg) scale(0.96); opacity: 0.04; }\r\n}\r\n@keyframes ajt-wm2 {\r\n  0%   { transform: translateY(0px)   rotate(5deg);  }\r\n  50%  { transform: translateY(-28px) rotate(-3deg); }\r\n  100% { transform: translateY(14px)  rotate(8deg);  }\r\n}\r\n@keyframes ajt-wm3 {\r\n  0%   { transform: translate(0,0)     rotate(0deg);   opacity: 0.05; }\r\n  50%  { transform: translate(20px,-18px) rotate(12deg); opacity: 0.08; }\r\n  100% { transform: translate(-10px,8px)  rotate(-6deg);  opacity: 0.04; }\r\n}\r\n@keyframes ajt-wm4 {\r\n  0%   { transform: scale(1)    rotate(0deg);   opacity: 0.03; }\r\n  50%  { transform: scale(1.08) rotate(-5deg);  opacity: 0.055; }\r\n  100% { transform: scale(0.95) rotate(3deg);   opacity: 0.025; }\r\n}\r\n\r\n\/* \u2500\u2500\u2500 Contenido encima de todo \u2500\u2500\u2500 *\/\r\n.ajt-bg-content {\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n<\/style>\r\n\r\n<div class=\"ajt-bg-wrap\">\r\n  <div class=\"ajt-bg-content\">\r\n    <div class=\"ajt-tut\">\r\n      <div class=\"ajt-tut__inner\">\r\n<div class=\"ajt-tut\">\r\n      <div class=\"ajt-tut__inner\">\r\n<!-- \u2500\u2500 HEADER \u2500\u2500 -->\r\n    <div class=\"ajt-header\">\r\n      <div class=\"ajt-logo-row\">\r\n        <span class=\"ajt-badge\">\u2713 TLS + SRTP<\/span>\r\n      <\/div>\r\n\r\n      <div class=\"ajt-title\">Configuraci\u00f3n Bria iPhone<br>con TLS &amp; SRTP<\/div>\r\n\r\n      <p class=\"ajt-subtitle\">\r\n        Servidor: <b>indicado en tu hoja de entrega<\/b> &nbsp;\u00b7&nbsp;\r\n        Transporte: <b>TLS :5061<\/b> &nbsp;\u00b7&nbsp;\r\n        Media: <b>SRTP<\/b>\r\n      <\/p>\r\n\r\n      <div class=\"ajt-sec-row\">\r\n        <div class=\"ajt-sec-badge\"><span class=\"ajt-dot ajt-dot--blue\"><\/span> Se\u00f1alizaci\u00f3n cifrada TLS<\/div>\r\n        <div class=\"ajt-sec-badge\"><span class=\"ajt-dot ajt-dot--green\"><\/span> Audio cifrado SRTP<\/div>\r\n        <div class=\"ajt-sec-badge\"><span class=\"ajt-dot ajt-dot--yellow\"><\/span> Puerto 5061<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2500\u2500 TARJETAS RESUMEN \u2500\u2500 -->\r\n    <div class=\"ajt-grid3\">\r\n      <div class=\"ajt-card\">\r\n        <div class=\"ajt-card__label\">Servidor SIP<\/div>\r\n        <div class=\"ajt-card__val\">Tu hoja de entrega<\/div>\r\n      <\/div>\r\n      <div class=\"ajt-card\">\r\n        <div class=\"ajt-card__label\">Puerto TLS<\/div>\r\n        <div class=\"ajt-card__val ajt-card__val--y\">5061<\/div>\r\n      <\/div>\r\n      <div class=\"ajt-card\">\r\n        <div class=\"ajt-card__label\">Protocolo<\/div>\r\n        <div class=\"ajt-card__val ajt-card__val--g\">TLS + SRTP<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2500\u2500 CALLOUT INTRO \u2500\u2500 -->\r\n    <div class=\"ajt-callout ajt-callout--info\">\r\n      <span class=\"ajt-callout__icon\">\u2139\ufe0f<\/span>\r\n      <div><b>Antes de comenzar<\/b><br>\r\n      Ten a la mano tu <b>n\u00famero de extensi\u00f3n<\/b> y tu <b>contrase\u00f1a SIP<\/b>. Si no los tienes, solic\u00edtalos a tu administrador AJTEL.<\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 PASO 1 \u2550\u2550 -->\r\n    <div class=\"ajt-section\">\r\n      <div class=\"ajt-sec-head\">\r\n        <div class=\"ajt-stepnum\">1<\/div>\r\n        <div class=\"ajt-sec-title\">Descargar e instalar Bria<\/div>\r\n      <\/div>\r\n      <ul class=\"ajt-list\">\r\n        <li>Abre el <b>App Store<\/b> en tu iPhone y busca <b>\"Bria Mobile\"<\/b> de CounterPath.<\/li>\r\n        <li>Descarga e instala la app. Requiere iOS 14 o superior.<\/li>\r\n        <li>Al abrirla por primera vez, acepta los permisos de <b>micr\u00f3fono<\/b> y <b>notificaciones<\/b> \u2014 son necesarios para recibir llamadas.<\/li>\r\n        <li>Inicia sesi\u00f3n con tu cuenta CounterPath o selecciona <b>\"Omitir \/ Use without account\"<\/b> si solo usar\u00e1s cuenta SIP.<\/li>\r\n      <\/ul>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 PASO 2 \u2550\u2550 -->\r\n    <div class=\"ajt-section\">\r\n      <div class=\"ajt-sec-head\">\r\n        <div class=\"ajt-stepnum\">2<\/div>\r\n        <div class=\"ajt-sec-title\">Agregar cuenta SIP<\/div>\r\n      <\/div>\r\n      <ul class=\"ajt-list\">\r\n        <li>En la pantalla principal toca el \u00edcono de <b>men\u00fa \u2261<\/b> (esquina superior izquierda) \u2192 <b>Settings<\/b>.<\/li>\r\n        <li>Selecciona <b>Accounts<\/b> \u2192 toca el bot\u00f3n <b>+ Add Account<\/b>.<\/li>\r\n        <li>Elige la opci\u00f3n <b>SIP Account<\/b>.<\/li>\r\n      <\/ul>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 PASO 3 \u2550\u2550 -->\r\n    <div class=\"ajt-section\">\r\n      <div class=\"ajt-sec-head\">\r\n        <div class=\"ajt-stepnum\">3<\/div>\r\n        <div class=\"ajt-sec-title\">Configuraci\u00f3n general de la cuenta<\/div>\r\n      <\/div>\r\n      <div class=\"ajt-callout ajt-callout--warn\">\r\n        <span class=\"ajt-callout__icon\">\u26a0\ufe0f<\/span>\r\n        <div>Completa <b>exactamente<\/b> los valores indicados. Un campo incorrecto impedir\u00e1 el registro.<\/div>\r\n      <\/div>\r\n      <div class=\"ajt-table\">\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Account Name<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl\">AJTEL \u2014 Extensi\u00f3n XXXX<\/span>\r\n            <span class=\"ajt-note\">Nombre descriptivo para identificar la cuenta<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Display Name<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl\">Tu Nombre<\/span>\r\n            <span class=\"ajt-note\">Nombre que ver\u00e1 quien reciba tu llamada<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Username<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl\">XXXX<\/span>\r\n            <span class=\"ajt-note\">Tu n\u00famero de extensi\u00f3n (ej: 1001)<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Password<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl\">\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022<\/span>\r\n            <span class=\"ajt-note\">Contrase\u00f1a SIP indicada en tu hoja de entrega<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Domain \/ SIP Server<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl\">servidor.ajtel.net<\/span>\r\n            <span class=\"ajt-note\">Usa el servidor indicado en tu hoja de entrega<\/span>\r\n            <span class=\"ajt-examples\">ej: soho1.ajtel.net \u00b7 soho2.ajtel.net \u00b7 dedicated12.ajtel.net<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 PASO 4 \u2550\u2550 -->\r\n    <div class=\"ajt-section\">\r\n      <div class=\"ajt-sec-head\">\r\n        <div class=\"ajt-stepnum\">4<\/div>\r\n        <div class=\"ajt-sec-title\">Configuraci\u00f3n de transporte \u2014 TLS<\/div>\r\n      <\/div>\r\n      <div class=\"ajt-callout ajt-callout--info\">\r\n        <span class=\"ajt-callout__icon\">\ud83d\udd12<\/span>\r\n        <div><b>\u00bfPor qu\u00e9 TLS?<\/b> Cifra la se\u00f1alizaci\u00f3n de tu llamada protegi\u00e9ndola en redes p\u00fablicas o Wi-Fi compartido.<\/div>\r\n      <\/div>\r\n      <div class=\"ajt-table\">\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Transport<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl\">TLS<\/span>\r\n            <span class=\"ajt-note\">Seleccionar en el men\u00fa desplegable de transporte<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">SIP Port<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl--y\">5061<\/span>\r\n            <span class=\"ajt-note\">Puerto TLS est\u00e1ndar en AJTEL<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Validate TLS Certificate<\/div>\r\n          <div class=\"ajt-row__val\">\r\n            <div class=\"ajt-toggle\">\r\n              <span class=\"ajt-toggle__pill\"><\/span>\r\n              <span class=\"ajt-hl--g\">ON (Activado)<\/span>\r\n            <\/div>\r\n            <span class=\"ajt-note\">Recomendado. Contacta a tu administrador si aparece advertencia de certificado<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"ajt-path\">\r\n        Settings \u2192 Accounts \u2192 [tu cuenta] \u2192 <span>Advanced Settings<\/span> \u2192 Transport\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 PASO 5 \u2550\u2550 -->\r\n    <div class=\"ajt-section\">\r\n      <div class=\"ajt-sec-head\">\r\n        <div class=\"ajt-stepnum\">5<\/div>\r\n        <div class=\"ajt-sec-title\">Cifrado de audio \u2014 SRTP<\/div>\r\n      <\/div>\r\n      <div class=\"ajt-callout ajt-callout--info\">\r\n        <span class=\"ajt-callout__icon\">\ud83c\udf99\ufe0f<\/span>\r\n        <div><b>\u00bfPor qu\u00e9 SRTP?<\/b> Cifra el audio de tu llamada. Sin SRTP el audio puede ser interceptado aunque la se\u00f1alizaci\u00f3n est\u00e9 protegida.<\/div>\r\n      <\/div>\r\n      <div class=\"ajt-table\">\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">SRTP \/ Media Encryption<\/div>\r\n          <div class=\"ajt-row__val\">\r\n            <div class=\"ajt-toggle\">\r\n              <span class=\"ajt-toggle__pill\"><\/span>\r\n              <span class=\"ajt-hl--g\">ON (Activado)<\/span>\r\n            <\/div>\r\n            <span class=\"ajt-note\">Cifra el audio de extremo a extremo<\/span>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">SRTP Mode<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl\">Required<\/span>\r\n            <span class=\"ajt-note\">Fuerza SRTP en todas las llamadas<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"ajt-path\">\r\n        Settings \u2192 Accounts \u2192 [tu cuenta] \u2192 <span>Advanced Settings<\/span> \u2192 Security \u2192 SRTP\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 PASO 6 \u2550\u2550 -->\r\n    <div class=\"ajt-section\">\r\n      <div class=\"ajt-sec-head\">\r\n        <div class=\"ajt-stepnum\">6<\/div>\r\n        <div class=\"ajt-sec-title\">Configuraci\u00f3n avanzada recomendada<\/div>\r\n      <\/div>\r\n      <div class=\"ajt-table\">\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">STUN Server<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl\">Desactivado<\/span>\r\n            <span class=\"ajt-note\">AJTEL usa configuraci\u00f3n directa<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Registration Expiry<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl--y\">120<\/span>\r\n            <span class=\"ajt-note\">Segundos. Mejora disponibilidad en redes m\u00f3viles<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Keep-Alive Interval<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl\">30<\/span>\r\n            <span class=\"ajt-note\">Mantiene el registro activo en 4G \/ Wi-Fi<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Codecs de audio<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl--g\">G.722 \u00b7 G.729 \u00b7 OPUS<\/span>\r\n            <span class=\"ajt-note\">En ese orden de preferencia<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key\">Outbound Proxy<\/div>\r\n          <div class=\"ajt-row__val\"><span class=\"ajt-hl\">servidor.ajtel.net:5061<\/span>\r\n            <span class=\"ajt-note\">Mismo servidor de tu hoja de entrega + :5061<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 PASO 7 \u2550\u2550 -->\r\n    <div class=\"ajt-section\">\r\n      <div class=\"ajt-sec-head\">\r\n        <div class=\"ajt-stepnum\">7<\/div>\r\n        <div class=\"ajt-sec-title\">Guardar y verificar el registro<\/div>\r\n      <\/div>\r\n      <ul class=\"ajt-list\">\r\n        <li>Toca <b>Save \/ Done<\/b> para guardar la configuraci\u00f3n.<\/li>\r\n        <li>Bria intentar\u00e1 registrarse autom\u00e1ticamente. El \u00edcono de la cuenta cambiar\u00e1 a <b style=\"color:#00e5a0\">verde \u2713<\/b> si el registro es exitoso.<\/li>\r\n        <li>Si el estado muestra <b style=\"color:#ff5c7a\">rojo \/ Failed<\/b>, verifica usuario, contrase\u00f1a y que est\u00e9s conectado a internet.<\/li>\r\n        <li>Realiza una llamada de prueba a una extensi\u00f3n interna para confirmar que el audio funciona correctamente.<\/li>\r\n        <li>En los detalles de la llamada activa deber\u00edas ver el candado \ud83d\udd12 indicando que SRTP est\u00e1 activo.<\/li>\r\n      <\/ul>\r\n      <div class=\"ajt-callout ajt-callout--success\" style=\"margin-top:14px;margin-bottom:0\">\r\n        <span class=\"ajt-callout__icon\">\u2705<\/span>\r\n        <div><b>Registro exitoso:<\/b> El \u00edcono de tu cuenta en Bria se pondr\u00e1 en <b>verde \u2713<\/b>. Realiza una llamada de prueba \u2014 deber\u00edas escuchar audio claro en ambos sentidos.<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <hr class=\"ajt-divider\">\r\n\r\n    <!-- \u2550\u2550 TROUBLESHOOTING \u2550\u2550 -->\r\n    <div class=\"ajt-section\">\r\n      <div class=\"ajt-sec-head\">\r\n        <div class=\"ajt-stepnum ajt-stepnum--warn\">!<\/div>\r\n        <div class=\"ajt-sec-title\">Soluci\u00f3n de problemas comunes<\/div>\r\n      <\/div>\r\n      <div class=\"ajt-table\">\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key ajt-row__key--red\">Error 403 \/ Forbidden<\/div>\r\n          <div class=\"ajt-row__val\">Usuario o contrase\u00f1a SIP incorrectos. Verifica los datos de tu hoja de entrega o contacta a tu administrador AJTEL.<\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key ajt-row__key--red\">No registra \/ Timeout<\/div>\r\n          <div class=\"ajt-row__val\">El puerto 5061 puede estar bloqueado. Prueba con datos m\u00f3viles para descartar el firewall de tu red local.<\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key ajt-row__key--yellow\">Audio de un solo sentido<\/div>\r\n          <div class=\"ajt-row__val\">Verifica que est\u00e9s en una buena red (Wi-Fi estable o 4G\/5G). Si persiste, contacta a tu administrador AJTEL.<\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key ajt-row__key--yellow\">SRTP falla la llamada<\/div>\r\n          <div class=\"ajt-row__val\">Contacta a tu administrador AJTEL para verificar que el cifrado de audio est\u00e9 habilitado en tu extensi\u00f3n.<\/div>\r\n        <\/div>\r\n        <div class=\"ajt-row\">\r\n          <div class=\"ajt-row__key ajt-row__key--red\">488 Not Acceptable<\/div>\r\n          <div class=\"ajt-row__val\">Negociaci\u00f3n de codec fallida. Verifica que G.722, G.729 u OPUS est\u00e9n seleccionados en Bria. Contacta a tu administrador AJTEL si persiste.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div><!-- \/.ajt-tut__inner -->\r\n      <\/div><!-- \/.ajt-tut__inner -->\r\n    <\/div><!-- \/.ajt-tut -->\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u2713 TLS + SRTP Configuraci\u00f3n Bria iPhonecon TLS &amp; SRTP Servidor: indicado en tu hoja de entrega &nbsp;\u00b7&nbsp; Transporte: TLS :5061 &nbsp;\u00b7&nbsp; Media: SRTP Se\u00f1alizaci\u00f3n cifrada TLS Audio cifrado SRTP Puerto 5061 Servidor SIP Tu hoja de entrega Puerto TLS 5061 Protocolo TLS + SRTP \u2139\ufe0f Antes de comenzar Ten a la mano tu n\u00famero [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"footnotes":""},"class_list":["post-5950","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ajtel.net\/W\/wp-json\/wp\/v2\/pages\/5950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ajtel.net\/W\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ajtel.net\/W\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ajtel.net\/W\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ajtel.net\/W\/wp-json\/wp\/v2\/comments?post=5950"}],"version-history":[{"count":24,"href":"https:\/\/ajtel.net\/W\/wp-json\/wp\/v2\/pages\/5950\/revisions"}],"predecessor-version":[{"id":6013,"href":"https:\/\/ajtel.net\/W\/wp-json\/wp\/v2\/pages\/5950\/revisions\/6013"}],"wp:attachment":[{"href":"https:\/\/ajtel.net\/W\/wp-json\/wp\/v2\/media?parent=5950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}