Wymiana między gwiazdkami

Inter-Asterisk eXchange ( IAX ) to protokół komunikacyjny natywny dla oprogramowania Asterisk Private Branch Exchange (PBX) i jest obsługiwany przez kilka innych softswitchów , systemów PBX i softphonów. Służy do przenoszenia sesji telefonii VoIP pomiędzy serwerami oraz do urządzeń końcowych.

Oryginalny protokół IAX jest przestarzały i został zastąpiony przez drugą wersję, powszechnie nazywaną IAX2. Protokół IAX2 został opublikowany jako dokument informacyjny (niestandardowy) RFC 5456 według uznania edytora RFC w lutym 2010 r.

Podstawowe właściwości

IAX to protokół VoIP , który może być używany do dowolnego rodzaju mediów strumieniowych, w tym wideo, ale jest przeznaczony głównie do połączeń głosowych IP.

IAX używa pojedynczego strumienia danych User Datagram Protocol (UDP) między punktami końcowymi zarówno do sygnalizacji sesji, jak i ładunków multimedialnych. W związku z tym wykorzystuje tylko jeden numer portu UDP , zwykle 4569. Ta funkcja zapewnia korzyści podczas przechodzenia przez translatory adresów sieciowych w granicach sieci, ponieważ upraszcza konfigurację zapory . Inne protokoły VoIP zwykle wykorzystują niezależne strumienie do sygnalizacji i mediów, takie jak Session Initiation Protocol (SIP), H.323 i Media Gateway Control Protocol (MGCP), które przenoszą media z protokołem transportu w czasie rzeczywistym (RTP).

IAX to protokół kodowany binarnie. Nowe funkcje rozszerzenia muszą mieć przydzielony nowy kod numeryczny. Historycznie było to wzorowane na wewnętrznym przekazywaniu danych przez moduły Asterisk. [ potrzebne źródło ]

IAX obsługuje trunking , multipleksowanie kanałów przez pojedyncze łącze. Podczas trunkingu dane z wielu sesji są łączone w jeden strumień pakietów między dwoma punktami końcowymi, zmniejszając obciążenie IP bez tworzenia dodatkowych opóźnień. Jest to korzystne w przypadku VoIP , w których nagłówki IP wykorzystują duży procent przepustowości .

IAX2 obsługuje natywne szyfrowanie strumieni kontrolnych i multimedialnych przy użyciu algorytmu AES-128 .

Pochodzenie

Obie wersje protokołu IAX zostały stworzone przez Marka Spencera , a znaczna część rozwoju została przeprowadzona w społeczności open source Asterisk.

Cele

Głównymi celami IAX są minimalizacja przepustowości wykorzystywanej w transmisjach medialnych, ze szczególnym uwzględnieniem kontroli poszczególnych połączeń głosowych oraz zapewnienie przejrzystości translacji adresów sieciowych (NAT). Miał być łatwy w użyciu za zaporami ogniowymi .

Wady

  • Niezręczna rozszerzalność: Ze względu na brak ogólnego mechanizmu rozszerzającego, w specyfikacji protokołu trzeba dodać nowe funkcje, co sprawia, że ​​protokół jest mniej elastyczny niż H.323 , SIP czy MGCP .
  • Luka w zabezpieczeniach: starsze implementacje IAX2 były podatne na ataki DoS związane z wyczerpaniem zasobów, które są dostępne publicznie. [ potrzebne źródło ] Chociaż nie istniały żadne rozwiązania tych problemów, najlepsze praktyki obejmowały ograniczenie dostępu do portu UDP do określonych zaufanych adresów IP. Porty IAX2 z dostępem do Internetu są uważane za podatne na ataki i powinny być ściśle monitorowane. Fuzzer wykrywania tych luk w zabezpieczeniach aplikacji został opublikowany na milw0rm i jest zawarty w VoIPerze drzewo rozwoju. Kwestie te zostały pokrótce wspomniane w IAX RFC 5456 na stronie 94. Ta luka nie występuje w aktualnych instalacjach Asterisk lub innych central PBX.

Zobacz też

Linki zewnętrzne