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ż
- Połączenie SIP (aka SIP trunk)
Linki zewnętrzne
- RFC 5456 IAX: Inter-Asterisk eXchange wersja 2
- RFC 6315 Rejestracja IANA dla usługi Enumservice „iax”
- Boucadair, Mohamed (luty 2009). Inter-Asterisk Exchange (IAX): Scenariusze wdrażania w sieciach obsługujących SIP . Wiley'a . ISBN 978-0-470-77072-6 .