Zergatik SIP dei bat VPN baten bidez erregistratzen den baina audioa bidaltzen ez duen
Erregistroak eta audioak bide desberdinak jarraitzen dituzte. Jarraitu dei bat tunelaren bidez PBXak zein helbide erabil ditzakeen eta RTP non gelditzen den ikusteko.
Erregistro arrakastatsu batek ia ezer ez du esaten audioari buruz. Softphone batek orduak eman ditzake bulegoko PBXarekin baliozko lotura mantentzen eta, hala ere, isiltasuna bidaltzen. Tunelak norbaitek nahita bertara bidaltzen dituen paketeak baino ez ditu eramaten, eta dei batek hiru bide erabiltzen ditu: lotura, elkarrizketa ezartzea eta RTP fluxua. Hauek bereizten dituzunean, hutsegitea bide batean geratzen da, VPN hitzean beharrean.
Imajinatu etxeko Wi-Fi sarean dagoen eramangarri bat bulegoko luzapen bat markatzen tunel onartu baten bidez. PBXak erabiltzailea autentifikatzen du, REGISTER onartzen du eta luzapena erabilgarri agertzen da, baina deia norabide bakarreko isiltasun osoz konektatzen da.
Erregistroak kontaktu bat lotzen du, ez media bide bat
REGISTER eskaera batek erregistratzaileari eskatzen dio erregistro-helbide baten eta kontaktu URI baten edo gehiagoren arteko korrespondentzia gordetzeko. Korrespondentzia horrek galdera estu bati erantzuten dio: nora bidali behar den elkarrizketa berri bat oraintxe. Ez du ezer esaten mediek nor duten, eta onartutako erregistro batek ez du frogatzen geroagoko INVITE batek helbide eskuragarria duenik. Erregistroak denboragailu baten bidez iraungitzen dira, beraz freskatzen uzten duen telefonok sarrera-deiak galtzen ditu bere tunela oraindik osasuntsu dirudien bitartean. Begira iezaiozu kontaktuaren iraungipenari, ez tunelaren egoerari.
Softphonea tunelaren atzean dagoenean, kontaktu goiburuak helbide pribatu bat eraman dezake. Beste mutur batera birbidaltzen duen PBX batek deitutakoak iristen ez duen sare batera zuzendutako elkarrizketa sortzen du. PJSIP muturrean rewrite_contact=yes ezartzeak PBXak ikusi zuen iturburu-helbidea ordezkatzea eragiten du, eta hori izaten da sarritan dei-doinua eta denbora-mugaaren arteko aldea.
Zer eskaintzen du INVITEk eta nork erabil dezake
SDP gorputza duen INVITE batek deitzaileak media non jaso nahi duen proposatzen du: helbide bat, portu bat eta kodek zerrenda bat. Deitutakoak bere helbide eta portuarekin erantzuten du, eta gero alde bakoitzak besteak proposatutakoari RTP bidaltzen dio. Deitzaileak etxeko sarean soilik existitzen den 192.168.x.x helbide bat proposatu badu, deitutakoak ez du audioa bidaltzeko tokirik, seinaleztapena garbia izan den arren. Maskaratzeak IP goiburuak berridazten ditu paketeak bideratzailetik ateratzen direnean, baina ez du inoiz SDP gorputz baten barruko testua berridazten.
Hutsune horrek azaltzen du klasikoa den norabide bakarreko deia: seinaleztapenak funtzionatzen du bi muturrek PBXa iristen dutelako, eta audioak huts egiten du mutur bati beste NAT baten atzean soilik existitzen den helbide batera bidaltzeko esan zitzaiolako.
| Path | Who picks the address | Typical failure |
|---|---|---|
| REGISTER | Softphone, rewritten by the registrar if configured | Binding expires or points at a private address |
| INVITE and SDP | Each endpoint in its own offer or answer | Offer names a media address nobody can route to |
| RTP | PBX relay policy or the two endpoints | Port range blocked, or no return path |
Audioa nork eramaten duen konfigurazioaren erabakia da
Seinaleztapena eta media rol bereiziak dira. Proxy batek dei osoan zehar seinaleztapen bidean egon daiteke eta inoiz ez ukitu RTP pakete bakar bat ere. PBXa media errele bihurtzen den ala ez konfigurazioaren araberakoa da, ez tunel bat egotearen araberakoa.
Media zuzenarekin muturrek elkarren artean trukatzen dute RTP, eta horrek ondo funtzionatzen du LAN batean eta gaizki alde bat portu-tarte estu baten atzean dagoenean.
direct_media=no ezartzeak PBXa media bidean sartzera behartzen du, bi hankak berak kontrolatzen duen helbide batean amaitu daitezen, banda-zabalera eta CPU helbideratze aurreikusteko trukatuz. Errelea egiten duenean, PBXak oraindik helbide eskuragarri bat iragarri behar du. Sare anitzeko ostalaritza batean, external_media_address eta external_signaling_address aipatuek pjsip.conf fitxategian erabakitzen dute zer agertuko den SDPn eta Via goiburuetan. Ezartzen ez badituzu, PBXak bere LAN helbidea eskain diezaioke bide bakarra tunelaren urruneko aldea duen deitzaile bati.
Jarraitu norabide bakoitza ezarpenak ukitu aurretik
Hasi PBXaren socket taulatik deia aktibo dagoen bitartean: ss -uanp | grep -E '5060|10000' erakusten du RTP portuak lotuta dauden eta zein tokiko helbide erabiltzen duten. Media tartean ezer lotuta ez badago, errelea ez dago sartuta eta muturrek zuzenean hitz egiten dute. Gero harrapatu softphonearen aldean tcpdump -ni any -s0 udp portrange 10000-20000 -w rtp.pcap erabiliz. Sarrerako paketerik gabeko irteerako paketeek arazoa itzulera-bidera edo urruneko muturrari erabiltzeko esan zitzaion helbidera murrizten dute, eta harrapaketa hutsak esan nahi du mediak ez duela inoiz tunelaren interfazea ukitu. sngrep erabiliz seinaleztapen harrapaketa batek beste erdia erantzuten du SDP konexio-lerroa bidali zen bezala erakutsiz.
Konparatu konexio-lerro horretako helbidea urruneko muturrak benetan bideratu dezakeen helbidearekin. Konparaketa bakar horrek norabide bakarreko audio txosten gehienak konfigurazio berrikuspen edozein baino azkarrago konpontzen ditu.
Zifratzea tunelaren ertzean gelditzen da
SIP TLS bidezkoak konfiguratu zen seinaleztapen jauzia babesten du, SRTPk media babesten du bi muturrek adosten dutenean, eta tunelak bere muturren arteko trafikoa babesten du. Horietako batek ere ez du bestea ematen. Tunelaren barruan zifratutako dei batek atebidea testu arruntean utz dezake PBXaren norabidean, eta hori diseinu-erabakia da, ez akatsa.
Tiketa itxi aurretik, baieztatu hiru gauza ordenan: erregistroa freskoa da, SDPk urruneko muturrak irits dezakeen helbidea darama, eta paketeak bi norabideetan isurtzen dira media portuetan. Horietako bat faltsua bada, tunela ez da arazoaren tokia. Konpondu huts egin zuen bidea eta gero exekutatu berriro harrapaketa bera aldaketa baieztatzeko. Aurretiko eta ondorengo harrapaketak gordetzeak hurrengo norabide bakarreko txostena bost minutuko egiaztapen bihurtzen du, arratsalde oso baten ordez.