Ana içeriğe geç

cdr

Çağrı tamamlandıktan sonra oluşturulan çağrı kaydı (Call Detail Record) özetidir. Çağrının nihai durumunu, süresini ve varsa ses kaydı bağlantısını taşır.

Raporlama ve arşivleme için asıl kaynak budur: çağrı bazlı kaydınızı burada kesinleştirin.

Bu senaryo diğerlerinden farklı bir şema kullanır

cdr, ortak alan şemasını kullanmaz. Alan adları Türkçedir (arayan, aranan, sure, ...), çağrı kimliği unique_id değil asteriskId alanındadır ve sayısal alanlar metin değil gerçek sayı olarak gelir. Ayrıştırıcınızda bu senaryoyu ayrı ele alın.

Örnek gövde

scenario: cdr
{
"bas": "2026-01-01 09:00:00",
"kimlik": 100000001,
"ortakkimlik": 100000001,
"clid": "\"05551112233\" <05551112233>",
"arayan": "05551112233",
"aranan": "8501234567-announcement-karsilama",
"sure": 35,
"sondurum": 1,
"santral": "8501234567",
"yon": 2,
"seskaydi": "https://dosyaindir.netgsm.com.tr/download?p=<imzali-deger>&h=<ozet>&v=<surum>",
"asteriskId": "sip1-1767225600.10001",
"trunk": "8501234567",
"scenario": "cdr",
"channel_variables": {
"disposition": "ANSWERED"
},
"callConnectedTime": 0,
"callEndedTime": 1767225651000,
"callInitiatedTime": 0,
"callQueuedTime": 0
}
Bu gövdeyi kendi adresinize gönderin

Aşağıdaki adrese yukarıdaki örnek gövde POST isteği olarak gönderilir. İstek tarayıcınızdan gider, bu yüzden alıcı uç CORS başlığı göndermiyorsa yanıt okunamaz; isteğin kendisi yine de ulaşır. Sunucu tarafından denemek için cURL karşılığını kullanın.

cURL karşılığı:

curl -X POST 'https://sizin-adresiniz.example/webhook' \
-H 'Content-Type: application/json' \
-d '{"bas":"2026-01-01 09:00:00","kimlik":100000001,"ortakkimlik":100000001,"clid":"\"05551112233\" <05551112233>","arayan":"05551112233","aranan":"8501234567-announcement-karsilama","sure":35,"sondurum":1,"santral":"8501234567","yon":2,"seskaydi":"https://dosyaindir.netgsm.com.tr/download?p=<imzali-deger>&h=<ozet>&v=<surum>","asteriskId":"sip1-1767225600.10001","trunk":"8501234567","scenario":"cdr","channel_variables":{"disposition":"ANSWERED"},"callConnectedTime":0,"callEndedTime":1767225651000,"callInitiatedTime":0,"callQueuedTime":0}'

seskaydi alanındaki <...> yer tutucuları okunabilirlik içindir; gerçek istekte uzun ve imzalı bir bağlantı gelir.

Alanlar

AlanTipAçıklama
scenariostringHer zaman cdr.
asteriskIdstringÇağrının benzersiz kimliği. Diğer senaryolardaki unique_id ile aynı değerdir; olayları bununla eşleştirin.
kimliknumberÇağrı kaydının kimliği.
ortakkimliknumberAktarma gibi durumlarda bağlantılı çağrıları gruplayan ortak kimlik.
basstringÇağrı başlangıcı, YYYY-AA-GG SS:DD:ss biçiminde yerel zaman.
arayanstringArayan numara.
arananstringAranan hedef. Bir numara olabileceği gibi örnekteki gibi bir akış adımı da olabilir.
clidstringHam arayan kimliği, "ad" <numara> biçiminde.
surenumberÇağrı süresi, saniye.
sondurumnumberÇağrının nihai durumu.
yonnumberÇağrı yönü.
santralstringSantral numaranız.
trunkstringÇağrının kullandığı hat.
seskaydistringSes kaydı indirme bağlantısı. Kayıt yoksa boş gelir.
channel_variablesobjectSantral kanal değişkenleri. disposition alanı ANSWERED, NO ANSWER, BUSY, FAILED gibi değerler alır.
callInitiatedTimenumberÇağrının başlatıldığı an (ms, Unix epoch).
callQueuedTimenumberÇağrının kuyruğa girdiği an (ms, Unix epoch).
callConnectedTimenumberÇağrının bağlandığı an (ms, Unix epoch).
callEndedTimenumberÇağrının bittiği an (ms, Unix epoch).
Zaman alanları 0 gelebilir

callConnectedTime, callQueuedTime ve callInitiatedTime alanları ilgili adım gerçekleşmediyse 0 olarak gelir; örnek gövdede olduğu gibi. 0 değerini geçerli bir tarih olarak yorumlamayın, "bilinmiyor" olarak ele alın.

Cevaplanma durumu için channel_variables.disposition

Çağrının cevaplanıp cevaplanmadığını en açık şekilde bu alan söyler. sondurum ve yon alanları da durumu kodlar; kullanacaksanız beklediğiniz değerleri kendi trafiğiniz üzerinde doğrulayın.

Ses kaydı bağlantısının ömrü

seskaydi bağlantısı imzalı bir indirme adresidir ve süresiz değildir. Kaydı saklamanız gerekiyorsa bağlantıyı değil, dosyanın kendisini indirip arşivleyin.