¦þ¹ ¼³¾Šł
¦þ¹ ¼³¾Šł
¦þ¹ ¼³¾Šł
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
VOIP ÈÇÍÓÒÐÈ<br />
Âçëîì<br />
Ñàëèåâ Àëåêñàíäð aka Fagot (salieff@mail.ru)<br />
H.245 áåðóòñÿ öåëèêîì è êëàäóòñÿ â ïîëå<br />
H245Control, ýòîò ìåòîä íàçûâàåòñÿ<br />
H245Tunneling. Òàêèå ìåòîäû ìîãóò ïðèìåíÿòüñÿ<br />
êàê ïî îòäåëüíîñòè, òàê è âïåðåìåøêó. Ïîñðåäñòâîì<br />
H.245 øëþçû äîãîâàðèâàþòñÿ îá îòêðûòèè<br />
íåîáõîäèìîãî êîëè÷åñòâà ëîãè÷åñêèõ êàíàëîâ è<br />
èõ ñâîéñòâàõ, ñîîáùàÿ îá àäðåñàõ è UDP-ïîðòàõ<br />
äëÿ êàæäîãî êàíàëà ñî ñâîåé ñòîðîíû. Ïî ýòèì<br />
ëîãè÷åñêèì êàíàëàì è áåæèò â îáå ñòîðîíû èíôà<br />
(çâóê, âèäåî, äàííûå) â âèäå UDP-ïàêåòîâ. Íåïîñðåäñòâåííûå<br />
èíòåðôåéñû îáùåíèÿ ñ ïîëüçîâàòåëåì<br />
áûâàþò ñàìûìè ðàçíûìè: ïðîìûøëåííûå<br />
VoIP-øëþçû îáû÷íî ïðèíèìàþò â ñåáÿ ISDN-ïîòîêè<br />
òèïà E1 (ýòî ÀÒÌ-ïîäîáíûé ïîòîê, ïî êîòîðîìó<br />
ìîæíî ãîíÿòü 30 òåëåôîííûõ ñîåäèíåíèé<br />
îäíîâðåìåííî), èñõîäÿùèå èç ãîðîäñêèõ ÀÒÑ. Â<br />
áîëåå äåøåâûå VoIP-øëþçû ìîæíî âñòàâëÿòü íåñêîëüêî<br />
(2-8) ñàìûõ îáûêíîâåííûõ àíàëîãîâûõ òåëåôîíîâ.<br />
Ïðîãðàììà-òåðìèíàë íà êîìïüþòåðå<br />
ìîæåò ðàáîòàòü ñ âíåøíåé êàìåðîé è çâóêîâîé<br />
êàðòîé, íî âñå ýòî íèêàê íå âëèÿåò íà ôîðìàò ñîåäèíåíèÿ,<br />
êîãäà îíî èäåò íåïîñðåäñòâåííî ïî IP.<br />
ÍÎÂÛÅ ÔÈØÊÈ ÈËÈ H.225<br />
Ïðîòîêîë H.225 ïðèçâàí ðåàëèçîâàòü âñå íîâîââåäåíèÿ,<br />
êîòîðûõ íå áûëî â ISDN.  ÷àñòíîñòè ýòî<br />
âñÿ IP-àäðåñàöèÿ, íîâûå âîçìîæíîñòè àäðåñàöèè<br />
àáîíåíòà ïî ñèìâîëüíûì èìåíàì èëè URL-ïîäîáíîé<br />
ñõåìå, îïèñàíèå óíèêàëüíûõ èäåíòèôèêàòîðîâ<br />
ñåññèè (id çâîíêà, id êîíôåðåíöèè), îïèñàíèå ñïåöèôè÷íûõ<br />
îïöèé H.323 ñåññèè (ïðàâèëà óäåðæàíèÿ<br />
ñîåäèíåíèé, ìåòîäû îáìåíà ïàêåòàìè H.245, âîçìîæíîñòü<br />
âñòóïëåíèÿ â êîíôåðåíöèþ è ïðî÷åå).<br />
ß ÒÅÁß ÂÈÆÓ, ß ÒÅÁß ÑËÛØÓ. H.245<br />
Ïåðåäà÷à èíôîðìàöèè ìåæäó àáîíåíòàìè â êîíöåïöèè<br />
H.323 îñóùåñòâëÿåòñÿ ïî òàê íàçûâàåìûì<br />
"ëîãè÷åñêèì êàíàëàì". Ëîãè÷åñêèé êàíàë - ýòî óñòàíîâèâøååñÿ<br />
äâóñòîðîííåå UDP-ñîåäèíåíèå, ïî<br />
êîòîðîìó â ôîðìàòå RTP/RTCP ïåðåäàþòñÿ äàííûå<br />
ïî îãîâîðåííûì ïðàâèëàì. Òàêæå äëÿ ëîãè÷åñêîãî<br />
êàíàëà ñóùåñòâóåò òàêîå ïîíÿòèå, êàê "òèï<br />
ñåññèè". Ñóùåñòâóåò 3 ñòàíäàðòíûõ òèïà ñåññèé:<br />
àóäèî, âèäåî è äàííûå. Ñèãíàëèçàöèÿ H.245 ïðèçâàíà<br />
ñîçäàâàòü è ðàçúåäèíÿòü ýòè êàíàëû, à òàêæå<br />
ïðîâîäèòü ñîãëàñîâàíèÿ ïî ôîðìàòàì ïåðåäà-<br />
÷è äàííûõ, êîòîðûå ïîääåðæèâàþòñÿ îáåèìè ñòîðîíàìè.<br />
Êîëè÷åñòâî ëîãè÷åñêèõ êàíàëîâ ìîæåò<br />
áûòü ðàçëè÷íûì. Åñëè äëÿ ïðîñòîé òåëåôîííîé<br />
ñåññèè õâàòèò äâóõ - îäèí äëÿ ãîëîñà, è îäèí äëÿ<br />
êîíòðîëÿ, òî äëÿ íàâîðî÷åííîé âèäåîñåññèè ïîíàäîáèòñÿ<br />
÷åòûðå ïàðû êàíàëîâ - ïî ïàðå íà êàæäûé<br />
êàíàë ñòåðåîçâóêà, ïàðà äëÿ âèäåî, è åùå ïàðà<br />
äëÿ óäàëåííîãî óïðàâëåíèÿ êàìåðîé.<br />
RTP+RTCP<br />
 ATM-êîíâåéåðàõ âñå áûëî çàìå÷àòåëüíî, è ìîæíî<br />
áûëî áûòü óâåðåííûì, ÷òî êàæäûå n-öàòü ìèêðîñåêóíä<br />
òû áóäåøü ãàðàíòèðîâàííî ïîëó÷àòü ñâîé<br />
ïàêåò ñ G.711-äàííûìè. Â H.323 ðîëü òðàíñïîðòíîãî<br />
ïðîòîêîëà äëÿ ïîëåçíûõ äàííûõ âîçëîæåíà íà<br />
UDP, è òóò íå âñå òàê ðàäóæíî. Ïàêåòû ìîãóò ïðèõîäèòü<br />
ñîâñåì íå ñ òåìè âðåìåííûìè èíòåðâàëàìè,<br />
ñ êîòîðûìè îòïðàâëÿëèñü, ìîãóò ìåíÿòü ïîðÿäîê<br />
ñëåäîâàíèÿ è äàæå âîîáùå òåðÿòüñÿ â ïóòè, íå<br />
äîñòèãàÿ ïîëó÷àòåëÿ. Áîðîòüñÿ ñ ýòèìè íåäîðàçóìåíèÿìè<br />
ïðèçâàíû ïðîòîêîëû RTP è RTCP.<br />
Ïîëåçíàÿ èíôîðìàöèÿ (ê ïðèìåðó, çâóê) ðàçáèâàåòñÿ<br />
íà ñýìïëû äîëæíîé äëèíû, ïàêóåòñÿ îãîâîðåííûì<br />
êîäåêîì, è âêëàäûâàåòñÿ â RTP-ïàêåòû,<br />
êîòîðûå ìàðêèðóþòñÿ âðåìåííûìè ìåòêàìè, íàáîðîì<br />
ñëóæåáíîé èíôîðìàöèè è îòïðàâëÿþòñÿ<br />
äðóãîé ñòîðîíå. Ïðèíèìàþùàÿ ñòîðîíà íå âîñïðîèçâîäèò<br />
ïàêåòû ñðàçó ïî ïîëó÷åíèè, à ñîáèðàåò<br />
èõ â òàê íàçûâàåìûé Jitter-áóôåð, õðàíÿùèé, ê<br />
ïðèìåðó, 10 ïàêåòîâ. Ïîñëå çàïîëíåíèÿ áóôåðà<br />
ïàêåòû âûñòðàèâàþòñÿ â èñõîäíûé ïîðÿäîê ñ ïîìîùüþ<br />
ñâîèõ âðåìåííûõ ìåòîê, íåäîñòàþùèå ïàêåòû<br />
èíòåðïîëèðóþòñÿ ñâîèìè ñîõðàíèâøèìèñÿ<br />
ñîñåäÿìè, è òîëüêî ïîñëå ýòîãî ïðîèñõîäèò èõ<br />
äåêîäèðîâàíèå è âîñïðîèçâåäåíèå.<br />
Òàêæå ïðèñóòñòâóþò ìåõàíèçìû îáíàðóæåíèÿ ïðîìåæóòêîâ<br />
òèøèíû (silence detection) è ãåíåðàöèè<br />
êîìôîðòíîãî øóìà (comfort noise generation, CNG).<br />
Åñëè íà âñåì ïðîìåæóòêå ñýìïëà óðîâåíü ñèãíàëà<br />
íèæå îïðåäåëåííîãî çíà÷åíèÿ, òî äàííûé ñýìïë<br />
ñ÷èòàåòñÿ "ñîäåðæàùèì òèøèíó", è â ïåðåäàþùèéñÿ<br />
ïàêåò íå âêëàäûâàåòñÿ, à âêëàäûâàåòñÿ òóäà<br />
"ìàðêåð òèøèíû", ðàçìåð êîòîðîãî íàìíîãî ìåíüøå<br />
ðàçìåðà çàêîäèðîâàííîãî ñýìïëà. Êîãäà øëþç<br />
ïîëó÷àåò òàêîé ïàêåò, îí íå ïûòàåòñÿ åãî äåêîäèðîâàòü,<br />
à ãåíåðèðóåò òèõèé øóì íóæíîé äëèòåëüíîñòè,<br />
ïîòîìó êàê ñ÷èòàåòñÿ, ÷òî ìåðòâàÿ òèøèíà â<br />
òðóáêå äàâèò íà óøè è íåðâèðóåò àáîíåíòà.<br />
Âðåìÿ îò âðåìåíè ïðîòèâîïîëîæíîé ñòîðîíå îòïðàâëÿåòñÿ<br />
êîíòðîëüíûé RTCP-ïàêåò, ñîäåðæàùèé<br />
ñòàòèñòèêó ïðèåìà RTP-ïàêåòîâ çà çàäàííûé<br />
ïåðèîä âðåìåíè. Ýòî ïîçâîëÿåò óäîñòîâåðèòüñÿ â<br />
òîì, ÷òî ïðîòèâîïîëîæíàÿ ñòîðîíà ïîëó÷àåò äîñòàòî÷íî<br />
ïîëåçíîé èíôîðìàöèè äëÿ òîãî, ÷òîáû<br />
åå âîñïðîèçâåäåíèå è ïðîäîëæåíèå ñåññèè èìåëî<br />
ñìûñë. Òàêæå ýòî ïîçâîëÿåò ñîáðàòü èíôîðìàöèþ<br />
äëÿ ìåõàíèçìà îöåíêè êà÷åñòâà ïåðåäà÷è (Quality<br />
of servise, QoS).<br />
ÕÀÊÅÐ\¹53\Ìàé\2003<br />
Ïðîòîêîëû ñåìåéñòâà H.323 è ñîïóòñòâóþùèå<br />
ÊÎÄÈÌ - ÄÅÊÎÄÈÌ<br />
Íåëüçÿ îáîéòè âíèìàíèåì òàêóþ âàæíóþ òåìó,<br />
êàê êîäåêè. Âñå ñîâðåìåííûå êîäåêè, ïðèìåíÿåìûå<br />
â IP-òåëåôîíèè, èìåþò îáùåãî ïðåäêà - êîäåê<br />
G.711. Ýòîò êîäåê áûë ïîèñòèíå ìîíñòðîèäàëüíûì,<br />
òðåáîâàë ïîëîñû ïðîïóñêàíèÿ 64kbps,<br />
íî, ñ äðóãîé ñòîðîíû, èìåë ñàìûå íèçêèå òðåáîâàíèÿ<br />
ê ðåñóðñàì DSP è ñàìîå âûñîêîå êà÷åñòâî<br />
âûõîäÿùåãî ñèãíàëà. Ïðèøåë îí â IP-òåëåôîíèþ<br />
èç êîììóòèðóåìûõ ATM-êàíàëîâ, ãäå ïðèìåíÿëñÿ<br />
ïîâñåìåñòíî. Íî âðåìÿ øëî, è ìîùíîñòü æåëåçà<br />
ñòðåìèòåëüíî ðîñëà, ÷åãî íåëüçÿ áûëî ñêàçàòü î<br />
ïðîïóñêíîé ñïîñîáíîñòè ñåòåé. Ýòî ïðèâåëî ê òîìó,<br />
÷òî êîäåêè ñòàëè ïåðåôîðìèðîâûâàòü ñâîè<br />
àëãîðèòìû â ñòîðîíó áîëüøåé æàäíîñòè ê âû÷èñëèòåëüíûì<br />
ðåñóðñàì, âçàìåí ïîíèæàÿ ñâîè òðåáîâàíèÿ<br />
ê øèðèíå ïåðåäàþùåãî êàíàëà. Òóò ïðèìåíÿëèñü<br />
è MP3-ïîäîáíûå àëãîðèòìû, è ìåòîäû<br />
ôîíåìíîé êîìïðåññèè, è ÷àñòîòíûå îãðàíè÷åíèÿ<br />
ïîëåçíîé ÷àñòè ñèãíàëà, è ìíîãîå äðóãîå.<br />
Ïðèáëèçèòåëüíî ðàçâèòèå êîäåêîâ â ýòîì íàïðàâëåíèè<br />
âûãëÿäåëî òàê: G.711 (àëãîðèòì - PCM, ïîëîñà<br />
ïðîïóñêàíèÿ - 64kbps, òðåáîâàíèÿ ê DSP -<br />
ñòðåìÿòñÿ ê íóëþ), G.726 (àëãîðèòì - ADPCM, ïîëîñà<br />
ïðîïóñêàíèÿ - 32kbps, òðåáîâàíèÿ ê DSP - 6<br />
MIPS), G.729 (àëãîðèòì - ôîíåìíûé âîêîäåð, ïîëîñà<br />
ïðîïóñêàíèÿ - 8kbps, òðåáîâàíèÿ ê DSP - 21.5<br />
MIPS), G.723 (ãèáðèäíûé àëãîðèòì - ôîíåìíûé âîêîäåð<br />
+ PCM + ADPCM, ïîëîñà ïðîïóñêàíèÿ - 5.3-<br />
6.3kbps, òðåáîâàíèÿ ê DSP - 16.5 MIPS). Íàèáîëåå<br />
ïîïóëÿðíûì ïî ñîîòíîøåíèþ êà÷åñòâî/ïðîèçâîäèòåëüíîñòü/øèðèíà<br />
êàíàëà ïî ïðàâó ñ÷èòàåòñÿ êîäåê<br />
G.729. Ñóùåñòâóþò è äðóãèå, íî îíè íå òàê øèðîêî<br />
ðàñïðîñòðàíåíû. Ñòîèò îòìåòèòü òîò ôàêò, ÷òî îáðåçàíèå<br />
âûñîêèõ ÷àñòîò ñäåëàëî íåâîçìîæíûì ðàáîòó<br />
ôàêñîâ è ïðî÷åãî ìîäóëÿòîðíî-äåìîäóëÿòîðíîãî<br />
îáîðóäîâàíèÿ â ãîëîñîâîì ðåæèìå. Äëÿ ðàçðåøåíèÿ<br />
ýòîé ñèòóàöèè ïðèìåíÿþòñÿ ñõåìû, äåòåêòèðóþùèå<br />
íà÷àëî ðàáîòû ïîäîáíîãî îáîðóäîâàíèÿ,<br />
è ñïåöèàëüíûå ìîäåìíî-ôàêñîâûå êîäåêè.<br />
Ëîãè÷åñêèå êàíàëû â ýòîì ñëó÷àå ðàáîòàþò â<br />
Ññûëêè ïî òåìå:<br />
http://www.itu.int - îðãàíèçàöèÿ ITU, çàíèìàþùàÿñÿ ðàçðàáîòêàìè ðåêîìåíäàöèé ñâÿçè, â<br />
òîì ÷èñëå è ïðîòîêîëà H.323.<br />
http://www.openh323.org - êîìàíäà OpenH323, çàíèìàþùàÿñÿ ðàçðàáîòêîé áèáëèîòåê ñ<br />
îòêðûòûìè èñõîäíûìè êîäàìè, îáëåã÷àþùèõ æèçíü ïðîãðàììåðó â îáëàñòè òîãî æå H.323.<br />
http://www.vovida.org - òóò åñòü ïðî èíèöèàòèâó OpenG.729.<br />
RFC 1889/1890 - îïèñàíèå RTP è RTCP.<br />
1 2 3 4<br />
76 Íüþñû Ôåððóì Inside PC_Zone Âçëîì