Дауыстық модем пәрмені орнатылды - Voice modem command set

A дауыстық модем аналогы болып табылады телефон деректер модем дауыстық жазбаларды телефон желісі арқылы беру және қабылдау мүмкіндігі бар. Дауыстық модемдер үшін қолданылады телефония және жауап беру машинасы қосымшалар. Ұқсас Хейз командалар жиынтығы Дербес компьютер модемді командалар қатары арқылы белгілі командалар арқылы басқаратын деректер модемдері үшін қолданылады Пәрмендерде, бүкіл салада белгілі бір деңгейде сәйкес келетін AT дауыстық командалық командалардың анықталған жиынтығы бар.

Іске асыру мәселелері

Дауыстық режим модем үшін әдеттегідей емес болғандықтан, нарықтағы көптеген модемдер дауыстық режимдерін нашар немесе қателіктермен қолдайды. Жақсы дауыстық модемнің сипаттамалары жоспарланған қолдануға байланысты және мыналарды қамтиды:

  • Сенімді жұмыс. Көптеген модемдер жай «құлыпталады» немесе хосттық компьютерде апатқа ұшырайды, бірақ бұл жиі кездеседі Winmodems. Басқаларында ағынды басқарудағы қателер және басқа іске асырудағы қателер бар, мүмкін қоңыраулар ілулі, аудио өткізіліп немесе аборт тоқтатылғаннан кейін ойнатыла береді.
  • Жақсы аудио сипаттамалары. Кейбір модемдер сигналдың түзетілмейтін төмен деңгейіне ие немесе дыбыстық шу шығарады. Кейбір модемдер ең жақсыларынан басқаларын тани алмайды DTMF сигналдар. Кейбір модемдер кейбір қосымшалар қажет ететін үнсіздікті немесе қоңырау аяқталғаннан кейін кернеуді қалпына келтіруді немесе есепке алуды, есеп беруді нашар есептеумен айналысады.
  • Қолдау қоңырау идентификаторы, қажет болса. Модемдердің басым көпшілігінде Солтүстік Америкада қолданылған «1 типті қоңырау идентификаторы» жоқ. Модем чипсеттерінің барлығы дерлік қоңырау шалушының идентификаторын қолдайды, бірақ интерактивті Интернет пайдаланушысына қоңырау идентификаторы қажет емес болғандықтан, қоңырау шалушы идентификаторын қолдауға арналған қосымша компоненттер көбінесе шығындар себептері бойынша алынып тасталады.
  • Бірнеше даналарға қолдау. Көптеген ішкі модемдердің драйверлері (әдетте Winmodems) бір компьютердің ішіндегі бір құрылғының біреуіне төзе алмайды. Сәйкессіздік белгілеріне апаттар, өлімнің көгілдір экрандары, немесе жалғыз модемнен басқаларының қарапайым жұмыс істемеуі. Сыртқы RS-232 - негізделген (сериялық) модемдерде мұндай шектеулер жоқ, өйткені әр модемде өздері бар микропроцессор және сол хосттағы басқа модемдер туралы білмейді. USB флеш модемдерде мұндай проблема болуы мүмкін немесе болмауы мүмкін, өйткені кейбір USB модемдер - бұл «USB-сериядан» түрлендіргіш чипсеті бар сериялық модемдер (бұл жағдайда ешқандай проблема болмауы керек), ал басқа USB-модемдер «хост басқарады» және сыртқы жағынан бекітілген Winmodems (бұл жағдайда мәселе шешілмеуі мүмкін).

Хэшке қарсы

Әрбір дауыстық модем платформасы дауыстық командалардың екі жиынтығының біреуін қолдауға ұмтылады, атап айтқанда, командалар жиынтығының бір хош иісінде плюс (+) белгісі, ал екіншісінде хэш (#) белгісі болады.

Дауыстық режимді анықтау

Модемде дауыстық режимді қолдауды келесі команданы беру арқылы анықтауға болады: AT + FCLASS =?

Бұл командаға әдетте модем «плюс» немесе «хэш» командалар жиынтығын қолдайтындығына плюс белгісі кіреді, өйткені команда («факс сыныбы» дегенді білдіреді) салалық стандарттың бөлігі болып табылады факс командалар әрқашан плюс қолданыңыз.

Модем қолдайтын дауыстық нөмірге 8 нөмірін қосатын үтірмен бөлінген тізіммен жауап береді. ҚАТЕ, немесе 8-ден аспайтын сандар тізімімен. (Көптеген модемдер есеп береді 0,1,2 деректерді (0) және 1 және 2 класты факстарды қолдауды көрсететін - бұл дауыстық қолдаудың жоқтығын көрсетеді.)

Әдетте «хэш» командалар жиынтығын қолдайтын модемдер жауап береді # CLS кезінде =? сонымен қатар.

Дауыстық режимге өту

Пәрмен AT + FCLASS = 8 немесе № CLS = 8 модемді дауыстық режимге қояды. Модемдердің көпшілігі әлі де ілулі күйде қалады және жауап береді ЖАРАЙДЫ МА. Бұл команда қабылданғаннан кейін, модемдердің көпшілігі жауап береді Data Link Escape (DLE) қалыпты модем жауаптарының орнына немесе оған қосымша хабарламалар. Мысалы, қоңырау шалып тұрған телефон желісі туралы хабарлаудың орнына Сақина хабарлама, оның орнына көптеген модемдер DLE жібереді ASCII таңбасы, содан кейін R. әрпі, әр модем хабарлаған DLE оқиғаларының нақты жиынтығы оның чипсетіне тән және анықтамалық нұсқаулықта құжатталған.

Модемнің мүмкіндіктерін сұрау

Пәрмен AT + VLS =? немесе AT # VLS =? әдетте әр модемге тән жұмыс режимдерінің тізімін береді. Осы нөмірленген режимдердің әрқайсысы телефон желісінің ілмектегі немесе ілмектегі күйін, сондай-ақ келесілердің әрқайсысы арасындағы дыбыстық маршрутты анықтайды:

  • Жазу / ойнату
  • Телефон тұтқасы
  • Динамик ұясы (оны дискретті ұяның орнына компьютердің дыбыстық картасына аудио кірісі ретінде жай сыммен қосуға болады)
  • Микрофон ұясы (кейбір дауыстық модемдерде болады)

Көптеген чипсет белгілі бір модем тақтасы бәрін қолдамаса да, режимдердің барлық мүмкін комбинацияларының тізімін ұсынады. Бұл тақта өндірушісі әрқашан чипсет жасаушыдан ерекшеленетіндіктен және чипсет барлық мүмкін жабдықты қолдау үшін алдын-ала конфигурацияланған келеді, тіпті егер ол схемада орындалмаса да.

AT + VLS = жауап мысалы? 2006 жылы нарықтағы модемнен:

AT + VLS =? 0, «», 0000000000,0000000000, B084008000 1, «T», 0B8418E000,0FE418E000,0B8419E000 2, «L», 0884008000,0CE4008000,0884018000 3, «LT», 0B8418E000,0FE418E000,0B8419E 4, « , 0484008000,3084018000 5, «ST», 0B8418E000,0FE418E000,0B8419E000 6, «M», 0084008000,04E4008000,3084008000 7, «MST», 0B8418E000,0FE418E000,0B8419E000 8, «S1», 488000, 800, «S1T», 0B8418E000,0FE418E000,0B8419E000 10, «MS1T», 0B8418E000,0FE418E000,0B8419E000 11, «M1», 0084008000,04E4008000,3084008000 13, «M1S1T», 0B8418E000,0F8, 00, E8, 00, E8, EE 04E4008000,3084018000 15, «HT», 0B8418E000,0FE418E000,0B8419E000 16, «MS», 0084008000,04E4008000,3084018000 17, «MS1», 0084008000,04E4008000,3084018000 19, «M1S1000, 20800, 208 t «, 0B8418E000,0FE418E000, BB8419E000

Әрбір модем әр түрлі болғанымен, әдетте 0 режимі ілулі дегенді білдіреді және 1 режим телефонды алу, дыбысты жазу / ойнату және анықтау үшін жеткілікті DTMF (сенсорлық тондар).

Пәрмен AT + VSM =? немесе AT # VSM =? әдетте модем қолдайтын аудио деректер форматтарының тізімін береді. Әр форматта атау бар (мысалы PCM, ADPCM, μ-заң, Заң ), іріктеме үшін биттердің саны (әдетте 2, 3, 4, 8 немесе 16) және дыбыстық іріктеу жылдамдығы (әдетте 7200, 8000 немесе 11.025) Герц ). Бұл стандартты аудио кодектер оның іске асырылуы жақсы жарияланған. ADPCM стандарты - бұл ерекшелік. ADPCM-ді қолдайтын модемдер әрдайым қолдайды Диалогтық ADPCM, «VOX» деп те аталады, ол ұқсас, бірақ басқа ADPCM енгізулерімен үйлесімді емес, соның ішінде Интерактивті мультимедиялық қауымдастық (IMA) ADPCM, сондай-ақ MS ADPCM (пайдаланылатын Microsoft енгізілімі WAV файлдар). Модемдер бұларды да қолдай алады, егер біліктілік тізімі берілген болса, әйтпесе, ADPCM диалогты білдіреді.

AT + VSM-ге жауап мысалы =? 2006 жылы нарықтағы модемнен:

AT + VSM =? 1, «ЖАСАЛМАҒАН ПКМ», 8,0,8000,0,0 129, «IMA ADPCM», 4,0,8000,0,0 130, «ЖАСАЛМАҒАН ПКМ», 8,0,8000,0,0 140, «2 биттік ADPCM», 2,0,8000, 141, «4 биттік ADPCM», 4,0,8000,0,0

Дыбыстық деректердің қалаған форматы сол команданың көмегімен, бірақ сұрақ белгісінің орнына нөмірмен таңдалады. Ол жіберуге де, қабылдауға да қолданылады.

Қоңырауларға жауап беру

Қоңырауларға жауап беру, әдетте, кез келгенімен жүзеге асырылады AT + VLS = n немесе # VLS = n командалар, қайда n бұл модем режимін көрсететін сан. Модемдердің басым көпшілігі үшін бұл телефон қоңырауына жауап беру үшін 1, ал қоңырау шалу үшін 0 болады; басқа нөмірлер спикерфон сияқты басқа функцияларды белсендіреді. Кейбір модемдер жауап ретінде жауап береді АТА- стандартты деректер режиміне жауап беру командасы - бірақ басқа модемдер мұны дауыстық режимде емес, нақты деректерде жауап беру командасы ретінде түсіндіреді.

Дыбыстық деректерді жіберу

Дыбыстық деректерді беруді бастау үшін хост команданы жібереді AT + VTX немесе # VTX. Бұл модемнің жауабына әкеледі ҚОСУ немесе VCON. («Плюс» пәрмендер жиынтығын қолданатын модемдер CONNECT жауап береді, ал «хэш» жиынтығын қолданушылар дауыстық байланыс дегенді білдіретін VCON жауап береді.)

Осыдан бастап модем AT + VSM немесе AT # VSM командасы таңдап алған кодек арқылы компьютерден жіберілген кез-келген деректерді толқындық аудио деректер ретінде түсіндіреді.

Дыбыстық деректер модемге әрдайым оны ойнатудан тезірек жіберіледі, сондықтан модем мүмкін буфер оның кішкене бөлігі және оны компьютердің операциялық жүйесінің кешігуінен туындаған ешбір шертпестен және жай шығармай ойнатыңыз. Мысалы, 8 кГц дыбыстық файлды 8 биттік ажыратымдылықта ойнату кезінде (басталу / тоқтату биттерін қосқанда секундына 8000 байт немесе 80 000 бит жасайды), деректер сериялық порт кем дегенде секундына 115 200 бит. (115 200 бит / с - бұл типтік компьютерлік сериялық порттың алғашқы параметрі, ол 80000-нан асады.) Сонымен қатар, ағынның DLE байттарын екі еселендіруге байланысты қосымша үстеме шығындардың арқасында (төменде айтылған) өткізу қабілеттілігі бұған жол беру міндетті болып табылады.

Модем компьютер ойнатуды үлгеруі үшін уақытша кідіртуді қалаған кезде, ол уақытша төмендетеді CTS (жіберу үшін анық) RS-232 сериялық портындағы сигнал. Модем ойнатқыш буфері толығымен бос болмай тұрып, компьютер дыбыстық деректерді жіберуді қайта бастауы үшін сигналды уақытында қайта көтереді.

Компьютер дыбыстық деректердің аяқталғаны туралы сигнал бергісі келгенде, көптеген модемдер ASCII DLE таңбасын (0x10), содан кейін! кейіпкер.

DLE байты әдеттегі аудио деректерде болуы мүмкін және жиі кездесетіндіктен, оны аудио деректердің байты ретінде түсіндіруге болатын кезде модемге екі рет жіберу керек.

Көптеген модемдер DLE + CAN (бас тарту) дәйектілігін сигнал ретінде қабылдайды бас тарту аудио ойнату. Айырмашылық мынада: модем ойнату буферіндегі қалған деректердің аяқталуына мүмкіндік бермей, ойнатуды дереу тоқтату керектігін түсінуі керек.

Модем ойнатуды аяқтаған кезде, ол жауап береді ЖАРАЙДЫ МА.

Ойнатуды қысқарту

Ойнату кезінде дыбыстық мәліметтерді аудио біркелкі ойнайтын жылдамдықпен жіберу керек, бірақ оны жібермей, модем жұмыс істей алады. Сондай-ақ, хабарлама жойылатын болса, модемнің ойнатуды тоқтатып, кез келген буферлік аудионы алып тастай алатындығына көз жеткізген жөн. Дауыстық хабарламалардың жауаптарын білетін және олардың жауабын ерте беретін қоңырау шалушылар хабарламаның жойылуын күтуде (және олар жауап берген шақыруды тыңдауға мәжбүр болады).

Аудио буферді асырмай ойнатуды қадағалап отыру үшін компьютердің жылдамдығы бойынша модемге аудио деректерді жіберудің бірнеше әдісі бар.

Ең қарапайымы - CTS ағынды басқаруды қолдану. Келесі ескертулер бар.

  • Кейбір дауыстық модемдерде ағынды басқаруда қателіктер болады. Атап айтқанда, көптеген Конексант чипсет кейде CTS сызығын тастайды және оны ойнату кезінде ешқашан қалпына келтірмейді. Conexant - бұл қазіргі кезде дауыстық модемдерде өте танымал чипсет және олар әйтпесе дауыстық командаларды жақсы орындайды, сондықтан осы қателіктермен жұмыс істеуді қарастырған жөн. Кейбір Conexant чипсеттері, егер CTS өшіп тұрған кезде модем «ойнатуды тоқтату» пәрменін жіберсе немесе өңдесе, CTS-тің сақтық көшірмесін жасамайды.
  • Кейбір дауыстық модемдер хосттың «тоқтата ойнатуды» сұрауына мүмкіндік бермейтін қателіктермен бірге өте үлкен жіберу буферін ұсынады (мысалы, 4 секундтық аудио). Нәтижесінде, егер қоңырау шалушы хабарламаны тоқтатуы керек сенсорлық тонды басса және хост тек CTS-тің делдалдығымен шексіз аудио деректерін ұсынатын болса, ақырғы нәтиже хабарламаны кем дегенде 4 секунд үзуге болмайды.

Ойнатуды қысқартудың екінші тәсілі хост компьютерінің операциялық жүйесі ұсынатын және хосттың CPU жүктемесіне тәуелді емес аппараттық сағаттарға негізделген «кене» таймерін сұрауды қамтиды. Бұл мүмкін болуы мүмкін немесе болмауы мүмкін, және ол толығымен хост операциялық жүйесіне байланысты. Алайда, қол жетімді болған кезде, бұл өте сенімді. Компьютер ойнатудан екі жүз байттан озып тұруы керек және модем бұферлейді деп ойлау орынды. (Дауыстық модемдердегі AT + VBQ немесе AT # VBQ командалары буфердің өлшемін байтпен жиі ашады, ал 1-2 килобайт - әдеттегі жауап.)

Ойнатуды дроссельге шығарудың үшінші әдісі - муляжды енгізуден тұрады DLE шығыс ағынға хабарламалар, аудио деректердің сериялық порт арқылы берілуіне белгілі уақытты қажет ететіндігі және ойнату негізінен сағат тілімен UART сериялық портта.

Мысалы, муляжды DLE саламын қолдануды қарастырғанда алдымен бірнеше нәрсені атап өту керек. Әдеттегі сценарийде бір секундтық дыбыс 8000 бір байтты үлгі болуы мүмкін, ал үлгінің аз пайызы DLE байтына тең және оны екі есеге көбейту керек болса, әдеттегі аудионың 8 050 байты болуы мүмкін. Бұл трюк модем жойылатын байттарға мағынасыз DLE хабарламаларын енгізуді қамтиды (яғни, нақты мағынасы жоқ байтпен DLE), яғни дәл 11520 байт болады (115.200 бит / с жылдамдықта құлыпталған сериялық порт). сериялық порт арқылы жіберуге тура 1 секунд кетеді. Дербес компьютердегі кідіріс кідірісі секундына 11520 байттан аз жіберілуіне алып келуі мүмкін болса да, дауыстық модемдер ойнатуды бастамас бұрын жеткілікті байттарды буферлік етеді. Сондай-ақ, ДК-ді аудио секундты 11520 байттан сәл азырақ етіп түрлендіруге бағдарламалауға болады (барлық дауыстық модемдер кішкене буферге айналады) асып кету ағынды басқарудың қажеті жоқ, егер ол бірнеше жүз байттан аспаса).

Дөлді DLE-дің физикалық UART жоқ «Winmodems» -пен жұмыс жасауы екіталай. Бұл физикалық түрде белгілі бір бит жылдамдығына а-ға дейін реттелген сыртқы сериялық модемдермен ғана мағынасы бар сағат генераторы сыртқы сериялық порттың артында.

Дыбыстық деректерді жазу

Дыбыстық деректерді жазу әдісі бірдей, тек команда ғана AT + VRX, немесе # VRX-те, ал модем аудио деректерді компьютер қабылдаған кезде жібереді. Мұнда RTS / CTS ағынды басқару құралы қолданылмайды (компьютер барлық аудио деректерді қабылдауы керек, ал модем автоматты түрде оның берілуін дыбыстық іріктеу жылдамдығына сәйкес келеді).

Модем беруді компьютер тоқтамайынша тоқтатпайды, бұл әдетте CTRL-C-де болады. Деректер әрдайым DLE + !, арқылы тоқтатылады және ағынның құрамында болатын барлық DLE байттары оларды қалыпты DLE хабарламаларынан ажырату үшін екі рет жіберіледі.

Модем жазу алдында, жазу кезінде және одан кейін белгілі бір оқиғалар туралы компьютер хостын хабардар ете алады, бірақ олармен шектелмейді:

  • Сенсорлы тонды басу анықталды
  • Тыныштық анықталды
  • Сызықтық полярлықты қалпына келтіру анықталды (көбінесе қоңырау шалушының ілінуін білдіреді)
  • Теру үні анықталды
  • Факс реңі анықталды

Модем хостқа осы туралы айтқысы келгенде, DLE байт жібереді, сонымен бірге оқиғаны сипаттайтын (әдетте) 1 байтты хабарлама жібереді. Қолдау көрсетілетін іс-шаралар тізімі модемге байланысты өзгереді, бірақ әдетте цифр (* және # сияқты) жанасу реңктерін білдіреді және «s» әрпі анықталған тыныштықты білдіреді. Кейбір модемдер әр сенсорлық тонды басу үшін бір ғана оқиға туралы хабарлайды, ал басқалары перне басылғанша перне басылғанға дейін перне басылғанға дейін, содан кейін арнайы «кілт босатылған» оқиға туралы хабарлайды.

Дауыстық қоңырауды тоқтату

Төмендегі командалардың кез-келгені модемді іліп қоюға және дауыстық қоңырауды тоқтатуға мәжбүр етеді: AT + VLS = 0, № VLS = 0, ATH, ATZ. Түсіру RS-232 DTR (деректер терминалы дайын) сигналы мұны жиі орындайды. Модем дауыстық режимде қалады (ATZ жағдайларын қоспағанда).

Дауыстық модемдер екінші жағынан қоңырау шалған кезде де автоматты түрде ілінбейді. Олар уақытты тоқтату, қоңырау үні немесе үнсіздік туралы хабарлауы мүмкін, бірақ оны орындау компьютерге байланысты. Егер модем жазба жүргізіп жатса, қоңырау шалушы телефон тұтқасын қояды және компьютер жауап бермейді, модем желіде естілген барлық нәрселерді, мысалы, қоңырау үндері, телефон компаниясының қателіктері туралы хабарламалар және басқаларын аудио жазбамен қамтамасыз ете береді.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  • IN командалық анықтамалық нұсқаулық Rockwell, Conexant және Lucent чипсетіне арналған. (Чипсет өндірушілерінің әрқайсысы осындай атаумен нұсқаулық шығарады, содан кейін ол қолданылатын өнімнің атауы)
  • Zoom Tech Support Documentation, Командалық сілтемелерде
  • Халықаралық телекоммуникация одағы (1998 ж. Ақпан), Асинхронды DTE көмегімен DCE-де дауысқа байланысты функцияларды басқару, V серия: Телефондық желі арқылы деректер байланысы: Басқару процедуралары, Халықаралық телекоммуникация одағы, ITU-T ұсынымы V.253
  • Мирхо, Чарльз (1996 ж. Тамыз), «Windows 95-ке арналған дауыстық модемнің кеңейтімдері туралы білу үшін 1-ді басыңыз!», Microsoft Systems журналы, Hayes AT стандарты деректер модемдерін кеңінен қабылдауға ықпал етті, өйткені бағдарламалар сәйкесінше AT-mumble-this және AT-mumble-жібере алады, ал AT стандартында сөйлейтін кез-келген модем не істеу керектігін біледі. Дауыстық модемдер үшін де ұқсас AT + V стандарты пайда болды. AT + V командалар жинағы Hayes AT префикстелген командалардан және + V-префикстелген дауыстық командалардан тұрады. AT + V «Факсимильді цифрлық интерфейстер-асинхронды DCE үшін дауыстық басқарудың аралық стандарты» деп аталатын ISS-101 ANSI / TIA / EIA стандарты ретінде құжатталған. Осы спецификацияның жалғасы - PIA-3131 TIA Техникалық кіші комитетінің TR-29.2.