5 Nisan 2009 Pazar

Voice: Dijital Arayüzler

Signaling (Sinyalleme): Sinyalleme, sesin dışındaki herşey demektir. DTMF, Caller-ID...

- CAS (Channel Associated Signaling) -

CAS, sinyalleme bilgilerini ses ile aynı yerde sıkıştırır. Böylece bütün kanallar aynı zamanda data için de kullanılabilir. Ancak bu aynı zamanda dezavantajdır. Çünkü her 12 kanaldan 2 bit ya da her 24 kanaldan 4 bit kullanır. Bu yüzden CAS'e Robbed Bit Signaling de denir. Bu da ortalama data band genişliğini düşürür.

Super Frame (SF/D4): 12 bitten 2 sinyalleme biti.

Extended Super Frame (ESF): 24 bitten 4 sinyal biti.

CAS bir sinyalleme türü değil, sinyallemenin bir yoludur. CAS sinyalleme yelpazesi altında birçok sinyalleme tipi vardır.

- CSS (Common Channel Signaling) -

Bir kanal sadece sinyalleme için atanmıştır. Diğer 23 kanal tamamen ses için kullanılır. Böylece istediğimiz kadar sinyal türünü o kanala sığdırabiliriz ve kullanıcı band genişliğini de etkilememiş oluruz. Ama bunun da dezavantajı bir kanalı tamamen kaybetmemizdir. O kanalı ses aktarımı için kullanamayız.

- Sinyalleme Protokolleri -

ISDN:

- BRI (Basic Rate Interface)
- PRI (Primary Rate Interface)

BRI'da 2 B (Barrier- Bariyer) kanalı (her biri standart 64 kbps olan) ve 1 D kanalı (16 kbps olan) vardır.

PRI'da 23 B ve 164 kbps'lık bir D kanalı vardır.

ISDN, standart voice uygulamaları için Q.931 sinyalleme protokolünü kullanır. (Arama iletimi, bekletmesi, transferi, DNIS, ANI...)

DNIS (Dialed Number Identification Service): Aranan numaranın tanımlanmasını sağlar.

DID (Direct Inward Dial): Aranan numaranın ön kısmını silerek sadece dahili numarasıyla yönlendirme yapar.

PBX sistemlerinde bu iki servis oldukça faydalıdır. Şöyle bir numara düşünün. 0212-925-42-56(2416-2440). DNIS bu numarayı tanımlar. DID ile de numaranın kendisi silinerek sadece uzantısıyla yönlendirme yapılır.

ANI (Automatic Number Identification - Caller-ID Information): Sizi araya kişinin kim olduğunu görmenizi sağlar.

QSIG (Q Signaling):

ISDN Q.931 sinyalleme protokolüne dayanır. PBX'ten PBX'e iletişimi sağlar.
Normalde her PBX sağlayıcı kendi arasında bağlantı kurar ve iletişim sağlar. Diğerleriyle bağlanmaz. QSIG ile bu iletişim sağlanır. Buna da PINX (Private Internetwork Exchange) denir.

DPNSS (Digital Private Network Signaling System):

İngiliz telekomu tarafından geliştirildi.

SS7 (Signaling System 7):

Telco CO'ları arasında out-of-band sinyalleme amacıyla geliştirilmiştir. Bazı PBX sistemileri için de kullanılabilir. Genellikle uzun mesafe aramaları için kullanılır.

SIGTRAN:

SS7 sinyallemesini IP ağı üzerinde taşımak için tasarlanmıştır. SS7 sinyalini IP Network üzerinden taşınacak şekilde örter.


- PSTN ve PBX Sinyalleme Türleri -

Analog:

- E&M
- FXO


T1 CAS:

- E&M Wink Start
- E&M Immediate Start
- E&M Delay Start
- FXO (Ground/Loopstart)
- FXS (Ground/Loopstart)


E1 CAS:

- MELCAS
- R2


CSS:

- T1+E1 ISDN Q.931
- T1+E1 QSIG Basic

2 Nisan 2009 Perşembe

E&M Sinyalleme

PBX'ler ya da diğer ağdan ağa telefon switch'lerinde kullanılan sinyalleme tekniğidir.

E&M, sinyalleme ve ses için ayrı kablolar kullanır. Beş farklı tipi vardır ve Cisco bunların dördünü destekler. Tip I, II, III, V.

Tip I: Bir kablo E ucu için, bir kablo da M ucu için. Geriye iki çift kablo da ses için. Bu şekilde PBX; E ve M uçları için güç ya da pil sağlar. Kullanılmayan durumda (on-hook) E ve M uçları açıktır. PBX, M ucunu pile bağlayarak kullanım durumunu (off-hook) sağlar. Hat tarafında ise E ucu toprağa bağlanır.

Tip II: Bu tipte sinyalleme için 4 kablo kullanılır. Bir kablo E ucu için, başka bir kablo M ucu için, diğer iki kablo da sinyal toprağı (signal ground - SG) ve sinyal pili (signal battery - SB) için kullanılır. Kullanım durumunda PBX, M ucunu SB ucuna bağlar. Hat tarafında da E ucu SG'ye bağlanır.

Tip III: Bu tip pek sık kullanılmaz. Bu tip de sinyalleme için 4 kablo kullanır. Kullanılmayan durumda E ucu açık, M ucu SG ucuna bağlıdır. Kullanım durumunda PBX, M ucunu SG'den SB'ye taşır. Hat tarafında da E ucu topraklanır.

Tip IV: Tip 4 de sinyalleme için 4 kablo kullanır. Kullanılmayan durumda E ve M uçları açıktır. Kullanım durumunda PBX, M ucunu hat tarafından topraklanmış olan SB'ye bağlar. Hat tarafında da, E ucu PBX tarafından topraklanmış olan SG ucuna bağlanır.

Tip V: Tip 1 gibi sinyalleme için 2 kablo kullanır. Kullanılmayan durumda E ve M ucu açıktır. Kullanım durumunda PBX, M ucunu topraklar. Hat tarafında da E ucu topraklanır.

- E&M Fiziksel Arayüzü -

RJ-48 konnektörle PBX trunk hatlarına bağlanan iki kablo ya da dört kablodan oluşur.

- E&M Adres Sinyalleme -

Üç tip sinyallemeden oluşur:

Immediate-start (Hemen başlama): Arayan taraf telefonu açar ve en az 150 ms. bekledikten sonra numarayı çevirerek ya da tuşlayarak adres sinyallerini gönderir. Bu sinyalleme E&M tie trunk arayüzlerinde kullanılır.

Wink-start: En çok kullanılan yöntemdir ve voice portlarda varsayılandır. Wink-start "glare"i azaltmak ve immediate-start kondisyonunda olması amaçlanarak tasarlanmıştır. Arayan taraf telefonu açarak E ucunu tutar ve kısa bir süre "off-hook pulse"u (wink) bekler. Daha sonra switch devam etmek için pulsu üretir ve tuşlanan ya da çevirilen numaraları gönderir. Bu sinyalleme E&M tie trunk arayüzlerinde kullanılır.

Delay-start (Gecikmeli Başlama): Arayan taraf telefonu açarak E ucunu tutar. Bir süre sonra arayan taraf aranan tarafa bakar. Eğer aranan tarafta telefon kapalıysa DTMF sinyallerini gönderir. Aksi takdirde telefon kapanana yani on-hook durumuna kadar numara bilgilerini göndermeyi bekletir.

Analog Sinyalleme

İnsan sesi ses dalgaları üretir. Bu ses dalgaları bazı cihazlar tarafından elektriksel sinyallere dönüştürülür. Bu sinyaller çok uzun mesafelerde router'dan router'a, repeater tarafından tekrardan güçlendirerek hiç bozulmadan taşınabilir.

Router'daki voice portları, telefon, faks makinesi, PBX, PSTN CO switchlerine bağlanabilirler. Bu cihazlar birçok sinyalleme tipinden birini ya da birkaçını kullanabilir.

Bu sinyal tipleri 3 grupta kategorilendirilir:

- Supervisory (Denetimsel): Loop veya trunk durumlarındaki değişiklikleri denetler ve bu değişikliklere göre tepki verir.

- Addressing (Adresleme): Çevirilen ya da basılan numaraların PBX'e veya Central Office (CO)'e geçişini sağlar.

- Informational (Bilgisel): O andaki durumu belirtmek için ses tonları sağlar. Örneğin; meşgul tonu.

- FXS ve FXO Denetimsel Sinyalleri -

FXS ve FXO arayüzlerinin telefon hattını tutma ve de on-hook ya da off-hook durumlarını gösterir.
Ayrıntılar

- Analog Adres Sinyalleri -

Aranacak telefon numarasının girilme durumudur. İki tiptir:

- Pulse Dialing (Pulse)
- DTMF Dialing (Touch-tone)


Eski çevirmeli tip telefonlar "pulse", tuşlu telefonlar ise "touch-tone" üretir.

Tuşlu telefonlarda her bir tuşun farklı bir frekans aralığı vardır.

- Bilgisel Sinyaller -

FXS portları call progress (CP) tonları kullanarak sinyaller üretir. Bu sinyaller FXS portuna bağlı cihazın o andaki durumunu belirtir.

Dial tone: Telefon şirketinin herhangi bir tuşlamaya hazır olduğu bilgisini verir.
Busy tone: Aramanın tamamlanmadığını, karşı taraftaki telefonun o anda kullanıldığı anlamına gelir.
Ring back (normal ya da PBX): Telefon şirketinin arayan adına aramayı tamamlamaya çalıştığı anlamına gelir.
Congestion: Aramanın uzun mesafe telefon ağında gerçekleştiğini belirtir.
Re-order: Bütün telefon döngülerinin o anda meşgul olduğunu ve tekrardan arama yapıldığını belirtir.
Receiver off-hook: Alıcının telefonunu açık bıraktığını belirten sestir.
No such number: Routing tablosunda ya da switch'te kayıtlı böyle bir numaranın olmadığını belirtir.

1 Nisan 2009 Çarşamba

FXS - FXO Konfigürasyonları

Başlamadan önce şundan bahsetmek istiyorum:

1700 (1750, 1751, 1760) serisi routerlara doğrudan VIC card takıldığında slot numarası 0 olarak yazar. Bunu şu komutla görebilirsiniz.
#show voice port

Çünkü VIC kartlar NM taşıyıcı modülleri ile kullanılacak şekilde tasarlandıkları için üç değer göz önünde bulundururlar. Slot, sub-unit, port.

Örneğin: 0/1/0

İlk 0; ilk sıradaki taşıyıcı modül anlamına gelir.
1; o taşıyıcı modülün sağdan sola ikinci ünitesi anlamına gelir.
İkinci 0 ise; kartın ilk portu anlamına gelir.

1700 serilerinde;
#show voice port summary

yazdığınızda şöyle bir değer görebiliriz.

1/0 = sub-unit/port

Kart doğrudan takıldığı için slot numarası görüntülenmeyecektir.

İşte bu sebeplerden dolayı 1700 serisi routerlarda
#show voice port

yazdığımızda bütün voice kartlar için "Slot is 0" yazacaktır.

- FXS Port Ayarları -

Gireceğimiz temel komutlar;

#conf t
(config)#voice-port 1/0

Üstteki komutlar voice-port'a giriş yapmamızı sağlar.
(config-voiceport)#description Mutfak Telefonu

Bu komut da portu tanımlamamıza yardımcı olur. Bunun şöyle bir faydası var. Çok uzun mesafelerde telefonun hangi porta bağlı olduğunu öğrenmek için kabloyu takip etme zorunluluğundan kurtarır.
(config-voiceport)#signal loopstart
groundstart Ground Start
loopstart Loop Start

Giriş sinyali tipini belirler.
(config-voiceport)#cptone tr

Dial-tone sesini değişik ülkelerde kullanıldığı biçimde ayarlar. Örnekte Türkiye'dir.
(config-voiceport)#ring frequency ?
25 ring frequency 25 Hertz
50 ring frequency 50 Hertz

Çok eski telefonların çalması için belirli frekanslara ihtiyaçları vardır. Buraya doğru değeri girerek telefonun düzgün çalışmasını sağlayabiliriz. Günümüzde telefonların hiçbiri için bu ayarlamaya gerek yoktur.
(config-voiceport)#ring cadence pattern01
define User Defined Cadence
pattern01 2sec on 4sec off
.
.
.
pattern12

Telefonun kaç saniye çalıp kaç saniye sessiz kalacağını ayarlar. Komutu devreye sokmak için portu "shutdown" ve "no shutdown" komutlarıyla kapatıp açmalıyız.
(config-voiceport)#busyout forced
forced Forced the voice port in busyout
monitor The event of this interface triggers busyout
seize Option of busyout seize procedure

Bu komut voice portu arama dışı bırakmak için kullanılır.
(config-voiceport)#station-id name Sevil

Bu komutu kullandığımızda, bu telefonla yaptığımız aramalarda karşı tarafta yazmış olduğumuz isim görünür.

- FXO Port Ayarları -

Bütün görmüş olduğumuz FXS port ayarları için kullanılan komutlar FXO portları için de geçerlidir. Ayrıca;
#conf t
(config)#voice-port 1/0
(config-voiceport)#dial-type dtmf
dtmf touch-tone dialer
mf mf-tone dialer
pulse pulse dialer

Bulunduğunuz porttaki sinyal tipini ayarlar. Eski çevirmeli tip telefonlar "pulse", tuşlu telefonlar ise "touch-tone" üretir.
(config-voiceport)#ring number 1
(1-10) The number of rings detected before closing loop

Döngüyü (loop) kapatmadan önce ne kadar bekleneceğini ayarlar. 1 yazdığımızda; arama olduğu anda telefon çalar.
(config-voiceport)#timeouts initial 10

Ahizeyi kaldırdıktan sonra ne kadar süre içerisinde herhangi bir numaraya basmamız gerektiğini belirler. Varsayılan 10 saniyedir.
(config-voiceport)#timeouts ringing 180

Telefonun en fazla ne kadar üsre çalacağını belirler. Varsayılan 180 saniyedir.
(config-voiceport)#timeouts call-disconnect
(0-120) seconds
infinity

Telefon kapatıldıktan ne kadar süre sonra aramanın bitirileceğini ayarlar.

- VoIP Test Komutları -

#test voice port 2/0 inject-tone local 500Hz

Paket kaybı olup olmadığını anlamak için "tone" eklenir. Eğer ses kesintisiz geliyorsa paket kaybı yoktur. Yani ses kalitelidir.
#test voice port 2/0 inject-tone disable

"Tone" eklemeyi iptal etmek için kullanılır.

- Analog Doğrulama Komutları -

#show voice port summary

Portların durumuna önizleme yapmak için kullanılır.
#show dial-peer voice summary

Dial-peer'lerin durumunu izlemek için kullanılır.

30 Mart 2009 Pazartesi

Network Arama Türleri

Local Call (Yerel Arama):

Aynı router'a bağlı iki cihazın birbirini aramasına denir.

On-Net Call:

Bir cihazdan ağ bağlantısını (WAN) kullanarak başka bir cihazı aramasına denir.

Off-Net Call:

Bir cihazdan PSTN kullanarak başka bir cihazın aranmasına denir:

On-Net to Off-Net Call:

Bir cihaz WAN bağlantısı kullanıp arama yaptığında WAN bağlantısı kopmuşsa PSTN bağlantısıyla arama yapmaya yönelir.

PLAR (Private Line Automatic Ringdown) Call:

Telefonu açtığımızda herhangi bir numara girmeden router'ın hemen acil numarayı aramasına denir.

29 Mart 2009 Pazar

VoIP: Sinyal Tipleri

- Loop Start
- Ground Start

- E+M Wink Start
- E+M Immediate Start
- E+M Delay Start

Loop Start:

Tip+Ring bağlantısıyla her portta yalnızca bir arama olacağı zaman kullanılır.


Hemen Tip and Ring'i açalım:
Tip+Ring: Telefonumuzun ahizesi kapalıyken Tip+Ring kesiktir. Ahizeyi kaldırdığımız anda Tip+Ring kabloları birbirine bağlanır ve telefon şirketinden cihazımıza doğru 48 Voltluk gerilim geçmeye başlar. Bağlantı kurulmuştur. Dial-tone sesini duyarız. Ev telefonlarında kullanılır.

Ground Start:

PBX bağlantıları için kullanılır. Ground start'ın amacı aynı anda birden fazla aramayı sağlamaktır.


Bu tür bağlantılarda loop start kullanamayız, çünkü "glare" denilen olay yaşanabilir.

Glare: Telefonu açtığımızda, hiç dial-tone duymadan karşı hatta birinin olmasıdır. Bu da karşı hattaki kişinin sizinle aynı anda o yönde arama yapmasından kaynaklanır.

Bu sadece iki kişi olduğu zaman tesadüftür. Bir de 1000 kişi aynı hattı kullandığı zamanı düşünün!

Bunu önlemek için ground start'ta arama yapılacağı zaman sistem öncelikle bir hattın kullanılacağına dair bir sinyal gönderir ve o hat o süre içerisinde başka bir bağlantı için kullanılamaz.

E+M Wink Start:
E+M Immediate Start:
E+M Delay Start:


Bunlar PBX trunk bağlantılarıdır. PBX hangisini kullanıyorsa router'ı ona uyacak şekilde konfigüre etmeliyiz.

VoIP: Analog Arayüz Tipleri

- FXS
- FXO
- E+M

FXS (Foreign Exchange Station):

Router'a analog ciharları (telefon, fax makinesi vb.) bağlayabilmemizi sağlayan kartlardır. (VIC card)

FXO (Foreign Exchange Office):

Router'ı merkez ofislere (Telco, PBX vb.) bağlamayı sağlayan kartlardır.

E+M (Earth and Magneto):

PBX Trunk bağlantılarıdır.

28 Mart 2009 Cumartesi

VoIP Aramaları için Band Genişliği Hesaplama

Bir VoIP kurulumu için planlama çok önemlidir. Eğer hesaplamalar yanlış yapılırsa, yanlış codec seçilirse, bu hem VoIP bağlantısını hem de olağan ağ bağlantısını doğrudan etkileyecektir. Bu yüzden codec seçimi yapılırken bazı kriterler göz önüne alınmalıdır.

Sample Size: Her paketteki "ses" miktarını belirler. Varsayılan olarak 20 ms. dir. Büyük sample'lar bandwith(band genişliği) tasarrufu sağlar. Ancak bu durumda da delay süresi artar.
20 ms.'lik sample'larda oluşan paket kayıpları ses kalitesindefazla farklılığa yol açmayabilir. Ancak bu değer arttırıldığında oluşabilecek kayıplar farkedilir derecede olacaktır.

Dial-peer'e codec girerken her frame için byte büyüklüğünü hesaplamamız gerekir. Örneğin;
(config-dial-peer)#codec g711ulaw bytes (...)

(...) yazan yere 80, 160, 240 değerlerinden birini yazabiliriz. Bunlar izin verilen değerlerdir. Bnlardan hangisini seçeceğimize karar vermek için;
Hesaplama şöyle olur:
Her sample için byte=(sample size * codec bandwidth)/8

Eğer "240" seçersek şöyle olur;

240 = (sample size * 64000)/8
SS = 0.03 s. = 30 ms.

Yani bu durumda değeri "240" değil "160" olarak seçmemiz daha uygun olacaktır. "160" değeri zaten varsayılan olarak kayıtlıdır.

Bu değere Data Link ve Network Header'larını da ekleyelim.

* Ethernet: 18 bytes
* Frame Relay: 4-6 bytes
* PPP/MLPPP: 6 bytes

* IP: 20 bytes
* UDP: 8 bytes
* RTP: 12 bytes


* GRE/L2TP: 24 bytes
* MPLS: 4 bytes
* IPSec: 50-57 bytes

Pek olası değil ama PPP ile beraber bir de IPSec kullanılıyorsa değer toplamda en az 256 bytes per frame olacaktır.

Şimdi hepsini hesaplayalım:

Packet Size (Paket Büyüklüğü): 256 bytes (160+40+5+50)
Packets Per Second ( Saniye Başına Paket): 50 paket/sn
(Bunu şöyle buluyoruz. Sample size'ımız 20 ms. 1000ms=1s ise; 1000/20 = 50)
Toplam Band Genişliği = Paket Büyüklüğü * Saniye Başına Paket

Toplam Band Genişliği = 256 * 50 = 12800 bytes per second

Toplam (bit olarak) = 12800 * 8 = 102400 bps = 102,4 kbps
Eğer VPN kullanmazsak packet size 206 olur. Tekrardan hesaplarsak: 82,4 kbps bulunur.

64 kbps'lık PBX sistemi için oldukça büyük bir değer.

Eğer codec'i G.711 yerine G.729 kullasaydık... Yine hesaplayalım.

Her sample için byte = (0.02 * 8000)/8
Her sample için byte = 20 bytes

Packet Size = 20+40+6 = 66 bytes
Toplam Band Genişliği = 66 * 50 = 3300 bytes per second
Toplam (bit olarak) = 3300 * 8 = 26400 bps = 26.4 kbps

Bandwidth tasarrufu için ayrıca şunlar vardır:

Voice Activity Detection (VAD):

Konuşmada oluşan sessizlik sırasında paket gönderimini engeller.
Ortalama %35 bandwith tasarrufu sağlar.

Compressed RTP (cRTP):

Codec türüne göre bandwidth tasarrufu sağlar. Örneğin; G.729 ile %40 civarında.
Network ve Transport Layer Header'larını 20 byte'dan 2-4 byte'a sıkıştırır.

27 Mart 2009 Cuma

VoIP: Bazı Terimlerin Tanımı

Echo: Eko. VoIP'de sürekli var olan bir durumdur. Ancak belirlenen düzeylerde olmalıdır.

Jitter
: Kodlanmış ses paketlerinin ulaşım sırasında gecikmeli gelmesi durumudur.

Delay: Konuşma sesi ile karşıya ulaşması arasında geçen süredir.

Packet Loss: Ses paketlerinin değişik network sorunları dolayısıyla düşmesi.

Side Tone: Konuşanın konuşma sesini duymasıdır. Bu olmadan konuşan cihazın çalışmadığını düşünebilir.

Background Voice: Karşı taraftan duyulan düşük sesli sestir.

Fixed Delay: Bağlantı sırasındaki ortalama gecikmedir. Bunlar:

- Coding: Ses sinyalini dijital sinyale dönüştürürken geçen süre.
- Packetization: Dijital ses bilgisini paketlere koyup, paketlerden silerken geçen süre.
- Serialization: Bağlantıya bitlerin eklenmesi.
- Propagation: Paketin bağlantı üzerinde geçen zamanı.