Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

@Joe D@KorDen Разобрали проблему.

Итак, в pjsip есть массив даных по учеткам. В каждой учетке есть указатель на структуру pjsip_regc в которой хранятся даные для регистрации.

https://github.com/pjsip/pjproject/blob/master/pjsip/src/pjsip-ua/sip_reg.c

При успешной регистрации pjsip получает от сервера Service-Route и заменяет все роуты (прокси) в учетке на то, что пришло от сервера. При этом в pjsip_regc не заменяет - там лежат данные, рассчитанные при старте программы.

Следующая регистрация также делается при помощи старой pjsip_regc, и так до тех пор, пока регистрация успешна. Когда регистрация не удалась (например, нет связи с сервером) - структура pjsip_regc удаляется. При следующей попытке регистрации она создается заново исходя из данных учетки, а в учетке уже поменяли роуты, и роут не ресолвится, и регистрация не работает.

Итого:

  1. У нас неправильный алгоритм обработки Service-Route
  2. Каждая проблема с регистрацией вызвана недоступностью сервера телефонии Билайн

Что дальше:

  1. Пишу о проблеме в поддержку pjsip, чтобы они починили для будущих поколений
  2. Делаю настройку, которая позволит игнорировать Service-Route или добавлять новые роуты в конец, а не заменять старые
  3. Пока будет готова новая команда CLI, попробуйте использовать прописанный руками маршрут ip host mskimcs01.msk.ims.mnc099.mcc250.3gppnetwork.org 212.119.246.230 - это может помочь
  • Ответов 1,1 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано

@Belkunt Сейчас нет. Начали делать хранение телефонной книги и истории звонков на сервере (чтобы не заводиться с флешкой), но потом всех направили заниматься FXS донглом. Думаю, в ближайший год до телефонной книги не доберемся.

Опубликовано (изменено)

Не мое конечно дело, но FXS в 2020 году  странный сценарий использовать дома аналоговый телефон, особенно учитывая что цифровые VoIP телефоны приближаются по стоимости к аналоговым телефонным аппаратам.

К тому же "зоопарк" аналоговых устройств еще более веселое местечко, чем DECT... тут и несколько вариантов передачи определителя номера абонента... и разные тональные варианты набора... вы прямо уверены, что получится сделать универсальное устройство, и не повторится судьба Keenetic DECT, который уверенно работает только с линейкой Gigaset, а все остальные производители (особенно Panasonic) это лотерея...

Изменено пользователем Belkunt
Опубликовано

@BelkuntK+DECT очень мало покупали. Вероятно, как раз радиотелефоны не выдерживают конкуренции с мобильными.

К FXS можно по проводу подключить как DECT систему (база и трубка одного производителя, с полной родной функциональностью), так и обычный телефон. Также надеемся сделать поддержку нескольких донглов одновременно. Тогда одного роутера хватит на маленький офис.

Вообще - теория проверяется практикой. Посмотрим, как будут покупать FXS, если его доделаем.

Опубликовано

@Joe D Отключили поддержку Service-Route начиная с 3.04.

Там получилось, что в pjsip эта поддержка, скорее, "для галочки", а как пытаешься сделать нормально - то одного не хватает, то другого.

Если кому-то будет сильно нужно - сделаем как положено, а пока - помучались пару дней, и в результате - просто отключили.

После обновления на следующую (3.04.A.15) роутер больше не должен пытаться ходить на странный адрес mskimcs01.msk.ims.mnc099.mcc250.3gppnetwork.org

Опубликовано
On 3/28/2020 at 1:40 AM, KorDen said:

Стоп. Нет. "6.1.  Procedures at the UA": "it uses the content of the Service-Route header field as a preloaded Route header field in outgoing initial requests". И всё. Service-Route - это не outbound-прокси, и тем более не редирект регистрации.

Пример описан в разделе 6.4. Клиенту UA1 возвращают в качестве Service-Route P2 и HSP, но он продолжает обращаться к P1, просто у себя в Route он МОЖЕТ подставлять присланные P2 и HSP.

Да, все правильно. Только смотреть лучше в TS 24.229 п.5.1.2A, т.к. заголовок Service-Route -это расширение введенное для нужд 3GPP сетей. 
IMS возвращает в Service-Route адрес(a) S-CSCF, который должен быть вторым в списке Route (может быть несколько URI в Service-Route, тогда все по порядку, т.е второй и дальше). UE при формировании запроса non-REGISGTER заполняет Route  всегда так: первый URI в Route -это P-CSCF (Outbound Proxy), дальше URI S-CSCF, сохраненный из заголовка Service-Route в SIP 200 OK на REGISTER.
P-CSCF (Outbound Proxy) в случае не-мобильного клиента либо настраивается в конфиге, либо выдается через DHCP.

>>

The UE shall build a proper preloaded Route header field value for all new dialogs and standalone transactions. The UE shall build a list of Route header field values made out of the following, in this order:

a) the P-CSCF URI containing the IP address acquired at the time of the P-CSCF discovery procedures which was used in registration of the contact address (or registration flow); and

NOTE 15:If the UE is provisioned with or receives a FQDN at the time of the P-CSCF discovery procedures, the FQDN is resolved to an IP address at the time of the P-CSCF discovery procedures.

  1. b)  the P-CSCF port based on the security mechanism in use:

    • -  if IMS AKA or SIP digest with TLS is in use as a security mechanism, the protected server port learnt during the registration procedure;

    • -  if SIP digest without TLS, NASS-IMS bundled authentication or GPRS-IMS-Bundled authentication is in use as a security mechanism, the unprotected server port used during the registration procedure;

  2. c)  and the values received in the Service-Route header field saved from the 200 (OK) response to the last registration or re-registration of the public user identity with associated contact address.

  • 2 недели спустя...
Опубликовано (изменено)

Интересный баг нашел, а может и не баг) К роутеру подключен внешний HDD в порт USB 3.0 и dect в порт USB 2.0. В настройках роутера порт USB 3.0 работает в режиме 2.0. Если переключить его в 3.0, то радиус действия dect сокращается практически до прямой видимости. Это нормально?

Изменено пользователем Rezdbic
Опубликовано
2 минуты назад, Rezdbic сказал:

Если переключить его в 3.0, то радиус действия dect сокращается практически до прямой видимости. Это нормально?

Нормально для паршивого кабеля и/или коробки (диска).

Опубликовано
4 часа назад, Rezdbic сказал:

К роутеру подключен внешний HDD в порт USB 3.0 и dect в порт USB 2.0

У меня в 3.0 воткнута 3.0 флешка в режиме 3.0, и dect в 2.0, и так работает уже 3 года. Да, Plus DECT в целом слабее обычной базы, но хуже не становится

А WiFi 2.4 ГГц у вас одновременно с этим не глохнет?

  • 4 недели спустя...
Опубликовано

Да, там выложили версию с поддержкой FXS донгла. Поменялись команды CLI - видимо, зацепило регистрацию.

Еще с новой версией не будет работать старое мобильное приложение в плане телефонии. Телефонией в новом скоро займутся.

Вероятно, что будут новые баги.

  • 5 недель спустя...
Опубликовано

Скажите пожалуйста, почему "Правило набора" ограничено всего ста символами? У меня правило не влезает =( 

Опубликовано
5 hours ago, gaaronk said:

Скажите пожалуйста, почему "Правило набора" ограничено всего ста символами? У меня правило не влезает =( 

Надо было как-то ограничить. А что Вы с ним делаете, что не влезает? Какое оно у Вас?

Опубликовано
2 hours ago, des said:

Надо было как-то ограничить. А что Вы с ним делаете, что не влезает? Какое оно у Вас?

В принципе я разобрался уже. Все равно сам сервер телефонии ограничивает. Такое развесистое правило набора нужно было для проводных телефонов где подняли трубку и жмем клавиши. что бы не ждать паузы - окончания набора номера, а набирать мгновенно. 

В DECT это не играет роли. номер набрали - зеленую кнопку нажали.

Опубликовано

@gaaronkМы сейчас делаем новый USB донгл для подключения проводных телефонов, поэтому любые примеры того, что в текущей реализации неудобно, будут очень полезными.

Опубликовано (изменено)
16 часов назад, gaaronk сказал:

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

Типичный набор для PSTN в РФ "0x|[01]xx|[2-79]xxxxx|8,[3489]xxxxxxxxx|8,[125]x,xxxx+" или у вас там замены прописаны?

Изменено пользователем KorDen
Опубликовано
5 hours ago, des said:

@gaaronkМы сейчас делаем новый USB донгл для подключения проводных телефонов, поэтому любые примеры того, что в текущей реализации неудобно, будут очень полезными.

Ну у меня специфические задачи. Мне гарное аппарате (dect или проводной) довести до asterisk, который и держит все линии и сам везде маршрутизирует. С учетом что звонки внутренние, офис, РФ, Украина, то пока вот так:

2xxx|8[3-9]xxxxxxxxx|71[027]x|715xx|7[2-5]xxxxxx|70[1-9]xxxxxxxx|0441[027]x|04415xx|0[1-9]xxxxxxxx|9xxxx|(81038>)0[1-9]xxxxxxxx|810xxxxxxxx.

 

Опубликовано
16 minutes ago, gaaronk said:

Ну у меня специфические задачи. Мне гарное аппарате (dect или проводной) довести до asterisk, который и держит все линии и сам везде маршрутизирует. С учетом что звонки внутренние, офис, РФ, Украина, то пока вот так:

2xxx|8[3-9]xxxxxxxxx|71[027]x|715xx|7[2-5]xxxxxx|70[1-9]xxxxxxxx|0441[027]x|04415xx|0[1-9]xxxxxxxx|9xxxx|(81038>)0[1-9]xxxxxxxx|810xxxxxxxx.

Вообще можно ужать, например (0[1-9]|70[1-9]|810|(81038>)0[1-9])xxxxxxxx. Даже, может, проще читать будет (спорно, конечнео).

Но, наверное, нужно будет увеличить размер поля.

Опубликовано

Если такие вложенные замены можно делать, то конечно можно ужать. Я просто копипастил из linksys с конвертацией из его формата.

Вопрос решится так же тем что цена трубка + донгл оказалось больше чем новый Panasonic TGP500 (удалось найти). 

  • 1 месяц спустя...
Опубликовано

Протестировали новые относительно бюджетные CAT-iq 2 трубки Gigaset AS690HX и Gigaset CL660HX с K+DECT. Проблем не нашли.

Опубликовано

"Глухой абонент"

Всем привет, имею связку трёх черных роутеров: 

Ultra II (3.4.6) + Dect Plus + Panasonic 1105
Keenetic III (2.11.D.6.0-3) + офисный проводной панасоник через FXS порт.
Viva (2.11.D.6.0-3) + Dect Plus + Panasonic 1105

на ультре установлен локальный астериск, сервер SSTP, кинетик и вива к нему клиентами впн, настроены маршруты между подсетями,  tcp, idp, imcp - всё туда-сюда ходит нормально. Между ультрой и кинетиком связь отличная, а абонент вивы никого не слышит - ни ультру, ни кинетик, ни при входящем, ни при исходящем

ранее выскакивала подобная проблема, но в том случае линии были внешними и настроены на оператора ZADARMA и все дело в итоге оказалось во включенном NAT у провайдера проблемной стороны.

Что безрезультатно применялось:

1. удалялся, возвращался компонент sip-alg (при удалении связь вообще пропала),

2. применялась команда ip sip alg direct-media 

3. игрался с кодеками (но дект-трубки поддерживают только G.711U)

4. менял порты прокси сервера и сервера регистрации

не знаю, важно ли, но в логе глухого абонента зеленым шрифтом есть такие записи:

Скрытый текст

File read failed for /tmp/nvox.phonebook
Авг 9 17:39:43 nvox
Cannot open phonebook file
Авг 9 17:39:43 nvox
File read failed for /tmp/nvox.history_calls
Авг 9 17:39:43 nvox
Cannot open calls history file

В чем может быть проблема, что нужно проверить/подкрутить ?

в аттачах скрины настроек линий

 

ULTRA_PHONE.jpg

Keenetic III_PHONE.jpg

VIVA_PHONE.jpg

Опубликовано

@BL63Включите, пожалуйста, опцию "узнавать свой публичный IP-адрес от SIP-сервера" в настройках линии на Viva.

Если не поможет - снимите self-test для Viva, надо:

1) включить отладочный режим на Viva
2) подождать 30 секунд
3) сделать исходящий вызов с Viva, при котором отсутствует слышимость
4) после завершения вызова выключить отладочный режими, прислать файл self-test (скрытым сообщением в форуме или личным сообщением)

https://help.keenetic.com/hc/ru/articles/360000873379-Диагностика

Опубликовано

еще небольшой затык - не знаю, в эту ветку, ли, поправьте

после перехода на локальный астериск у  всех абонентов (dect, аналового телефона, софтового sip-клиента) нет прерывистых гудков исходящего вызова:

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

почему так ?

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.