Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Проброс транка через asterisk

0

Здравствуйте,

Есть провайдер, который предоставляет доступ к своему 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 без проблем авторизуется на обеих серверах, как на сервере провайдера, так и на моем глобальном.

Без проблем работают связи (звук передается без проблем):

  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) <-> глобальный астериск.

То есть связь с локального астериска есть в обоих направлениях. Однако при попытке передать звонок с 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 тоже не помогла.

Заранее благодарен за помощь.

удалить закрыть спам изменить тег редактировать

спросил 2016-01-12 23:23:42 +0400

Jugin Gravatar Jugin
1 1

Comments

Это уже аксиома . Нет звука - проблема в нате. Даже разбираться нет желания.

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 )редактировать

2 Ответа

0

Спасибо за ваши ответы.

Признаюсь честно, возился с этим достаточно долго и, как мне кажется, перепробовал все что можно (в том числе и анализировал пакеты 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)?

Подскажите, как можно локализовать место где нет звука? Включить аудиозапись на локальном астериске или есть более простые способы?

ссылка удалить спам редактировать

ответил 2016-01-13 13:52:12 +0400

Jugin Gravatar Jugin
1 1

Comments

Обычно после таких пространных речей следует фраза "обратитесь к системному администратору" .

zzuz ( 2016-01-13 15:42:22 +0400 )редактировать

Все заработало. Проблема была в файрволле.

Jugin ( 2016-01-21 01:39:48 +0400 )редактировать
0

у вас два линка. на ваш астериск и на провайдера.

сначала надо локализировать место, где нет звука.

потом найти в чем проблема и ... исправить.

естественно опыт дебага приветсвуется.

все просто, да?

ссылка удалить спам редактировать

ответил 2016-01-13 01:35:26 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2016-01-12 23:23:42 +0400

Просмотрен: 695 раз

Обновлен: Jan 13 '16

Похожие вопросы:

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.