Eksplore motè VoIP Mediastreamer2 la. Pati 8

Materyèl atik la pran nan men mwen zen channel.

Eksplore motè VoIP Mediastreamer2 la. Pati 8

Estrikti pake RTP

Nan tan lontan an Atik nou ap itilize TShark te kaptire pake RTP echanje ant reseptè nou an ak transmetè. Oke, nan yon sèl sa a nou pral penti eleman yo nan pake a nan diferan koulè epi pale sou objektif yo.

Ann pran yon gade nan menm pake a, men ak jaden tente ak nòt eksplikasyon:
Eksplore motè VoIP Mediastreamer2 la. Pati 8

Nan pati anba a nan lis la se bytes ki fè pake RTP a, ki an vire se chaj la nan pake UDP a (se header li dekri an nwa). Orijin ki gen koulè endike byte header RTP yo, ak vèt endike blòk done ki gen chaj pake RTP la. Done yo prezante nan fòma egzadesimal. Nan ka nou an, sa a se yon siyal odyo konprese selon u-law (mu-law), i.e. yon echantiyon se 1 byte nan gwosè. Depi nou te itilize pousantaj echantiyon an default (8000 Hz), nan yon pousantaj pake 50 Hz, chak pake RTP ta dwe genyen 160 bytes chaj. Nou pral wè sa nan konte bytes yo nan zòn vèt la, ta dwe gen 10 liy.

Dapre estanda a, kantite done nan chaj la dwe yon miltip nan kat, oswa nan lòt mo, li dwe genyen yon nonb antye relatif nan mo kat byte. Si li rive ke chaj ou a pa matche ak règ sa a, Lè sa a, ou bezwen ajoute bytes ki gen valè zewo nan fen chaj la epi mete ti jan an padding. Ti jan sa a sitiye nan premye byte nan header RTP a epi li gen koulè turkwaz. Remake byen ke tout byte chaj yo se 0xFF, ki se sa ki silans u-law sanble.

Tèt pake RTP a konsiste de 12 byte obligatwa, men nan de ka li ka pi long:

  • Lè yon pake pote yon siyal odyo jwenn nan melanje siyal ki soti nan plizyè sous (RTP kouran), Lè sa a, apre premye 12 bytes nan header la gen yon tab ak yon lis idantifyan sous ki gen chaj yo te itilize yo kreye chaj la nan pake sa a. Nan ka sa a, nan kat bit ki pi ba yo nan premye octet nan header la (jaden Idantifyan sous kontribisyon konte) yo endike kantite sous yo. Gwosè jaden an se 4 bit, kidonk tablo a ka genyen jiska 15 idantifyan sous. Chak nan yo ki pran 4 octets. Yo itilize tab sa a lè w ap òganize yon konferans.

  • Lè tit la gen ekstansyon an. Nan ka sa a, se ti jan an mete nan premye byte nan header la X. Nan header pwolonje a, apre tab la nan patisipan yo (si genyen nenpòt), gen yon header ekstansyon yon sèl mo, ki te swiv pa mo yo nan ekstansyon an. Yon ekstansyon se yon seri bytes ke ou ka itilize pou transfere plis done. Estanda a pa presize fòma done sa yo - li kapab anyen. Pou egzanp, sa yo ta ka kèk anviwònman adisyonèl pou aparèy la ki resevwa pake RTP. Pou kèk aplikasyon, sepandan, estanda header pwolonje yo te devlope. Sa a se fè, pou egzanp, pou ekipman kominikasyon nan estanda a ED-137 (Estanda entèoperabilite pou eleman VoIP ATM).

Koulye a, kite a gade nan jaden yo header an plis detay. Anba a se yon foto kanonik ak estrikti nan yon header RTP, ki mwen menm mwen pa t 'kapab reziste ak pentire nan menm koulè yo.

Eksplore motè VoIP Mediastreamer2 la. Pati 8
VER — nimewo vèsyon pwotokòl (vèsyon aktyèl 2);

P - yon drapo ki mete nan ka kote pake RTP a konplete ak octets vid nan fen;

X - drapo ke header la pwolonje;

CC — gen kantite idantifyan CSRC apre tèt konstan an (apre mo 1..3), tablo a pa montre nan figi a;

M — makè nan kòmansman an nan ankadreman an oswa prezans nan lapawòl nan kanal la (si yo itilize yon detektè poz lapawòl). Si reseptè a pa gen yon detektè poz lapawòl, Lè sa a, ti jan sa a dwe mete tout tan;

PTYPE - presize fòma chaj la;

Nimewo sekans — nimewo pake, itilize retabli lòd la nan lèktur pake, depi sitiyasyon reyèl la se lè pake yo ka rive jwenn reseptè a nan yon lòd diferan pase nan kote yo te voye. Valè inisyal la dwe o aza; sa fèt pou si yo itilize chifreman RTP kouran, li pral difisil pou krak. Jaden sa a tou pèmèt ou detekte gout pake;

Orodataj - koupon tan. Tan yo mezire nan echantiyon siyal, i.e. si yon pete gen 160 echantiyon, Lè sa a, timestamp nan pwochen pete a pral 160 plis. Valè inisyal la nan timestamp la dwe o aza;

SSRC — idantifyan sous pake, li dwe inik. Li pi bon pou jenere li owaza anvan ou kòmanse kouran RTP.

Si w devlope pwòp transmetè oswa reseptè RTP pake w, w ap oblije gade pake w yo plis pase yon fwa pou w ka ogmante pwodiktivite, mwen rekòmande pou w aprann kijan pou w itilize filtraj pake nan TShark, li pèmèt ou pran sèlman pake sa yo ki yo enterese w. Nan yon anviwònman kote plizyè douzèn aparèy RTP opere sou rezo a, sa a gen anpil valè. Nan liy lòd TShark, opsyon filtraj yo espesifye ak opsyon "-f". Nou te itilize opsyon sa a lè nou te vle pran pake ki soti nan pò 8010:
-f "udp port 8010"
Paramèt filtraj yo se esansyèlman yon seri kritè ke pake "pran" la dwe satisfè. Kondisyon an ka tcheke adrès, pò oswa valè yon byte espesifik nan pake a. Kondisyon yo ka konbine lè l sèvi avèk operasyon lojik "AK", "OSWA", elatriye. Yon zouti trè pwisan.

Si ou vle wè dinamik chanjman jaden yo nan lo, w ap bezwen kopi pwodiksyon an TShark nan yon dosye, jan yo montre nan dènye atik la, pa pase pwodiksyon an TShark nan papòt la te. Apre sa, louvri dosye a boutèy demi lit ak mwens, vim oswa yon lòt zouti ki ka byen vit travay ak dosye tèks gwo ak rechèch pou fisèl, ou ka jwenn tout nuans yo nan konpòtman an nan jaden pake nan yon kouran RTP.

Si ou bezwen koute siyal la transmèt pa kouran RTP, Lè sa a, ou bezwen sèvi ak vèsyon an TShark ak koòdone vizyèl Wireshark. Pa senp manipilasyon ak sourit la, ou ka koute ak wè osilogram siyal la. Men, sou yon sèl kondisyon - si li se kode nan fòma u-lwa oswa yon-ba.

Next Atik Nou pral fè yon entèrfon duplex avèk ou. Stock moute sou yon koup nan kask ak yon sèl entèrlokuteur.

Sous: www.habr.com

Add nouvo kòmantè