Форумы  ·  Войти  · 

Тема: Akuvox - SIPSDA3-трубка - генерация сигнала открытия

Страница 1 из 3, все  1 2 3 > 
30.03.22 15:06   Andrew_ko  (14/17.11.21)  

Стоит задача интеграции панели Akuvox S915x с координатной системой Vizit. На данный момент собрали схему Akuvox - FreePBX -SIP\SDA3-трубка. При звонке с панели на ПК и наборе кода в тоновом режиме (по протоколу SIP Info) панель открывает реле по DTMF запросу. При этом в логах SIP сервера имеем

24770 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF begin ‘3’ received on SIP/98-000000d7
24771 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF begin passthrough ‘3’ on SIP/98-000000d7
24772 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF end ‘3’ received on SIP/98-000000d7, duration 120 ms
24773 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF end accepted with begin ‘3’ on SIP/98-000000d7
24774 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF end passthrough ‘3’ on SIP/98-000000d7
24775 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF begin ‘4’ received on SIP/98-000000d7
24776 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF begin passthrough ‘4’ on SIP/98-000000d7
24777 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF end ‘4’ received on SIP/98-000000d7, duration 120 ms
24778 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF end accepted with begin ‘4’ on SIP/98-000000d7
24779 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF end passthrough ‘4’ on SIP/98-000000d7
24780 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF begin ‘5’ received on SIP/98-000000d7
24781 [2022-03-30 12:43:20] DTMF[25142][C-00000074] channel.c: DTMF begin passthrough ‘5’ on SIP/98-000000d7
24782 [2022-03-30 12:43:21] DTMF[25142][C-00000074] channel.c: DTMF end ‘5’ received on SIP/98-000000d7, duration 120 ms
24783 [2022-03-30 12:43:21] DTMF[25142][C-00000074] channel.c: DTMF end accepted with begin ‘5’ on SIP/98-000000d7
24784 [2022-03-30 12:43:21] DTMF[25142][C-00000074] channel.c: DTMF end passthrough ‘5’ on SIP/98-000000d7

При звонке с панели на трубку через SIP/SDA3 проходит вызов. При нажати кнопки на трубке генерируется такой-же код 345, но выглядит вот так:

24794 [2022-03-30 12:50:29] DTMF[26112][C-00000076] channel.c: DTMF end ‘3’ received on SIP/4-000000db, duration 250 ms
24795 [2022-03-30 12:50:29] DTMF[26112][C-00000076] channel.c: DTMF begin emulation of ‘3’ with duration 250 queued on SIP/4-000000db
24796 [2022-03-30 12:50:29] DTMF[26112][C-00000076] channel.c: DTMF end emulation of ‘3’ queued on SIP/4-000000db
24797 [2022-03-30 12:50:29] DTMF[26112][C-00000076] channel.c: DTMF end ‘4’ received on SIP/4-000000db, duration 250 ms
24798 [2022-03-30 12:50:29] DTMF[26112][C-00000076] channel.c: DTMF begin emulation of ‘4’ with duration 250 queued on SIP/4-000000db
24799 [2022-03-30 12:50:29] DTMF[26112][C-00000076] channel.c: DTMF end emulation of ‘4’ queued on SIP/4-000000db
24800 [2022-03-30 12:50:29] DTMF[26112][C-00000076] channel.c: DTMF end ‘5’ received on SIP/4-000000db, duration 250 ms
24801 [2022-03-30 12:50:29] DTMF[26112][C-00000076] channel.c: DTMF begin emulation of ‘5’ with duration 250 queued on SIP/4-000000db
24802 [2022-03-30 12:50:29] DTMF[26112][C-00000076] channel.c: DTMF end emulation of ‘5’ queued on SIP/4-000000db
24803 [2022-03-30 12:50:38] DTMF[26112][C-00000076] channel.c: DTMF end ‘3’ received on SIP/4-000000db, duration 250 ms
24804 [2022-03-30 12:50:38] DTMF[26112][C-00000076] channel.c: DTMF begin emulation of ‘3’ with duration 250 queued on SIP/4-000000db
24805 [2022-03-30 12:50:38] DTMF[26112][C-00000076] channel.c: DTMF end emulation of ‘3’ queued on SIP/4-000000db
24806 [2022-03-30 12:50:38] DTMF[26112][C-00000076] channel.c: DTMF end ‘4’ received on SIP/4-000000db, duration 250 ms
24807 [2022-03-30 12:50:38] DTMF[26112][C-00000076] channel.c: DTMF begin emulation of ‘4’ with duration 250 queued on SIP/4-000000db
24808 [2022-03-30 12:50:38] DTMF[26112][C-00000076] channel.c: DTMF end emulation of ‘4’ queued on SIP/4-000000db
24809 [2022-03-30 12:50:38] DTMF[26112][C-00000076] channel.c: DTMF end ‘5’ received on SIP/4-000000db, duration 250 ms
24810 [2022-03-30 12:50:38] DTMF[26112][C-00000076] channel.c: DTMF begin emulation of ‘5’ with duration 250 queued on SIP/4-000000db
24811 [2022-03-30 12:50:38] DTMF[26112][C-00000076] channel.c: DTMF end emulation of ‘5’ queued on SIP/4-000000db

При изменении верхнего уровня сигнала с 2000 до 1800 начинаем видеть в логах FreeBPX и слышать DTMF код на панели.

Подскажите куда смотреть и что править )

 

Вложенный рисунок
98_SIP.png4_SIP.pngнастройки_трубок.png
[ #1 ]  30.03.22 15:19   Tech.Support  KOMENDANT LAB  

А проблема в результате в чем? Дверь не открывается?
Предположительно в первом случае DTMF идет через RTP Event а во втором через SIP info. SIP-CDA3 поддерживает и тот и другой режимы, включите наиболее желательный.

[ #2 ]  30.03.22 15:27   Andrew_ko  (14/17.11.21)  

Да, реле на панели не открывается. Сейчас панель через сип сервер общается с ПК по любому из выбранных протоколов и дверь открывается. Если использовать RFC2833 в CDA3 то сталкиваюсь с такой проблемой:

8112 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF begin ‘0’ received on SIP/4-000000a1
8113 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF begin passthrough ‘0’ on SIP/4-000000a1
8114 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF end ‘0’ received on SIP/4-000000a1, duration 80 ms
8115 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF end accepted with begin ‘0’ on SIP/4-000000a1
8116 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF end ‘0’ detected to have actual duration 9 on the wire, emulation will be triggered on SIP/4-000000a1
8117 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF end ‘0’ has duration 9 but want minimum 80, emulating on SIP/4-000000a1
8118 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF end emulation of ‘0’ queued on SIP/4-000000a1
8119 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF begin ‘0’ received on SIP/4-000000a1
8120 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF begin passthrough ‘0’ on SIP/4-000000a1
8121 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF end ‘0’ received on SIP/4-000000a1, duration 80 ms
8122 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF end accepted with begin ‘0’ on SIP/4-000000a1
8123 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF end ‘0’ detected to have actual duration 13 on the wire, emulation will be triggered on SIP/4-000000a1
8124 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF end ‘0’ has duration 13 but want minimum 80, emulating on SIP/4-000000a1
8125 [2022-03-30 12:27:59] DTMF[20808][C-00000059] channel.c: DTMF end emulation of ‘0’ queued on SIP/4-000000a1

Как итог, на панели тишина.

[ #3 ]  30.03.22 15:48   Tech.Support  KOMENDANT LAB  

Получается, что в RFC2833 вместо 345 набирается 00? А в SIP info набирается 345 и дверь открывается?

[ #4 ]  30.03.22 15:51   Andrew_ko  (14/17.11.21)  

Нет. это я пытался отправлять 0 на открытие. Вопрос по параметру Duration. Он всегда разный и не доходит до 80мс

[ #5 ]  30.03.22 16:32   Tech.Support  KOMENDANT LAB  

У нас задумана длительность RTP event 100 мсек. В протоколе это реализовано так, что идут 4 пакета по 20 мсек и пятый с флагом конца. Потом он еще 2 раза дублируется, это нужно, чтобы в случае потери пакета  DTMF не залипал. Алгоритм в точности такой же у телефонов Yealink. Сервер почему-то считает, что длительность 80 мсек. А потом еще дубли стопового пакета  считает за отдельные сигналы.
Предположительно ему нужна длительность кратно 40 или теряется один из промежуточных пакетов. Можно попробовать по логам witreshark разобраться, что доходит до сервера и отправляет ли он на домофон. По идее 80мсек сигнал он ловит, хотя должен отображать как 100. Цифры 9 и 13 он берет видимо из реального времени, как приходят пакеты.

[ #6 ]  30.03.22 17:15   Tech.Support  KOMENDANT LAB  

Еще может быть пятый пакет приходит раньше, чем четвертый из-за параллельной передачи данных по разным каналам, что тоже будет видно в wireshark. Если такое имеется, то и со звуком будет чехарда.

[ #7 ]  31.03.22 8:51   fulcrum  (9/31.03.22)  

Если перехватывать пакеты от SIP клиента (Zoiper) на ПК  в адрес панели, то всё “как по учебнику”, но при просмотре пакетов от SDA такой картины уже нет. Есть предположение что проблема в кодеках g711. У Вас нет версии прошивки с более современными кодеками?
И ещё вопрос -может есть возможность посмотреть логи непосредственно с SDA3, или только wireshark используете?

[ #8 ]  31.03.22 10:01   Tech.Support  KOMENDANT LAB  

В случае с многократным набором 0 в одну и ту же секунду может быть, это может быть то, что верхний уровень линии во время разговора находится на грани срабатывания кнопки. Может быть его нужно еще уменьшить.
Кодеки есть только g711a и g711u, других нет. Проблема не может быть в кодеках g711, т.к. через них идет только голос. DTMF идет через RTP event это отдельный кодек. Используем только wireshark. Если нет возможности (желания) снять логи wireshark, остановитесь на SIP info, оно у вас работает. Если нужно наладить работу с rfc2833, нужно снять 2 лога со стороны сервера, с набором одинаковых цифр. Один от zoiper, другой от sip-cda3, и вложить их в сообщение на форуме. Если на сервер приходят все пакеты в правильном порядке, но он на них неправильно реагирует, мы можем сделать в точности, как в zoiper, если это ничему не будет противоречит.

[ #9 ]  31.03.22 10:08   fulcrum  (9/31.03.22)  

Сейчас сделаем захват пакетов. Хотел прояснить, мы собираем схему в которой нет блока управления домофоном, т.е. сингал от трубки через SDA3 поступает на вызывную панель.

[ #10 ]  31.03.22 10:18   Tech.Support  KOMENDANT LAB  

Блок управления нужен только для обслуживания аналоговой вызывной панели. Для начала уменьшите верхний уровень линии во время разговора, может и захват не придется делать.

[ #11 ]  31.03.22 10:50   Andrew_ko  (14/17.11.21)  

Добрый день. На всякий случай приложу схему на тестовом стенде.
Имеем SIP сервер FreePBX. На сервере 4 SIP аккаунта:
1: Комендант
4: Аналоговая трубка
2: Вызывная панель
3: ПК (Zoiper)
В настройках SIP аккаунта указан тип передачи DTMF как RFC2833 (прикладываю скрин).
Прикладываю настройки коменданта. (При настройке Верхнего уровня линии(разговор): 2000 сигнал появляется с 5-10 нажатия, при 1800 работает более стабильно. Разброс в логах по задержкам от 1 до 15-20)

Прикладываю скриншоты логов.

Вложенный рисунок
CDA3.PNGzoiper.PNGDTMF.PNG
[ #12 ]  31.03.22 10:51   Andrew_ko  (14/17.11.21)  

Прикладываю настройки CDA3

Вложенный рисунок
1.PNG2.PNG4.PNG
[ #13 ]  31.03.22 11:28   Tech.Support  KOMENDANT LAB  

Это не захват пакетов. Такое мы уже видели 2 предыдущих раза.
Сделайте верхний уровень линии (разговор) 1700.

[ #14 ]  31.03.22 11:33   Andrew_ko  (14/17.11.21)  

При 1700 ситуация аналогичная. Подскажите, могу ли я направить вам на почту dump трафика с Zoiper и CDA? на форум не получается залить файлы Wireshark.

[ #15 ]  31.03.22 11:35   Tech.Support  KOMENDANT LAB  

Можете. Почта в контактах.

Страница 1 из 3, все  1 2 3 > 
Komendant.pro
 ©1999-2024  Инженерная лаборатория "Комендантъ"