VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Desireless
Сообщения: 16
Зарегистрирован: 11 ноя 2022, 23:01

Re: GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Сообщение Desireless »

Лучший SIP клиент на сегодня - Linphone. Он существует для всех популярных ОС, и он freeware. В нём собственный SIP стек.
Стек нашел только для Desktop версий, на Android что то не рассмотрел наверное. Еще учитывая инертность больших организаций где выкурить XP не удалось до сих пор, а "особо ценным" сотрудникам так вообще приходится ставить виртуальную машину, не хватает х86 версии, хотя собрать конечно учитывая открытость вероятно не сложно. На скорую руку для тестов поставил MicroSIP на свой старенький netbook c 32-ух разрядной машиной. На Android и на основной машине Linphone. Звонят друг другу нормально.

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

VPN подключать не хочу, к тому же могут конфликтовать между собой, ведь предполагается что устройство личное, потому прямой доступ, к тому же такое упрощение системы дает бонус в ее надежности. Стек вполне достаточное решение.
Desireless
Сообщения: 16
Зарегистрирован: 11 ноя 2022, 23:01

Re: GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Сообщение Desireless »

Отчет по модулям:

Настройка dongle.conf, отчет в консоли:

Код: Выделить всё

CLI> dongle show device settings vodafone
------------- Settings ------------
  Device                  : vodafone
  Audio                   : /dev/cuaU0.1
  Data                    : /dev/cuaU0.2
  IMEI                    : 35963801387****
  IMSI                    : 25501515034****
  Channel Language        : en
  Context                 : vodafone-incoming
  Exten                   : +38095*******
  Group                   : 1
  RX gain                 : 0
  TX gain                 : 0
  U2Diag                  : 0
  Use CallingPres         : Yes
  Default CallingPres     : Presentation Allowed, Passed Screen
  Auto delete SMS         : Yes
  Disable SMS             : No
  Reset Dongle            : Yes
  SMS PDU                 : No
  Call Waiting            : auto
  DTMF                    : relax
  Minimal DTMF Gap        : 45
  Minimal DTMF Duration   : 80
  Minimal DTMF Interval   : 200
  Initial device state    : start
Два источника исходников для модуля: Для сборки chan_dongle использую команды:
  • 1) ./bootstrap
    2) ./configure LDFLAGS="-L /usr/local/lib" --with-astversion=18.14.0
    3) добавляю в конец созданного makefile строчку LIBS = /usr/local/lib/libiconv.so
    4) gmake
    5) вручную копирую chan_dongle.so в директорию /usr/local/lib/asterisk/modules
настройка консоли:
  • CLI> rtp set debug on
    CLI> core set verbose 10
результаты:
  • 1) "wdoekes" при звонках GSM <->SIP нет звука из GSM
    2) "haha8x" при звонках GSM <->SIP нет звука в обе стороны
консоль в обеих случаях из подозрительного выдает только одно предупреждение по завершении связи:

Код: Выделить всё

WARNING[102589][C-00000002]: channel.c:1079 channel_indicate: [Dongle/vodafone-0100000001] Don't know how to indicate condition 22

Пошел скандалить на github, :twisted:
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Сообщение ded »

Хм, а
при звонках из GSM на Playback(hello_world) звук был?
при звонках из SIP на Playback(hello_world) звук был?
rtp было? Бежали пакеты? В одну сторону? В две стороны?
Desireless
Сообщения: 16
Зарегистрирован: 11 ноя 2022, 23:01

Re: GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Сообщение Desireless »

Сам с собой поговорил на GitHub, даже прошивку модему обновил, и наконец услышал :ugeek: Проблема оказалась в недостаточном описании транспорта и клиента sip, хотя тестирование делаю в одноранговой сети без NAT:

pjsip.conf

Код: Выделить всё

;===============TRANSPORT================================================================
[transport-udp-nat]
type=transport
protocol=udp
bind=0.0.0.0
local_net=192.168.0.0/24
local_net=127.0.0.0/32
external_media_address=176.36.ХХХ.ХХХ
external_signaling_address=176.36.ХХХ.ХХХ

;===============ENDPOINT TEMPLATES=======================================================

[endpoint-basic](!)
type=endpoint
context=internal
disallow=all
allow=ulaw
transport=transport-udp-nat
direct_media=no

[auth-userpass](!)
type=auth
auth_type=userpass

[aor-single-reg](!)
type=aor
max_contacts=1
remove_existing=yes
remove_unavailable=yes

;===============EXTENSION 6000

[6000](endpoint-basic)
auth=auth6000
aors=6000

[auth6000](auth-userpass)
password=6000
username=6000

[6000](aor-single-reg)

;===============EXTENSION 6001

[6001](endpoint-basic)
auth=auth6001
aors=6001

[auth6001](auth-userpass)
password=6001
username=6001

[6001](aor-single-reg)

Итого, модуль от "wdoekes" https://github.com/wdoekes/asterisk-chan-dongle/, замечательно работает для моей конфигурации Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Большая благодарность Ded, за найденные ошибки, отладчика я если честно не понял, ошибок консоль не выдавала, поискал ключевые слова, они вывели на рекомендации подключения в сетях. Предупреждение при звонках GSM->SIP в консоли модуль еще оставляет, но влияния на функциональность не заметил.
Desireless
Сообщения: 16
Зарегистрирован: 11 ноя 2022, 23:01

Re: GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Сообщение Desireless »

Все бегает, все звонится если в локальной сети, если за NAT, то предсказуемо нет звука, ставлю rtp_symmetric=yes и телефоны не могуть зарегистрироваться на сервере, :?

Код: Выделить всё

;===============TRANSPORT================================================================
[transport-udp-nat]
type=transport
protocol=udp
bind=0.0.0.0
local_net=192.168.0.0/24
local_net=127.0.0.0/32
external_media_address=176.36.xxx.xxx
external_signaling_address=176.36.xxx.xxx

;===============ENDPOINT TEMPLATES=======================================================

[endpoint-basic](!)
type=endpoint
context=internal
disallow=all
allow=ulaw
transport=transport-udp-nat
direct_media=no
force_rport=yes
rtp_symetric=yes
rewrite_contact=yes

[auth-userpass](!)
type=auth
auth_type=userpass

[aor-single-reg](!)
type=aor
max_contacts=1
remove_existing=yes
remove_unavailable=yes

;===============EXTENSION 6000
[6000](endpoint-basic)
auth=auth6000
aors=6000

[auth6000](auth-userpass)
password=6000
username=6000

[6000](aor-single-reg)
Пишет что нет такой точки, так понимаю что нет точки с такими параметрами, а как их инициализировать на клиенте пока не понимаю. Использовал Sipdroid и Linphone :geek:

Код: Выделить всё

[Nov 16 18:01:11] NOTICE[102034] res_pjsip/pjsip_distributor.c: Request 'REGISTER' from '<sip:6001@192.168.0.10>' failed for '192.168.0.60:57739' (callid: 85547278005@192.168.0.60) - Failed to authenticate
[Nov 16 18:01:11] NOTICE[102034] res_pjsip/pjsip_distributor.c: Request 'REGISTER' from '<sip:6001@192.168.0.10>' failed for '192.168.0.60:57739' (callid: 585547278005@192.168.0.60) - No matching endpoint found
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Сообщение ded »

У вас (выше) описан
;===============EXTENSION 6000
[6000](endpoint-basic)
auth=auth6000
aors=6000

а пытаетесь регистрировать 6001
Request 'REGISTER' from '<sip:6001@192.168.0.10>'

Используйте лучше chan_sip, он сам проще, и проще настраивается, и примеров в интернете гораздо больше.
PJSIP - это для больших операторов, у кого много много ИП адресов, интерфейсов, клиентов, внешних номеров.
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Сообщение Zavr2008 »

Все пока в одной одно ранговой сетке, наружу еще Asterisk не выпускал
Пора бы уже книжку Будущее Телефонии почитать, она теперь Asterisk The Defiinitive Guide называется.
В Вашем случае это думаю полезно, с учетом симбиоза FreePBD и начала знакомства с Asterisk.
Последний раз редактировалось Zavr2008 17 ноя 2022, 12:41, всего редактировалось 1 раз.
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
Desireless
Сообщения: 16
Зарегистрирован: 11 ноя 2022, 23:01

Re: GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Сообщение Desireless »

ded писал(а):а пытаетесь регистрировать 6001
Конфиги для простоты тестовые, 6001 секцией ниже. Перестают работать оба, 6000 и 6001 - первый стоит на машине с Астериском, у него буковки не такие красивые но ошибка та же, потому скопировал ошибку от второго. Начитался разных инструкций, насколько понял не хватает секции идентификации которая в моем случае то и не нужна, :-)

Код: Выделить всё

;===============EXTENSION 6000

[6000](endpoint-basic)
auth=auth6000
aors=6000

[auth6000](auth-userpass)
password=6000
username=6000

[6000](aor-single-reg)

;===============EXTENSION 6001

[6001](endpoint-basic)
auth=auth6001
aors=6001

[auth6001](auth-userpass)
password=6001
username=6001

[6001](aor-single-reg)
Последний раз редактировалось Desireless 17 ноя 2022, 12:56, всего редактировалось 1 раз.
Desireless
Сообщения: 16
Зарегистрирован: 11 ноя 2022, 23:01

Re: GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Сообщение Desireless »

Zavr2008 писал(а):Пора бы уже книжду Будущее Телефонии почитать, она теперь Asterisk The Defiinitive Guide называется.
Зделают размер журнала контроллируемый средствами службы, и вообще настраиваемые журналы, тогда будет и "Будущее телефонии", а то за сутки включения АТС насобирало 10 гиг журналов от спамеров, а это значит уязвимость по свободному объему для всего сервера. :-)

Про облачные решения не задумывался даже, если речь про авторизацию то решений пока нет, самое надежное по идетнификации человека это пока бумага, :-) если по распределению трафика то тоже не густо, у тех кто мечтает много ресурсов обычно океан, а когда в реальные условия попадают, "каждый сам себе сервер"
у же и не работает, начинаются выяснения кто ж среди равных ровнее, :-) Обслуживают то пока не простые алгоритмы, работу которых мало кто понимаеит, плюс сверху за тем бардаком следит еще и "ИИ", одним словом мистика эти облака со всеми их службами на данный момент. :-)
Desireless
Сообщения: 16
Зарегистрирован: 11 ноя 2022, 23:01

Re: GSM <->SIP Asterisk 18.14.0 FreeBSD 13.1 Huawei E169

Сообщение Desireless »

ded писал(а):Используйте лучше chan_sip, он сам проще, и проще настраивается, и примеров в интернете гораздо больше.
PJSIP - это для больших операторов, у кого много много ИП адресов, интерфейсов, клиентов, внешних номеров.
Проверяю как работает с chan_sip (modules.conf noload = chan_pjsip.so):

file:///var/log/asterisk/messages, при загрузке предупреждение что с 21-ой версии модуль отключат, но у меня пока 18-ая в портах.

Код: Выделить всё

[Nov 18 03:06:34] NOTICE[102415] chan_sip.c: The 'username' field for sip peers has been deprecated in favor of the term 'defaultuser'
[Nov 18 03:06:34] WARNING[102415] chan_sip.c: !!! PLEASE NOTE: Setting 'nat' for a peer/user that differs from the  global setting can make
[Nov 18 03:06:34] WARNING[102415] chan_sip.c: !!! the name of that peer/user discoverable by an attacker. Replies for non-existent peers/users
[Nov 18 03:06:34] WARNING[102415] chan_sip.c: !!! will be sent to a different port than replies for an existing peer/user. If at all possible,
[Nov 18 03:06:34] WARNING[102415] chan_sip.c: !!! use the global 'nat' setting and do not set 'nat' per peer/user.
[Nov 18 03:06:34] WARNING[102415] chan_sip.c: !!! (config category='6000' global force_rport='Yes' peer/user force_rport='No')
...
[Nov 18 03:06:34] WARNING[102415] loader.c: Module 'chan_sip' has been loaded but was deprecated in Asterisk version 17 and will be removed in Asterisk version 21.
...
[Nov 18 03:06:35] WARNING[102490] chan_sip.c: chan_sip has no official maintainer and is deprecated.  Migration to
[Nov 18 03:06:35] WARNING[102490] chan_sip.c: chan_pjsip is recommended.  See guides at the Asterisk Wiki:
[Nov 18 03:06:35] WARNING[102490] chan_sip.c: https://wiki.asterisk.org/wiki/display/AST/Migrating+from+chan_sip+to+res_pjsip
[Nov 18 03:06:35] WARNING[102490] chan_sip.c: https://wiki.asterisk.org/wiki/display/AST/Configuring+res_pjsip
sip.conf

Код: Выделить всё

[general]
context=public
allowguest=no
allowoverlap=dtmf
allowtransfer=no
bindaddr=192.168.0.10:5060
tcpenable=no
tlsenable=no
transport=udp
keepalive=yes
allow=!all,ulaw,gsm
language=en
relaxdtmf=yes
useragent=Asterisk PBX
dtmfmode = rfc2833
compactheaders = yes
videosupport=yes
textsupport=no
alwaysauthreject = yes
;sipdebug = yes
callcounter = yes
faxdetect = no
localnet=192.168.0.0/255.255.255.0
externaddr = 176.36.XXX.XXX:5060
directmedia=nonat
nat = force_rport,comedia
icesupport = no
contactacl=Opened


[SipInt](!)
context=internal
host=dynamic
type = peer
nat = no
directmedia=yes
acl=Dedicated

[SipExt](!)
context=internal
host=dynamic
type = peer
nat = force_rport,comedia
directmedia=nonat
acl=Opened

[6000](SipInt)
username=6000
secret=Q600060006000
callerid=Linphone on Server <Wire>

[6001](SipExt)
username=6001
secret=Q600160016001
callerid=Linphone on smart <WiFi>

[6002](SipExt)
username=6002
secret=Q600260026002
callerid=MicroSIP Netbook <WiFi>

[6003](SipExt)
username=6003
secret=Q600360036003
callerid=Client <6003>
acl.conf

Код: Выделить всё

[Dedicated]
deny=0.0.0.0/0.0.0.0
permit=192.168.0.0/255.255.255.0

[Opened]
permit=0.0.0.0/0.0.0.0
deny=XXX.XXX.XXX.XXX
;==VoipBL========
deny=XXX.XXX.XXX.XXX
проверка подключений в консоли:

локальных

Код: Выделить всё

CLI> sip show peers
Name/username             Host                                    Dyn Forcerport Comedia    ACL Port     Status      Description                      
6000/6000                 192.168.0.10                             D  No         No          A  37966    Unmonitored                                  
6001/6001                 192.168.0.60                             D  Yes        Yes         A  37161    Unmonitored                                  
6002/6002                 192.168.0.98                             D  Yes        Yes         A  51814    Unmonitored                                  
6003/6003                 (Unspecified)                            D  Yes        Yes         A  0        Unmonitored                                  
внешних

Код: Выделить всё

CLI> sip show peers
Name/username             Host                                    Dyn Forcerport Comedia    ACL Port     Status      Description                      
6000/6000                 192.168.0.10                             D  No         No          A  18500    Unmonitored                                  
6001/6001                 178.133.197.111                          D  Yes        Yes         A  52569    Unmonitored                                  
6002/6002                 192.168.0.98                             D  Yes        Yes         A  53702    Unmonitored                                  
6003/6003                 (Unspecified)                            D  Yes        Yes         A  0        Unmonitored                                  

Код: Выделить всё

> Saved useragent "Linphone Desktop/4.4.8 (Nest) FreeBSD 13.1-RELEASE-p3, Qt 5.15.5 LinphoneCore/5.1.0" for peer 6000
> Saved useragent "LinphoneAndroid/4.6.14 (ZTE Blade A31) LinphoneSDK/5.1.62 (tags/5.1.62^0)" for peer 6001
> Saved useragent "MicroSIP/3.21.3" for peer 6002

Локальная сеть странно, не могу дозвониться со смарта <6001>, хотя на него подключение идет хорошо и со звуком, может причина именно в нем, ведь он начал странно себя вести и с PJSIP, внешнее подключение за NAT я проверял тоже на нем, хотя использовал и Sipdroid, дотаточно отключить WiFi и подключение становится внешним, через мобильного оператора.
Внешняя сеть не выдает звука, ни при звонках на GSM ни при звонках между друг другом, при нажатии на паузу на внешнем 6001 на внутренних играет музыку.

Больше всего меня удивляет что при звонках появляется внешний 10.49.91.243 который не совпадает с 178.133.197.111 указанным при регистрации.

Код: Выделить всё

> 0x80ac97000 -- Strict RTP learning after remote address set to: 10.49.91.243:7078
    -- Executing [6000@internal:1] Dial("SIP/6001-00000007", "SIP/6000") in new stack
    -- Called SIP/6000
    -- SIP/6000-00000008 is ringing
       > 0x80ac7b000 -- Strict RTP learning after remote address set to: 192.168.0.10:64989
    -- SIP/6000-00000008 answered SIP/6001-00000007
    -- Channel SIP/6000-00000008 joined 'simple_bridge' basic-bridge <ba50bc5d-a927-4737-963b-57ece99edcfd>
    -- Channel SIP/6001-00000007 joined 'simple_bridge' basic-bridge <ba50bc5d-a927-4737-963b-57ece99edcfd>
       > Bridge ba50bc5d-a927-4737-963b-57ece99edcfd: switching from simple_bridge technology to native_rtp
       > Remotely bridged 'SIP/6001-00000007' and 'SIP/6000-00000008' - media will flow directly between them
       > 0x80ac7b000 -- Strict RTP switching to RTP target address 192.168.0.10:64989 as source
       > 0x80ac97000 -- Strict RTP learning after remote address set to: 10.49.91.243:7078
    -- Channel SIP/6000-00000008 left 'native_rtp' basic-bridge <ba50bc5d-a927-4737-963b-57ece99edcfd>
    -- Channel SIP/6001-00000007 left 'native_rtp' basic-bridge <ba50bc5d-a927-4737-963b-57ece99edcfd>
  == Spawn extension (internal, 6000, 1) exited non-zero on 'SIP/6001-00000007'
Пока "не победил", не знаю за что хвататься, за смарт или за конфиги. :roll:
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH