GPON шагает по Москве. Распространяются и связанные с ним проблемы. В данной заметке я хочу поделиться опытом по лечению несовместимости МГТСовксого роутера с имеющимся телефонным аппаратом, проявляющуюся в случайных ошибках при наборе номера.
«Вживую» GPON я впервые увидел у своих пожилых родственников. Из всей функциональности, предлагаемой МГТС им интересна лишь обычная телефонная связь, надёжность которой, по их словам, существенно упала. А на этой неделе GPON пришёл и ко мне.
Забудем о:
- Зачем это нужно МГТС.
- Как допускаются проблемы с безопасностью, типа одинаковых WPS PIN’ов
- Что ещё можно выжать из роутера (иначе можно засидеться надолго)
- Про замечательных людей, придумавших ставить «по умолчанию» паролем от WiFi номер телефона.
- Какие у монтажников безобразные тупые скалыватели (если что – скалыватель это устройство для получения чистой и ровной поверхности перед сваркой).
- Как половина процесса проходит на весу (а вторая половина на коленке).
- Как они не знают даже «фишки» типа «влажно дыхнуть» на скалыватель (чтобы резинки, удерживающие волокно держали чуть лучше).
- Почему они тупо безучастно смотрят, как сварка пытается сотворить маленькое чудо, сварив однозначно плохой скол с более-менее приличным (хотя если сварку остановить – достаточно было бы переделать лишь один скол).
- Почему у них нет ни рефрактометра, ни даже мощемера
Первый звоночек
В присутствии монтажников я успел лишь проверить, что набор номера на моём Philips SE 2752 стал нестабильным — прозвониться к себе на мобильный телефон получалось один раз из 3х. Причём эффект был примерно одинаковый как в импульсном так и в тоновом режиме. От монтажника я узнал, что я не единственный с подобными проблемами (что, собственно, и побудило меня к написанию данного опуса). И всё же, с антресолей была извлечена старая noname трубка, на которой дозвон в импульсном режиме происходил нормально (а в тоновом наблюдались аналогичные баги). На чём мы и попрощались.
Мнение о «SE 2752» за пару лет использования у меня сложилось отнюдь не высокое. У 2х из 4х трубок в течение двух лет сдохли дисплеи (причём проблема не в дисплеях, а в контактах — дисплеи просто лежат, будучи прижатыми к контактам). Поэтому Philips и был назначен крайним.
Что проверить
Я, к собственному сожалению, подобного списка не нашёл, так что попробую составить сам. Итак, чтобы не рвать себе потом волосы, ещё до ухода монтажников желательно проверить:
- Мощность входящего оптического сигнала
Проверяется через веб-интерфейс роутера «Home > Device Info > GPON», из под сервисного аккуунта, из под «admin-admin» данной странички не видно (правильно, зачем лишний раз людей расстраивать). Я же просто, сразу после сварки, попросил монтажника показать результат.
Должно быть не ниже -29 dBm. В моём случае (после 7 попыток) «с первого раза» получилось -15.23 dBm, что, насколько я понимаю, нормально, переделывать смысла нет. Однако, не стоит верить монтажникам, если они будут вас уверять, что -50 dBm это тоже нормально, лучше сразу попросить «попробовать ещё раз».скриншот - Работу телефона
Тут всё вроде бы понятно. Позвонить-принять звонок. Желательно по нескольку раз. - Пароль WiFi
Пароль по умолчанию был написан на наклейке внутри коробки. Монтажники зачем-то поменяли его на %номер телефона%. - SSID WiFi
В нашем подъезде, похоже, половине поменяли с дефолтных «MGTS_GPON_####» где #### — случайное число, на «MGTS_###», где ### — номер квартиры, а половине забыли.
Первые шаги
- Сохранить начальные настройки.
Сделать это из-под admin невозможно, а в остальном всё просто. Достаточно зайти в «Home > Management > Config File» и нажать «Backup».скриншот - Настройки WiFi
Меняем пароль («Home > Configure > Wireless > Security»)
Меняем SSID (название) WiFi сети ( «Home > Configure > Wireless > Basic» )
Выключаем WPS («Home > Configure > Wireless > Wi-Fi Protected Setup»), на всякий случай - Отключаем WiFi («Home > Configure > Wireless > Basic») если всё равно пользоваться не планируете – зачем занимать и так тесный 2.4GHz эфир?)
- Менять ли пароли?
Сменить пароль от admin можно и даже в каком-то смысле нужно. Однако это даёт не так уж и много, т.к. пароль от имеющего более широкие привилегии МГТСовского аккаунта всё равно широко известен, а менять его, скорее всего не стоит. Со слов монтажника МГТС время от времени обновляет прошивки. Конечно, новая прошивка может как принести как что-то полезное (например, новые настройки сети, без которых работать ничего не будет), так и сломать что-то полезное. Так что каждый волен решать сам для себя.
О серьёности намерений МГТС в плане удалённого доступа к роутеру говорит тот факт, что на страничке «Home > Management > Access Control > User Management» отсутствует возможность запретить доступ из WAN:Хотя в «more info» она упоминается:
.
- Проверить, что за договора вы «заключили» с МГТС.
Я, например, бумажку о предоставлении двухмесячного бесплатного «пробного» доступа к интернету не заполнял, а он всё равно работает… Более того, бывает, похоже, ещё и вот так, (для архива).
Устройство
Итак, мы произвели первоочередные настройки. Теперь можно в спокойной обстановке, чуть более внимательно рассмотреть, что же нам досталось:
.
Нетрудно:
- Нагуглить МГТСовскую «инструкцию» (для архива).
- Найти некие технические записки (для архива).
- А так же понять, что, вероятно, при определённом количестве потраченного времени, можно выжать из роутера практически что угодно.
… и по-моему всё. Больше я ничего не нашёл (может плохо искал, конечно), ни альтернативных прошивок, ни подробных инструкций… В том числе и в плоскости решения проблем с набором номера.
Дианостика: история одной отладки
(Кому будет неинтересно – идете в главу «лечение»)
Попробуем понять, что же именно происходить не так. Для той же цели весьма логично использовать «лог звонков» («Home > Management > LOG > Call Logs»).
Однако, я был приятно удивлён возможностью подойти к вопросу более аккуратно, используя встроенную утилиту диагностики («Home > Management > Diagnose > Voice Diagnostics > Telephony Diagnosis»):
Первые 4 шага проходятся элементарно,
А вот с 5й шаг – это то, что мы ищем.
- Нажимаем «Start step 5»,
- дожидаемся готовности роутера
- поднимаем трубку
- набираем какой-либо номер
- дожидаемся коротких гудков
- вешаем трубку
- дожидаемся пока обновиться страничка
- сравниваем
желаемое с действительнымто, что мы набирали, с тем, что «услышал» наш китайский друг
К примеру, в данном случае я набирал «123456789», и всё получилось нормально:
… а в этом: «12345678901234567890», и опять всё нормально:
Пробуем «998877665544332211»
— ошибочка, первые 3 цифры куда-то пропали
Пробуем «999888777666555444333222»
— опять ошибочка, пропали 2 первые цифры, а 3я «9» заменилась на «8».
Спустя десяток попыток становится ясно, что если первые цифры 8 или 9 – они с высокой вероятностью будут потеряны. Если 1 или 2 – проблемы нет. В единичных случаях «9» заменяется на «8».
Кстати, обратите внимание на опечатку «nmber» — она как бы тонко намекает на степень готовности, продуманности и выверенности продукта.
Так что же мы можем изменить?
Список доступных настроек по-сути ограничивается страничкой «Home > Service > Voice > Phone»
More info.
На русском, как видно, ни разу не понятнее. Более того, по-моему русский «more info» ещё больше вводит в заблуждение в смысле параметров усиления (подробности ниже).
Тайминги
Первыми под моё подозрение попали тайминги. Таковых настроек аж две. «Min-Hook-Flash» и «Max-Hook-Flash». Ухо мне подсказывало, что 450ms более чем достаточно для «максимального времени звучания одного тона», а вот 80ms, как минимальное время может вызывать вопросы. Поэтому я был весьма разочарован, когда выяснил, что меньше 80 этот параметр не ставится – сбрасывается на предыдущее значение после нажатия Save. Максимальное значение при этом равно «Max-Hook-Flash». У «Max-Hook-Flash» же минимальное значение, очевидно, равно Min-Hook-Flash, а максимальное — 2000.
Найти какие-то спецификации стандарта DTMF несложно (но насколько они относятся к данному случаю, конечно, ещё вопрос).
Если уважаемый читатель не знает устройства DTMF хотя бы в том объёме, в котором оно описано в русскоязычной википедии (как не знал его, до сегодняшнего для, и я) – очень рекомендую к прочтению. Полезно-с. Иначе дальше будет непонятно.
Про длительность же импульсов можно найти, например, такие слова:
* The values shown are those stated by AT&T in Compatibility Bulletin 105. For compatibility with ANSI T1.401-1988, the minimum inter-digit interval shall be 45msec, the minimum pulse duration shall be 50msec, and the minimum duty cycle for ANSI-compliance shall be 100msec.
И я ещё больше утвердился в своём предположении – оказывается где-то минимумом аж 50ms считается, где там с минимумом в 80мс подхватить-то…
Ну, если не дают вниз – давайте хоть покрутим вверх. По крайней мере убедимся, что дело именно в этом. Пытаемся выставить оба параметра в 2000 – если не будет набираться вообще, значит хотя бы это именно те параметры, которые нам нужны. Но не тут то было. Даже при таких настройках результат получается такой же – теряются всё те же цифры. Ситуация абсолютно та же самая. Да, естественно, я нажал Apply, и перезагрузил роутер а потом ещё раз перепроверил– не помогло. Перезагружается, кстати, это китайское чудо так долго, что начинаешь подозревать, что бобик сдох – в админку я смог попасть только через 10-15 минут.
Потом я ещё попробовал с настройками 300-500.
На всякий случай пробовал как в режиме «Diagnose» так и в «боевом» режиме набора номера с последующей проверкой по логу. Разницы не заметил.
Таким образом, возникает крепкое подозрение, что данные настройки, к сожалению, не работают вообще.
Измерения
На всякий случай я решил проверить своё предположение и измерить длительность импульса. Можно, конечно, было бы взять нормальный осциллограф, но мне вдруг стало лень возиться с проводками захотелось решить вопрос меньшей кровью. Исходя из того, что при наборе номера «с поднятой трубкой», она издаёт все те же звуки, что и идут в линию, я просто записал их на диктофон «WAV Recorder» своего N7100 (в народе – Samsung Galaxy Note II). Записал я две «комбинации»: «rec1» и «rec2».
Далее для каждой из комбинаций, при помощи Matlab R2014a было построено по две спектрограммы:
Для оценки частот тона: с разрешением по времени 10мс, и разрешением по частоте 20Гц:
Fs = 41000; % Sampling frequency
window = 0.01/(1/Fs); % Time resolution is 0.01 second
noverlap = 0; % No "smoothing"
nfft = 0:20:2000; % Frequencies
spectrogram(data,window,noverlap, nfft,Fs);
( Попытайтесь угадать какая это комбинация :) )
- До 3й секунды трубка не поднята
- До 5й секунды идёт приглашающий к набору номера гудок
- До ~9й секунды продолжается набор номера
- До ~13й секунды в трубке тишина – роутер обдумывает услышанное
- До ~16й секунды в трубке короткие гудки – приглашение положить трубку
(а это?)
Для оценки длительности тона: с чуть лучшим разрешением по времени: 5мс, и разрешением по частоте 50Гц:
Fs = 41000; % Sampling frequency
window = 0.005/(1/Fs); % Time resolution is 0.005 second
noverlap = 0; % No "smoothing"
nfft = 0:50:2000; % Frequencies
spectrogram(data,window,noverlap, nfft,Fs);
Результат:
Ещё крупнее:
Итак, легко видеть, что длительность импульса составляет 100мс ( ± 20мс), что, конечно, близко в разрешённому пределу (80мс), но никак не нарушает его. Промежуток между цифрами тоже выглядит нормальным, те же ~100мс.
Конечно, всякие нехорошие переходные процессы в паршивой сети и при паршивом усилителе могут всё испортить, но что ж тут поделаешь…
И всё-таки, что у нас там ещё осталось в запасе?
О! Усилитель!
Лечение
Берём и меняем усиление, например, ставим везде 6dB
- Transmit Gain = 6dB — аппаратное усиление сигнала, идущего в телефон (насколько я могу судить на основе англоязычного «more info»)
- Receive Gain = 6dB — аппаратное усиление сигнала, идущего из телефона
- Speaking Volume = 6dB — программное усиление сигнала, идущего из роутера по VOIP
- Listening Volume = 6dB — программное усиление сигнала, приходящего в роутер по VOIP
Таким образом, как уже говорилось выше, на мой взгляд, русскоязычный «more info» скорее вводит в заблуждение, чем даёт полезную информацию. (Поэтому на скриншотах везде и англоязычный интерфейс, не смотря на то, что русскоязычный вроде бы есть).
В результате отрезается ещё больше цифр, и из «998877665544332211» остаётся лишь «332211»
Ии… как ни странно: при наборе 112233445566778899 всё работает:
Ну что ж, как говориться, отрицательный результат – тоже результат, а такой – тем более.
Пробуем нулевые параметры:
И получаем:
— Ура! Заработало!
(«0», «*» и «#» я тоже проверил – они тоже работают как надо)
Теперь можно с чистой совестью получить и такую картинку:
Ну что ж… какой отечественный продукт не требует доработки напильником?
Автор: i3v