Binciko injin Mediastreamer2 VoIP. Kashi na 8

An ɗauko kayan labarin daga nawa zen channel.

Binciko injin Mediastreamer2 VoIP. Kashi na 8

Tsarin fakitin RTP

A karshe labarin muna amfani TShark yi kama fakitin RTP da aka yi musayar tsakanin mai karɓar mu da mai watsawa. To, a cikin wannan za mu zana abubuwa na kunshin a cikin launi daban-daban kuma muyi magana game da manufar su.

Bari mu kalli kunshin guda ɗaya, amma tare da tabo masu launi da alamun bayani:
Binciko injin Mediastreamer2 VoIP. Kashi na 8

A kasan jeri, baitin da ke kunshe da fakitin RTP suna da tinted, kuma wannan shi ne abin da ake biya na fakitin UDP (wanda aka zagaya da kansa da baki). Dabarun masu launin suna nuna baiti na rubutun RTP, kuma toshe bayanan da ke ƙunshe da ɗaukar nauyin fakitin RTP ana haskaka shi da kore. An gabatar da bayanan a tsarin hexadecimal. A wajenmu, wannan siginar sauti ce da aka matse bisa ga u-law (mu-law), watau. samfurin daya yana da girman 1 byte. Tunda mun yi amfani da ƙimar samfurin da aka saba (8000 Hz), tare da adadin fakiti na 50 Hz, kowane fakitin RTP yakamata ya ƙunshi bytes 160 na kaya. Za mu ga wannan ta hanyar kirga bytes a cikin koren yanki, ya kamata a sami layi 10 daga cikinsu.

Bisa ga ma'auni, adadin bayanai a cikin abin da aka biya dole ne ya zama nau'i na hudu, ko kuma a wasu kalmomi, dole ne ya ƙunshi lamba ta lamba ta kalmomi hudu-byte. Idan abin da kuka biya bai yi daidai da wannan ka'ida ba, to kuna buƙatar ƙara bytes masu ƙima zuwa ƙarshen abin da aka biya kuma saita Padding bit. Wannan bit yana cikin baiti na farko na taken RTP kuma yana da launin turquoise. Lura cewa duk bytes na biya 0xFF ne, wanda shine abin da shiru u-law yayi kama.

Babban fakitin RTP ya ƙunshi baiti na tilas 12, amma a lokuta biyu yana iya tsayi:

  • Lokacin da fakiti ke ɗauke da siginar sauti da aka samu ta hanyar haɗa sigina daga maɓuɓɓuka da yawa (RTP streams), to bayan 12 bytes na farko na header akwai tebur mai jerin abubuwan gano tushen wanda aka yi amfani da kayan aikin da aka biya don ƙirƙirar nauyin wannan fakitin. A wannan yanayin, a cikin ƙananan rago huɗu na farkon byte na kai (filin Ƙididdiga masu gano tushen gudummawa) yana nuna adadin kafofin. Girman filin yana da rago 4, don haka tebur zai iya ƙunsar har zuwa masu gano tushe 15. Kowanne daga cikinsu ya mamaye 4 bytes. Ana amfani da wannan tebur lokacin saita kiran taro.

  • Lokacin da take yana da tsawo . A wannan yanayin, an saita bit a farkon byte na rubutun kai X. A cikin babban taken, bayan teburin mahalarta (idan akwai), akwai maɓallin tsawo na kalma ɗaya, sannan kuma kalmomin tsawo. Tsawaita tarin bytes ne waɗanda zaku iya amfani da su don canja wurin ƙarin bayanai. Ma'auni ba ya ƙayyade tsarin wannan bayanan - yana iya zama wani abu. Misali, yana iya zama wasu ƙarin saitunan na'urar da ke karɓar fakitin RTP. Ga wasu aikace-aikace, duk da haka, an haɓaka ƙa'idodin kai tsaye. Ana yin wannan, misali, don sadarwa a cikin ma'auni ED-137 (Ka'idodin Ma'amala don ATM na VoIP).

Yanzu bari mu kalli filayen taken daki-daki. A ƙasa akwai hoto na canonical tare da tsarin rubutun RTP, wanda ni ma ba zan iya tsayayya ba kuma na zana a cikin launuka iri ɗaya.

Binciko injin Mediastreamer2 VoIP. Kashi na 8
Ver - lambar sigar yarjejeniya (na yanzu sigar 2);

P - tutar da aka saita a lokuta inda fakitin RTP ya cika tare da komai na bytes a karshen;

X - tuta cewa an mika kai;

CC - ya ƙunshi adadin masu gano CSRC da ke bin madaidaicin taken (bayan kalmomi 1..3), ba a nuna tebur a cikin adadi ba;

M - alamar farkon firam ko kasancewar magana a cikin tashar (idan an yi amfani da mai gano dakatar da magana). Idan mai karɓa bai ƙunshi mai gano dakatar da magana ba, to wannan bit ɗin za a saita shi har abada;

PTYPE - ƙayyadaddun tsarin aikin biyan kuɗi;

Jerin lamba - lambar fakiti, ana amfani da ita don dawo da tsarin da ake buga fakiti, tunda ainihin yanayin shine lokacin da fakiti za su iya isa ga mai karɓa ta hanyar da ba daidai ba da aka aiko su. Dole ne ƙimar farko ta zama bazuwar, ana yin wannan ta yadda idan aka rufaffen rafin RTP, zai yi wahala a hack shi. Hakanan, wannan filin yana ba ku damar gano fakitin da aka rasa;

Timestamp - timestamp. Ana auna lokaci a cikin samfuran sigina, watau. idan fashe ya ƙunshi samfurori 160, to, tambarin lokaci na fashe na gaba zai zama ƙarin 160. Ƙimar farko na tambarin lokaci dole ne ya kasance bazuwar;

SSRC - mai gano tushen kunshin, dole ne ya zama na musamman. Yana da kyau a samar da shi ba da gangan ba kafin fara rafin RTP.

Idan kun haɓaka naku mai watsawa ko mai karɓa na RTP, dole ne ku sake duba fakitinku fiye da sau ɗaya don ƙara yawan aiki, Ina ba da shawarar ku koyi yadda ake amfani da tacewa fakiti a cikin TShark, yana ba ku damar ɗaukar fakitin kawai waɗanda suke na sha'awar ku. A cikin yanayin da yawancin na'urorin RTP ke aiki akan hanyar sadarwa, wannan yana da matukar amfani. A cikin layin umarni na TShark, an ƙayyade zaɓuɓɓukan tacewa tare da zaɓin "-f". Mun yi amfani da wannan zaɓi lokacin da muke son kama fakiti daga tashar jiragen ruwa 8010:
-f "udp port 8010"
Ma'aunin tacewa ainihin saitin ma'auni ne wanda fakitin "kama" dole ne ya dace. Yanayi na iya duba adireshin, tashar jiragen ruwa, ƙimar wani byte a cikin fakitin. Ana iya haɗa yanayi tare da ayyukan ma'ana "AND", "OR", da dai sauransu. Kayan aiki mai ƙarfi sosai.

Idan kana son duba yanayin canje-canjen filin a batches, kuna buƙatar kwafin abin da aka fitar TShark zuwa fayil, kamar yadda aka nuna a labarin ƙarshe, ta hanyar wucewa da fitarwa TShark a kofar shiga Tee. Na gaba, buɗe fayil ɗin log tare da kasa, vim ko wani kayan aiki wanda zai iya aiki da sauri tare da manyan fayilolin rubutu da bincika kirtani, zaku iya gano duk nuances na halayen fakiti a cikin rafin RTP.

Idan kuna buƙatar sauraron siginar da rafin RTP ke watsawa, to kuna buƙatar amfani da sigar TShark tare da dubawa na gani Wireshark. Tare da sauƙaƙan sarrafa linzamin kwamfuta, zaku iya saurare kuma ku ga siginar kalaman. Amma a kan sharadi ɗaya - idan an sanya shi a cikin u-law ko a-low format.

Na gaba labarin za mu yi intercom duplex tare da ku. Ajiye akan na'urar kai guda biyu da mai shiga tsakani.

source: www.habr.com

Add a comment