Zvinyorwa zvechinyorwa zvakatorwa kubva kwangu .

RTP packet chimiro
Pakupedzisira isu tiri kushandisa TShark akabatwa RTP mapaketi akatsinhaniswa pakati peanogamuchira uye anotumira. Zvakanaka, mune ino tichapenda zvinhu zvepakeji mumavara akasiyana uye totaura nezvechinangwa chavo.
Ngatitarisei pasuru imwe chete, asi neminda ine tinted uye manotsi anotsanangura:

Pazasi pechinyorwa pane mabhayiti anoumba iyo RTP packet, iyo inozove iyo mubhadharo weiyo UDP packet (musoro wayo wakatsanangurwa mutema). Mavara ane mavara anoratidza iyo RTP musoro mabhayiti, uye girini inoratidza iyo data block iyo ine payload yeRTP packet. Iyo data iripo inounzwa mune hexadecimal fomati. Muchiitiko chedu, iyi iratidziro yeaudio yakamanikidzwa maererano ne-u-law (mu-law), i.e. saizi imwe ndeye 1 byte muhukuru. Sezvo isu takashandisa iyo yakasarudzika sampling rate (8000 Hz), pamwero wepacket ye50 Hz, imwe neimwe RTP packet inofanirwa kunge iine 160 bytes yemubhadharo. Tichaona izvi nekuverenga mabheti munzvimbo yakasvibira, panofanira kunge paine mitsetse gumi.
Zvinoenderana neyakajairwa, huwandu hwe data mubhadharo hunofanirwa kunge huzhinji hwemana, kana nemamwe mazwi hunofanirwa kuve nenhamba nhamba yemazwi mana-byte. Kana zvikaitika kuti mubhadharo wako hauteveri mutemo uyu, saka iwe unofanirwa kuwedzera mabheti ane zero kukosha kusvika kumagumo emubhadharo uye kuseta iyo Padding bit. Ichi chidimbu chiri mune yekutanga byte yeRTP musoro uye ine ruvara rweturquoise. Ziva kuti mabhayiti ese ekubhadhara ane kukosha 0xFF - izvi ndizvo zvinoita kunyarara muu-law fomati.
Iyo RTP packet header ine gumi nemaviri anodiwa mabheti, asi muzviitiko zviviri inogona kureba:
Kana pakiti inotakura chiratidzo chekuteerera chakawanikwa nekusanganisa masaini kubva kune akati wandei (RTP nzizi), ipapo mushure mekutanga 12 bytes yemusoro pane tafura ine runyorwa rwezviratidziro zvekwakabva miripo yakashandiswa kugadzira mubhadharo wepaketi iyi. Muchiitiko ichi, muzasi mabhiti mana ekutanga byte yemusoro (munda Kuverengera kwezviziviso zvekwakabva) nhamba yezvinyorwa zvinoratidzwa. Saizi yemunda ndeye 4 bits, saka tafura inogona kuve neanosvika gumi nemashanu ezviratidzi. Imwe neimwe inotora 15 bytes. Tafura iyi inoshandiswa pakuronga runhare rwemusangano.
Kana musoro wacho uine wedzero. Muchiitiko ichi, bhiti mubhayiti yekutanga yemusoro inoiswa X. Mumusoro wakatambanudzwa, mushure metafura yevatori vechikamu (kana iripo), pane izwi-rimwe rekuwedzera musoro, rinoteverwa nemazwi ekuwedzera. Kuwedzerwa seti yemabhaiti yaunogona kushandisa kuendesa imwe data. Iyo chiyero haitsanangure mafomati eiyi data - inogona kuve chero chinhu. Semuenzaniso, aya anogona kunge ari mamwe marongero echishandiso chinogamuchira RTP mapaketi. Kune mamwe maapplication, zvisinei, yakawedzera misoro miyero yakagadzirwa. Izvi zvinoitwa, semuenzaniso, kumidziyo yekutaurirana muyero ED-137 (Interoperability Standards for VoIP ATM Components).
Zvino ngatitarisei kuminda yemusoro mune zvakadzama. Pazasi pane mufananidzo wecanonical ine chimiro chemusoro weRTP, wandaisagonawo kuramba uye kupendwa mune mamwe mavara.

Ver - protocol vhezheni nhamba (yazvino vhezheni 2);
P - mureza wakaiswa mumamiriro ezvinhu apo RTP packet inowedzerwa nemabheti asina chinhu pamagumo;
X - mureza kuti musoro wakawedzerwa;
CC - ine nhamba yezvinyorwa zveCSRC zvinotevera musoro unogara uripo (mushure memashoko 1..3), tafura haina kuratidzwa mumufananidzo;
M - mucherechedzo wekutanga kwechimiro kana kuvapo kwekutaura mugero (kana pause yekutaura pause detector inoshandiswa). Kana iyo inogamuchira isina detector yekutaura pause, saka iyi bit inofanira kuiswa zvachose;
PTYPE - inoratidza iyo payload fomati;
Kutevedzana nhamba - nhamba yepakiti, inoshandiswa kudzoreredza kurongeka kwekutamba kwepaketi, sezvo mamiriro chaiwo ari apo mapaketi anogona kusvika kune anogamuchira mune imwe hurongwa pane iyo yaakatumirwa. Iko kukosha kwekutanga kunofanirwa kuve kwakasarudzika; Iyi munda zvakare inobvumidza iwe kuti uone madonhwe epaketi;
Timestamp - chitambi chenguva. Nguva inoyerwa muzviratidzo zvechiratidzo, i.e. kana packet ine 160 samples, ipapo timestamp yepacket inotevera ichava yakakura ne 160. Kukosha kwekutanga kwetimestamp kunofanira kunge kusina;
SSRC - Package source identifier, inofanirwa kuve yakasarudzika. Zviri nani kuigadzira zvisina tsarukano usati watanga RTP rukova.
Kana iwe ukagadzira yako wega transmitter kana inogamuchira yeRTP mapaketi, uchafanirwa kutarisa mapaketi ako kanopfuura kamwe, saka kuti uwedzere kugadzirwa, ini ndinokurudzira kuti ugone kushandisa packet kusefa muTShark, inokutendera kuti utore iwo mapaketi chete. izvo zvinokufadza. Mumamiriro ezvinhu apo akawanda emidziyo yeRTP anoshanda panetiweki, izvi zvakakosha. Pamutsetse wekuraira weTShark, kusefa ma paramita anotsanangurwa ne "-f" sarudzo. Takashandisa iyi sarudzo pataida kutora mapaketi kubva pachiteshi 8010:
-f "udp port 8010"
Masefa maparamendi akanyanya seti yemaitiro ayo "akabatwa" packet inofanira kusangana. Mamiriro acho anogona kutarisa kero, chiteshi, kana kukosha kweiyo byte mupacket. Mamiriro ezvinhu anogona kusanganiswa uchishandisa zvine musoro mashandiro "AND", "OR", nezvimwe. Chishandiso chine simba kwazvo.
Kana iwe uchida kuona masimba ekuchinja kwemunda mumabhechi, iwe unozofanirwa kudzokorora zvakabuda TShark kune faira, sezvakaratidzwa muchinyorwa chakapfuura, uchishandisa yakabuda kutumira TShark pamusuwo tee. Tevere, vhura irogi faira uchishandisa zvishoma, vim kana chimwe chishandiso chinogona kukurumidza kushanda nemahombe mameseji mafaera uye kutsvaga tambo, unogona kuwana ese nuances ehunhu hwemapaketi eminda murukova rweRTP.
Kana iwe uchida kuteerera kune chiratidzo chinofambiswa neRTP rukova, saka unofanirwa kushandisa iyo vhezheni TShark ine interface yekuona Wireshark. Nekuita nyore negonzo, unogona kuteerera uye kuona chiratidzo oscillogram. Asi pane imwe mamiriro - kana yakavharirwa muu-law kana a-yakaderera fomati.
Next Isu tichagadzira duplex intercom newe. Tora pane akati wandei mahedhifoni uye imwe interlocutor.
Source: www.habr.com
