Hvers vegna SIP-símtal skráist yfir VPN en sendir ekkert hljóð
Skráning og hljóð fara ólíkar leiðir. Fylgdu einu símtali í gegnum göngin til að sjá hvaða vistföng PBX getur notað og hvar RTP stöðvast í raun.
Árangursrík skráning segir nánast ekkert um hljóð. Hugbúnaðarsími getur haldið gildri tengingu við PBX skrifstofunnar í klukkustundir og samt sent þögn. Göngin flytja aðeins þau pakka sem einhver sendir viljandi inn í þau, og símtal notar þrjár aðskildar leiðir: tengingu, uppsetningu samræðu og RTP-strauminn. Þegar þú aðskilur þær lendir bilunin á einni leið í stað orðsins VPN.
Ímyndaðu þér fartölvu á heima-Wi-Fi sem hringir í skrifstofuframlengingu í gegnum samþykkt göng. PBX staðfestir notandann, tekur við REGISTER og framlengingin birtist sem tiltæk, en símtalið tengist með dauða þögn í aðra áttina.
Skráning tengir tengilið, ekki miðlunarleið
REGISTER-beiðni biður skráningaraðilann að geyma vörpun milli skráningarfangs og eins eða fleiri tengiliða-URI. Sú vörpun svarar þröngri spurningu um hvert ný samræða eigi að fara núna. Hún segir ekkert um hvar miðlun á heima, og samþykkt skráning sannar ekki að síðara INVITE beri aðgengilegt miðlunarfang. Skráningar renna líka út á tímamæli, svo sími sem hættir að endurnýja tapar innkomandi símtölum á meðan göngin hans líta enn heil út. Fylgstu með útrunni tengiliðarins frekar en stöðu ganganna.
Þegar hugbúnaðarsíminn er bak við göngin getur tengiliðarhausinn borið einkafang. PBX sem framsendir það á annan endapunkt býr til samræðu sem beinist að neti sem hinn hringdi kemst ekki á. Að setja rewrite_contact=yes á PJSIP-endapunktinn lætur PBX skipta út upprunafanginu sem það sá, og það er oft munurinn á hringingu og tímamörkum.
Hvað INVITE býður og hver getur notað það
INVITE með SDP-hluta leggur til hvar hringjandinn vill taka við miðlun: fang, port og lista yfir kóða. Hinn hringdi svarar með eigin fangi og porti, og síðan sendir hvor hlið RTP á það sem hin lagði til. Ef hringjandinn lagði til fang af gerðinni 192.168.x.x sem er aðeins til innan heimanetsins hans, hefur hinn hringdi hvergi að senda hljóð, hversu hrein sem merkjagjöfin var. Grímuklæðning endurskrifar IP-hausa þegar pakkar yfirgefa beini, en hún endurskrifar aldrei textann inni í SDP-hluta.
Þetta bil skýrir hina klassísku einstefnu-símtal: merkjagjöf virkar vegna þess að báðir endapunktar komast á PBX, og hljóð mistekst vegna þess að annar endapunkturinn var látinn senda á fang sem er aðeins til bak við annað NAT.
| 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 |
Hver ber hljóðið er stillingarval
Merkjagjöf og miðlun eru aðskilin hlutverk. Proxy getur verið á merkjaleiðinni allt símtalið og aldrei snert einn einasta RTP-pakka. Hvort PBX verður miðlunarendurvarp fer eftir stillingum, ekki tilvist ganga.
Með beinni miðlun skiptast endapunktarnir sjálfir á RTP, sem virkar vel á einu LANi og illa þegar önnur hliðin er bak við þröngt portabil.
Að setja direct_media=no þrýstir PBX inn á miðlunarleiðina svo báðir fætur endi á fangi sem það stýrir, og skiptir bandvídd og örgjörva fyrir fyrirsjáanlega fangsetningu. Þegar það endurvarpar verður PBX samt að auglýsa aðgengilegt fang. Á vél með mörgum netum ákvarða external_media_address og external_signaling_address í pjsip.conf hvað birtist í SDP og í Via-hausum. Ef þú skilur þau eftir óstillt getur PBX boðið LAN-fangið sitt hringjanda sem eina leiðin er fjarlæga hlið ganganna.
Fylgdu hverri átt áður en þú snertir stillingar
Byrjaðu á sokk-töflunni á PBX meðan símtal er í gangi: ss -uanp | grep -E '5060|10000' sýnir hvort RTP-port séu bundin og hvaða staðarfang þau nota. Ef ekkert er bundið í miðlunarbilinu er endurvarpið ekki virkt og endapunktarnir tala beint. Taktu síðan upp á hugbúnaðarsímahliðinni með tcpdump -ni any -s0 udp portrange 10000-20000 -w rtp.pcap. Útfarendi pakkar án innfarendi pakka þrengja vandann að endurleiðinni eða að fanginu sem fjarlæga hliðin var látin nota, og tóm upptaka þýðir að miðlun náði aldrei göngutenginu. Merkjaupptaka með sngrep svarar hinum helmingnum með því að sýna SDP-tengingarlínuna eins og hún var send.
Berðu saman fangið í þeirri tengingarlínu við fangið sem fjarlæga hliðin getur raunverulega beint á. Þessi eina samanburður leysir flestar einstefnu-hljóðskýrslur hraðar en nokkur stillingaryfirferð.
Dulkóðun stöðvast við brún ganganna
SIP yfir TLS verndar merkjahoppið sem það var stillt fyrir, SRTP verndar miðlun þegar báðir endar semja um það, og göngin vernda umferð milli eigin endapunkta. Ekkert þeirra veitir hin. Símtal sem er dulkóðað inni í göngunum getur yfirgefið gáttina í klártexta í átt að PBX, og það er hönnunarákvörðun, ekki galli.
Áður en þú lokar miðanum skaltu staðfesta þrennt í röð: skráningin er fersk, SDP ber fang sem fjarlæga hliðin kemst á, og pakkar streyma í báðar áttir á miðlunarportum. Ef eitthvað af þessu er rangt býr vandamálið ekki í göngunum. Lagaðu leiðina sem brást og keyrðu síðan sömu upptöku aftur til að staðfesta breytinguna. Að geyma upptökurnar fyrir og eftir gerir næstu einstefnu-skýrslu að fimm mínútna athugun í stað heils eftirmiðdags.