2. • VoIP Nedir, Nasıl Çalışır?
• Anolog/Sayısal Dönüşüm
• Ses Codec’leri
• İşretleşme Sistemleri Ve Protokoller
• H.323 Bileşenleri ve Protokolleri
• RAS Mesajları
• SIP Tanımı ve Mesajlaşmalar
• RTP,RTCP
İndeks
3. VoIP(Voice over IP) Nedir?
• VoIP IP tabanlı bir veri ağı üzerinden telefon görüşmelerinin
gerçekleştirilmesini sağlayan teknolojidir. IP telefonlar haberleşme
sırasında VoIP teknolojisini kullanırlar.
• Günümüz teknolojisinde geliştirilen bu tür yeni uygulamaların, eski
uygulamalarla da uyumlu çalışması istenir. Bu bağlamda bir VoIP
uygulaması, hem PSTN hatlar üzerinden hem de direk olarak başka
bir VoIP uygulaması ile başarılı bir şekilde haberleşebilir.
4.
5. VoIP Bileşenleri
VoIP tek başına bir protokolü ifade etmez. Birçok teknolojiyi,uygulamayı, hizmeti bir
araya getiren temel bir kavramdır. İnceleyelim.
• Teknolojiler; Sesin sayısallaştırılması ve ses sıkıştırma. Örnek PCM(Pulse code
modulation), G711, G729, G723, Speex...
• Medya Aktarımı; RTP, RTCP
• Sinyalleşme(İşaretleşme); H.323, SIP, MGCP...
• Destek protokolleri ve yönlendirme; QoS, RSVP
• Uygulama; IP üzerinden ses taşınması
• Hizmet; İnternet telefonu, uluslararası yönlendirme
6. İki nokta arasında sesin taşınması
sırasında ilk olarak A/DC (Anolog to
digital converter) anolog ses sinyallerini
dijital sinyallere dönüştürür.
Dönüştürülen bitler taşınma için iyi bir
formatta sıkıştırılmalıdır. Sıkıştırılan veri
paketinin gönderilmesi aşamasında real-
time protokol(RTP) kullanılır.
Kullanıcıların terminal birimleri arasındaki
işaretleşme için işaretleşme protokolleri
olan H.323 veya SIP(Session Initiation
Protocol) kullanılır.
VoIP Nasıl Çalışır?
7. Ses paketinin alıcıya iletilmesi ile birlikte,
sıkıştırılmış verinin çıkarılması ve D/AC ile
dijital sinyalin anolog sinyale tekrar
dönüştürülmesi ile sesin ses kartı(yada
telefona) gönderilmesi gerekir.
Veri aktarımı sırasında tüm bu işlemler
gerçek zamanlı olarak gerçekleştirilmelidir.
Veri aktarım protokolleri (Real Time
Protocol RTP), (Real Time Control Protocol-
RTCP) (Resource Reservation Protocol-
RSVP) kullanılır.
VoIP Nasıl Çalışır?
8. İnternet üzerinden ses taşınırken iki önemli faz vardır. Bunlar işaretleşme ve veri aktarım
fazıdır. İşaretleşme esnasında güncel olarak iki önemli protokolden söz edeceğiz(H.323 ve SIP).
Veri aktarım fazı ise; işaretleşmeyle anlaşmaya varan ve senkronize olan iki uç birim cihazının
birbirleriyle gerçek zamanlı haberleşmeye başlamasıyla gerçekleşir.
9. Ses işaretleri anolog yapıdadır. Anolog işaretlerin heberleşme sistemlerinde
iletilebilmesi için sayısal biçime dönüştürülmesi gerekmektedir. Sayısal biçime
dönüştürülen veri, alıcıya iletildiğinde tekrar anolog biçime dönüştürülmektedir.
Anolog/Sayısal dönüşümün temel aşamaları örnekleme, kuantalama ve darbe kod
modülasyonudur.
Örnekleme:Anolog işaretlerden belirli zaman aralıklarında alınan örnek değerleri
sayesinde ayrık-zamanlı bir işaretin elde edilmesi işlemidir.
Anolog/Sayısal Dönüşüm
10. • Kuantalama: Örneklenmiş işaretlerin
genlik değerleri sürekli olmakta ve
alacakları değerin bir sınırı
bulunmamaktadır. Kuantalama işleminde
örnek değerlerin, önceden belirlenmiş
sınırlı sayıdaki seviyeye çekilmesiyle
işaretin alabileceği değerler
sınırlandırılmaktadır.
• Zaman ekseninde ayrıklık getiren
örnekleme ile genlik ekseninde ayrıklık
getiren kuantalama işlemlerinin
birleşimiyle anolog bir işaretin sayısal
yapıya çevrilmesi sağlanabilmektedir.
Anolog/Sayısal Dönüşüm
11. Derbe Kod Modülasyonu(PCM):
Kuantalanmış örnek değerlerin sayısal
kod sözcükleri şekline çevrilmesi işlemi
PCM olarak adlandırılmaktadır.
PCM kullanılarak her işaret örneği için o
işaretin genlik değerini belirten bir kod
sözcüğü üretilmektedir.
Şekilde anolog bir işaretin
örneklenmesi, kuantalanması ve PCM
kodlanması gösterilmiştir.
Anolog/Sayısal Dönüşüm
12. ...PCM(devam)
PCM esasında kuantalanmış işaret
örneklerinin sayısal kod sözcükleri ile
gösterimi olmakla birlikte, çoğu zaman
anolog bir işaretten başlanıp sayısal kod
sözcüğünün oluşturulması işlemlerinin
tamamı PCM sistemi olarak adlandırılır.
Telefon gibi çift yönlü iletim söz konusu
olduğu zaman her iki tarafta da hem anolog
işareti PCM’e çevirerek iletecek, hem de
PCM’i tekrar anolog işarete çevirecek bir
sistem bulunmaktadır.
Anolog/Sayısal Dönüşüm
13. Ses Codec’leri
• Ses iletiminde veriyi şifreleyerek göndermeyi sağlar, ses verisi farklı bir formata
dönüştürülür, sıkıştırılır.Veri oranı azalır, iletim hızı artar.
14. VoIP çağrının kurulması ve yönetilmesini sağlar. Bir çağrıyı kurma ve sonlandırma
işlemlerine işaretleşme denir.
– PSTN’de işaretleşme SS7(Signaling System 7) protokolü ile gerçekleştirilir.
– VoIP’de işaretleşme protokolleri:
• H.323
• SIP(Session Initiation Protocol)
– VoIP sistemler SS7 ile haberleşmelidir. IP telefon sistemi PSTN ve diğer IP telefon
sistemleri ile uyumlu çalışabilir olmalıdır.
İşaretleşme Sistemleri ve Protokoller
16. ITU-T tarafından iki yada daha fazla taraf arasında IP benzeri bir ağ üzerinde ses yada görüntü
trafiğini taşımak için geliştirilen H.323 standardı, birçok standardı kapsayan bir protokol
grubudur.
H 323 4 temel bileşenden oluşur:
• Gateway: İşaretleşme ve ortam dönüştürme işlemlerini gerçekleştirir, IP telefon sisteminin
PSTN ile çalışmasını sağlar.
• Gatekeeper: Yer bulma, işaretleşme ve yönlendirme fonksiyonlarını sağlar, Gateway’ın
çalışmasını yönetir.
• Terminal: IP telefonu
• MCU(Multipoint Control Unit): Çok noktalı konferans gibi işlemleri sağlar.
H.323
17. Ses içeren IP paketlerini ses ağının anlayabileceği biçime
sokarak, iki kullanıcı arasındaki bağlantıyı kurar. Gateway
sayesinde PSTN ve IP ağının birbiri ile uyum içinde çalışması
sağlanır.
• Media Gateway: Ses işaretlerini IP ağı ve PSTN arasında dönüştürür.
• Signaling Gateway: İşaretleşme bilgilerini dönüştürür.
H.323 Bileşenleri
Gateway
18. Terminallerin ve gatewaylerin kayıt, kabul ve statü (Registration, Admission and Status -RAS-)
takibinden sorumlu olan ağ modülüdür.
Gatekeeper’lar çağrı işleme/işaretleşme işlevlerini yerine getirirler. Aranan telefon
numaralarının iletileceği gatewaylerin IP adresleri gatekeeperlarda tutulur.
Adres Dönüşümleri: gwy1@domain.com gibi domain isimlerini veya standart telefon
numaralarını endpoint IP adreslerine dönüştürürler.
• Yetki Denetimleri: Uç birimlerin H.323 ağına kabul kontrolleri;
– H.225 Registration, Admission, and Status (RAS) messages
– Admission Request (ARQ)
– Admission Confirm (ACF)
– Admission Reject (ARJ)
Gatekeeper
19.
20. • Bant genişliği Yönetimi: Bandwidth Request, Confirm ve Reject mesajları ile uç
birimlerin LAN bant genişliği taleplerini onaylar yada reddeder.
• Zone management: Tek bir gatekeeper tarafından yönetilen terminallerin,
gatewaylerin ve MCU'ların toplamı zone olarak adlandırılır. Gatekeeper yukarıda
anlatılan bütün fonksiyonları kendi yönetimindeki zone için sağlar.
Gatekeeper’ların kullanılma amacı, çağrıları yaparken makine adresleri yerine
makinelere verilecek takma isimleri kullanabilme, ağdaki bant genişliği kullanımının
yönetilmesi, Gateway ve MCU gibi ağ kaynaklarının yönetilebilmesidir.
Gatekeeper
21. • Terminaller uç noktalarda gerçek
zamanlı iki yönlü haberleşme
sağlayan yerel ağ istemcileridirler.
Tüm H.323 Terminalleri H.245,
Q.931, Registration Admission
Status (RAS) ve Real Time
Transport Protocol (RTP)
protokollerini desteklemelidir
Terminaller
• MCU ağda ikiden fazla terminalin
yada Gatewayin çoklu bir konferansa
katılımlarını sağlamaya yarayan
cihazlardır.
Çok Noktalı Kontrol Ünitesi
(Multi-point Control Unit - MCU)
22. • İşaretleşme ve
kontrol(H.245,H.225,RTCP),
• ses codecleri(G.7xx),
• görüntü codecleri(H. 26x),
• çoklu ortam
haberleşmesi(T.12x),
• taşıma(RTP)
gibi temel bileşenlerden oluşur.
H.323 Protokol Yığını
26. Bir network üzerinde iki tane IP telefonu ve bir gatekeeper arasındaki çağrı
kurulmasından çağrı sonlanana kadar olan prosedürü ve aralarındaki mesajlaşmaları
inceleyeceğiz.
IP telefon numaları 121 ve 122 olarak atansın. Bu telefonlardan «endpoint» olarak
bahsedeceğiz. Bu iki endpoint’in gatekeeper tarafından kaydedildiğini varsayalım.
121 numaralı telefon 122 numarasını tuşlasın.
H 323 Call Flow
27. • Çağrıyı başlatan endpoint, aranılan numaranın 122 olduğunu bilir ancak bu
numara ile ilişkili olan IP adresini bilmez. Aynı zamanda bu aramanın yapılabilmesi
için Gatekeeper’a erişim izni için istek göndermesi gerekir. Bu yüzden 121
endpoint’i Admission Request Mesajını(ARQ) Gatekeeper’a gönderir.
• Gatekeeper ile bu iletişim için UDP üzerinden H.323-RAS protokolü kullanılır.
ARQ: Bir endpointten Gatekeeper’a, çağrıya katılmak için gelen istek mesajıdır.
Gatekeeper ağda bant genişliği kullanabilirliği gibi çeşitli faktörlere bağlı olarak cevap
döner.
H.323 İşaretleşme (1)
28. • Gatekeeper kendi database’ine kayıtlı olan endpointlerden 122 numara olup
olmadığını kontrol eder. Eğer 121’in 122’yi arama izni var ise ve eğer bu arama
mümkünse(örneğin yeterli bant genişliği varsa) bunların kontrolünden sonra
Gatekeeper arayan endpointe bir cevap verir (çağrı kurulması için herşeyin olumlu
olduğunu varsayıyoruz)Admission Confirm Mesajı(ACF).
ACF:Görüşmeye katılmak isteyen endpointe gönderilen olumlu bir yanıttır. Bu mesaj erişilmek
istenen terminalin (yada ona ait gateway’in) IP adresini içerir ve çağrı kontrolünü başlatmak için
isteği göndererek ağ geçidi sağlar.
H.323 İşaretleşme (2)
29. • Endpoint 121, Gatekeeper tarafından
ACF mesajının içinde gelen adrese çağrı
işaretleşme kanalını kendi açamaz. Çağrı
işaretleşme mesajları Q.931/H.225
protokolü ile TCP üzerinden gönderilir.
Gatekeeper yönlendirici çağrı
modeli(Gatekeeper-routed call model)
ile endpoint 121 Gatekeeper’a TCP
kanalı açabilir ve Q.931/H.225 Setup
mesajını gönderir.
• Gatekeeper 2. bir TCP kanalı açacak ve
gelen Setup mesajını endpoint 122’ye
iletecektir(Figure B).
H.323 İşaretleşme (3)
30. • Endpoint 122 ilk cevabı, Q.931/H.225
mesajı olan Call Proceeding ile
çağrının kurulması için çalışılmaya
başlandığını gösterir ve Gatekeeper
tarafından arayan endpointe iletilir.
• Bundan sonra 122 Gatekeeper’a çağrı
için izni olup olmadığını sorar(ARQ)
ve Gatekeeper ACF ile cevap verir.
(Figure C)
H.323 İşaretleşme (4)
31. • Aranan taraf ahizeyi kaldırır ve endpoint çağrı işaretini kabul etmiş olur. Bu
olduğunda Q.931/H.225 Connect mesajı gönderir. Bu noktada taraflar
negotiate(görüşme) parametrelerine ihtiyaç duyarlar ses kanalları için.
Bu görüşme için H.245 protokolü kullanılır. Varsayılan durumda H.245’in TCP
kanalına ihtiyacı olacaktır. Böylece Connect mesajı içerisine endpoint 122 nin H.245
adresi eklenecektir. Gatekeeper çağrı yönlendirmeli model kullanılan çağrılarda,
Gatekeeper çoğunlukla H.245 adresini kendi H.245 adresi ile değiştirir. Böylece H.245
mesajlarını da denetleyebilir(Figure D).
• Aranan telefon 122 çalmaya başlar ve bu Q.931/H.225 Alerting mesajı ile diğer
tarafa bildirilir.
H.323 İşaretleşme (5, 6)
33. Arayan endpoint(121), Connect mesajı ile gelen H.245 adresine bir TCP kanalı
açar. Endpointler mesajlaşmaya başlayabilirler. H.245 anlaşması 3 parçadan oluşur.
– Hangi endpointin master, hangisinin slave olduğuna karar verilir.
– Her iki tarafın set kapasitesi hakkında bilgi alışverişi yapılır.Endpointlerin diğer tarafın
desteklediği ses ve görüntü codec’lerini bilmesi gerekir.
– Ses(ve isteğe bağlı video) kanalları için gerçek parametreleri hakkında karar verilir.
Sonunda iki endpoint RTM streamlerini göndermeye başlayabilir ve telefonun
ucundaki iki taraf birbirini duyabilir. Her iki taraf da farklı codec’leri kullanıyor
olabilir(Figure E).
H.323 İşaretleşme (7,8)
34.
35. • Endpoint’ler birbirine RTP streamleri göndermeyi durdururlar. Mantıksal kanalların
kapatıldığını bildirirler(H.245 Request CloseLogicalChannel).
• H.245 işaretleşme kanalları kapatılır (H.245 EndSessionCommand mesajı).
• Q.931/H.225.0 ReleaseComplete mesajı TCP bağlantısı da kapatılır.
• Her iki endpoint de çağrının tamamlandığı hakkında H.225.0-RAS
message Disengage Request (DRQ) ile Gatekeeper’ı bilgilendirir.
• Gatekeeper Disengage Confirm (DCF) ile bunu onaylar.
Artık çağrı gerçekten sonlandırılmış olur.
H.323 İşaretleşme (Çağrının Sona Ermesi)
36. 1. Terminal A 408-667-1111 numarasını tuşlar.
2. GWA GK1’e ARQ mesajını göndererek B terminaline
erişmek için izin ister.
3. GK1 Terminal B’yi arar ve bulur, GWB’nin IP adresi ile
birlikte ACF mesajını geri döndürür.
4. GWA Q.931 Call Setup mesajını GBW’ye gönderir
terminal B’nin telefon numarası ile.
5. GBW GK1’e ARQ mesajı gönderir ve GWA’nın çağrı
yetkisini sorar.
6. GK1 GWA’nın IP’si ile ACF mesajını döndürür.
7. GWB Terminal B’ye POTS çağrısı gönderir.
8. B terminalinin cevabını, GWB Q.931 ile GWA’ya gönderir.
9. GW’ler GK1’e çağrı kurulduktan sonra IRR mesajı
gönderirler.
Not: Gateway’lerin keşif işlemini
tamamlayarak kendi gatekeeper’larına
kayıt olduklarını varsayalım.
Gatekeeper to Gateways Call Flow(Intra-Zone)
37. Mesaj Anlamı
RRQ (Registration_Request) Endpointten gatekeeper’a kayıt isteği gönderilir.
RCF (Registration_Confirm) Gatekeeper tarafından endpoint’in kayıt isteği için
kabul mesajı gönderilir.
RRJ (Registration_Reject) Gatekeeper tarafından endpoint’in kayıt isteği için red
mesajı gönderilir.
URQ (Unregister_Request) Endpoint yada gatekeeper tarafından kayıt işlemi iptal
edildiğinde gönderilir.
UCF (Unregister_Confirm) Endpoint yada gatekeeper tarafından kayıt işlemi
iptalini onaylamak için gönderilir.
RAS (Registration)
38. Mesaj Anlamı
ARQ (Admission_Request) Endpoint tarafından çağrıyı başlatma
girişimidir.
ACF (Admission_Confirm) Gatekeeper tarafından çağrı yetkisi kabul edilir.
Bu mesaj erişilmek istenen terminalin yada ona
ait gateway’in IP adresini içerir.
ARJ (Admission_Reject) Gatekeeper tarafından çağrı isteğinin
reddedilmesinde gönderilir.
RAS (Admission)
39. RAS (Status Information)
Mesaj Anlamı
IRQ(Information Request) Gatekeeper tarafından endpointlere gönderilen status isteği
IRR(Inf. Request-Response) Endpointler tarafından IRQ mesajına cevap olarak
gönderilir.Gatekeeper’ın periyodik durum güncellemesi için
gereklidir. Aktif aramaların bilgisini gatekeeper’a verir.
IACK (Info_Request_Acknowledge) Gatekeeper tarafından IRR mesajına cevap olarak gönderir.
40. • Bileşenler
– SIP User Agent:Kullanıcı adına çalışan
uç sistemdir.
• İşaretleşmeleri yönetir.
• Kodlanmış veriyi yakalar, gönderir ve
aldığı kodlu veriyi açar.
– SIP Servers
• Registrar:Kullanıcıların mevcut
lokasyonları ile ilgili bilgileri kaydeder.
• Proxy:Aldığı istekleri, kendisi hakkında
daha fazla bilgi sahibi olan bir sonraki
sunucuya iletir.
• Redirect:Aldığı istek üzerine bir sonraki
sunucunun adresini öğrenerek, bu adresi
istemciye iletir.
• Uygulama katmanı işaretleşme
protokolüdür. (IETF)
– Oturum oluşturma, değiştirme ve
sonlandırma.
• SIP HTML bazlıdır, HTTP ve SMTP ile
benzerlik gösterir, web ile entegre olabilir.
TCP ve UDP’yi destekler.
• Kullanıcılar SIP adresleriyle tanımlıdır.
– UserName@Host-Domain
• Client-server mimarisi vardır.
– Client:mesaj kaynağı
– Server:mesaja yanıt veren yada ileten
SIP(Session Initiation Protocol)
43. – 302 Moved Temporarily
– 305 Use Proxy
– 380 Alternative Services
• 4xx: istemci hataları
– 20’nin üzerinde mesaj vardır. Örn:404 user
not found
• 5xx: sunucu hataları
– 7 mesajı vardır. Örn:server internal error
• 6xx: genel hatalar
– 4 mesajı vardır. Örn: busy ewerywhere
• 1xx: yanıt istenen ek mesajlar
– 100 Trying
– 180 Ringing
– 181 Call is being forwarded
– 182 Queued
– 183 Session Progress
• 2xx: istek başarı ile sonuçlanmıştır.
– 200 OK
• 3xx: isteği karşılamak için yeni mesajlara
ihtiyaç vardır.
– 300 Multiple choices
– 301 Moved Permanently
SIP Yanıt Kodları
47. • RTP ses ve görüntü bilgilerinin gerçek
zamanlı taşınmasını sağlar.Genellikle
UDP üzerinden taşınır.
RTP(Real Time Protocol)
48. • SSRC: Paketin hangi oturuma ait
olduğunu gösterir.
• CSRC: Konferans çağrılarında
katılımcıların sayısını belirtir.
• V: versiyon bitidir.
• P: padding bitidir. Eğer 1 ise veri
yükünün arkasına eklenmiş bir yada
daha fazla byte olduğunu gösterir.
• X genişleme biti: 1 ise RTP headerin
arkasına eklenecek paket olduğunu
gösterir.
• Sequence number: 16 bitlik paket
numarasıdır. Her gelen paket ile 1
artar.
RTP Başlık Bilgileri
49. • RTP ile birlikte kullanılır. Temel işlevleri;
– RTP veri akışı boyunca veri dağılımı ile ilgili kalite bilgilerini kontrol eder(Akış ve tıkanıklık
kontrolü).
– RTP veri akışına ilişkin taşıma katmanı ID’sini taşır. SSRC bilgisi herhangi bir şekilde
değişirse, aynı RTP akışının belirlenmesi için kullanılır.
– Aynı oturuma katılan katılımcı sayısının kontrol edilmesi için kullanılır. Her kullanıcı
oturuma katıldığında sayı 1 artar. RTCP bye paketi ile SSRC’si eşleşen kullanıcı listeden
silinebilir.
RTCP(Real Time Control Protocol)
50. • http://www.emo.org.tr/ekler/9a1ffef7b7c234a_ek.pdf
• Mohammad Qahır Wardak, Introduction to Voice over Internet Protocol (VoIP)
• Peter R. Egli, Indıgoo.Com , Voıce Over Ip
• http://www.cisco.com/c/en/us/support/docs/voice/h323/5244-understand-
gatekeepers.html#protosuite
• http://toncar.cz/Tutorials/VoIP/VoIP_Protocols_H323_Call_Flow.html
• Sayısal Haberleşme,Sarp Ertürk, Birsen Yayıncılık 2005
• Introduction to Session Iinitiation Protocol, William.L
• http://www.webopedia.com/TERM/V/VoIP.html
• IP üzerinden ses iletimi(Voice over IP)
Kaynaklar