Kwa nini simu ya SIP inajisajili kupitia VPN lakini haituma sauti
Usajili na sauti hufuata njia tofauti. Fuatilia simu moja kupitia handaki ili kuona anwani gani PBX inaweza kutumia na wapi RTP inasimama hasa.
Usajili uliofaulu hausemi karibu kitu chochote kuhusu sauti. Simu laini inaweza kudumisha kiungo halali na PBX ya ofisi kwa saa nyingi na bado kuwasilisha ukimya. Handaki hubeba tu pakiti ambazo mtu hupeleka ndani yake kwa makusudi, na simu hutumia njia tatu tofauti: kiungo, maandalizi ya mazungumzo na mtiririko wa RTP. Ukizitenganisha, hitilafu huangukia njia moja badala ya neno VPN.
Fikiria kompyuta mpakato kwenye Wi-Fi ya nyumbani ikipiga kiendelezi cha ofisi kupitia handaki lililoidhinishwa. PBX inathibitisha mtumiaji, inakubali REGISTER, na kiendelezi kinaonekana kama kinapatikana, lakini simu inaunganishwa na ukimya kamili upande mmoja.
Usajili hufunga mwasiliani, si njia ya midia
Ombi la REGISTER humwomba msajili kuhifadhi ramani kati ya anwani ya rekodi na URI moja au zaidi za mwasiliani. Ramani hiyo hujibu swali jembamba kuhusu wapi mazungumzo mapya yapelekwe sasa hivi. Haisemi chochote kuhusu midia inapohusika, na usajili uliokubaliwa hauthibitishi kwamba INVITE ya baadaye hubeba anwani ya midia inayoweza kufikiwa. Usajili pia huisha kwa kipima muda, kwa hiyo simu inayoacha kusasisha hupoteza simu zinazoingia wakati handaki yake bado inaonekana nzuri. Fuatilia kuisha kwa mwasiliani badala ya hali ya handaki.
Simu laini inapokuwa nyuma ya handaki, kichwa cha mwasiliani kinaweza kubeba anwani ya kibinafsi. PBX inayoisambaza kwa mwisho mwingine huunda mazungumzo yanayoelekea mtandao ambao mpigiwaji hawezi kufikia. Kuweka rewrite_contact=yes kwenye mwisho wa PJSIP hufanya PBX kubadilisha anwani ya chanzo iliyoiona, na mara nyingi hiyo ndiyo tofauti kati ya mlio na muda kuisha.
INVITE inatoa nini na nani anaweza kuitumia
INVITE yenye mwili wa SDP inapendekeza mahali mpigaji anataka kupokea midia: anwani, bandari na orodha ya codec. Mpigiwaji hujibu kwa anwani na bandari yake mwenyewe, kisha kila upande hutuma RTP mahali ambapo mwingine alipendekeza. Ikiwa mpigaji alipendekeza anwani ya 192.168.x.x ambayo inapatikana tu ndani ya mtandao wake wa nyumbani, mpigiwaji hana mahali pa kutuma sauti, hata ishara iwe safi kiasi gani. Ufichaji huandika upya vichwa vya IP pakiti zinapotoka kwenye kipanga njia, lakini kamwe hauandiki upya maandishi ndani ya mwili wa SDP.
Pengo hilo hufafanua simu ya kawaida ya upande mmoja: ishara hufanya kazi kwa sababu ncha zote mbili zinafika PBX, na sauti hushindwa kwa sababu ncha moja iliambiwa itume kwa anwani inayopatikana tu nyuma ya NAT nyingine.
| 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 |
Nani hubeba sauti ni chaguo la usanidi
Ishara na midia ni majukumu tofauti. Proksi inaweza kubaki kwenye njia ya ishara kwa simu nzima na kamwe isiguse pakiti moja ya RTP. Ikiwa PBX itakuwa kipitisho cha midia inategemea usanidi, si uwepo wa handaki.
Kwa midia ya moja kwa moja ncha hubadilishana RTP zenyewe, jambo ambalo hufanya kazi vizuri kwenye LAN moja na vibaya wakati upande mmoja uko nyuma ya kanda nyembamba ya bandari.
Kuweka direct_media=no husukuma PBX kwenye njia ya midia ili miguu yote miwili iishie kwenye anwani inayodhibiti, ikibadilisha bandwidth na processor kwa anwani inayotabirika. Inapopitisha, PBX bado lazima itangaze anwani inayoweza kufikiwa. Kwenye mwenyeji wa mitandao mingi, external_media_address na external_signaling_address katika pjsip.conf huamua kinachoonekana kwenye SDP na kwenye vichwa vya Via. Ukiziacha bila kuwekwa, PBX inaweza kumpa anwani yake ya LAN mpigaji ambaye njia yake pekee ni upande wa mbali wa handaki.
Fuatilia kila mwelekeo kabla ya kugusa mipangilio
Anza na jedwali la soketi kwenye PBX wakati simu iko hewani: ss -uanp | grep -E '5060|10000' huonyesha kama bandari za RTP zimefungwa na anwani gani ya ndani zinatumia. Ikiwa hakuna kilichofungwa katika kanda ya midia, kipitisho hakijashiriki na ncha zinazungumza moja kwa moja. Kisha nase kwa upande wa simu laini kwa tcpdump -ni any -s0 udp portrange 10000-20000 -w rtp.pcap. Pakiti zinazotoka bila pakiti zinazoingia hupunguza tatizo hadi njia ya kurudi au anwani ambayo upande wa mbali uliambiwa uitumie, na nasa tupu inamaanisha midia haikufika kabisa kwenye kiolesura cha handaki. Nasa ya ishara na sngrep hujibu nusu nyingine kwa kuonyesha mstari wa muunganisho wa SDP jinsi ulivyotumwa.
Linganisha anwani iliyo kwenye mstari huo wa muunganisho na anwani ambayo upande wa mbali unaweza kuielekeza kweli. Ulinganisho huo mmoja hutatua ripoti nyingi za sauti ya upande mmoja kwa haraka kuliko ukaguzi wowote wa usanidi.
Usimbaji fiche huishia kwenye ukingo wa handaki
SIP juu ya TLS hulinda hatua ya ishara iliyosanidiwa kwayo, SRTP hulinda midia wakati pande zote mbili zinakubaliana, na handaki hulinda trafiki kati ya ncha zake zenyewe. Hakuna hata moja inayotoa nyingine. Simu iliyosimbwa fiche ndani ya handaki inaweza kutoka lango kwa maandishi wazi kuelekea PBX, na hilo ni uamuzi wa muundo, si kasoro.
Kabla ya kufunga tiketi, thibitisha mambo matatu kwa mpangilio: usajili ni mpya, SDP hubeba anwani ambayo upande wa mbali unaweza kufikia, na pakiti zinatiririka pande zote mbili kwenye bandari za midia. Ikiwa lolote ni la uwongo, handaki si mahali tatizo linapoishi. Rekebisha njia iliyoshindwa, kisha endesha tena nasa hiyo hiyo ili kuthibitisha mabadiliko. Kutunza nasa za kabla na baada hufanya ripoti ijayo ya upande mmoja kuwa ukaguzi wa dakika tano badala ya mchana mzima.