مودم صوتي

مودم الصوت هو مودم بيانات هاتفي تناظري مزود بإمكانية مدمجة لإرسال واستقبال التسجيلات الصوتية عبر خط الهاتف. تُستخدم مودمات الصوت في تطبيقات الهاتف وأجهزة الرد الآلي . وكما هو الحال في مجموعة أوامر هايز المستخدمة في مودمات البيانات، حيث يُصدر الحاسوب المضيف الأوامر للمودم عبر سلسلة من الأوامر تُعرف بأوامر AT ، توجد مجموعة محددة جيدًا من أوامر AT الصوتية الشائعة والمتسقة إلى حد ما في هذا المجال.

مشاكل التنفيذ

بلس مقابل هاش

تميل كل منصة مودم صوتي إلى دعم إحدى مجموعتين من الأوامر الصوتية - على وجه الخصوص، تحتوي إحدى نكهات مجموعة الأوامر على علامة زائد (+)، والأخرى تحتوي على علامة هاش (#).

اكتشاف وضع الصوت

يمكن اكتشاف دعم وضع الصوت على المودم عن طريق إصدار الأمر التالي: AT+FCLASS=?

عادةً ما يتم دعم هذا الأمر الذي يحتوي على علامة الجمع سواء كان المودم يدعم "الجمع" أو مجموعة أوامر "التجزئة"، لأن الأمر (الذي يرمز إلى "فئة الفاكس") هو جزء من أوامر الفاكس القياسية في الصناعة والتي تستخدم دائمًا علامة الجمع.

سيرد المودم الذي يدعم الصوت بقائمة أرقام مفصولة بفواصل تتضمن الرقم 8. أما المودم الذي لا يدعم الصوت فسيرد برسالة خطأ ، أو بقائمة أرقام لا تتضمن الرقم 8. (ستبلغ العديد من أجهزة المودم عن 0 و1 و2 مما يشير إلى دعم البيانات (0) والفاكسات من الفئة 1 و2 - وهذا مؤشر على عدم وجود دعم للصوت).

عادةً ما تستجيب أجهزة المودم التي تدعم مجموعة أوامر "hash" أيضًا للأمر AT#CLS=?.

الدخول إلى وضع الصوت

يُفعّل الأمر AT+FCLASS=8 أو AT#CLS=8 وضع الصوت في المودم. تبقى معظم أجهزة المودم في وضع الاتصال الصوتي وتستجيب برسالة "موافق" . بعد قبول هذا الأمر، تستجيب معظم أجهزة المودم برسائل "هروب وصلة البيانات " (DLE) بدلاً من استجابات المودم العادية أو بالإضافة إليها. على سبيل المثال، بدلاً من الإبلاغ عن رنين خط الهاتف برسالة "رنين" ، تُرسل العديد من أجهزة المودم حرف DLE ASCII متبوعًا بالحرف R. تختلف مجموعة أحداث DLE التي يُبلغ عنها كل مودم باختلاف شريحة المعالجة الخاصة به، وهي موثقة في دليل المستخدم الخاص به.

الاستعلام عن إمكانيات المودم

عادةً ما يُعيد الأمر AT+VLS=? أو AT#VLS=? قائمةً بأوضاع التشغيل الخاصة بكل مودم. يُحدد كل وضع من هذه الأوضاع المرقمة حالة خط الهاتف (مرفوع السماعة أو مرفوعها)، بالإضافة إلى توجيه الصوت بين كل مما يلي:

  • التسجيل/التشغيل
  • سماعة الهاتف
  • مقبس مكبر الصوت (والذي يمكن ببساطة توصيله بشكل مباشر كمدخل صوتي على بطاقة الصوت الخاصة بالكمبيوتر بدلاً من كونه مقبسًا منفصلاً)
  • منفذ الميكروفون (متوفر في بعض أجهزة مودم الصوت)

تُقدّم العديد من الشرائح الإلكترونية قائمةً بجميع التوليفات الممكنة للأوضاع، حتى وإن لم تدعمها لوحة المودم المحددة. ويعود ذلك إلى أن مُصنِّع اللوحة يختلف عادةً عن مُصنِّع الشريحة، وتأتي الشريحة مُهيأةً مُسبقًا لدعم جميع المكونات المادية المُمكنة، حتى وإن لم تكن مُدمجةً في لوحة الدوائر.

مثال على استجابة جهاز مودم في السوق عام 2006 للأمر AT+VLS=?:

AT+VLS=? 0"،"،0000000000،0000000000،B084008000 1,"T",0B8418E000,0FE418E000,0B8419E000 2، "ل"، 0884008000، 0CE4008000، 0884018000 3,"LT",0B8418E000,0FE418E000,0B8419E000 4,"S",0084008000,0484008000,3084018000 5,"ST",0B8418E000,0FE418E000,0B8419E000 6,"M",0084008000,04E4008000,3084008000 7,"MST",0B8418E000,0FE418E000,0B8419E000 8،"S1"، 0084008000،0484008000،3084018000 9,"S1T",0B8418E000,0FE418E000,0B8419E000 10,"MS1T",0B8418E000,0FE418E000,0B8419E000 11،"M1"، 0084008000،04E4008000،3084008000 13,"M1S1T",0B8418E000,0FE418E000,0B8419E000 14,"H",0084008000,04E4008000,3084018000 15,"HT",0B8418E000,0FE418E000,0B8419E000 16,"MS",0084008000,04E4008000,3084018000 17,"MS1",0084008000,04E4008000,3084018000 19,"M1S1",0084008000,04E4008000,3084018000 20,"t",0B8418E000,0FE418E000,BB8419E000

على الرغم من أن كل مودم مختلف، إلا أن الوضع 0 يعني عادةً وضع السماعة (التعليق) والوضع 1 يكفي لالتقاط الهاتف وتسجيل/تشغيل الصوت واكتشاف DTMF (نغمات اللمس).

عادةً ما يُعيد الأمر AT+VSM=? أو AT#VSM=? قائمةً بتنسيقات بيانات الصوت التي يدعمها المودم. يتضمن كل تنسيق اسمًا (مثل PCM أو ADPCM أو μ-law أو A-law )، وعدد البتات لكل عينة (عادةً 2 أو 3 أو 4 أو 8 أو 16)، ومعدل أخذ عينات الصوت (عادةً 7200 أو 8000 أو 11025 هرتز ). هذه برامج ترميز صوتية قياسية في المجال، وتُعدّ تطبيقاتها موثقة جيدًا. يُعدّ معيار ADPCM استثناءً، إذ تدعم أجهزة المودم التي تدّعي دعم ADPCM دائمًا تقريبًا Dialogic ADPCM ، المعروف أيضًا باسم "VOX"، وهو مشابه لتطبيقات ADPCM الأخرى، ولكنه غير متوافق معها، بما في ذلك Interactive Multimedia Association (IMA) ADPCM وMS ADPCM (تطبيق من مايكروسوفت يُستخدم في ملفات WAV ). قد تدعم أجهزة المودم هذه أيضًا، إذا تم إدراج مؤهل - وإلا، بشكل افتراضي، فإن ADPCM تعني Dialogic.

مثال على استجابة جهاز مودم في السوق عام 2006 للسؤال AT+VSM=?:

AT+VSM=? 1، "PCM غير موقع"، 8،0،8000،0،0 129، "IMA ADPCM"، 4،0،8000،0،0 130، "PCM غير موقع"، 8،0،8000،0،0 140، "2 بت ADPCM"، 2،0،8000، 141، "4 بت ADPCM"، 4، 0، 8000، 0، 0

يتم اختيار تنسيق بيانات الصوت المطلوب باستخدام الأمر نفسه ولكن برقم بدلاً من علامة استفهام. ويُستخدم هذا التنسيق للإرسال والاستقبال على حد سواء.

الرد على المكالمات

عادةً ما يتم الرد على المكالمات باستخدام الأمر AT+VLS=n أو AT#VLS=n ، حيث يمثل n رقمًا يُشير إلى وضع المودم. في معظم أجهزة المودم، يكون هذا الرقم 1 للرد على مكالمة هاتفية، و0 لإنهاء المكالمة؛ أما الأرقام الأخرى فتُفعّل وظائف أخرى عند وجودها، مثل مكبر الصوت. بعض أجهزة المودم تستجيب للأمر ATA - وهو أمر الرد القياسي في وضع البيانات - بينما تفسر أجهزة أخرى هذا الأمر على أنه أمر للرد في وضع البيانات وليس الصوت.

نقل البيانات الصوتية

لبدء إرسال البيانات الصوتية، يرسل المضيف الأمر AT+VTX أو AT#VTX . ينتج عن ذلك استجابة من المودم بكلمة CONNECT أو VCON . (عادةً ما تستجيب أجهزة المودم التي تستخدم مجموعة أوامر "+" بكلمة CONNECT، بينما تستجيب تلك التي تستخدم مجموعة أوامر "#" بكلمة VCON، والتي تعني الاتصال الصوتي).

ومنذ ذلك الحين، يقوم المودم بتفسير أي بيانات يتم إرسالها من الكمبيوتر على أنها بيانات صوتية موجية، باستخدام برنامج الترميز المحدد بواسطة الأمر AT+VSM أو AT#VSM.

تُرسل البيانات الصوتية دائمًا إلى المودم بسرعة تفوق سرعة تشغيلها، لذا قد يقوم المودم بتخزين جزء صغير منها مؤقتًا وتشغيلها بسلاسة دون أي تشويش أو طقطقة ناتجة عن تأخيرات في نظام تشغيل الحاسوب. على سبيل المثال، أثناء تشغيل ملف  صوتي بتردد 8 كيلوهرتز ودقة 8 بت (مما ينتج عنه 8000 بايت، أو 80000 بت عند تضمين بتات البدء/الإيقاف، في الثانية)، يجب أن تنتقل البيانات عبر المنفذ التسلسلي بسرعة لا تقل عن 115200 بت في الثانية. (115200 بت/ثانية هي أول قيمة مُعدّة لمنفذ تسلسلي نموذجي في الحاسوب تتجاوز 80000 بت/ثانية). إضافةً إلى ذلك، ونظرًا لبعض النفقات الإضافية الناتجة عن مضاعفة بايتات DLE في التدفق (المذكورة أدناه)، فإن توفير نطاق ترددي إضافي بسيط أمر ضروري.

عندما يُريد المودم إيقاف تشغيل الكمبيوتر مؤقتًا حتى يتمكن التشغيل من استئناف الإرسال، فإنه يُخفّض إشارة CTS (جاهز للإرسال) على منفذ RS-232 التسلسلي مؤقتًا. ثم يُعيد المودم رفع الإشارة في الوقت المناسب لكي يستأنف الكمبيوتر إرسال البيانات الصوتية قبل أن تُصبح ذاكرة التخزين المؤقت للتشغيل فارغة تمامًا.

عندما يريد الكمبيوتر الإشارة إلى نهاية بيانات الصوت، تتوقع معظم أجهزة المودم رؤية حرف ASCII DLE (0x10)، متبوعًا  بحرف !.

نظرًا لأن بايت DLE يمكن أن يظهر، وغالبًا ما يظهر، في بيانات الصوت العادية، فيجب إرساله مرتين إلى المودم عندما يتم تفسيره كبايت من بيانات الصوت.

تقبل معظم أجهزة المودم أيضًا تسلسل DLE + CAN (إلغاء) كإشارة لإيقاف تشغيل الصوت. والفرق هو أن المودم يفهم أنه يجب عليه إيقاف التشغيل فورًا، بدلًا من السماح للبيانات المتبقية في مخزن التشغيل المؤقت بالاستمرار حتى اكتمالها.

عندما ينتهي المودم من التشغيل، فإنه يستجيب بـ OK .

تقييد التشغيل

أثناء التشغيل، من الضروري إرسال البيانات الصوتية بمعدل يضمن سلاسة التشغيل، دون تجاوز سرعة معالجة المودم. ومن المستحسن أيضًا ضمان قدرة المودم على إيقاف التشغيل مؤقتًا وحذف أي صوت مُخزّن في حال إلغاء رسالة. يتوقع المتصلون الذين يعرفون إجابات الأسئلة الصوتية مسبقًا ويُجيبون عليها مبكرًا (والذين قد ينزعجون من إجبارهم على الاستماع إلى سؤال سبق لهم الإجابة عليه) إلغاء الرسائل.

هناك عدة طرق للحفاظ على إرسال الكمبيوتر لبيانات الصوت إلى المودم بمعدل يسمح بمواكبة التشغيل دون تجاوز سعة مخزن الصوت المؤقت.

أبسط الطرق هي استخدام نظام التحكم في التدفق CTS. مع ذلك، توجد بعض المحاذير.

  • تعاني بعض أجهزة مودم الصوت من خلل في آلية التحكم في تدفق البيانات. على وجه الخصوص، قد تفقد العديد من شرائح Conexant خط CTS ولا تعيد تشغيله أثناء التشغيل. تُعد Conexant شريحة شائعة الاستخدام في أجهزة مودم الصوت اليوم، وهي تُنفذ الأوامر الصوتية بكفاءة عالية، مما يجعل من المفيد البحث عن حلول بديلة لهذا الخلل. كما أن بعض شرائح Conexant لا تعيد تشغيل خط CTS إذا تم إرسال أمر "إيقاف التشغيل" أو معالجته من قِبل المودم أثناء انقطاع خط CTS.
  • تُوفّر بعض أجهزة مودم الصوت مخزنًا مؤقتًا كبيرًا جدًا للإرسال (على سبيل المثال، ما يكفي من الصوت لمدة 4 ثوانٍ)، ولكنه يحتوي على خلل يمنع المُضيف من طلب "إيقاف التشغيل". ونتيجةً لذلك، إذا ضغط المتصل على نغمة مُخصصة لمقاطعة الرسالة، وكان المُضيف يُقدّم بيانات صوتية غير محدودة عبر نظام CTS فقط، فلن يُمكن مقاطعة الرسالة لمدة 4 ثوانٍ على الأقل.

ثمة طريقة ثانية للتحكم في سرعة التشغيل، وهي تعتمد على مؤقت "النبضة" الذي يوفره نظام تشغيل الحاسوب المضيف، والذي يستند إلى ساعة عتادية مستقلة عن حمل وحدة المعالجة المركزية. قد يكون هذا المؤقت متاحًا أو غير متاح، ويعتمد ذلك كليًا على نظام التشغيل المضيف. مع ذلك، فهو موثوق للغاية عند توفره. من المنطقي افتراض أن الحاسوب يحتاج إلى أن يكون متقدمًا على التشغيل ببضع مئات من البايتات، وأن المودم سيقوم بتخزين هذه البيانات مؤقتًا. (غالبًا ما تكشف الأوامر AT+VBQ أو AT#VBQ في مودمات الصوت عن حجم المخزن المؤقت بالبايتات، وعادةً ما تكون الاستجابة من 1 إلى 2 كيلوبايت).

هناك طريقة ثالثة للتحكم في التشغيل تتضمن إدخال رسائل DLE وهمية في دفق الإخراج بحيث تستغرق بيانات الصوت فترة زمنية معروفة للإرسال عبر المنفذ التسلسلي، ويتم ضبط توقيت التشغيل بشكل أساسي بواسطة UART في المنفذ التسلسلي.

على سبيل المثال، عند التفكير في استخدام حشو DLE الوهمي، يجب مراعاة بعض الأمور أولًا. في سيناريو نموذجي، قد تتكون ثانية واحدة من الصوت من 8000 عينة، كل منها بايت واحد، ومع وجود نسبة صغيرة من العينات تساوي بايت DLE ويجب مضاعفتها، قد تتكون ثانية نموذجية من الصوت من 8050 بايت. تكمن الحيلة في إدخال عدد كافٍ من رسائل DLE غير ذات معنى في البايتات بحيث يتجاهلها المودم (أي DLE متبوعًا ببايت بدون أي معنى محدد) بحيث يكون هناك 11520 بايت بالضبط (بافتراض أن منفذ التسلسل يعمل بسرعة 115200 بت/ثانية)، وهو ما يستغرق ثانية واحدة بالضبط للإرسال عبر منفذ التسلسل. على الرغم من أنه من الممكن أن يتسبب زمن استجابة المقاطعة على جهاز الكمبيوتر المضيف في إرسال أقل بقليل من 11520 بايت في الثانية، إلا أن معظم أجهزة مودم الصوت تقوم بتخزين عدد كافٍ من البايتات مؤقتًا قبل بدء التشغيل الفعلي للسماح بهذا التفاوت الطفيف. كما يمكن برمجة الكمبيوتر لتحويل ثانية واحدة من الصوت إلى أقل بقليل من 11520 بايت (ستقوم جميع أجهزة مودم الصوت بتخزين فائض صغير دون الحاجة إلى التحكم في التدفق طالما أنه لا يزيد عن بضع مئات من البايتات).

من غير المرجح أن تنجح عملية حشو DLE الوهمي مع أجهزة مودم ويندوز التي لا تحتوي على منفذ UART فعلي. إنها مجدية فقط مع أجهزة المودم التسلسلية الخارجية التي يتم ضبط ترددها فعليًا على معدل بت محدد بواسطة مولد ساعة خلف المنفذ التسلسلي الخارجي.

تسجيل البيانات الصوتية

طريقة تسجيل البيانات الصوتية هي نفسها، باستثناء أن الأمر هو AT+VRX أو AT#VRX ، حيث يقوم المودم بإرسال البيانات الصوتية بينما يستقبلها الحاسوب. لا يتم استخدام التحكم في تدفق RTS/CTS هنا (يجب على الحاسوب قبول جميع البيانات الصوتية التي يستقبلها، ويقوم المودم تلقائيًا بتنظيم إرساله ليتوافق مع معدل أخذ عينات الصوت).

لا يتوقف المودم عن الإرسال إلا عندما يأمره الكمبيوتر بالتوقف، وعادةً ما يكون ذلك باستخدام CTRL-C. يتم إنهاء البيانات دائمًا بـ DLE+!، ويتم إرسال جميع بايتات DLE التي تظهر بشكل طبيعي في التدفق مرتين لتمييزها عن رسائل DLE العادية.

قبل التسجيل وأثناءه وبعده، قد يقوم المودم بإخطار مضيف الكمبيوتر بأحداث محددة تشمل، على سبيل المثال لا الحصر، ما يلي:

  • تم رصد ضغطات مفاتيح تعمل باللمس
  • تم رصد الصمت
  • تم اكتشاف انعكاس قطبية الخط (غالباً ما يعني ذلك قيام المتصل بإنهاء المكالمة).
  • تم رصد نغمة الاتصال
  • تم سماع نغمة الفاكس

عندما يرغب المودم في إبلاغ المضيف بهذه الأحداث، فإنه يرسل بايت DLE، بالإضافة إلى رسالة (عادةً) بايت واحد تصف الحدث. تختلف قائمة الأحداث المدعومة باختلاف المودم، ولكن عادةً ما يشير الرقم (وكذلك * و#) إلى الضغط على مفتاح النغمة، بينما يشير الحرف "s" إلى اكتشاف الصمت. تُبلغ بعض المودمات عن حدث واحد فقط لكل ضغطة مفتاح نغمة، بينما تُبلغ مودمات أخرى عن ضغطة مفتاح متكررة حتى يتم تحرير المفتاح، ثم تُبلغ عن حدث خاص "تحرير المفتاح".

إنهاء مكالمة صوتية

عادةً ما تؤدي أي من الأوامر التالية إلى قطع المودم للمكالمة الصوتية وإنهائها: AT+VLS=0 ، AT#VLS=0 ، ATH ، ATZ . كما أن إسقاط إشارة RS-232 DTR (جاهزية طرفية البيانات) غالبًا ما يحقق ذلك أيضًا. ويبقى المودم في وضع الصوت (باستثناء حالة ATZ).

لا تقوم أجهزة المودم الصوتية بإنهاء المكالمة تلقائيًا حتى عندما يقوم المتصل بذلك. قد تُبلغ عن انقطاع المكالمة أو سماع نغمة الاتصال أو الصمت، ولكن يبقى القرار النهائي بشأنها على الكمبيوتر. إذا قام المتصل بإنهاء المكالمة أثناء تسجيل المودم ولم يستجب الكمبيوتر، فسيستمر المودم في تسجيل كل ما يُسمع على الخط، مثل نغمات الاتصال ورسائل الخطأ من شركة الهاتف، وما إلى ذلك.

انظر أيضاً

مراجع

  • دليل مرجعي لأوامر AT لشرائح Rockwell و Conexant و Lucent. (يصدر كل مصنّع للشرائح دليلاً يحمل نفس العنوان، متبوعاً باسم المنتج الذي ينطبق عليه).
  • وثائق الدعم الفني لبرنامج زووم، مراجع أوامر AT
  • الاتحاد الدولي للاتصالات (فبراير 1998)، التحكم في الوظائف المتعلقة بالصوت في جهاز DCE بواسطة جهاز DTE غير متزامن ، السلسلة الخامسة: اتصالات البيانات عبر شبكة الهاتف: إجراءات التحكم، الاتحاد الدولي للاتصالات، توصية ITU-T V.253
  • ميرهو، تشارلز (أغسطس 1996)، "للتعرف على ملحقات مودم الصوت لنظام التشغيل ويندوز 95، اضغط 1 الآن!" ، مجلة أنظمة مايكروسوفت . ساهم معيار هايز AT في تعزيز انتشار استخدام مودمات البيانات، حيث كان بإمكان البرامج إرسال الأوامر المناسبة (AT-mumble-this وAT-mumble-that)، وكان أي مودم يدعم معيار AT سيعرف كيفية التعامل معها. ويبدو أن معيارًا مشابهًا، AT+V، قد ظهر أيضًا لمودمات الصوت. تتكون مجموعة أوامر AT+V من أوامر هايز التي تبدأ بـ AT وأوامر صوتية تبدأ بـ +V. تم توثيق AT+V كمعيار ANSI/TIA/EIA IS-101 بعنوان "واجهات رقمية للفاكس - معيار مؤقت للتحكم الصوتي لـ DCE غير المتزامن". ويُعد PN-3131 الصادر عن اللجنة الفرعية الفنية TR-29.2 التابعة لـ TIA متابعةً لهذا المعيار.