Opened 3 months ago

Last modified 3 months ago

#441 new задача

Инверсия СУВ в окончании FXO

Reported by: san Owned by: alx
Priority: высокий Milestone: 1 очередь
Component: any Keywords:
Cc:

Description

У наших пользователей довольно часто встречается стыковка нашего оборудования с TDM каналом FxO приходящим от аппаратуры производства RAD.
Ранее схема стыковки выглядела так: FXO(RAD) <-> E1 <-> FS-08
Особенность аппаратуры RAD в том, что активное состояние СУВ в ней передаётся не нолём, а единицей(толи это нельзя изменить в конфигурации, толи никто не умеет, но вот так оно есть).
В связи с этой особенностью для успешной стыковки нам потребовалось:

  1. В плате FS-08 добавить возможность инверсии СУВ
  2. При инверсии наблюдается один негативный эффект - при обрыве линии E1, в сторону FS-08 будет сформирован сигнал AIS, который интерпретируется как активный СУВ и все телефоны начинают ложно звонить. В связи с этим, Толя решил добавить условие при включенной настройке инверсии - если все 4 входящих СУВ = 1, это считается неактивным СУВ. Это решило проблему ложных звонков при обрыве линии (один из СУВ, со стороны RAD всегда передаётся нолём, а при AIS вместо него передаётся 1, кажется это "СУВ c").

Это всё была предыстория :) Теперь к теме тиета:
В связи с постепенным переходом сервисов пользователей в IP, у пользователей изменилась схема связи, теперь она выглядит так:

FXO(RAD) <-> E1 <-> VE-01(окончание FxO) <-> IPАТС

И теперь в окончание FXO платы VE-01(и VE-02) тоже требуется добавить возможность стыковки через TDM с аппаратурой RAD - инверсию СУВа с "защитой" от ложного вызова при сигнале AIS.

Change History (7)

in reply to:  description comment:1 by alx, 3 months ago

Replying to san:

Ранее схема стыковки выглядела так: FXO(RAD) <-> E1 <-> FS-08

...

В связи с постепенным переходом сервисов пользователей в IP, у пользователей изменилась схема связи, теперь она выглядит так:

FXO(RAD) <-> E1 <-> VE-01(окончание FxO) <-> IPАТС

??? Но ведь эти схемы не эквивалентны - каким образом порт FXS (который был в плате FS-08) с правой стороны вдруг превратился в FXO? Теперь получается, что на обоих концах канала - FXO, что вряд ли будет работать. :) Так, непример, FXO с левой стороны передает номер из абонентской линии в канал. Но окончание FXO справа не принимает набор номера из канала, у него просто нет такой функции. А выходящий из канала СУВ оно интерпретирует как сигнал вызова...

Предполагаю, что ты на самом деле имел в виду канальное окончание FXS, а не FXO. Эти два типа окончаний комплементарны - если на одном конце канала FXO, то на другом должно быть FXS (как это и было в первой схеме, где справа FS-08)...

Теперь о собственно предложении. Предложение понятно, но я не уверен, что такой вариант решения проблемы является оптимальным. Ведь завтра вместо канального окончания FXS платы VE-01 к такому каналу может потребоваться подключить какое-то другое канальное окончание платы VE-01 (например FXO или R2), или не VE-01 а какой-то еще другой платы (например FO-08) - и та же проблема возникнет вновь, и опять придется добавлять новую функцию в другую платы или другое канальное окончание... Получается, что для обеспечения полной совместимости с RAD нам надо дорабатывать софт и FS-08, и FO-08, и всех остальных плат, работающих с СУВ (даже тех, у которых функция инверсии уже есть, например MI-04, EM-04 так как там наверняка нет проверки на комбинацию СУВ 1111), и все канальные окончания VE-01/VE-02, использующие СУВ (ну или почти всех - надо с каждым окончанием разбираться, что для него означает комбинация СУВ 00)...

Более оптимальным и логичным мне кажется несколько иное решение. Так как источник проблемы (инвертор СУВ) находится на уровне сигнального канала, то и решать эту проблему логично на уровне канала - то есть средствами ПЛИС платы SW-01. То есть СУВ для нужных каналов инвертируются прямо в SW-01, при этом учитывается авария потока, в случае которой платам передается 1111 (или 1101). Это было бы универсальное решение в одном месте, не зависящее от канального окончания, то есть никакие другие платы дорабатывать не надо.

Предлагаю рассмотреть предложенный выше альтернативный вариант решения.

Version 0, edited 3 months ago by alx (next)

comment:2 by san, 3 months ago

с правой стороны вдруг превратился в FXO? Теперь получается, что на обоих концах канала - FXO, что вряд ли будет работать. . :) Так, непример, FXO с левой стороны передает номер из абонентской линии в канал. Но окончание FXO справа не принимает набор номера из канала, у него просто нет такой функции. А выходящий из канала СУВ оно интерпретирует как сигнал вызова...

Наверное. ты не правильно понял мою схему, нарисую чуть подробнее:
АТС(FxS) <-медная линия-> FxO(RAD) <-tdm-> E1 <-tdm-> VE-01(окончание FxO) <-ip-> IPАТС

Это примерно тоже самое, что и в АТС "АДС", только вместо FXO RAD у нас плата FO-08:
АТС(FxS) <-медная линия-> FO-08 <-tdm-> VE-01(окончание FxO) <-ip-> Freeswitch

comment:3 by alx, 3 months ago

А, да, ты прав, это я ошибся с направлением передачи номера. FXO (с левой стороны) передает номер не в канал, а в абонентскую линию, то есть все правильно нарисовано.

comment:4 by san, 3 months ago

Более рациональным и логичным мне кажется несколько иное решение. Так как источник проблемы (инвертор СУВ) находится на уровне сигнального канала, то и решать эту проблему логично на уровне канала - средствами ПЛИС платы SW-01. То есть СУВ для нужных каналов инвертируются прямо в SW-01, при этом учитывается авария сверхцикла, в случае которой платам передается 1111 (или 1101). Это было бы универсальное решение в одном месте, не зависящее от канального окончания, то есть никакие другие платы дорабатывать не надо.
Предлагаю рассмотреть предложенный выше альтернативный вариант решения.

Такой вариант был предложен в #218, но у Толи не получилось это реализовать, и ,к сожалению, я не записал причину неудачи, придётся теперь заново получить эту информацию.

На текущий момент предлагаю реализовать промежуточное решение:
Сделать в окончании FXO платы VE, обычную инверсию СУВ, как это сделано в FXS и 1ИНД, думаю сделать это не сложно и "костылей" тут нет. А мне это позволит временно удовлетворить потребности пользователей в стыковке, хоть и пока с возможностью ложных прозвонов при обрыве, и даст время обдумать и реализовать окончательное решение.

in reply to:  4 comment:5 by alx, 3 months ago

Replying to san:

На текущий момент предлагаю реализовать промежуточное решение:
Сделать в окончании FXO платы VE, обычную инверсию СУВ, как это сделано в FXS и 1ИНД, думаю сделать это не сложно и "костылей" тут нет.

Без костылей здесь вряд ли получится обойтись (подозреваю, что во время передачи Caller-ID СУВ перейдет в дефолтное состояние, что удаленной стороной будет воспринято как ответ, поэтому придется "замораживать" СУВ на это время), но есть вероятность, что все нужные костыли уже имеются (были поставлены для режима T.38, в котором MSP не управляет СУВ'ами)...

comment:6 by alx, 3 months ago

In 2459/sip_ua:

Канальному окончанию FXO добавлен флаг интерсии СУВ.
При установке этого флага СУВ работает инверсно.
See #441.

comment:7 by alx, 3 months ago

Реализация инверсии оказалась проще, чем я предполагал. :)

Однако этот тикет поднимает более широкую проблему. Ни одно канальное окончание VE не проверяет СУВ на комбинацию 1111 (то есть на аваарийное состояние потока). В каких-то канальных окончаниях это и не требуется (например в 1IND), а в каких-то такая комбинация может оказаться деструктивной (например в R2 комбинация 11 означает clearback, в результате потеря СЦС на долю секунды может привести к отбою установленного соединения). Получается, что даже при отсутствии инверсии СУВ необходимо принимать какие-то меры по защите...

С другой стороны, утверждение, что комбинация 1111 является признаком аварии, тоже спорна. Така комбинация не является запрещенной (запрещена только комбинация 0000), и неиспользуемые СУВ cd вполне могут иметь значение 11...

Last edited 3 months ago by alx (previous) (diff)
Note: See TracTickets for help on using tickets.