Vekolîna motora VoIP ya Mediastreamer2. Beş 8

Madeya gotarê ji min hatiye girtin kanala zen.

Vekolîna motora VoIP ya Mediastreamer2. Beş 8

Struktura pakêta RTP

Di ya paşîn de gotara em bi kar tînin TSark girtina pakêtên RTP yên ku di navbera wergir û veguhezkarê me de hatin veguheztin pêk anî. Welê, di vê yekê de em ê hêmanên pakêtê bi rengên cihêreng boyax bikin û li ser armanca wan biaxivin.

Ka em li heman pakêtê binêrin, lê bi marjînalên rengîn û etîketên raveker:
Vekolîna motora VoIP ya Mediastreamer2. Beş 8

Di binê navnîşê de, baytên ku pakêta RTP-ê pêk tînin têne rengkirin, û ev di encamê de bargiraniya pakêta UDP-yê ye (sernivîsa wê di reş de ye). Paşnavên rengîn baytên sernavê RTP destnîşan dikin, û bloka daneyê ya ku bargiraniya pakêta RTP vedihewîne bi kesk tê ronî kirin. Daneyên di forma hexadecimal de têne pêşkêş kirin. Di rewşa me de, ev îşaretek dengî ye ku li gorî u-qanûnê (mu-law) hatî berhev kirin, yanî. yek nimûne mezinahiya 1 bayt e. Ji ber ku me rêjeya nimûneya xwerû (8000 Hz) bikar anî, bi rêjeya pakêtê ya 50 Hz, divê her pakêtek RTP 160 bayt bargiran hebe. Em ê vê yekê bi jimartina baytên li qada kesk bibînin, divê 10 rêzên wan hebin.

Li gorî standardê, mîqdara daneya di bargiraniyê de divê pirjimara çar be, an jî bi gotinek din, divê hejmarek peyvên çar-byte hebe. Ger diqewime ku barkirina we bi vê qaîdeyê re nagire, wê hingê hûn hewce ne ku baytên bi nirxa sifir li dawiya barkirinê zêde bikin û bit Padding saz bikin. Ev bit di baytê yekem a sernivîsa RTP de cih digire û bi rengê turquoise ye. Bala xwe bidinê ku hemî baytên bargiraniyê 0xFF ne, ya ku bêdengiya u-qanûnê wusa xuya dike.

Sernavê pakêta RTP ji 12 bytên mecbûrî pêk tê, lê di du rewşan de ew dikare dirêjtir be:

  • Gava ku pakêtek sînyalek dengî hildigire ku bi tevlihevkirina sînyalên ji çend çavkaniyan (herikên RTP) hatî wergirtin, wê hingê piştî 12 baytên pêşîn ên sernavê tabloyek bi navnîşek nasnavên çavkaniyê heye ku barkirina wan ji bo afirandina barkirina vê pakêtê hatî bikar anîn. Di vê rewşê de, di çar bitên jêrîn ên baytê yekem ên sernavê de (qad Nasnameyên çavkaniyê yên beşdar têne hejmartin) hejmara çavkaniyan nîşan dide. Mezinahiya zeviyê 4 bit e, ji ber vê yekê tablo dikare heya 15 nasnameyên çavkaniyê bigire. Her yek ji wan 4 byte digire. Ev tablo dema sazkirina banga konferansê tê bikar anîn.

  • Dema ku sernav pêvek hebe. Di vê rewşê de, bit di yekem byte ya sernavê de tête danîn X. Di sernivîsa dirêjkirî de, li dû tabloya beşdaran (heke hebe), sernavek dirêjkirina yek peyvê, li dûv jî peyvên dirêjkirinê hene. Berfireh berhevokek byte ye ku hûn dikarin ji bo veguheztina daneyên zêde bikar bînin. Standard forma vê daneyê diyar nake - ew dikare her tişt be. Mînakî, dibe ku ew ji bo cîhaza ku pakêtên RTP distîne hin mîhengên din bin. Lêbelê, ji bo hin serlêdanan, standardên sernavê yên dirêjkirî hatine pêşve xistin. Ji bo nimûne, ji bo danûstandinên di standard de ev tê kirin ED-137 (Standardên Têkilî yên Ji bo Pêkhateyên ATM yên VoIP).

Naha em bi hûrgulî li qadên sernavê binêrin. Li jêr wêneyek kanonîkî ya bi avahiya sernavê RTP heye, ku min jî nekarî li ber xwe bidim û bi heman rengan xêz kirim.

Vekolîna motora VoIP ya Mediastreamer2. Beş 8
VER - Hejmara guhertoya protokolê (guhertoya heyî 2);

P - alayek ku di rewşên ku pakêta RTP-ê di dawiyê de bi baytên vala tê dagirtin de tê danîn;

X - ala ku sernavê dirêjkirî ye;

CC - hejmara nasnameyên CSRC yên li dû sernavê domdar (piştî peyvên 1..3) dihewîne, tablo di wêneyê de nayê xuyang kirin;

M - nîşana destpêka çarçoveyek an hebûna axaftinê di kanalê de (heke detektorek sekinandina axaftinê were bikar anîn). Ger wergir dedektorek rawestandina axaftinê tune be, wê hingê ev bit dê bi domdarî were saz kirin;

PTYPE - formata barkirinê diyar dike;

Hejmara rêzê - Hejmara pakêtê, ji bo vegerandina rêza ku pakêt tê de têne lîstin tê bikar anîn, ji ber ku rewşa rastîn ew e ku pakêt bi rêza xelet a ku hatine şandin bigihîjin wergirê. Pêdivî ye ku nirxa destpêkê random be, ev tê kirin da ku ger tîra RTP were şîfrekirin, hackkirina wê dijwar be. Di heman demê de, ev qad dihêle hûn pakêtên windabûyî tesbît bikin;

Timestamp - mohra demê. Dem di nimûneyên sînyalê de tê pîvandin, yanî. heke teqemeniyek 160 nimûneyan hebin, wê demê mohra dema teqîna din dê 160 zêdetir be.

SSRC - Nasnameya çavkaniya pakêtê, divê ew yekta be. Çêtir e ku berî destpêkirina herikîna RTP-ê ew bi rengek bêserûber were hilberandin.

Ger hûn veguhezkar an wergirê RTP-ya xwe pêşve bibin, hûn neçar in ku ji carekê zêdetir pakêtên xwe binirxînin da ku hilberîneriyê zêde bikin, ez pêşniyar dikim ku hûn fêr bibin ka meriv çawa di TShark de parzûnkirina pakêtê bikar tîne, ew dihêle hûn tenê wan pakêtên ku ji wan in bigirin. bala we. Li hawîrdorek ku bi dehan cîhazên RTP li ser torê dixebitin, ev pir bi nirx e. Di rêzika fermanê ya TShark de, vebijarkên fîlterkirinê bi vebijarka "-f" têne destnîşan kirin. Me ev vebijark bikar anî dema ku me dixwest ku pakêtên ji port 8010 bigirin:
-f "udp port 8010"
Parametreyên fîlterkirinê bi bingehîn komek pîvan in ku divê pakêtek "girtî" bicîh bîne. Merc dikare navnîşan, port, nirxa hin byte di pakêtê de kontrol bike. Merc dikarin bi operasyonên mantiqî "Û", "OR" û hwd re bêne hev kirin. Amûrek pir bi hêz.

Ger hûn dixwazin dînamîkên guheztinên zeviyê di koman de bibînin, hûn ê hewce ne ku derketinê dubare bikin TSark li pelek, wekî ku di gotara paşîn de tê xuyang kirin, bi derbaskirina derketinê TSark li dergehê tee. Piştre, pelê têketinê bi vekin kêm, vim an amûrek din a ku zû dikare bi pelên nivîsê yên mezin re bixebite û li rêzan bigere, hûn dikarin hemî nuwazeyên tevgerê yên zeviyên pakêtê di pêvekek RTP de bibînin.

Heke hûn hewce ne ku guh bidin sînyala ku ji hêla stream RTP ve hatî veguheztin, wê hingê hûn hewce ne ku guhertoyê bikar bînin TSark bi navgîniya dîtbarî Wireshark. Bi manîpulasyonên mişkî yên sade, hûn dikarin li forma pêla sînyalê guhdarî bikin û bibînin. Lê bi yek şertê - heke ew di forma u-qanûn an a-kêm de hatî kod kirin.

Piştî gotara em ê bi we re têlefonek duplex çêbikin. Li ser cotek headset û yek muxatab berhev bikin.

Source: www.habr.com

Add a comment