Skip to content

Instantly share code, notes, and snippets.

@oneryalcin
Created November 4, 2025 18:01
Show Gist options
  • Select an option

  • Save oneryalcin/ede43173b5b989555e9464f027f8a776 to your computer and use it in GitHub Desktop.

Select an option

Save oneryalcin/ede43173b5b989555e9464f027f8a776 to your computer and use it in GitHub Desktop.
Monitoring Slice Call Center Connections

RIPE Atlas Call Center Monitoring Documentation

Executive Summary

Monitoring setup to detect evening latency spikes affecting call centers in Pristina (Kosovo) and Diber (North Macedonia) connecting to AWS US-East-1 (Virginia) and US-East-2 (Ohio) regions.

1. Call Center Infrastructure

Call Center Locations and IPs

Pristina (Kosovo):
• 185.191.167.236 - TelKos L.L.C (AS206262)
• 46.99.212.83    - IPKO Telecommunications LLC (AS21246)

Diber (North Macedonia):
• 62.162.126.10   - Makedonski Telekom AD-Skopje (AS6821)
• 82.214.85.253   - Akton d.o.o. (AS25467)

2. RIPE Atlas Probe Selection

Active Probes Used

Probe ID Location ISP/ASN IP Address Coverage
61581 Kosovo (XK) IPKO (AS21246) 46.99.219.99 Direct - Pristina call center
62906 Macedonia (MK) Makedonski Telekom (AS6821) 79.125.170.130 Direct - Diber call center
27588 Albania (AL) ONE Albania (AS42313) 79.106.228.82 Proxy for TelKos

ISP Coverage Analysis

✅ COVERED (2/4 ISPs):
• IPKO (Pristina)            - Probe 61581 (direct match)
• Makedonski Telekom (Diber) - Probe 62906 (direct match)

🔄 PROXY COVERAGE (1/4 ISPs):
• TelKos (Pristina)          - Using Albanian probe 27588
  Reason: No probes on AS206262 network

❌ NO COVERAGE (1/4 ISPs):
• Akton (Diber)              - AS25467 only has Croatian probes

3. Albanian Proxy Justification

Why Use Albanian Probe for TelKos?

BGP Upstream Analysis

# TelKos (AS206262) BGP upstream providers discovered via:
whois -h whois.radb.net AS206262

Results:
• AS34772  - Neotel (Serbia)
• AS174    - Cogent Communications (Global)  
• AS202441 - Telekom Srbija
• AS1299   - Telia Carrier (Europe)
• AS42313  - ONE Albania ← KEY FINDING

Political Routing Reality

Kosovo declared independence in 2008, not recognized by Serbia. Therefore:

  • ❌ Serbia routes unlikely (political tensions)
  • ✅ Albania routes preferred (recognizes Kosovo, strong ties)
  • ✅ Macedonia routes viable (recognizes Kosovo)
  • ✅ International carriers (neutral path)

Conclusion: Albanian ONE probe (AS42313) is TelKos's upstream provider AND politically viable route, making it an excellent proxy.

4. AWS Target Selection

Working Endpoints

Region Service Target IP FQDN Why Chosen
US-East-1 EC2 54.239.28.168 ec2.us-east-1.amazonaws.com Responds to ICMP
US-East-2 ELB 52.95.16.123 elasticloadbalancing.us-east-2.amazonaws.com Responds to ICMP

Failed Targets

  • ❌ 108.166.248.9 - Blocks ICMP (original US-East-2 attempt)
  • ❌ 3.146.11.142 - ec2.us-east-2.amazonaws.com blocks ICMP

5. Measurement Configuration

Active Measurements

ID Type Target Interval Purpose
135679657 Ping US-East-1 (54.239.28.168) 5 min Latency monitoring
135679682 Ping US-East-2 (52.95.16.123) 5 min Latency monitoring
135679668 TCP Traceroute US-East-1 15 min Path analysis
135679666 TCP Traceroute US-East-2 15 min Path analysis
[Pending] HTTP Leesburg VA anchor 30 min Application layer

Measurement Details

Ping Measurements (135679657, 135679682)

  • Purpose: Detect latency increases and packet loss
  • Baseline: 120-150ms normal
  • Alert threshold: >200ms or >1% packet loss
  • Interval: 300 seconds (5 minutes) for granular spike detection

TCP Traceroute (135679668, 135679666)

  • Protocol: TCP port 443 with Paris mode (--paris 16)
  • Purpose: Identify bottleneck hops during latency spikes
  • Key hops to monitor:
    • Kosovo: 62.154.5.254 (transatlantic)
    • Macedonia: 87.245.233.113 (transatlantic)
  • Interval: 900 seconds (15 minutes)

HTTP Measurement (Leesburg VA anchor)

  • Target: us-qas-as14907.anchors.atlas.ripe.net (Wikimedia)
  • Location: Leesburg, VA (same as AWS US-East-1)
  • IP: 208.80.155.69
  • Baseline: ~257ms total HTTP transaction
  • Purpose: Application-layer performance indicator

6. Baseline Performance Metrics

Current Baselines (Daytime)

From Kosovo (IPKO):
• Ping to US-East-1: ~132ms
• TCP trace completion: ~133ms
• HTTP to Leesburg: ~257ms

From Macedonia (Makedonski):
• Ping to US-East-1: ~127-147ms
• TCP trace completion: ~145ms
• HTTP to Leesburg: ~260ms

From Albania (ONE/TelKos proxy):
• Ping to US-East-1: ~122ms
• TCP trace completion: ~125ms
• HTTP to Leesburg: ~250ms

7. Monitoring & Analysis

How to Monitor

View Real-time Results

# Latest ping results
ripe-atlas report 135679657

# Stream live measurements
ripe-atlas stream 135679657

# Historical analysis
https://atlas.ripe.net/measurements/135679657

Evening Spike Detection Pattern

Normal (Daytime):
Kosovo → London (73ms) → Virginia (+5ms) = ~130ms total

Problem (Evening 17:00-22:00):
Kosovo → London (150ms+) → Virginia (+5ms) = ~250ms+ total
                  ↑
         Congestion point

Key Performance Indicators

Metric Good Warning Critical
Ping Latency <150ms 150-200ms >200ms
Packet Loss 0% 0.1-1% >1%
HTTP Time <300ms 300-400ms >400ms
Jitter <10ms 10-30ms >30ms

TCP Throughput Impact

Bandwidth-Delay Product formula:
Throughput ≈ (TCP Window Size) / (RTT × √packet_loss)

Example impacts:
• Latency 130ms → 260ms = 50% throughput reduction
• 1% packet loss = ~90% throughput reduction
• Combined effect can reduce downloads to <10% of normal

8. Troubleshooting Guide

If Measurements Fail

  1. Check probe status: ripe-atlas probe-info <probe_id>
  2. Verify target reachability: ping <target_ip>
  3. Check credits: https://atlas.ripe.net/credits/

Alternative Probes

If primary probes fail:

  • Kosovo: Use Serbian AS (if political situation allows)
  • Macedonia: Try Bulgarian probes (neighboring)
  • Albania: Probe 21750 (backup, same AS42313)

Common Issues

  • Probe offline: Shows "Connected" but doesn't schedule
  • Target changes: AWS IPs may change, verify with nslookup
  • HTTP anchors: Must use exact FQDN format

9. Command Reference

Creating Measurements

# Ping measurement
ripe-atlas measure ping --target <IP> \
  --from-probe 61581,62906,27588 \
  --interval 300 --af 4

# TCP Traceroute with Paris mode
ripe-atlas measure traceroute --target <IP> \
  --from-probe 61581,62906,27588 \
  --protocol TCP --port 443 --paris 16 \
  --interval 900 --af 4

# HTTP to anchor
ripe-atlas measure http --target <anchor>.anchors.atlas.ripe.net \
  --from-probe 61581,62906,27588 \
  --path /4096 --interval 1800

Analysis Commands

# Search measurements
ripe-atlas measurement-search --status ongoing --limit 10

# Get measurement info
ripe-atlas measurement-info <measurement_id>

# View results
ripe-atlas report <measurement_id>

# Stop measurement
ripe-atlas measurement-stop <measurement_id>

10. Expected Outcomes

What This Monitoring Reveals

  1. Exact timing of evening congestion (timestamp correlation)
  2. Specific bottleneck causing delays (hop identification)
  3. Packet loss patterns affecting downloads
  4. Geographic correlation (which call center affected more)
  5. Recovery timing (when performance returns to normal)

Business Impact Metrics

  • Latency >200ms = Call quality degradation
  • Packet loss >0.5% = Voice breakup
  • HTTP >400ms = Application timeouts
  • Combined issues = Unusable service

Document created: November 4, 2025 Monitoring active from: November 4, 2025 Next review: After 1 week of data collection

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment