Diiwaangelinta guulaysata wax badan kama sheegto codka. Softphone wuxuu saacado badan xiriir ansax ah la yeelan karaa PBX-ga xafiiska oo weli shuruud u gudbin karaa. Tunnelku wuxuu qaadaa oo kaliya baakadaha qof si ula kac ah ugu soo diro, wicitaankuna wuxuu isticmaalaa saddex waddo oo kala duwan: xiriirka, diyaarinta wada-hadalka iyo qulqulka RTP. Marka aad kala soocdo, ciladdu waxay ku dhacdaa hal waddo halkii ay ku dhici lahayd ereyga VPN.

Qiyaas laptop ku jira Wi-Fi guriga oo taleefanaya khadka gudaha xafiiska iyada oo tunnel la ansixiyay maraysa. PBX wuxuu xaqiijiyaa isticmaalaha, wuxuu aqbalaa REGISTER, khadkuna wuxuu u muuqdaa mid la heli karo, haddana wicitaanku wuxuu ku xirmaa aamusnaan buuxda hal jiho.

Diiwaangelintu waxay xirtaa xiriir, ma aha waddo wax-muqaal

Codsiga REGISTER wuxuu ka codsanayaa diiwaangeliyaha inuu kaydiyo isku-xirka ciwaanka diiwaanka iyo hal ama in ka badan URI xiriir. Isku-xirkaas wuxuu ka jawaabaa su'aal cidhiidhi ah oo ku saabsan halka wada-hadal cusub hadda loo diro. Wax kama sheegto halka wax-muqaalku ku habboon yahay, diiwaangelin la aqbalayna ma caddeyso in INVITE dambe uu qaado ciwaan wax-muqaal la gaari karo. Diiwaangelintu waxay sidoo kale dhacdaa waqti-qaadid, sidaas darteed telefoonka joojiya cusboonaysiinta wuxuu lumiyaa wicitaannada soo socda inta tunnelkiisu weli caafimaad qabo u muuqdo. La soco dhacidda xiriirka ee ha eegin xaaladda tunnelka.

Marka softphone-ku yahay gadaasha tunnelka, madaxa xiriirku wuxuu qaadan karaa ciwaan gaar ah. PBX u gudbiya qayb kale oo ugu dambeyn wuxuu abuuraa wada-hadal u jeedda shabakad aan laga gaari karin dhinaca la wacay. Dejinta rewrite_contact=yes ee qaybta ugu dambeyn PJSIP waxay PBX ka dhigtaa inuu beddelo ciwaanka isha uu arkay, tanina inta badan waa farqiqa u dhexeeya dhawaqa iyo waqtiga dhammaadka.

Waxa INVITE soo bandhigo iyo cidda isticmaali karta

INVITE leh jir SDP wuxuu soo jeedinayaa halka wicitaanka doonayo inuu wax-muqaal ku qaato: ciwaan, deked iyo liis codec. Dhinaca la wacay wuxuu ku jawaabaa ciwaankiisa iyo dekeddiisa, ka dibna dhinac kastaa wuxuu RTP u diraa meesha dhinaca kale soo jeediyay. Haddii wicitaanku soo jeediyay ciwaan 192.168.x.x oo kaliya ku jira shabakaddiisa guriga, dhinaca la wacay ma hayo meel uu cod u diro, si kasta oo calaamaddu nadiif tahay. Masking-ku wuxuu dib u qoraa madaxyada IP marka baakaduhu ka baxaan router, laakiin waligiis dib uma qoro qoraalka ku jira jirka SDP.

Farqigaas wuxuu sharraxayaa wicitaanka caadiga ah ee hal jiho: calaamaddu way shaqaysaa maxaa yeelay labada qayboodba way gaaraan PBX, codkuna wuu guuldareystaa maxaa yeelay hal qayb ayaa loo sheegay inuu u diro ciwaan kaliya ka jira gadaasha NAT kale.

PathWho picks the addressTypical failure
REGISTERSoftphone, rewritten by the registrar if configuredBinding expires or points at a private address
INVITE and SDPEach endpoint in its own offer or answerOffer names a media address nobody can route to
RTPPBX relay policy or the two endpointsPort range blocked, or no return path

Cidda qaadda codka waa doorasho habeyn

Calaamadda iyo wax-muqaalku waa doorar kala duwan. Proxy wuxuu ku sii jiri karaa wadada calaamadda wicitaan dhan oo waligiis taaban karin hal baakad RTP. In PBX noqdo gudbiye wax-muqaal waxay ku xiran tahay habeynta, ma aha jiritaanka tunnel.

Wax-muqaal toos ah, qaybaha ugu dambeyn ayaa isweydaarsada RTP, taas oo si fiican ugu shaqaysa hal LAN oo si xun ugu shaqaysa marka dhinac ku jiro gadaasha xad deked cidhiidhi ah.

Dejinta direct_media=no waxay PBX ku riixdaa wadada wax-muqaalka si labada lugoodba ugu dhammaadaan ciwaan uu maamulo, iyada oo beddelaysa xajmiga iyo processor-ka helitaan ciwaan la saadaalin karo. Marka uu gudbiyo, PBX wali waa inuu ku dhawaaqaa ciwaan la gaari karo. Martigeliyaha shabakado badan, external_media_address iyo external_signaling_address ee pjsip.conf ayaa go'aamiya waxa ka muuqda SDP iyo madaxyada Via. Haddii aad ka tagto iyaga oo aan la dejin, PBX waxaa laga yaabaa inuu u soo bandhigo ciwaankiisa LAN wicitaan-qaate uu waddada kaliya tahay dhinaca fog ee tunnelka.

Raac jiho kasta ka hor inta aadan taaban dejinta

Ka bilow shaxda socket-ka PBX inta wicitaanku socdo: ss -uanp | grep -E '5060|10000' wuxuu muujinayaa in dekedaha RTP xiran yihiin iyo ciwaanka maxalliga ah ee ay isticmaalaan. Haddii wax aan ku xirmin xadka wax-muqaalka, gudbiyuhu ma shaqeynayo oo qaybaha ugu dambeyn si toos ah ayay u hadlayaan. Kadib ku qabo dhinaca softphone-ka tcpdump -ni any -s0 udp portrange 10000-20000 -w rtp.pcap. Baakadaha baxa oo aan lahayn baakado soo gala waxay dhibaatada ku cidhiidhiyaan wadada soo noqodka ama ciwaanka dhinaca fog loo sheegay inuu isticmaalo, duubid madhanina waxay ka dhigan tahay in wax-muqaalku waligiis gaarin interface-ka tunnelka. Duubista calaamadda sngrep waxay ka jawaabtaa qaybta kale iyada oo tusaysa khadka xiriirka SDP sidii loo diray.

Isbarbar dhig ciwaanka khadka xiriirkaas iyo ciwaanka dhinaca fog uu dhab ahaan u mari karo. Isbarbardhiggaas keliya ayaa xalliya inta badan warbixinnada codka hal jiho si ka dhaqso badan dib u eegis habeyn kasta.

Sir-gelinta waxay istaagtaa cidhifka tunnelka

SIP oo TLS dul ah wuxuu ilaaliyaa boodboodka calaamadda loo habeeyay, SRTP wuxuu ilaaliyaa wax-muqaalka marka labada dhinac ay ku heshiiyaan, tunnelkuna wuxuu ilaaliyaa socodka u dhexeeya qaybihiisa ugu dambeyn. Midkoodna kan kale ma siiyo. Wicitaan lagu sir-geliyay tunnelka dhexdiisa wuxuu ka bixi karaa albaabka isagoo qoraal cad u jeedda PBX, taasina waa go'aan naqshadeed ma aha cilad.

Ka hor inta aadan xirto tiketka, xaqiiji saddex arrimood si kala horeysan: diiwaangelintu waa cusub, SDP waxay qaadaysaa ciwaan dhinaca fog gaari karo, baakaduhuna labada jiho ayay u socdaan dekedaha wax-muqaalka. Haddii midkoodna been yahay, dhibaatadu kuma jirto tunnelka. Hagaaji waddada guuldareysatay, kadibna mar kale soco isla duubistaas si aad u xaqiijiso isbeddelka. Kaydinta duubista ka hor iyo ka dib waxay warbixinta xigta ee hal jiho ka dhigtaa hubin shan daqiiqo ah halkii ay ahaan lahayd galab dhan.

Maqaallo la xiriira