LINUX.ORG.RU
решено ФорумAdmin

Опрос по проблеме с Астериск

 , ,


0

2

Поднял на работе звёздочку. Вертится, всё хорошо работает. Пока локально.

Приклепал FXO-шлюз б-линка (DVG-7111S) - работает.

Вот пришла необходимость поставить две нужные нам штуки - софтфоны и Skype. Собственно с этого проблема и появилась...

Для транка в скайп использовалась технология SipToSis и она почти заработала:

При исходящем звонке всё работало как должно, а при входящем - мой собеседник меня не слышал (словно отвалился мой микрофон). В качестве платформы использовался Linux Ubuntu 10 + Java SUN.

В качестве софтфона был выбран 3CX (Ekiga «сдулся» - грузит двухядерный проц под 99% и даже не пытается коннектиться к серверу, если судить по логам). В качестве платформы используется Windows XP. 3CX-фон встал, без проблем поднялся, скушал настройки и присосался к серверу так, словно под него и делался, но проблема вдруг оказалась почти такая же - я слышу корреспондента, а он меня - нет. И так всегда. На помпьютере с 3CX установлен и скайп - он работает прекрасно и дружит с микрофоном.

Знатоки и опытные в работе с Астериск - скажите, в чём на Ваш взгляд проблема? И что можно предпринять для диагностики этой проблемы? Звёзды стоят репозиторные-девелоперские (asterisk-dev) и им примерно месяца 2,5-3. Опыта в работе с АТС ранее не было, так что могу задавать очень глупые вопросы, но надо же мне обучаться тому чем занимаюсь, или нет?)))

★★

Последнее исправление: zzdnx (всего исправлений: 1)

Я скайпом не пользовался ни когда, но описанные проблемы могут вызываться

  • rtp трафик не проходит, см. диапазон rtp.conf
  • не согласованность кодеков.
petav ★★★★★
()

Со скайпом дело не имел, но когда звук в одну сторону это может быть изза того что астериск стоит за NAT. гугли sip nat traversal

Yur4eg ★★
()
Ответ на: комментарий от petav

В продолжении этого?

Да, именно так. Но дело в том, что на моём компе (том, у которого проблемы со звуком) стоят только ява и siptosis. На втором (под ХР) стоит тот же набор + 3CX и екига. Оба компа находятся в локалке с астериском, и NAT не касается всей этой конструкции.

zzdnx ★★
() автор топика

1. На кой тебе девелоперские ветки астера? У тебя скучная работа? 2. Про одностороннюю слышимость: читай про работу с NAT и опцию canreinvite.

kernelpanic ★★★★★
()
Ответ на: комментарий от kernelpanic

Про одностороннюю слышимость.

У меня все абоненты и сервер ВНУТРИ локальной сети и никак его (нат) не касаются. НАТ стоит между нашей ЛВС и внешним миром - это означает что все внутренние соединения (не уходящие во внешний мир) не могут натироваться, или я не прав?

zzdnx ★★
() автор топика
Ответ на: комментарий от petav

А как же тогда 3CX-фон? Он цепляется к астериску по прямому локальному IP, а проблема такая же.

zzdnx ★★
() автор топика
Ответ на: комментарий от kernelpanic

Односторонняя слышимость

В любом случае. И в случае скайп => астериск, и в случаях локального соединения: 3CX <=> астериск. Независимо от наличия NAT. Проверяли вчреа: специально вырубили натирование и это не изменило ситуацию.

zzdnx ★★
() автор топика
Ответ на: комментарий от petav

Локальными скайп? Они по определению не могут быть локальными, так как сервер авторизации всегда во внешней сети, и это я хорошо понимаю.

Говоря о «локальном» скайп я говорил о том, что в локальной сети есть некоторый комп «Х» под управлением M$ ХР, на котором установлен нормально работающий скайп. Этот скайп работает правильно независимо от наличия NAT - проверено. На том же компьютере установлен 3CX-фон, который настроен на соединение с PBX по прямому IP-адресу в локальной сети, и соединяется нормально, проходит регистрацию и даже может отправить или принять вызов, однако при этом у 3CX-фона словно нет микрофона. ХР видит микрофон и скайп с этим микрофоном работает; 3CX видит микрофон, но не передаёт с него звука.

На другом компьютере «Y», под Ubuntu установлен ещё один Skype и Java-машина SUN, которая ЛОКАЛЬНО (по адресу 127.0.0.1) перехватывает звуковой трафик от скайпа и перекодировав его в SIP-протокол направляет медиапоток в астериск (компьютер в локальной сети с именем PBX), который в свою очередь отдаёт SIP-поток в телефонный аппарат на моём столе. То есть любой ВХОДЯЩИЙ в скайп звонок должен быть переадресован мне в телефон, а любой вызов с моего телефона по номеру sip:siptosis/[имя скайп-абонента] должен вызывать по протоколу SIP Java-машину, которая вызовет соответствующего скайп-абонента по Skype-API. Проблема в том, что если вызываю я (ИСХОДЯЩИЙ вызов) - связь нормальная, а если вызывают меня (входящий вызов) - меня не слышно (словно отключен микрофон на телефоне).

zzdnx ★★
() автор топика
Ответ на: комментарий от kernelpanic

sip.conf и rtp.conf

sip.conf

[general]
language=en ;
context=default ;
allowoverlap=no ;
bindport=5060 ;
bindaddr=0.0.0.0 ;
srvlookup=yes ;

; Шаблон SIP-юзера
[sets](!)
type=friend
secret=************************
host=dynamic

[SoftPhone](sets)       ; Софтфон
username=SoftPhone      ; Twinkle, Ekiga, 3CX

[201](sets)
username=201

[DVG-7111S_1](sets)
username=DVG-7111S_1
qualify=yes

[101](sets)
username=101

[102](sets)
username=102

[103](sets)
username=103

[104](sets)
username=104

[009](sets)
username=009

[100](sets)
username=100

; Маска SIP-юзера
;[](sets)
;username=

[skypetosip]
username=skypetosip
type=friend
context=default
secret=************
;host=dynamic
host=169.254.0.54
dtmfmode=auto
port=5070
qualify=yes
disallow=all
allow=alaw
allow=ulaw
rtp.conf (посте установки ни разу не правился).
;
; RTP Configuration
;
[general]
;
; RTP start and RTP end configure start and end addresses
;
; Defaults are rtpstart=5000 and rtpend=31000
;
rtpstart=10000
rtpend=20000
;
; Whether to enable or disable UDP checksums on RTP traffic
;
;rtpchecksums=no
;
; The amount of time a DTMF digit with no 'end' marker should be
; allowed to continue (in 'samples', 1/8000 of a second)
;
;dtmftimeout=3000
; rtcpinterval = 5000   ; Milliseconds between rtcp reports
                        ;(min 500, max 60000, default 5000)
;
; Enable strict RTP protection. This will drop RTP packets that
; do not come from the source of the RTP stream. This option is
; disabled by default.
; strictrtp=yes

zzdnx ★★
() автор топика
Ответ на: sip.conf и rtp.conf от zzdnx

Я не знаю как стыкуется Astersik cо Skype, что и как использует. Но первое можно попробывать порты 10000-20000 пробросить со шлюза на астериск.

petav ★★★★★
()
Ответ на: комментарий от kernelpanic

Астариск в мир никак не смотрит. Он только для своих (только внутри компании, по локальным IP). Выходы в город реализованы шлюзом блинка (DVG-7111S на комстар) и скайпом (для него нет ограничений в NAT`е), при этом шлюз в скайп работает по схеме:

скайп -> Java-машина на том же хосте что и скайп, которая выступает SIP-клиентом для BPX -> астериск.

Шлюзом в/из астериск/а выступает Java-машина в виде приложения SipToSis. Порты прописаны напрямую: «порты 5060 для связи с астериском по такому-то IP».

Напомню, что исходящий в скайп проходит нормально и проблема касается только входящего звонка.

На другой машине - 3CX-фон, который не выходя во внешний мир цепляется к астериску и уже у него проблема слышимости в обе стороны. Екига - загнулся, а зупер не даёт достаточно отладочной информации - «не могу подключиться потому что ОШИБКА.»

zzdnx ★★
() автор топика
Ответ на: комментарий от zzdnx
  • Локальные звонки без skype проходят без проблем (с одного номера 100 на другой 101)?
  • Звонки со скайпа на скайп в локальной сети с односторонней слышимостью?

Так?

petav ★★★★★
()
Ответ на: комментарий от zzdnx
3CX <---> Asterisk <---> DVG-7111S <---> Comstar

Я правильно понял?

для него нет ограничений в NAT`е

Что это значит?

На маршрутизаторе порты проброшены? Параметр canreinvite пробовал?

kernelpanic ★★★★★
()
Ответ на: комментарий от petav

> со скайпа на скайп в локальной сети

Это же бессмыссленно. Мы хотим сделать возможность звонка к нам в офис через скайп из интернета, и тот факт, что скайп-шлюз в одном контексте с комстар-шлюзом (д-линк) это временная мера на период тестов, так как скайп установлен на моём компьютере. Оба шлюза не будут обрабатываться в рамках одного контекста и звонок транзитом из скайпа в МГТС (через комстар) будет невозможен.

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

zzdnx ★★
() автор топика
Ответ на: комментарий от kernelpanic

>Я правильно понял?

Нет. Никто не будет звонить из скайпа в комстар. Для дома я бы это сделал, но для компании это рисковано «звонками на Кубу».

Для скайпа нет ограничений. Ни в файрволле, ни в прокси, ни где бы-то нибило ещё. Скайпу разрешено выходить в интернет и логиниться там. Далее всё локально - перехват звукового трафика скайпа ява-машиной и отправка его астериску как SIP-поток. На мершрутизаторах всё открыто и разрешено, ибо фильтрацией занимается интернет-сервер (нат, прокси и что-то ещё) - проблем с портами внутри компании не должно возникать.

canreinvite я не пробовал, так как сейчас есть план на 50 рабочих мест, а в планах увеличение в трое или более (150-170 абонентов). На один сервер вешать всю эту араву бессмыссленно, поднимать два астериска - не очень хочется, а включение canreinvite хотябы для одного из клиентов принуждает астериск самостоятельно обрабатывать ВСЕ медиа-потоки, разрушая при этом систему пир-2-пир...

zzdnx ★★
() автор топика
Ответ на: >Я правильно понял? от zzdnx

canreinvite я не пробовал

Продолжай есть суп вилкой.

сейчас есть план на 50 рабочих мест, а в планах увеличение в трое или более (150-170 абонентов)

Каковы характеристики сервера?

kernelpanic ★★★★★
()
Ответ на: >Я правильно понял? от zzdnx

а включение canreinvite хотябы для одного из клиентов принуждает астериск самостоятельно обрабатывать ВСЕ медиа-потоки, разрушая при этом систему пир-2-пир.

Дать ему белый ip и все

petav ★★★★★
()
Ответ на: комментарий от kernelpanic

Каковы характеристики сервера?

PBX вертится на виртуалке, так что ресурсы более или менее моделируемы. Сейчас вертится на одном из наших серверов в качестве «ещё одного» сервиса.

К тому же если разбираться в системе RE-Invite, то можно справедливо задаваться вопросом - почему реинвайт работает в одном направлении (с телефона в скайп-сеть), но при этом не работает только на половину в обратоном (абонента со стороны скайпа слышно, а меня с телефона - нет)? И в догонку: почему создатели этой технологии (sip to sis) ни разу и ни где не писали о необходимости данного параметра конфигурации, да и во всех известных мне юзергайдах интернета об этом ни слова? Думаю, этот параметр можно включить для тестов, но на рабочей машине он не нужен.

При очень большом увеличении сети (до 170-ти абонентов) необходимо обслуживать примерно 50 внутренних звонков одновременно, так что если сохранять р2р - можно вполне отделаться ОДНИМ сервером астериска.

zzdnx ★★
() автор топика
Ответ на: комментарий от petav

>Я понять суть проблемы так и не смог

Всё просто и без лишних извратов. Есть локалка, отделённая от «внешнего мира» натом и проксёй и файрволлом, но в самой локалке никаких супер-стен и сверх-препятствий нету. Решили заменять старую и изжившую себя панасоньку астериском, а за одно и прикрутить пару-тройку плюшек в виде «позвоните и закажите товар по скайпу» и «голосовая почта» с софтфонами (для тех, кому не удобно работать с телефоном).

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

Софтфоны либо не информативны в логах (зупер), либо не работают вообще (екига), либо работают, но через анал (3CX - не пашет микрофон на компе и всё тут!). Для нас важно использовать бесплатное ПО, так что о платных решениях говорить не приходится.

Со скайпом тоже не всё так просто: сам скайп не поддерживает соединение с астериском, однако у него есть API, которая даёт возможности для перехвата аудиотрафика. Этим и пользуемся применяя SipToSis - ловим медиатрафик скайпа и гоним его в астериск, или наоборот - с астериска обращаемся к ява-сипу и говорим, что надо вызвать такого-то абонента, после чего гоняем трафик с астериска или телефона в ява-клиент, который отдаёт всё это оригинальному скайпу. Эта система идеально работает на ИСХОДЯЩИЕ вызовы (с телефона сквозь астериск), но на ПРИЁМ работает только с внешней стороны (от скайпа) и меня абоненты не слышат, а нужен именно этот функционал - со скайпа к нам позвонили и заказали что надо.

zzdnx ★★
() автор топика
Ответ на: Каковы характеристики сервера? от zzdnx

К тому же если разбираться в системе RE-Invite, то можно справедливо задаваться вопросом - почему реинвайт работает в одном направлении [...], но при этом не работает только на половину в обратоном

Потому что NAT. Потому что ты не можешь ответить на простой вопрос о портах на роутере.

почему создатели этой технологии (sip to sis) ни разу и ни где не писали о необходимости данного параметра конфигурации

А должны?

во всех известных мне юзергайдах интернета об этом ни слова?

Неправильные юзергайды читаешь.

если сохранять р2р - можно вполне отделаться ОДНИМ сервером астериска.

Я проводил тест: два сервера - один на AMD Opteron 1214 (2.2GHz), второй - на Intel Xeon X3450 (2.67GHz). Запустил между ними 300 вызовов с MusicOnHold с одной стороны и Echo - с другой, и они прекрасно справились.

kernelpanic ★★★★★
()
Ответ на: комментарий от kernelpanic

NAT не при чём - я ведь писал мы отключали его и это не изменяло ситуацию. NAT МОЖЕТ сказываться только на скайпе - он выходит во внешний мир для авторизации и отправки данных, но NAT никак не может сказаться на 3CX`е, который всё делает сугубо локально.

Порты в рамках локальной сети не ограничены ни маршрутизаторами, ни файрволлами, ни проксёй. Мы специально этот момент протестировали отключив все ограничения и на несколько минут слили свою локальную сеть с интернетом. Всё осталось на своих местах. Проверяли СПЕЦИАЛЬНО, так как сами были согласны с идеей NAT-шалости.

zzdnx ★★
() автор топика
Ответ на: комментарий от zzdnx

У тебя проблемы с односторонней слышимостью между двумя абонентами в локальной сети?

отключив все ограничения и на несколько минут слили свою локальную сеть с интернетом.

А говорят IPv6 медленно внедряется...

kernelpanic ★★★★★
()
Ответ на: комментарий от kernelpanic

Проблемы с односторонней слышимостью между двумя абонентами в локальной сети

Именно так. При том между телефонами всё в порядке! Односторонняя слышимость в софтфоне 3CX: он видит устройство «микрофон» и опознаёт его точно так же как и система ХР, но при этом микрофон словно выключен... На астериске в логах всё спокойно.

Другой фон - зупер - вообще не может соединиться с астериском, при этом не ведёт логов. Судя по логам Астериска - зупер вообще не пытается с ним соединяться по прямому IP.

Вся возня с софтфонами только в локальной сети. Никаких выходов во вне не делается (исключением будет оригинальный скайп-клиент).

zzdnx ★★
() автор топика

При том между телефонами всё в порядке!

Односторонняя слышимость в софтфоне 3CX

Другой фон - зупер - вообще не может соединиться с астериском

Простите между какими телефонами тогда в порядке ?

petav ★★★★★
()
Ответ на: комментарий от petav

между какими телефонами тогда в порядке ?

Нормально всё со всеми физическими трубками: SNR, D-Link, Cisco и так далее... Проблемы касаются только 3CX и прочих софтфонов (зюперь, екига).

zzdnx ★★
() автор топика
Ответ на: core show version от zzdnx

Внезапно

Внезапно решился вопрос с зюпером.

1) Зупер не любит «имена» сервера - предпочитает только чистый IP-адрес.

2) Для корректной работы нужно установить GSM-6 кодеки по такой схеме: тык.

3) После установки кодека ОБЯЗАТЕЛЬНО перезагрузиться и выставить нужный кодек в зупере.

Однако это не решило проблему с 3CX-фоном, у которого так же был выставлен кодек GSM как основной - приём сигнала хороший, а микрофон не пашет. Однако это всё тема для разбора полётов с виндузятниками, а не линукс-сообществом и астерсками. Не смею больше занимать Ваше внимание недостойными проблемами. Всем спасибо за участие и помощь!

zzdnx ★★
() автор топика
Ответ на: комментарий от petav

Не смею больше занимать Ваше внимание недостойными проблемами

Да все проблемы достойные. Просто в правильном вопросе, часть ответа. Меня так в школе учили.

petav ★★★★★
()
Ответ на: комментарий от petav

rtp трафик не проходит, см. диапазон rtp.conf
не согласованность кодеков.

Кодек GSM с обеих сторон (и 3CX и Звёздочка), RTP диапазон я выставил одинаковым ка сервере и клиенте. Всё равно не пашет. Что я ещё не так мог сделать?

zzdnx ★★
() автор топика
Ответ на: комментарий от zzdnx

Я всего лишь процитировал себя в отношении сказанного Вами

Для корректной работы нужно установить GSM-6 кодеки

petav ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.