Elektroda.pl
Elektroda.pl
X
e-miernikie-mierniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

System Voice over IP

11 Paź 2004 19:13 1565 1
  • Poziom 10  
    Witam wszystkich :D
    Czy ktoś z Was mógłby mi powiedzieć coś konkretnego o systemie Voice over IP ? Może macie jakieś linki dotyczące tego tematu ?
    Dzięki z góry za pomoc
    Pozdrawiam
  • e-miernikie-mierniki
  • Poziom 16  
    Kiedyś mialem ćwiczenie z VoIP. Oto wstęp z mojego sprawozdania. Mam nadzieję że się Tobie przyda :) Wtedy dośc długo szukałem tych materiałów :)
    Cytat:
    Technologia VoIP (Voice over Internet Protocol), nazywana również „telefonią internetową” lub „telefonią IP”, polega na przesyłaniu głosu w czasie rzeczywistym wykorzystując do tego celu pakietową sieć transmisji danych opartą na protokole IP. Umożliwia ona prowadzenie rozmów w sieciach lokalnych lub rozległych (m.in. w Internecie), dzięki czemu mamy możliwość komunikacji z osobami znajdującymi się praktycznie w dowolnym miejscu na świecie, pod warunkiem, że ta osoba ma przyłącze do danej sieci w postaci np. komputera PC z modemem (połączenie z Internetem). Pierwsze publikacje na temat transmisji głosu w sieciach pakietowych opublikowano już w RFC 741 (Specification for the Network Voice Protocol) w 1977r. Jednak dopiero rozwój Internetu (który nierozerwalnie związany jest z protokołem IP) spowodował, że poważnie zajęto się możliwością transmisji głosu w ten sposób. Pierwszy system telefonowania IP został opracowany przez firmę VocalTec w 1995r., natomiast pierwsza brama VoIP weszła na rynek rok później.
    Jeżeli chodzi o rozmowę to całość sesji połączeniowej podzielona jest na dwie fazy: sygnalizacyjną (która kontroluje całą sesję) oraz transportującą media (tzn. cyfrowy strumień danych audio). Fazy te są realizowane przez zespół protokołów, które możemy podzielić na kilka grup, m.in. kodeki mowy, protokoły sygnalizacyjne (np. SIP, H.323), protokoły transmisyjne (transportowe) itp.
    Protokoły sygnalizacyjne są kluczowym elementem telefonii internetowej, ponieważ od ich doboru zależy architektura sieci, realizacja zaawansowanych usług oraz współdziałanie z tradycyjnymi sieciami telefonicznymi. W ogólności do podstawowych funkcji protokołu sygnalizacyjnego zaliczamy:

    - translację adresów i lokalizację użytkownika wywoływanego
    - otwieranie i zamykanie sesji
    - negocjację parametrów sesji i ewentualną ich modyfikację w trakcie połączenia
    - zarządzanie grupą uczestników sesji
    - zarządzanie przebiegiem połączeń

    Jeżeli chodzi o protokoły transmisyjne (transportowe) to do tej grupy protokołów możemy zaliczyć:

    RTP (Real –Time Transport Protocol) (RFC 1899 oraz RFC 1890) – opracowany w IETF (Internet EngeeneringTask Force) w grupie roboczej Audio/Video Transport (http://www.ietf.cnri.reston.va.us/html.charters/avt-charter.html). Po przetworzeniu dźwięku na postać cyfrową jest on dzielony na 20-bajtowe pakiety, które są transmitowane przy użyciu bezpołączeniowego protokołu UDP. RTP nadaje pakietom znaczniki czasowe, które umożliwiają w urządzeniu odbiorczym kontrolę przesunięć czasowych pomiędzy kolejnymi pakietami.

    Na protokole RTP bazuje m.in. VAT (Visual Audio Tool) - multimedialna aplikacja do konferencji audio w Internecie w czasie rzeczywistym opracowana przez Network research Group of Lawrence Berkley National Laboratory. VAT został stworzony głównie do nawiązywania wielowątkowych konferencji audio, jednak możliwe jest wykorzystanie jego do połączeń punkt-punkt w oparciu o standardowe unicastowe adresy IP.
    Jeżeli chodzi o kodowanie sygnału audio, to dźwięk może być zakodowany w standardowym PCM bądź przy użyciu kompresji. Wszystko uzależnione jest od szybkości łącza jakim dysponuje użytkownik VoIP. Spowodowane jest to tym, że sygnał bez kompresji wymaga dużo większej przepływności łącza niż sygnał skompresowany. Jednak z drugiej strony do kompresji i dekompresji sygnału konieczne jest posiadanie szybszego procesora o większej mocy obliczeniowej niż w przypadku kodowania sygnału bez kompresji. A oto przykładowe rodzaje kodowania sygnału audio, na przykładzie programu Speak Freely v7.1:

    - bez kompresji – wymaga łącza umożliwiającego transfer z prędkością 8000 znaków na sekundę. Przy pracy asynchronicznej łącza na 1 transmitowany znak przypada ok. 10 bitów, więc łatwo zauważyć, że nawet łącze 64kb/s nie jest wystarczające do tej transmisji.
    - Simple compresion (Prosta kompresja) – odrzucana jest co druga próbka sygnału, dzięki czemu uzyskujemy ograniczenie prędkości danych do 4000 bajtów na sekundę. W odbiorniku odrzucone próbki są odtwarzane jako średnia sąsiednich próbek. Kompresja tego typu nie wymaga mocnego CPU, ale znacznie obniża jakość dźwięku (wysokoczęstotliwościowe elementy są tracone).
    - Kompresja GSM – stosuje algorytm używany przy kompresji sygnału mowy w telefonii GSM. Stosowanie tej kompresji powoduje ograniczenie prędkości danych z 8000 do 1650 bajtów na sekundę (co sprawia że możliwa jest transmisja nawet na modemie 28.8 Kb). Przy tej kompresji konieczne jest posiadanie dużo lepszego procesora niż w przypadku prostej kompresji. Jest to szczególnie ważne dla kompresji dźwięku (sama dekompresja ma już mniejsze wymagania).
    - Kompresja ADPCM – wykorzystuje Adaptacyjną Różnicową Modulację Impulsowo-kodową (Adaptative Differential Pulse Code Modulation – ADPCM). Powoduje ona ograniczenie prędkości danych do 4000 bajtów na sekundę, czyli identycznie jak dal prostej kompresji, lecz jakość uzyskanego dźwięku jest o wiele lepsza. Jeśli chodzi o wymagania co do CPU to potrzebny jest szybszy procesor niż w prostej kompresji, ale może on być o wiele słabszy niż dla kompresji GSM.
    - Kompresja LPC – wykorzystuje algorytm kodowania z liniową predykcją. Powoduje ogromne ograniczenie przepływności. Daje bardzo dobry współczynnik kompresji, lecz wymaga dużej mocy obliczeniowej od CPU (mnóstwo obliczeń zmiennoprzecinkowych). W metodzie tej w znaczącym stopniu ograniczane są wysokie częstotliwości. Jakość dźwięku jest bardzo niska, generowanych jest dużo zniekształceń. Zrozumiałość przekazu jest w znacznym stopniu uzależniona od sposobu wymawiania wyrazów przez nadającego.
    - Kompresja LPC-10 – wykorzystuje inną formę kodowania z liniową predykcją niż określona przez Standard Ministerstwa Obrony Narodowej Stanów Zjednoczonych (NATO-STANAG-4198). Ogranicza strumień audio do 2400 bitów na sekundę. Dzięki temu, po uwzględnieniu dodatkowych bitów związanych z samą transmisją pakietową, przepływność danych wynosi jedynie 346 bajtów na sekundę. Podobnie jak przy kompresji LPC jakość sygnału audio jest mizerna, a zrozumiałość kiepska (i dodatkowo bardzo uzależniona od mówcy). Z wymienionych powyżej metod kompresji ta ma największe wymagania co do mocy obliczeniowej procesora.