Browsed by
Kategori: IP Telefon

Merhaba, bu kısımda IP Telefonlar ile ilgili konfigürasyon, problem çözümü yenilikler ve incelemelerin olduğu yazılarımı bulabilirsiniz.

CUCM üzerinde CDR ve CMR Nasıl Etkinleştirilir?

CUCM üzerinde CDR ve CMR Nasıl Etkinleştirilir?

Çağrı Ayrıntı Kayıtları (Call Detail Record – CDR) ve Çağrı Ölçüm Kayıtları (Call Measurement Record – CMR), Cisco Unified Communications Manager (CUCM) üzerinden yapılan her telefon çağrısı için size ayrıntılı bilgiler sunar. CUCM’de CDR ve CMR kayıtları varsayılan olarak devre dışı bırakılmıştır, bu nedenle manuel olarak etkinleştirmeniz gerekir.

CUCM içinde CDR ve CMR kayıtlarını aşağıdaki adımları takip ederek etkinleştirebilirsiniz:

CUCM’de Çağrı Ayrıntı Kaydı (CDR) Nasıl Etkinleştirilir?

  1. Publisher CUCM administration arayüzünde System -> Service Parameters menüsüne girin

2. Daha sonra Callmanager servisinin aktif olduğu sunucularınızı seçin ve ardından Cisco Callmanager (Active) servisini deçin.

3. System kısmında CDR Enabled Flag parametresini bulun ve True yapın. Eğer sıfır saniyeli çağrı kayıtlarını da görmek isterseniz CDR Log Calls with Zero Duration Flag parametresini de True yapın.

4. Callmanager hizmetinin etkin olduğu birden fazla sunucunuz varsa, bu adımarı her CUCM sunucusu için tekrarlayın.

CUCM’de Çağrı Ölçüm Kaydı (CMR) Nasıl Etkinleştirilir?

  1. Aynı Servie Parameters menüsünde en yukarıya çıkın ve Advanced a tıklayın.

2. Clusterwide Parameters bölümünü bulun ve Call Diagnostics Enabled parametresini Disabled‘dan istediğiniz seçeneğe değiştirin.

Not: CMR parametresi Clusterwide Parameters içinde olduğundan, bunu her sunucu için etkinleştirmeniz gerekmez.

CMS Wireshark Capture Nasıl Alınır?

CMS Wireshark Capture Nasıl Alınır?

Bu makalede Cisco Meeting Server (CMS) üzerinden Wireshark Packet Capture alma adımlarını bulabilirsiniz.

Cisco Meeting Server (CMS) ile uğraşırken ses/video kayıpları, sinyalleşme problemleri gibi bir çok hatayla karşılaşabilir ve bunları giderebilmek için zaman zaman ağ trafiğini dinlemeniz gerekebilir. Bu makalede Cisco Meeting Server (CMS) üzerinden Wireshark Packet Capture alma adımlarını bulabilirsiniz.

CMS Wireshark Packet Capture Adımları:

  • Öncelikle CMS MMP arayüzüne erişmek için CMS sunucunuza SSH ile bağlanın.
  • Bazı kurulumlarda CMS in birden fazla ağ arayüzü olabilir. Bu yüzden bağlandıktan sonra hangi arayüzden packet capture alacağınızı bulmak için callbridge komutunu kullanın:
callbridge” Komutu ile Arayüzü Bulmak
  • Packet capture işlemini başlatmak için pcap <arayüz> komutunu kullanın (bizim örneğimizde pcap a komutunu kullanacağız):
“pcap a” Komutu ile Packet Capture İşlemine Başlamak
  • Packet Capture işlemine başladıktan sonra dinlemek istediğiniz trafiği oluşturun ve daha sonra dinleme işlemini bitirmek için Ctrl + C tuş kombinasyonunu kullanın.

Not: Pcap dosyasının büyüklüğü en fazla 100MB olabilir.

  • Oluşturulan .pcap dosyasını indirebilmek için bir SCP programı kullanabilirsiniz (bizim örneğimizde WinSCP kullanacağız). SCP programı ile SSH bağlantısı yaptığınız kullanıcı adı ve şifreyi kullanarak CMS e bağlanın ve ilgili .pcap dosyasını bulup bilgisayarınıza indirin:
WinSCP ile pcap Dosyasına Erişmek

Bütün hepsi bu kadar 🙂

Cisco RJ-21 Pin Dizilimi

Cisco RJ-21 Pin Dizilimi

Cisco çok portlu ses geçitlerinde analog telefonlar için RJ-21 adı verilen bir ya da birden çok port bulunmakta. Cisco cihaz ile krone çatısı arası mesafeler çok değişken olabileceği için zaman zaman bu portları iletebilmek için özel bir kablo yapmanız gerekebilmektedir.

Çok portlu analog ses geçitlerinde kullanılan RJ-21 portu ve pin sırasını aşağıdaki görselde görebilirsiniz:

RJ-21 Konnektörü Pin Dizilimi
RJ-21 Konnektörü Pin Dizilimi

Aşağıdaki tabloda ise Cisco çok portlu analog ses geçitlerinde kullanılan RJ-21 portlarının pin dizilimini bulabilirsiniz:

Port NumarasıKonnektör PinSinyal
11
26
Ring
Tip
22
27
Ring
Tip
33
28
Ring
Tip
44
29
Ring
Tip
55
30
Ring
Tip
66
31
Ring
Tip
77
32
Ring
Tip
88
33
Ring
Tip
99
34
Ring
Tip
1010
35
Ring
Tip
1111
36
Ring
Tip
1212
37
Ring
Tip
1313
38
Ring
Tip
1414
39
Ring
Tip
1515
40
Ring
Tip
1616
41
Ring
Tip
1717
42
Ring
Tip
1818
43
Ring
Tip
1919
44
Ring
Tip
2020
45
Ring
Tip
2121
46
Ring
Tip
2222
47
Ring
Tip
2323
48
Ring
Tip
2424
49
Ring
Tip
25,50,51,52Toprak (GND)
openSIPS Kurulum Adımları

openSIPS Kurulum Adımları

OpenSIPS, bir çok telefon servis sağlayıcı tarafından kullanılan ve Class 4, Class 5, toptan satış VoIP, kurumsal PBX, sanal PBX, SBC, yük dengeleyici IMS platformları, çağrı merkezleri ve daha pek özellikler sunan çok amaçlı bir SIP sunucusudur. Bu yazımda Debian 10 üzerinde openSIPS‘in kurulum adımlarını bulabilirsiniz.

openSIPS, Linux üzerinde çalışan, oldukça az kaynak ihtiyacı olan ve yüksek performanslı bir SIP sunucusudur. Bu yüzden bir çok telekom operatörü openSIPS ile çözümler geliştirmektedir. Eğer siz de VoIP uygulamalarınızda openSIPS kullanmak isterseniz aşağıdaki kurulum yönergesini takip edebilirsiniz.

openSIPS Kurulum Adımları

1. openSIPS Kurulumunda Kullanılan Bileşenler ve Versiyonları:

  • Debian v10 (Buster) x64 minimal install (netinst)
  • OpenSips v3.0
  • OpenSips GUI v8.3.0
  • Apache v2.4
  • PHP v7.3
  • MariaDB v10

2. Ön Hazırlıklar

openSIPS kurulumu için öncelikle bir Debian kurulumuna ihtiyacınız olacak. Bu linkten amd64 netinst CD imajını indirip kurabilirsiniz. Debian’ın kurulumu oldukça kolay, dilerseniz hazırlamış olduğum bu videoyu takip ederek de kurabilirsiniz.

Debian’ın kurulumundan sonra aşağıdaki paketlerin kurulumunu tamamlayın:

apt update && apt upgrade -y && apt -y install m4 git nano sudo curl dbus apache2 lsb-release

Normalde monitoring için opsiyonel olarak “monit” paketini de kurabilirsiniz fakat yazıyı yazdığım tarihte monit üzerinde bulunan bir takım açıklardan dolayı repolardan kaldırıldı. Durum değişirse diye yine ilgili kurulum komutunu aşağıda bulabilirsiniz:

apt -y install monit

3. PHP Kurulumu

Önce bağımlı paketleri kurun:

apt -y install curl apt-transport-https ca-certificates

PHP reposunu ekleyin:

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > \ /etc/apt/sources.list.d/php.list 

Daha sonra PHP paketlerini kurun:

apt update && apt -y install php7.3 php7.3-gd php7.3-mysql php7.3-xmlrpc php-pear php7.3-cli php-apcu php7.3-curl php7.3-xml libapache2-mod-php7.3 

Pear ile PHP MDB2 kütüphanesini kurun:

pear install MDB2#mysql

PHP.ini dosyasını düzenleyerek short_open_tag değişkenini On yapın:

sed -i "s#short_open_tag = Off#short_open_tag = On#g" /etc/php/7.3/apache2/php.ini

4. MariaDB Kurulumu

MariaDB kurulumu için gpg keylerini alıp ilgili paketleri kurun:

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash apt update && apt -y install mariadb-server 

Daha sonra my.cnf dosyasını aşağıdaki gibi değiştirin:

nano /etc/mysql/my.cnf

Strict modu devre dışı bırakmak ve openSIPS varsayılan latin1 karakter setini kullanmak için [mysqld] başlığının altına aşağıdaki satırları ekleyin:

sql_mode='' 
character-set-server = latin1 

MariaDB servisini restart edin:

systemctl restart mariadb

5. openSIPS Kurulumu

gpg keyi ekleyin:

apt -y install dirmngr && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 049AD65B

openSIPS repolarını ekleyin:

echo "deb https://apt.opensips.org $(lsb_release -sc) 3.0-releases" >/etc/apt/sources.list.d/opensips.list 
echo "deb https://apt.opensips.org $(lsb_release -sc) cli-nightly" >/etc/apt/sources.list.d/opensips-cli.list 

Aşağıdaki komutla openSIPS paketlerini kurun:

apt update && apt -y install opensips opensips-cli opensips-*-module opensips-*-modules python3-mysqldb python3-sqlalchemy python3-sqlalchemy-utils 

6. Database Kurulumu

MariaDB üzerinde opensips kullanıcısını oluşturun ve ilgili hakları verin:

mysql -p 
> 
CREATE USER 'opensips'@'localhost' IDENTIFIED BY 'opensipsrw'; 
GRANT ALL PRIVILEGES ON opensips.* TO 'opensips'@'localhost'; 
FLUSH PRIVILEGES; 
exit 

Database kurulum scriptini çalıştırın:

opensips-cli -x database create 

script size database URL ini soracak. mysql://opensips:opensipsrw@localhost olarak girin ve default u (install all tables) seçin.

7. Konfig Dosyasının Üretilmesi

Konfig dosyasını üretmek için aşağıdaki scripti çalıştırın:

/usr/sbin/osipsconfig 

GenerateOpenSIPS Script > Residential Script > Configure Residential Script i seçin. Spacebar ı kullanarak TLS dışında kalan tüm seçenekleri seçin. Q tuşuna basarak bir önceki menüye gidin ve Generate Residential Script i seçin. Script ilgili dosyayı üretecek ve size dosyanın adını ekranda gösterecektir. İlgili dosyayı opensips.cfg dosyayı ile değiştirin ve gerekli okuma haklarını verin:

mv /etc/opensips/opensips.cfg /etc/opensips/opensips.cfg.orig 
cp /etc/opensips/[üretilen konfig dosyası] /etc/opensips/opensips.cfg 
chmod 644 /etc/opensips/opensips.cfg 

8. Ek Konfigürasyonlar:

opensips.cfg dosyasında sunucunun dinleyeceği interface IP lerini girin:

nano /etc/opensips/opensips.cfg

listen= ile başlayan iki satırı sunucunun IP adresi ile değiştirin:

listen=udp:192.168.0.1:5060
listen=tcp:192.168.0.1:5060

Daha sonra oluşturulan konfigürasyon dosyasının uygun olup olmadığını kontrol edin:

opensips -C /etc/opensips 

Eğer dosyada hata varsa ekranda gözükecektir. Hata varsa düzeltin, yoksa aşağıdaki komut ile yeni konfigürasyon dosyası ile opensips servisini tekrar çalıştırın:

systemctl restart opensips 

9. Arayüz (GUI) Kurulumu

Git kullanarak openSIPS arayüzünü indirin:

git clone -b 8.3.0 https://github.com/OpenSIPS/opensips-cp.git /var/www/opensips-cp

Database üzerinde openSIPS arayüz tablosunu oluşturun:

cd /var/www/opensips-cp/config 
mysql -p opensips < db_schema.mysql 

10. İstatistiklerin Düzenli Toplanması

İlgili scripti cron.d klasörüne ekleyin ve cron servisini tekrar başlatın:

cd /var/www/opensips-cp/config
cp tools/system/smonitor/opensips_stats_cron /etc/cron.d/
systemctl restart cron

11. Monit Konfigürasyonu (Opsiyonel)

monitrc dosyasına aşağıdaki gibi ilgili satırı ekleyin ve servisi tekrar başlatın:

echo -e "set httpd port 2812 and\nallow localhost" >> /etc/monit/monitrc
systemctl restart monit

12. Global Konfigürasyon

GUI konfigürasyon php dosyasını açın ve aşağıdaki gibi düzenleyin:

nano +30 /var/www/opensips-cp/config/boxes.global.inc.php 
// monit host:port 
$boxes[$box_id]['monit']['conn']="127.0.0.1:2812"; 
$boxes[$box_id]['monit']['user']="admin"; 
$boxes[$box_id]['monit']['pass']="admin"; 
$boxes[$box_id]['monit']['has_ssl']=0;

13. Apache Konfigürasyonu

Aşağıdaki komutu kullanarak Apache üzerinde Virtual Host tanımlarını yapın:

cat >> /etc/apache2/sites-available/opensips.conf << EOF 
<VirtualHost *:80> 

DocumentRoot /var/www/opensips-cp 

<Directory /var/www/opensips-cp/web>
     Options Indexes FollowSymLinks MultiViews
     AllowOverride None
     Require all granted 
</Directory> 

<Directory /var/www/opensips-cp>
     Options Indexes FollowSymLinks MultiViews
     AllowOverride None
     Require all denied 
</Directory> 
Alias /cp /var/www/opensips-cp/web 

<DirectoryMatch "/var/www/opensips-cp/web/tools/.*/.*/(template|custom_actions|lib)/">
      Require all denied 
</DirectoryMatch> 

</VirtualHost> 

EOF 

Apache üzerinde default web sayfasını kapatın, openSIPS GUI sayfasını açın, klasörün ownerını değiştirip Apache yi restart edin:

a2dissite 000-default 
a2ensite opensips 
chown -R www-data. /var/www/opensips-cp 
systemctl restart apache2 

Sonunda kurulum tamamlanmış oldu. http://ipadresi/cp URL ini kullanarak admin / opensips kullanıcı adı ve şifresiyle openSIPS arayüzüne erişebilirsiniz.

SIP Mesajları ve Açıklamaları

SIP Mesajları ve Açıklamaları

SIP, HTTP’ye oldukça benzeyen bir iletişim protokolüdür ve bu protokol içindeki SIP mesajları HTTP mesajlarına çok benzer. Aynı HTTP’de olduğu gibi SIP mesajları da 2,3,4,5 ve 6 rakamları ile başlayan 3 haneli kodlara sahiptirler. İsterseniz bu mesajların detaylı açıklamalarına geçmeden önce en çok karşılaşılan ve kullanılan SIP mesajlarını inceleyelim :

En Çok Kullanılan SIP Mesajları ve Anlamları

REGISTERTo başlığı alanında listelenen URI’yi bir SIP sunucusuna kaydetmek ve Contact başlığı alanında verilen ağ adresiyle ilişkilendirmek içindir.
INVITEArama yapmak için bir iletişim başlatır. İstek bir kullanıcı istemcisi (ör. IP telefon) tarafından bir SIP sunucusuna gönderilir. Hali hazırda kurulmuş bir iletişim sırasında gönderildiğinde (RE-INVITE), oturumu değiştirir (ör. çağrıyı beklemeye alma).
ACKBir INVITE isteğine son bir yanıt aldığını doğrulamak için kullanılır.
BYEBir iletişimin sonlandırıldığını bildirir ve çağrıyı bitirir.
CANCELBekleyen tüm istekleri iptal eder. Hala çalan bir çağrıyı cevaplamadan önce, sonlandırmak için kullanılır.
UPDATEİletişim durumunu değiştirmeden oturumun durumunu değiştirir
REFERAlıcıdan çağrıyı aktarmak amacıyla bir talepte bulunmasını ister.
PRACKGeçici onay. Geçici bir yanıta yanıt olarak gönderilir.
SUBSCRIBEBir bildirimden gelen olayların bildirilmesi için bir abonelik başlatır.
NOTIFYYeni bir etkinliğin bildirimlerini bir aboneye bildirmek için kullanılır.
PUBLISHBir etkinliği bildirim sunucusunda yayınlamak için kullanılır.
MESSAGEKısa mesaj gönderir. Anlık mesajlaşma uygulamalarında kullanılır.
INFOOturum durumunu değiştirmeyen oturum ortası bilgileri göndermek için kullanılır. Bu yöntem genellikle DTMF rölesi için kullanılır.
OPTIONSBir uç noktanın yeteneklerini sorgular. Genellikle NAT ve keepalive için kullanılır.

Bunların dışında diğer 3 haneli kodlara sahip SIP mesajlarını da aşağıda bulabilirsiniz:

1XX ile Başlayan SIP Mesajları

Bilgi içerikli yanıtlardır. Talebin geçerli olduğunu ve işleme alındığını bildirir. “Deniyor”, “Çalıyor” gibi geçici durumları bildirmek için kullanılır.

  • 100 Trying : INVITE mesajına karşılık olarak gönderilir. Hedefin nerede olduğunu bulmak biraz zaman alabilir, bu nedenle SIP proxy bu yanıtı gönderir.
  • 180 Ringing : Hedef kullanıcı aracısı (aranan numara) INVITE aldı ve telefonu çaldırıyor.
  • 181 Call Is Being Forwarded : Sunucular isteğe bağlı olarak bir çağrının yönlendirildiğini belirtmek için bu yanıtı gönderebilir.
  • 182 Queued : Hedefin geçici olarak kullanılamadığını gösterir, bu nedenle sunucu, hedef kullanılabilir olana kadar çağrıyı kuyruğa (beklemeye) almıştır. Bir sunucu kuyruğun ilerlemesini güncellemek adına birden fazla 182 yanıtı gönderebilir.
  • 183 Session Progress : Bu yanıt, halen kurulmakta olan bir çağrı için ek bilgi göndermek amacıyla kullanılır.
  • 199 Early Dialog Terminated : Bir User Agent Server tarafından, yukarı akıştaki SIP varlıklarına erken bir iletişimin sonlandırıldığını belirtmek için kullanılır.

2XX ile Başlayan SIP Mesajları

İsteğin başarıyla tamamlandığını belirtir. Bir INVITE mesajına cevap olarak, bir çağrının yapıldığını gösterir. Bir son başarı durumunu belirtir. En yaygın görülen kod 200 OK dir.

  • 200 OK : İsteğin başarılı olduğunu belirtir.
  • 202 Accepted : İsteğin işlenmek üzere kabul edildiğini, ancak işlemin tamamlanmadığını gösterir.
  • 204 No Notification : İsteğin başarılı olduğunu, ancak karşılığında bir yanıt alınmayacağını belirtir.

3XX ile Başlayan SIP Mesajları

İsteğin tamamlanması için çağrı yönlendirmesi gerekiyorsa bu kodlar kullanılır. Bu kodlar ile istek yeni bir hedefte tamamlanacak demektir. Ayrıca bir arıza durumunu belirtmek için de kullanılır, ancak kullanıcının yeni konumu veya aramayı cevaplayabilecek alternatif yerler hakkında bilgi de içerir. Bunlar telefonda “Tüm Çağrıları Yönlendir” veya “Rahatsız Etmeyin” gibi özellikler etkinleştirildiğinde IP telefonlar tarafından oluşturulan tipik yanıtlardır.

  • 300 Multiple Options : Adres, ileti gövdesinde veya iletinin Contact alanlarında listelenen kullanıcının veya istemcinin aralarından seçim yapabileceği çeşitli seçeneklerden birine çözümlendiğini belirtir.
  • 301 Moved Permanently : Orijinal istek URI’ın artık geçerli olmadığını belirtir ve yeni adresi Contact başlığı alanında verilr. İstemci orijinal istek URI kayıtlarını yeni değerle güncellemelidir.
  • 302 Moved Temporarily : İstek, Contact alanındaki adres ile tekrar denemelidir. Bir Expires alanı varsa, istemci sonucu bu süre boyunca önbelleğe alabilir.
  • 305 Use Proxy : Contact alanında istenen hedefe erişmek için kullanılması gereken bir proxy olduğunu belirtir.
  • 380 Alternative Service : Çağrının başarısız olduğunu, ancak mesaj gövdesinde alternatifler olduğunu belirtir.

4XX ile Başlayan SIP Mesajları

En kalabalık mesaj kod ailesidir. Gelen istek, sunucuda çeşitli nedenlerle tamamlanamıyor ise hata durumunu belirtmek için kullanılır, ancak bu mesajı üreten SIP Proxy’sinden kaynaklanan bir durumdur. Yani varsa diğer bazı SIP Proxy’lerin isteği başarıyla işleyebileceğini gösterir.

  • 400 Bad Request : İstek, hatalı biçimlendirilmiş sözdizimi nedeniyle anlaşılamadığında gönderilir.
  • 401 Unauthorized : İstek için kullanıcı kimlik doğrulaması gerektiğinde gönderilir. Bu yanıt UAS ve SIP registrar tarafından verilir.
  • 402 Payment Required: İlgili istek için ödeme yapılması gerektiğinde gönderilir. (gelecekte kullanılmak üzere ayrılmıştır)
  • 403 Forbidden : Sunucu isteği anladığında, ancak yerine getirmeyi reddettiğinde gönderilir. Bazen aramanın alıcı tarafından reddedildiği anlamına da gelebilir.
  • 404 Not Found : Sunucu, kullanıcının Request-URI’ında belirtilen etki alanında (domain) bulunmadığı durumda bu mesajı gönderir. Bu durum, Request URI’ındaki etki alanı, isteğin alıcısı tarafından işlenen etki alanlarından hiçbiriyle eşleşmezse de döndürülür.
  • 405 Method Not Allowed : Request-Line’da belirtilen metot anlaşıldığı ancak RequestURI’ı tarafından tanımlanan adres için izin verilmediği durumda gönderilir.
  • 406 Not Acceptable : İstekte gönderilen Accept header bilgisine göre göre kabul edilemeyen bir durum olduğunda gönderilir.
  • 407 Proxy Authentication Required : İstek için kullanıcı kimlik doğrulaması gerektiğinde gönderilir. Bu yanıt proxy’ler tarafından verilir.
  • 408 Request Timeout: İstekte belirtilen kullanıcı gerekli süre içerisinde bulunamadığında gönderilir. İstemci, istediği zaman değişiklik yapmadan isteği tekrarlayabilir.
  • 409 Conflict : Kullanıcı zaten kayıtlı olduğu durumda gönderilir.(sonraki RFC’lerden çıkarılması nedeniyle kullanımdan kaldırılmıştır.)
  • 410 Gone: Bir zamanlar var olan bu kullanıcının artık olmadığı durumda gönderilir.
  • 411 Length Required : Sunucu, geçerli bir Content-Length olmadan isteği kabul etmeyeceği durumda gönderilir. (sonraki RFC’lerden çıkarılması nedeniyle kullanımdan kaldırılmıştır.)
  • 412 Conditional Request Failed : Belirtilen ön koşul karşılanmadığı durumda gönderilir.
  • 413 Request Entity Too Large : İstek mesajının gövdesi çok büyük olduğu durumda gönderilir.
  • 414 Request URI Too Long : Request-URI’I, sunucunun yorumlayabildiğinden daha uzun olduğu durumda sunucunun bu hizmete hizmet vermeyi reddettiğini belirtmek için gönderilir.
  • 415 Unsupported Media Type : İstek mesajının gövdesi desteklenmeyen bir biçimde olduğunda gönderilir.
  • 416 Unsupported URL Scheme : İstek-URI’ı sunucu tarafından desteklenmediği durumda gönderilir.
  • 420 Bad Extension: Geçersiz SIP Protokol uzantısı kullanıldığında, sunucu tarafından anlaşılmadığında gönderilir.
  • 421 Extension Required : Sunucunun, Supported headerında listelenmeyen belirli bir uzantıya ihtiyacı olduğunda gönderilir.
  • 422 Session Interval Too Small : Alınan istek, minimum timer değerinin altında bir süreye sahip bir Session-Expires header alanı içerdiğinde gönderilir.
  • 423 Interval Too Brief : Kaynağın Expiration süresi çok kısa olduğunda gönderilir.
  • 424 Bad Location Information : İsteğin konum içeriği yanlış biçimlendirilmiş veya başka şekilde yetersiz olduğu durumda gönderilir.
  • 428 Use Identity Header : Sunucu yapılandırması bir Identity header üstbilgisi gerektirdiğinde ve istekte bu değer sağlanmadığında gönderilir.
  • 429 Provide Referrer Identity : Sunucu, istek üzerine geçerli bir Referred-By token ı almadığında gönderilir.
  • 430 Flow Failed : Diğer akışlar başarılı iken, bir kullanıcı aracısının belirli bir akışı başarısız olduğunda gönderilir. Bu yanıt proxy cihazları arasında kullanılmak üzere tasarlanmıştır ve uç cihaz tarafında görülmemelidir (eğer tarafından görülüyorsa 400 Bad Request olarak değerlendirilmelidir).
  • 433 Anonymity Disallowed : İsteğin anonim olduğu için reddedildiğini belirtir.
  • 436 Bad Identity-Info : İsteğin bir Identity-Info headerının olduğu ve bu headerdaki URI şeması kaydının anlaşılmadığı durumda gönderilir.
  • 437 Unsupported Certificate : Sunucunun, isteği imzalayan etki alanı için bir sertifikayı doğrulayamadığı durumda gönderilir.
  • 438 Invalid Identity Header : Sunucunun, talebin imzalanması için talepe ait geçerli bir sertifikaya sahip olduğu ancak ancak bu imzayı doğrulayamadığı durumda gönderilir.
  • 439 First Hop Lacks Outbound Support : Kullanıcının kaydolmaya çalıştığı ilk outbound proxynin, registrarın desteklemesine rağmen RFC 5626’nın “outbound” özelliğini desteklemediği durumda gönderilir.
  • 440 Max-Breadth Exceeded : Bir SIP proxy’si bir yanıt contextinin istenen bir paralel fork yürütmek için yetersiz Incoming Max-Breadth değerine sahip olduğunu belirlerse ve proxy, seri olarak çatallayarak veya bir yönlendirme göndererek telafi etmek istemez veya telafi edemezse, bu proxynin 440 yanıtı göndermesi gerekir. 440 yanıtını alan bir istemci, isteğinin olası tüm hedeflere ulaşamamasına neden olabilir.
  • 469 Bad Info Package : If a SIP UA receives an INFO request associated with an Info Package that the UA has not indicated willingness to receive, the UA MUST send a 469 response, which contains a Recv-Info header field with Info Packages for which the UA is willing to receive INFO requests.
  • 470 Consent Needed : Talebin kaynağının alıcı için böyle bir talepte bulunma izni olmadığı durumda gönderilir.
  • 480 Temporarily Unavailable : Aranan numaraya geçici olarak ulaşılamadığında bu mesaj gönderilir.
  • 481 Call/Transaction Does Not Exist : Sunucunun, isteği hiçbir iletişim kutusu veya işlemle eşleştiremediği bir istek aldığında gönderilir.
  • 482 Loop Detected : Sunucu bir döngü (loop) tespit ettiğinde gönderilir.
  • 483 Too Many Hops : Çağrı yönlendirilirken çok fazla hop üzerinden geçtiğinde (Max-Forward headerı ‘0’ değerine ulaştığında) gönderilir.
  • 484 Address Incomplete : Request-URI header ı eksik ise gönderilir.
  • 485 Ambigious : Request-URI header ı belirsiz ise gönderilir.
  • 486 Busy Here : Aranan numara meşgulse gönderilir.
  • 487 Request Terminated : İstek BYE veya CANCEL ile sonlandırıldığında gönderilir.
  • 488 Not Acceptable Here : Session Description veya Request-URI parametreleri kabul edilmediğinde gönderilir.
  • 489 Bad Event : Sunucu Event headerındaki bir olay paketini anlamadığı durumda gönderilir.
  • 491 Request Pending : Sunucunun aynı iletişim kutusundan beklemede olan başka istekleri olduğunda gönderilir.
  • 493 Undecipherable: Sunucunun gelen istekteki MIME gövdesinin şifresini çözemediği durumda gönderilir.
  • 494 Security Agreement Required : Sunucu, anlaşmalı bir güvenlik mekanizması gerektiren bir istek aldığında ve yanıtın, istekte bulunanın seçebileceği uygun güvenlik mekanizmalarının listesini veya digest authentication sorununu içerdiğinde gönderilir.

5XX ile Başlayan SIP Mesajları

Sunucu, sunucu iç hataları da dahil olmak üzere, geçerli bir isteği yerine getiremediğinde alınan mesajlardır. PBX sunucusunun bir iç hatayla karşılaştığını belirtmek için kullanılır.

  • 500 Internal Server Error : Sunucu beklenmedik bir durum nedeniyle isteği yerine getiremediğinde gönderilir.
  • 501 Not Implemented : Sunucu, istek yöntemini tanımadığı için isteği yerine getirme yeteneğine sahip değil ise bu mesajı gönderir.
  • 502 Bad Gateway : Sunucu, ağ geçidi veya proxy gibi davranıyor ve isteği yerine getirmeye çalışırken bir alt sunucudan geçersiz bir yanıt aldıysa bu mesajı gönderebilir.
  • 503 Service Unavailable : Sunucu bakımda veya geçici olarak aşırı yüklenmiş ve bu nedenle isteği işleyemiyor ise bu mesajı gönderir. Sunuu Retry-After headerı ile istemcinin isteğini ne zaman tekrar deneyebileceğini belirtebilir.
  • 504 Server Timeout : Sunucu, isteği işleme koymaya çalışırken başka bir sunucuya erişmeye çalıştı ve bir yanıt almadıysa bu mesajı gönderir.
  • 505 Version Not Supported : Sunucu, SIP protokolünün bu sürümünü desteklemiyor ise bu mesajı gönderir.
  • 513 Message Too Large : Sunucu istek mesajının uzunluğu sunucunun işleyebileceğinden daha uzun ise bu mesajı gönderir.
  • 555 Push Notification Service Not Supported : Sunucu, bir ‘pn provider’ SIP URI parametresinde tanımlanan push bildirim hizmetini desteklemiyorsa bu mesajı gönderir.
  • 580 Precondition Failure : Sunucu teklifte belirtilen bazı kısıtlamaları karşılamak için yetersiz veya isteksiz olduğunda bu mesajı gönderir

6XX ile Başlayan SIP Mesajları

Hedef tarafından çağrının reddedilmesi de dahil olmak üzere genel bir hata olduğunu belirtir. Final bir hata durumunu belirtmek ve bu durumun genel nitelikte olduğunu belirtmek için kullanılır ve bu isteğin hiçbir durumda başka bir SIP Proxy’si tarafından ele alınamayacağını gösterir.

  • 600 Busy Everywhere : Tüm olası yerler meşgul. 486 yanıtından farklı olarak, bu yanıt, hedefin çağrıyı kabul edebilecek alternatif hedeflerin (sesli posta sunucusu gibi) olmadığını bildiğini gösterir.
  • 603 Decline : Hedef aramaya katılmak istemez veya aramayı gerçekleştireme ve ayrıca hedef, aramayı kabul etmek isteyen alternatif hedeflerin (sesli posta sunucusu gibi) olmadığını bildiği zaman bu mesajı gönderir. Yanıt içinde Retry-After header alanında daha iyi bir arama belirtilir.
  • 604 Does Not Exist Anywhere : Sunucu, istenen kullanıcının hiçbir yerde bulunmadığını biliyorsa bu mesajı gönderir.
  • 606 Not Acceptable : Kullanıcının aracısıyla başarılı bir şekilde iletişim kurulduğunnu, ancak oturum açıklamasının istenen medya, bant genişliği veya adresleme stili gibi bazı değerlerin kabul edilemez olduğunu belirtir.
  • 607 Unwanted : Aranan taraf arayan tarafın bu çağrısını istemiyor ise bu mesaj gönderilir. Arayan tarafın gelecekteki girişimlerinin de benzer şekilde reddedilmesi muhtemeldir.
  • 608 Rejected : Bir aracı makine veya süreç çağrı girişimini reddettiğinde bu mesaj iletilir. Bu, aranan tarafın çağrıyı reddettiği 607 (Unwanted) SIP yanıt kodundan farklıdır. Yanıt, Call-Info headerında bulunan çağrıyı engelleyen kişi bilgilerini içerebilir.