Обычно после таких пространных речей следует фраза "обратитесь к системному администратору" .
zzuz ( 2016-01-13 15:42:22 +0400 )редактироватьЗдравствуйте,
Есть провайдер, который предоставляет доступ к своему SIP-шлюзу на серых адресах 10.x.x.x, при этом доступ к этому шлюзу можно получить только через их же шлюз 192.168.x.x. Мне нужно пробросить связь между SIP-шлюзом провайдера и моим внешним SIP шлюзом. Для этого я ставлю у себя в локальной сети локальный астериск с двумя сетевыми картами. Одна смотрит в сторону провайдера SIP, другая в мою локальную сеть. Получается так:
SIP-шлюз провайдера (10.x.x.x) <-> шлюз провайдера(192.168.162.x) <->
мой локальный asterisk (192.168.162.x)/он же вторая сетевая карта (192.168.8.x) <->
мой шлюз в интернет(192.168.8.1) <-> мой глобальный SIP-шлюз.
Маршруты настроены, мой локальный SIP без проблем авторизуется на обеих серверах, как на сервере провайдера, так и на моем глобальном.
Без проблем работают связи (звук передается без проблем):
То есть связь с локального астериска есть в обоих направлениях. Однако при попытке передать звонок с SIP провайдера на глобальный астериск, звонок проходит, но звука нет.
Всевозможные танцы с бубнами и nat = force_rport,comedia, directmedia = nonat, canreinvite = no не помогли. Я просто хочу соединить два транка через локальный астериск. Причем при соединении он пишет что звонки соединены локально:
Called SIP/MySIP/s
-- SIP/MySIP-00000003 answered SIP/ProvSIP-00000002
-- Locally bridging SIP/ProvSIP-00000002 and SIP/MySIP-00000003
но звука нет.
Возможно ли вообще пробросить транк таким образом? На всякий случай примеры конфигов (все лишнее убрал) на локальном астериске:
[ProvSIP] ; SIP шлюз провайдера
type = user
host = 10.x.x.x
username = <username>
secret = <secret>
trunkname = ProvSIP
context = DLPN_Out
hasexten = no
hasiax = no
hassip = yes
registeriax = no
registersip = yes
;nat = no
nat = force_rport,comedia
insecure = port,invite
dtmfmode = rfc2833
directmedia = nonat
qualify = yes
canreinvite = no
[MySIP] ; Мой глобальный SIP-шлюз
type = peer
host = <host>
username = <username>
secret = <secret>
;hasiax = yes
hassip = yes
registersip = no
fromuser = <MySIP>
;nat = no
nat = force_rport,comedia
directmedia = nonat
canreinvite = no
extension.conf
[DLPN_Out]
exten = s,1,Dial(SIP/MySIP/${EXTEN},30)
Версия астериск 11. Остальные конфиги астериска практически без изменений (так как тестовая конфигурация), все по умолчанию, только некоторые настройки безопасности включил. Попытка включить stun сервер в rtp.conf тоже не помогла.
Заранее благодарен за помощь.
Спасибо за ваши ответы.
Признаюсь честно, возился с этим достаточно долго и, как мне кажется, перепробовал все что можно (в том числе и анализировал пакеты SIP включив отладку) и только потом написал сюда.
Ход моих мыслей:
1. Раз связка PSTN <-> SIP-шлюз провайдера (10.x.x.x) <->
мой локальный астериск(192.168.162.x) <-> софтфон в локальной сети (192.168.8.x) работает,
значит проблем с натом в сторону провайдера нет, так как звук идет.
2. Раз связка Cофтфон в локальной сети (192.168.8.x) <-> мой локальный астериск(192.168.8.x) <->
глобальный астериск работает, значит так же нет проблем с натом в сторону
моего глобального астериска.
А вот дальше не могу понять, почему астериск просто не соединяет каналы через себя, хотя пишет что они локально соединены (Locally bridging)?
Подскажите, как можно локализовать место где нет звука? Включить аудиозапись на локальном астериске или есть более простые способы?
Обычно после таких пространных речей следует фраза "обратитесь к системному администратору" .
zzuz ( 2016-01-13 15:42:22 +0400 )редактироватьу вас два линка. на ваш астериск и на провайдера.
сначала надо локализировать место, где нет звука.
потом найти в чем проблема и ... исправить.
естественно опыт дебага приветсвуется.
все просто, да?
Задан: 2016-01-12 23:23:42 +0400
Просмотрен: 698 раз
Обновлен: Jan 13 '16
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Это уже аксиома . Нет звука - проблема в нате. Даже разбираться нет желания.
zzuz ( 2016-01-13 00:53:49 +0400 )редактироватьДа , и на вопрос "возможно ли это" - ответ положительный.
zzuz ( 2016-01-13 00:54:43 +0400 )редактироватьтак на через их же шлюз 192.168.x.x = порты UDP для голоса - проброс сделали ?
awsswa ( 2016-01-13 15:03:14 +0400 )редактироватьawsswa не мешайте человеку учится. вон, смотриет, у него возник вопрос как узнать где звука нету.
meral ( 2016-01-13 18:45:36 +0400 )редактировать