Sorunsuz iç ve dış iletişim, günlük iş operasyonlarının temel taşlarından biridir. Günümüzde İnternet Protokolü üzerinden Ses (VoIP) , modern kurumsal iletişimin altın kuralı…
Oturum Başlatma Protokolü (SIP), Ses üzerinden IP telefon görüşmeleri gibi iletişim oturumlarını kontrol etmek için kullanılan bir sinyal protokolüdür. SIP, Hipermetin Aktarım Protokolü’ne (HTTP) benzer şekilde istek/yanıt işlemlerine dayanır. Her işlem bir SIP isteğinden (birkaç istek yönteminden biri olacak) ve en az bir yanıttan oluşur.
SIP istekleri ve yanıtları herhangi bir SIP kullanıcı aracısı tarafından oluşturulabilir; kullanıcı aracıları, istekleri başlatan istemciler (UAC’ler) ve bunlara yanıt veren sunucular (UAS’ler) olarak ayrılır. Tek kullanıcılı bir aracı, farklı işlemler için hem UAC hem de UAS olarak hareket edebilir: örneğin, bir SIP telefonu, bir arama yaparken UAC olacak bir kullanıcı aracısı ve bir arama alırken UAS olacaktır. Ek olarak, bazı cihazlar tek bir işlem için hem UAC hem de UAS olarak hareket eder; bunlara Back-to-Back Kullanıcı Aracıları (B2BUA’lar) denir.
SIP yanıtları, isteğin durumunu ayrıntılı olarak açıklayan birkaç tanımlanmış koddan biri olan üç basamaklı bir tamsayı yanıt kodunu belirtir. Bu kodlar, ilk basamaklarına göre “geçici”, “başarılı”, “yönlendirme”, “istemci hatası”, “sunucu hatası” veya “genel hata” kodları olarak gruplandırılır ve 1-6 arasındaki ilk basamağa karşılık gelir; bunlar, örneğin 100-199 kodlu geçici yanıtlar için “1xx” olarak ifade edilir. SIP yanıt kodları, HTTP yanıt kodlarıyla tutarlıdır, ancak tüm HTTP yanıt kodları SIP’te geçerli değildir.
SIP yanıtları ayrıca bir “neden ifadesi” belirtir ve her yanıt koduyla birlikte varsayılan bir neden ifadesi tanımlanır. Ancak bu neden ifadeleri, ek bilgi sağlamak veya metni farklı bir dilde sağlamak gibi değiştirilebilir.
SIP yanıt kodları ve karşılık gelen neden ifadeleri başlangıçta RFC 3261’de tanımlanmıştır. Bu RFC ayrıca diğer RFC’lerin daha fazla yanıt kodu sağlamasına izin vermek için bir SIP Parametreleri İnternet Atanmış Sayılar Yetkilisi (IANA) kaydı tanımlar.
Bu liste, IETF RFC’lerinde tanımlanan ve 27 Ocak 2023 itibarıyla SIP Parametreleri IANA kaydında kayıtlı tüm SIP yanıt kodlarını içerir. Bu liste ayrıca, eski SIP RFC’lerinde (özellikle RFC 2543) tanımlanan ve bu nedenle IANA’ya kayıtlı olmayan SIP yanıt kodlarını da içerir; bunlar açıkça bu şekilde belirtilmiştir.
SIP yanıtları ayrıca yanıt hakkında ek ayrıntılar içeren isteğe bağlı bir Uyarı başlığı da içerebilir. Uyarı, uyarı hakkında daha fazla ayrıntı içeren bir metnin ardından ayrı bir üç basamaklı kod içerir. Mevcut resmi uyarı listesi SIP Parametreleri IANA kaydında kayıtlıdır.
1xx Geçici Yanıt Paketleri
100 Trying
Gerçekleştirilen genişletilmiş arama önemli bir zaman alabilir, bu nedenle çatal proxy’si 100 Deneme yanıtı göndermelidir.
180 Ringing
Hedef kullanıcı aracısı INVITE aldı ve kullanıcıyı çağrı konusunda uyarıyor.
181 Call is Being Forwarded
Sunucular isteğe bağlı olarak bir çağrının iletildiğini belirtmek için bu yanıtı gönderebilir.
182 Queued
Hedefin geçici olarak kullanılamadığını, bu nedenle sunucunun hedef kullanılabilir olana kadar çağrıyı sıraya aldığını gösterir. Bir sunucu, sıranın ilerlemesini güncelleştirmek için birden çok 182 yanıt gönderebilir.
183 Session Progress
Bu yanıt, hala kurulmakta olan bir çağrı için ek bilgi göndermek için kullanılabilir.
199 Early Dialog Terminated
User Agent Server tarafından, SIP varlıklarını (Kullanıcı Aracısı İstemcisi (UAC) dahil) erken bir iletişim kutusunun sonlandırıldığını belirtmek için kullanılabilir.
2xx Başarılı SIP Mesajları Listesi
200 OK
İsteğin başarılı olduğunu gösterir.
202 Accepted
İsteğin işlenmek üzere kabul edildiğini, ancak işlemin tamamlanmadı olduğunu gösterir. Kullanım dışı.
204 No Notification
İsteğin başarılı olduğunu, ancak karşılık gelen yanıtın alınmayacağını gösterir.
3xx Yeniden Yönlendirme SIP Paketleri
300 Multiple Choices
Adres, kullanıcı veya istemcinin aralarında seçim yapması gereken, ileti gövdesinde veya iletinin Kişi alanlarında listelenen çeşitli seçeneklerden birine çözümlendi.
301 Moved Permanently
Özgün Request-URI artık geçerli değildir. Yeni adres İlgili Kişi üstbilgisi alanında verilir ve istemci özgün Request-URI kayıtlarını yeni değerle güncelleştirmelidir.
302 Moved Temporarily
İstemci, İlgili Kişi alanındaki adreste denemelidir. Süre Sonu alanı varsa, istemci bu süre için sonucu önbelleğe alabilir.
305 Use Proxy
İlgili Kişi alanı, istenen hedefe erişmek için kullanılması gereken bir proxy’yi ayrıntılarıyla giderir.
380 Alternative Service
Çağrı başarısız oldu, ancak alternatifler ileti gövdesinde ayrıntılı olarak yer almaktadır.
4xx İstemci Hatası SIP Yanıtları Listesi
400 Bad Request
Hatalı biçimlendirilmiş sözdizimi nedeniyle istek anlaşılamadı.
401 Unauthorized
İstek kullanıcı kimlik doğrulaması gerektirir. Bu yanıt UAS’ler ve kayıt şirketleri tarafından verilir.
402 Payment Required
İleride kullanılmak üzere ayrılmıştır.
403 Forbidden
Sunucu isteği anladı, ancak yerine getirmeyi reddediyor. Bazen (ancak her zaman değil) bu, çağrının alıcı tarafından reddedildiği anlamına gelir.
404 Not Found
Sunucu, kullanıcının Request-URI’de belirtilen etki alanında bulunmadığına dair kesin bilgilere sahiptir. İstek-URI’deki etki alanı, isteğin alıcısı tarafından işlenen etki alanlarından hiçbiriyle eşleşmiyorsa, bu durum da döndürülür.
405 Method Not Allowed
İstek Satırı’nda belirtilen yöntem anlaşılır, ancak Request-URI tarafından tanımlanan adres için izin verilmez.
406 Not Acceptable
İstek tarafından tanımlanan kaynak, yalnızca içerik özelliklerine sahip ancak istekte gönderilen Üstbilgiyi kabul et alanına göre kabul edilemez yanıt varlıkları üretebilir.
407 Proxy Authentication Required
İstek kullanıcı kimlik doğrulaması gerektirir. Bu yanıt proxy’ler tarafından verilir.
408 Request Timeout
Kullanıcı zamanında bulunamadı. Sunucu, örneğin kullanıcının konumunu zamanında belirleyemezse, uygun bir süre içinde yanıt üretemedi. İstemci, isteği daha sonra değişiklik yapmadan yineler.
409 Conflict
Kullanıcı zaten kayıtlı. Daha sonraki RFC’lerden ihmal ve IANA’ya kayıt yapılmaması nedeniyle kullanımdan kaldırıldı.
410 Gone
Kullanıcı bir kez vardı, ancak artık burada mevcut değil.
411 Length Required
Sunucu, geçerli bir İçerik Uzunluğu olmadan isteği kabul etmez. Daha sonraki RFC’lerden ihmal ve IANA’ya kayıt yapılmaması nedeniyle kullanımdan kaldırıldı.
412 Conditional Request Failed
Verilen ön koşul karşılanmadı.
413 Request Entity Too Large
Gövdeyi çok büyük isteyin.
414 Request-URI Too Long
Request-URI sunucunun yorumlamak istediğinden daha uzun olduğundan, sunucu isteğin hizmetini reddediyor.
415 Unsupported Media Type
Desteklenmeyen bir biçimde gövde isteğinde bulunun.
416 Unsupported URI Scheme
İstek URI’si sunucu tarafından bilinmiyor.
417 Unknown Resource-Priority
Kaynak öncelikli bir seçenek etiketi vardı, ancak Kaynak Öncelikli üstbilgi yoktu.
420 Bad Extension
Hatalı SIP İletişim Kuralı Uzantısı kullanıldı, sunucu tarafından anlaşılmadı.
421 Extension Required
Sunucunun Desteklenen üstbilgide listelenmeyen belirli bir uzantıya ihtiyacı var.
422 Session Interval Too Small
Alınan istek, süresi en az sürenin altında olan session-expires üstbilgi alanı içeriyor.
423 Interval Too Brief
Kaynağın sona erme süresi çok kısa.
424 Bad Location Information
İsteğin konum içeriği hatalı biçimlendirilmiş veya yeterli değil.
425 Bad Alert Message
Sunucu etkileşimli olmayan bir acil durum çağrısını reddetti ve isteğin uyarıya makul bir acil durum yanıtı belirlenemeyeceği kadar hatalı biçimlendirilmiş olduğunu belirtti.
428 Use Identity Header
Sunucu ilkesi bir Kimlik üstbilgisi gerektiriyor ve bir tane sağlanmadı.
429 Provide Referrer Identity
Sunucu istekte geçerli bir Başvurulan Belirteci almadı.
430 Flow Failed
Diğer akışlar başarılı olsa da, kullanıcı aracısına belirli bir akış başarısız oldu. Bu yanıt proxy aygıtları arasında kullanılmak üzere tasarlanmıştır ve bir uç nokta tarafından görülmemelidir (ve biri tarafından görülürse, 400 Hatalı İstek yanıtı olarak kabul edilmelidir).
433 Anonymity Disallowed
İstek anonim olduğu için reddedildi.
436 Bad Identity-Info
İsteğin bir Kimlik Bilgisi üstbilgisi var ve bu üstbilgideki URI düzeni geri alınamıyor.
437 Unsupported Certificate
Sunucu, isteği imzalayan etki alanı için bir sertifikayı doğrulayamadı.
438 Invalid Identity Header
Sunucu, isteğin isteği imzalamak için kullanıldığını iddia ettiği geçerli bir sertifika aldı, ancak bu imzayı doğrulayamadı.
439 First Hop Lacks Outbound Support
Kullanıcının kaydolmaya çalıştığı ilk giden proxy, kayıt şirketi desteklemesine rağmen RFC 5626’nın”giden” özelliğini desteklemez.
440 Max-Breadth Exceeded
Bir SIP proxy’si bir yanıt bağlamı istenen paralel çatalı gerçekleştirmek için yeterli Gelen Maksimum Genişlik’e sahip değilse ve proxy seri olarak çatallayarak veya yeniden yönlendirme göndererek telafi etmek istemiyorsa/yapamıyorsa, bu proxy 440 yanıtı döndürmelidir. 440 yanıtı alan bir istemci, isteğinin olası tüm hedeflere ulaşmadığı sonucuna varabilir.
469 Bad Info Package
Bir SIP UA, UA’nın almak istediğini belirtmediği bir Bilgi Paketi ile ilişkili bir INFO isteği alırsa, UA, UA’nın INFO isteklerini almak istediği Bilgi Paketleri içeren bir Recv-Info üstbilgi alanı içeren bir 469 yanıtı GÖNDERMELIDIR.
470 Consent Needed
İsteğin kaynağı, alıcıdan böyle bir talepte bulunmaya yetkili değil.
480 Temporarily Unavailable
Arayan şu anda kullanılamıyor.
481 Call/Transaction Does Not Exist
Sunucu herhangi bir iletişim kutusu veya işlemle eşleşmeyen bir istek aldı.
482 Loop Detected
Sunucu bir döngü algıladı.
483 Too Many Hops
Max-Forwards üstbilgisi ‘0’ değerine ulaştı.
484 Address Incomplete
request-URI tamamlanmadı.
485 Ambiguous
Request-URI belirsiz.
486 Busy Here
Aranan numara meşgul.
487 Request Terminated
İstek “BYE” veya “Cancel” ile sonlandırıldı.
488 Not Acceptable Here
Oturum açıklamasının veya Request-URI’nin bazı yönleri kabul edilemez.
489 Bad Event
Sunucu, Olay üstbilgisi alanında belirtilen bir olay paketini anlamadı.
491 Request Pending
Sunucunun aynı iletişim kutusundan bekleyen bir isteği var.
493 Undecipherable
İstek, alıcının şifresini çözemeyeceği şifreli bir MIME gövdesi içerir.
494 Security Agreement Required
Sunucu, anlaşmalı bir güvenlik mekanizması gerektiren bir istek aldı ve yanıt, istekte bulunanın aralarında seçim yapması için uygun güvenlik mekanizmalarının bir listesini içeriyor veya özet kimlik doğrulama zorluğu.
5xx Sunucu Hatası SIP Mesajları Açıklamarı
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Server Time-out
505 Version Not Supported
513 Message Too Large
555 Push Notification Service Not Supported
580 Precondition Failure
6xx Genel Hata Yanıtları Listesi
600 Busy Everywhere
Tüm olası varış noktaları meşgul. 486 yanıtının aksine, bu yanıt hedefin aramayı kabul edebilecek alternatif bir hedef (sesli posta sunucusu gibi) olmadığını bildiğini gösterir.
603 Decline
Hedef çağrıya katılmak istemez veya bunu yapamaz ve ayrıca hedef, aramayı kabul etmek isteyen alternatif bir hedef (sesli posta sunucusu gibi) olmadığını bilir. Yanıt, Yeniden Dene-Sonra üstbilgisi alanında aramak için daha iyi bir zaman gösterebilir.
604 Does Not Exist Anywhere
Sunucu, istenen kullanıcının hiçbir yerde bulunmadığına dair yetkili bilgilere sahiptir.
606 Not Acceptable
Kullanıcının aracısıyla başarıyla bağlantı kuruldu, ancak istenen ortam, bant genişliği veya adresleme stili gibi oturum açıklamasının bazı yönleri kabul edilebilir değildi.
607 Unwanted
Çağrılan parti, arayan partiden bu çağrıyı istemedi. Arayan tarafın gelecekteki girişimlerinin de benzer şekilde reddedilmesi muhtemeldir.
608 Rejected
Aracı makine veya işlem çağrı girişimini reddetti. Bu, çağrılan tarafın çağrıyı reddettiği 607 (İstenmeyen) SIP yanıt koduyla tezat oluşturur. Yanıt, çağrıyı içeren Çağrı Bilgisi üstbilgisinde engelleyen ilgili kişi varlıklarını içerebilir. Bu, çağrılarını engellenmiş bulan yasal arayanlar için bir düzeltme mekanizması sağlar.
Kaynak: https://en.wikipedia.org/wiki/List_of_SIP_response_codes