SİSTEMNET · YAZILIM GELİŞTİRME ÇÖZÜMLERİ

SN Serisi — Santral Entegrasyonu
Teknik Şartnamesi

SNCDR · SNTRM · SNSR · SNPMS · SNMASKE uygulamalarının PBX/Santral Entegrasyonu
Doküman: SNS-TR-2026-001Sürüm 1.0Eylül 2026Gizli — Müşteri
🖨️ Yazdırma: PDF için Ctrl/Cmd+P → "Save as PDF". Bu doküman A4'e optimize edilmiştir.

1. Amaç ve Kapsam

Bu şartname; Sistemnet SN Serisi yazılımlarının (SNCDR, SNTRM, SNSR, SNPMS, SNMASKE) aşağıdaki santral/PBX sistemleriyle çağrı verisi (CDR/SMDR), ajan durumu (Agent Event) ve gerçek zamanlı çağrı kontrolü (CCT) entegrasyonlarının teknik gereksinimlerini tanımlar:

SantralSürüm (min)Veri KaynağıProtokol
Avaya Communication ManagerCM 6.3+CDR via SATTCP 5051 (unsecure) / TLS
Cisco Unified CCE / CUCMCUCM 12.5+CDR via SFTP + CCT AXLSFTP 22, AXL/SOAP 8443
Tegsoftv4+REST API + AMQP eventHTTPS 443, AMQP 5672/5671
Alcatel-Lucent OmniPCX (OXO/OXE)OXE 11+CDR via TSA + CSTaTCP 2533 (CSTA), CDR serial/TCP
Ericsson-LG iPECSiPECS-LIK/eMG80+SMDR via TCPTCP 5005 (ascii)
Nortel CS1000 / Avaya AuraCS1000 7.5+CDR via ELAN + RDBTCP 23 (ELAN) / Syslog

2. Mimari Genel Bakış

┌──────────────┐   CDR/SMDR (TCP)   ┌──────────────────┐   HTTPS/WSS   ┌─────────────┐
│  PBX / Santral│ ─────────────────▶ │  SN Collector     │ ────────────▶ │ SN Uygulamaları│
│  (6 üretici)  │   Agent Event      │  (Linux svc)      │   REST API    │ SNCDR/SNTRM  │
└──────────────┘ ◀───────────────── │  Port: 9000/tcp   │ ◀──────────── │ SNSR/SNPMS   │
        ▲            CST kontrol     └──────────────────┘   PostGres    │ SNMASKE      │
        │                           ┌──────────────────┐               └─────────────┘
        └──── Oracle/PostGres ──────│  SN DB (ops.)     │
             (Nortel RDB, CUCM)     └──────────────────┘

SN Collector: Her santral için ayrı "connector" servisi çalıştıran merkezi toplama katmanı. Santral protokolünü normalize edip standart CallEvent JSON'una çevirir; SN uygulamalarına REST/WebSocket ile dağıtır. Kayıp olay için yerel spool dizini (disk kuyruğu) kullanır.

3. Santral Bazlı Entegrasyon Detayları

3.1 Avaya Communication Manager (CM)

Hedef: CM'den gerçek zamanlı CDR akışı almak. Avaya, CDR'ı SAT (System Access Terminal) üzerinden TCP 5051'e (sadece unsecure; önerilen: ip-interface ile TLS) gönderir.

PBX tarafında yapılacaklar (SAT komutları):

change ip-services
  Service Type: CDR1   Server: cli   Port: 5051   Local Node: procr
  Reliable: y          Session: cdc  Peer: <SN-Collector-IP>

change system-parameters cdr
  Primary CDR Output Format: 'unformatted'
  Digits to Cover for CDR: 15
  Record Type 1: all-calls   Record Type 2: none

change ip-node procr
  IP Address: <CM-sunucu-IP>   Subnet: ...

# CDR kayıtlarında ek alanlar için:
change cdr-field-sizing  →  Record Length: 'flexible'

SN Collector tarafı: avaya-cdr-listener servisi TCP 5051'de dinler (veya CM'nin connect olduğu sunucu olarak çalışır — Reliable Session modunda SN Collector sunucu, CM istemcidir).

Alan (unformatted)OffsetUzunlukAnlam
Call Start (epoch)010Aramanın başlangıcı
Call Duration106Saniye
Calling Number1615Arayan numara (ANI)
Called Number3115Aranan numara (DNIS)
Acc Code / Auth Code4616Yetki kodu
In Trunk ID626Gelen trunk kimliği
Out Trunk ID686Giden trunk kimliği
VDN / VDN Name747+20VDN ve adı (Çağrı merkezi)

3.2 Cisco Unified CCE / CUCM

Hedef: Çağrı kayıtları CUCM'den CDR Repository üzerinden SFTP ile çekilir; canlı ajan/çağrı durumu için CCT (Computer Telephony Integration) API'si veya AXL/SOAP kullanılır.

CUCM tarafında yapılacaklar (Cisco Unified Serviceability):

1) CDR Billing Application Server tanımı:
   Serviceability → Tools → CDR Management → Add New
     Host: <SN-Collector-IP>   User: sncdr   Path: /cdr   Protocol: SFTP

2) CDR parametreleri (Enterprise Parameters):
   CDR Enabled Flag: True
   CDR Log Calls with Zero Duration Flag: True
   Call Diagnostics Enabled: True (media hataları için)

3) AXL kullanıcı yetkisi (canlı kontrol için):
   User Management → Application User: snaxl → Role: Standard AXL API Access

SN Collector tarafı: cisco-cdr-poller servisi SFTP ile /cdr/CDR_* dosyalarını çekip JSON'a çevirir (Cisco CDR, virgülle ayrılmış 200+ alanlı flat dosyadır). AXL ile getPhone, getLine sorguları yapılarak dahili → ajan eşlemesi yapılır.

3.3 Tegsoft

Hedef: Tegsoft kendi REST API'sini ve AMQP event bus'ını sunar — en kolay entegrasyon.

# Tegsoft API erişimi:
POST https://<tegsoft-server>/api/v1/auth/login
  { "user": "snsvc", "pass": "***" }        → JWT token

# CDR/Event çekme:
GET  /api/v1/cdr?from=2026-09-01&to=2026-09-30   (Bearer JWT)
GET  /api/v1/agents/state                        (canlı ajan durumu)

# AMQP aboneliği (gerçek zamanlı):
Host: <tegsoft-server>  Port: 5672 (TLS: 5671)  vhost: tegsoft
Queue: sn.events    Routing: call.*.agent.*

SN Collector tarafı: tegsoft-connector servisi hem REST polling (5 dk) hem AMQP aboneliği (canlı) çalıştırır; olaylar normalize edilip SNCDR'a aktarılır.

3.4 Alcatel-Lucent OmniPCX Enterprise (OXE)

Hedef: OXE'nin CSTA (Computer Supported Telecom Applications) API'si ile canlı çağrı kontrolü; CDR için TSA (Telephony System Administration) üzerinden IP CDR.

# OXE 4635/4760 konsolundan (installation → software management):
# 1) CSTA link açma:
   cgroscope → create csta_link <SN-Collector>  port 2533  protocol cstaa

# 2) CDR tanımı:
   cdractions → create cdr_output  format: 'extended'  to: <SN-Collector> port 2533

# 3) Ajan/extension bilgisi:
   create pbx_extension_list → export to sncollector (FTP 21, /usr1/ODAT)

Not: OXE'de CDR formatı "extended" seçildiğinde 42 alanlı sabit genişlikte ASCII blok gönderilir; SN Collector alcatel-cdr-parser bunu parse eder. CSTA linki TCP 2533'te CSTA Phase 3 protokolüyle çalışır (SN Collector'ın csta-js/wrapper kütüphanesi bunu destekler).

3.5 Ericsson-LG iPECS (LIK / eMG80 / UMG)

Hedef: iPECS'in SMDR çıkışını TCP üzerinden almak. iPECS'te SMDR ASCII satır tabanlıdır ve web yönetiminden aktive edilir.

# iPECS Web Admin (http://<pbx-ip>):
1) System → SMDR:
   SMDR Output: Enable
   Protocol: TCP/IP
   TCP Port: 5005
   SMDR Format: "Standard" veya "Detailed"
   Include Internal Calls: Yes
   Time Source: PBX

2) System → IP Settings:
   SMDR Destination IP: <SN-Collector-IP>
   Destination Port: 9000 (SN Collector dinler)

SN Collector tarafı: ipeccs-smdr-listener TCP 9000'de satır satır gelen SMDR'ı parse eder. Standart format: tarih(8) saat(6) süre(5) trunk(3) dahili(5) arayan(15) aranan(15) durum(2) — toplam 59 byte.

3.6 Nortel CS1000 (Avaya Aura'a geçmiş dahil)

Hedef: CS1000'in ELAN (Element Manager Network Access) terminal çıkışı veya Oracle/PostGres RDB üzerinden tarihsel CDR. Canlı akış için Syslog/CDR over TCP tercih edilir.

# CS1000 LD 117 (CDR konfigürasyonu):
LD 117
  REQ: new    CDR: yes
  FCD: 1      (Format: 1 — standard, 2 — enhanced)
  PORT: <SN-Collector-IP> 5005
  TRC: 30     (trace süresi)

# ELAN bağlantısı (Element Manager):
  ELM → Network → SN-Collector:23 (telnet mod) → terminal export

Not: Nortel'de telnet tabanlı CDR kullanımı 2017 sonrası deprecated; mümkünse Avaya Aura CM migration veya PostGres RDB polling (SQL: SELECT * FROM NRC quieter) kullanılmalıdır. SN Collector nortel-rdb-poller 5 dk'da bir incremental sorgu yapar.

4. Ortak Veri Modeli (CallEvent JSON)

Tüm connector'lar çıktıyı şu şemaya normalize eder — SN uygulamaları yalnızca bu şemayı tüketir:

{
  "event_id":   "uuid-v4",
  "pbx_type":   "avaya_cm | cisco_cucm | tegsoft | alcatel_oxe | ipecs | nortel_cs1000",
  "pbx_id":     "musteri-adi-site-kodu",
  "call_id":    "pbx-nin-verdiği-benzersiz-id",
  "direction":  "inbound | outbound | internal",
  "caller":     "05321234567",
  "called":     "4440542",
  "agent_ext":  "2001",
  "agent_name": "Elif Kaya",
  "started_at": "2026-09-21T10:15:22+03:00",
  "answered_at":"2026-09-21T10:15:30+03:00",
  "ended_at":   "2026-09-21T10:18:02+03:00",
  "wait_sec":   8,
  "dur_sec":    152,
  "hold_sec":   0,
  "transfer_of":null,
  "recording":  true,
  "disposition":"answered | abandoned | busy | no-answer | failed",
  "raw":        { /* üreticiye özgü ham alanlar */ }
}

5. SN Uygulamalarına Etki Matrisi

UygulamaTüketilen VeriEntegrasyon Etkisi
SNCDRCallEvent (tümü)Gerçek çağrı kayıtları listeye düşer; saatlik grafik ve CSV canlı veriyle çalışır.
SNTRMCallEvent + recording URLAjan listesi otomatik; değerlendirme ekranında "dinle" ile kayıt oynatıcı açılır.
SNSRAjan oturum eventiAjan giriş yaptığında ekran yakalama otomatik başlar (config'e bağlı).
SNPMSExtension ↔ oda eşlemesiMisafir aradığında rezervasyon popup'ı; oda hatlarına maskeleme kuralı.
SNMASKECallEvent.callerMaskeleme tüm CRM/popup ekranlarında uygulanır; günlüğe kanal bilgisi yazılır.

6. Ağ ve Güvenlik Gereksinimleri

KaynakHedefPortProtokolYön
SN CollectorAvaya CM5051/TCPCDR session◀ (CM→Collector) veya ↔
SN CollectorCisco CUCM22/TCP, 8443/TCPSFTP, AXLCollector→CUCM
SN CollectorTegsoft443, 5671/TCPHTTPS, AMQPSCollector→Tegsoft
Alcatel OXESN Collector2533/TCPCSTA Phase 3OXE→Collector
iPECSSN Collector9000/TCPSMDR ASCIIiPECS→Collector
Nortel CS1000SN Collector5005/TCPCDR over TCPCS1000→Collector
SN uygulamalarıSN Collector9000/TCP (WSS 9443)REST/WSApp→Collector
Güvenlik ilkeleri: ① Collector PBX'e tek yönlü VLAN'da izole edilir. ② PBX→Collector trafiği sadece Collector IP'sine kısıtlıdır (PBX firewall'unda whitelist). ③ TLS mümkün olan her yerde zorunludur (CM için ip-interface TLS, Tegsoft için AMQPS). ④ Collector servis kullanıcısı salt-okunur PBX yetkisine sahiptir (ör. Cisco'da sadece "Standard AXL API Access" role).

7. Kapasite ve Performans

ÖlçekEşzamanlı ÇağrıGünlük CDRCollector Donanım
Küçük≤ 50≤ 5.0002 vCPU / 4 GB RAM / 100 GB SSD
Orta≤ 300≤ 50.0004 vCPU / 8 GB RAM / 500 GB SSD (RAID1)
Büyük≤ 2.000≤ 500.0008 vCPU / 16 GB RAM / 2 TB NVMe + PG replica

Gecikme hedefi: Çağrı bitimi → SNCDR listesinde görünme: < 5 saniye (AMQP/CSTA canlı akışta), < 10 dakika (SFTP polling modellerinde).

8. Kurulum Öncesi Müşteri Kontrol Listesi

  1. Santral modeli, yazılım sürümü ve SAT/admin erişimi (PBX yönetici hesabı) teyit edildi.
  2. SN Collector sunucusu hazır: Linux (Ubuntu 22.04+), statik IP, PBX ile VLAN yönlendirmesi yapıldı.
  3. PBX tarafında yukarıdaki 3. bölümde verilen komutlar uygulandı (Sistemnet saha ekibi uygular).
  4. Firewall kuralları (bölüm 6) açıldı; tcpdump/nc ile port erişimi test edildi.
  5. Ajan listesi, dahili numaraları ve CRM/oda eşlemeleri müşteriden alındı (CSV şablonu SN uygulamasından indirilir).
  6. Kayıt (recording) sistemine erişim gerekiyorsa (SNTRM "dinle" özelliği) kayıt sunucusu URL/API bilgisi alındı.

9. Kabul Testleri (SAT — Site Acceptance Test)

#TestBeklenenYöntem
1CDR akışıDahili-dahili çağrı < 5 sn içinde SNCDR'da görünürTest çağrısı yap → SNCDR listesini yenile
2Dış aramaGiden çağrı trunk ve numara doğru kaydedilirMobil telefona ara → kayıt eşleştir
3Kaçan çağrıRing-answer olmayan çağrı "Kaçtı" rozetiyle listelenirCevapsız bırak
4Ajan eşlemesiExtension → ajan adı doğru görünüyor2 farklı ajanla çağrı aç
5SNTRM dinlemeKayıtlı çağrıda "Dinle" oynatıcı çalışıyorDeğerlendirme ekranında test et
6SNMASKE popupMüşteri aradığında popup numarayı maskeli gösterirMobil'den ara → popup ekranını kontrol et
7Yeniden başlatmaCollector servisi restart sonrası olay kaybı olmadan devam eder (spool)systemctl restart sn-collector → çağrı yap → kontrol
8Yük testiEşzamanlı 50 çağrıda gecikme < 5 sn, kayıp 0Santral simülatörü veya test kuyruğu

Kabul kriteri: 8 testin tamamı geçildiğinde Kabul Tutanağı imzalanır. Test 1-4 zorunludur; hata halinde 5 iş günü içinde düzeltme yapılır.

10. Sorumluluk Matrisi (RACI)

GörevSistemnetMüşteriNot
Collector sunucu temini (VM/fiziksel)DanışmanSorumluÖlçek tablosuna göre
PBX komutlarının uygulanmasıSorumluOnaySaha ekibi uygular, müşteri izler
Firewall / VLANDanışmanSorumluIT ekibi uygular
SN yazılım kurulumu + connectorSorumlu—Uzaktan/sahada
Kabul testleriSorumluOnayBölüm 9'daki SAT senaryosu
Bakım & güncellemeSorumluBildirimSatış sözleşmesine göre SLA

11. Ekler

Ek A — CDR Format Kıyas Tablosu

ÜreticiFormatAyraçKodlamaTipik Uzunluk
Avaya CM (unformatted)Sabit genişlik—ASCII~200 byte/satır
Cisco CUCMCSV flat dosya,UTF-8200+ kolon
TegsoftJSON—UTF-8değişken
Alcatel OXE (extended)Sabit genişlik—ASCII~42 alan
iPECS SMDRASCII satırpozisyonASCII59 byte
Nortel CS1000 (FCD 1)CSV satır,ASCII~150 byte

Ek B — Referans Konfigürasyonlar

Her üretici için hazır sn-collector connector config şablonları kurulum paketinde verilir: /etc/sn-collector/connectors/{avaya,cisco,tegsoft,alcatel,ipecs,nortel}.yml

# Örnek: connectors/ipecs.yml
connector: ipecs-smdr
listen_port: 9000
protocol: ascii-lines
fields:
  date:   [0, 8]
  time:   [8, 6]
  duration: [14, 5]
  trunk:  [19, 3]
  ext:    [22, 5]
  caller: [27, 15]
  called: [42, 15]
  status: [57, 2]
map:
  status: { "00": "answered", "01": "abandoned", "02": "busy" }
forward:
  - url: https://localhost:9000/api/callev
    headers: { Authorization: "Bearer ${SN_TOKEN}" }
Sistemnet — Hazırlayan


İmza:
Müşteri — Onaylayan


İmza:

Sistemnet Bilgi ve İletişim Sistemleri A.Ş. · Oruçreis Mah. Vadi Cad. Giyimkent Sitesi No:170/436 Esenler/İstanbul · +90 212 677 88 88 · sistemnet@sistemnet.com.tr