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

Соединение двух серверов через третий

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

starley440
Сообщения: 33
Зарегистрирован: 19 апр 2012, 14:12

Соединение двух серверов через третий

Сообщение starley440 »

Подскажите пожалуйста, каким образом можно произвести соединение абонента одного сервера с абонентом второго сервера через третий.
На третьем сервере ведётся лог соединений между абонентами разных серверов.

абонент (номер 101)=> сервер => сервер => сервер => абонент (номер 101)

Ошибки нет, на всех серверах нумерация абонентов абсолютно одинаковая. (101,102,103)
SoHm
Сообщения: 15
Зарегистрирован: 24 фев 2012, 10:16

Re: Соединение двух серверов через третий

Сообщение SoHm »

Настроить транк между серверами.

Пример здесь и ещё полно мест, где можно посмотреть и почитать.

И да, поиском могли бы воспользоваться. :)
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Соединение двух серверов через третий

Сообщение ded »

starley440 писал(а):абонент (номер 101)=> сервер => сервер => сервер => абонент (номер 101)

Ошибки нет, на всех серверах нумерация абонентов абсолютно одинаковая. (101,102,103)
Ошибка в том, что на всех серверах нумерация абонентов абсолютно одинаковая.
Если бы была разная
1ХХ
2ХХ
3ХХ
с маршрутизацией таких вызовов проблем никаких не было бы. А так - кривиться через префиксы.
1ХХ - на первом, чтобы позвонить на второй - костыль
exten => _21ХХ,1,Dial(IAX2/server2/${EXTEN:1}
exten => _31ХХ,1,Dial(IAX2/server2/${EXTEN} ; для этого на втором сервере делаем
exten => _31ХХ,1,Dial(IAX2/server3/${EXTEN:1}
starley440
Сообщения: 33
Зарегистрирован: 19 апр 2012, 14:12

Re: Соединение двух серверов через третий

Сообщение starley440 »

SoHm писал(а):Настроить транк между серверами.

Пример здесь и ещё полно мест, где можно посмотреть и почитать.

И да, поиском могли бы воспользоваться. :)
Спасибо за совет.
Насчет поиска - если не очень хочется отвечать, то не надо. Самое простое, что можно сделать вместо дельного совета - брякнуть что-то типа "Пользуйтесь поиском". Пользовался. Прочитайте заново мой пост.
starley440
Сообщения: 33
Зарегистрирован: 19 апр 2012, 14:12

Re: Соединение двух серверов через третий

Сообщение starley440 »

ded писал(а):
starley440 писал(а):абонент (номер 101)=> сервер => сервер => сервер => абонент (номер 101)

Ошибки нет, на всех серверах нумерация абонентов абсолютно одинаковая. (101,102,103)
Ошибка в том, что на всех серверах нумерация абонентов абсолютно одинаковая.
Если бы была разная
1ХХ
2ХХ
3ХХ
с маршрутизацией таких вызовов проблем никаких не было бы. А так - кривиться через префиксы.
1ХХ - на первом, чтобы позвонить на второй - костыль
exten => _21ХХ,1,Dial(IAX2/server2/${EXTEN:1}
exten => _31ХХ,1,Dial(IAX2/server2/${EXTEN} ; для этого на втором сервере делаем
exten => _31ХХ,1,Dial(IAX2/server3/${EXTEN:1}
Спасибо за содействие. Если была разная нумерация, то я бы и вопросов не задавал.
Насчет префиксов я и сам понимаю, но очень не хочется лес городить.
Мало ли кто знает "хитрый ход"...
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Соединение двух серверов через третий

Сообщение ded »

Какой хитрый ход? Вы набрали на своём телефоне 101: куда Вы звоните? На 101 в своей конторе? На сервере №2? Или №3?
Объясните логику принятия маршрута при таком наборе 101, и я расскажу тогда про хитрых ход.
starley440
Сообщения: 33
Зарегистрирован: 19 апр 2012, 14:12

Re: Соединение двух серверов через третий

Сообщение starley440 »

Я набираю трехзначный номер 101 и попадаю на телефон на своем сервере Asterisk.

Набираю пятизначный номер 922101 - попадаю на сервер 22 через сервер 01 на номер 101
Набираю пятизначный номер 933101 - попадаю на сервер 33 через сервер 01 на номер 101

Набор префикса 9 означает, что я "выхожу на сервер 01
Префикс 22(33 и т.п.) обозначает, что сервер 01 должен перенаправить вызов на сервер 22 (33 и т.п.)

Если бы мне надо было позвонить только на сервер 01, то набор был-бы 901101 и это вопросов не вызывает.
Вызывает вопрос , каким образом перенаправить звонок на другой сервер через 01. Причем сделать надо так, чтобы в логах сервера 01 осталась запись о том, что в такое-то время с телефона ... например 922101 был звонок на, например, 933101 такой-то длительности.
Сервера 22, 23,... 36 на прямую друг другу не могут звонить.
Такое вот хитро*опое задание. У меня в задании связать 37 серверов звездой и в центре звезды сервер 01.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Соединение двух серверов через третий

Сообщение ded »

Где в этом вопрос то?
Выяснили, что без префикса - никак, что ещё? Проблема запилить все диалпланы для каждого сервера в отдельном его контексте? Думаю, что нет.
starley440
Сообщения: 33
Зарегистрирован: 19 апр 2012, 14:12

Re: Соединение двух серверов через третий

Сообщение starley440 »

ded писал(а):Какой хитрый ход? Вы набрали на своём телефоне 101: куда Вы звоните? На 101 в своей конторе? На сервере №2? Или №3?
Объясните логику принятия маршрута при таком наборе 101, и я расскажу тогда про хитрых ход.
1. Без префикса никак.
2. Через префикс звоним ТОЛЬКО на сервер 01
3. Сервер 01 перенаправляет звонок на другой сервер (22,23,...36) в зависимости от номера, который набирается после девятки...
если в качестве сервера после 9 идёт префикс 01 - берет звонок на себя.
ВОТ ЭТО САМЫЙ ГЛАВНЫЙ И НЕПОНЯТНЫЙ ПОКА ДЛЯ МЕНЯ ВОПРОС. Именно в нем и нужна помощь. Остальное сам дочухаю, раз вопросы задавать не умею. Вас уж не буду беспокоить.
блин, я уже и сам скоро доеду до решения... может я не совсем по-русски спрашиваю?

4. регистрация только межсерверных звонков на сервере 01.
ded писал(а):Где в этом вопрос то?
Выяснили, что без префикса - никак, что ещё? Проблема запилить все диалпланы для каждого сервера в отдельном его контексте? Думаю, что нет.
Хотелось бы в одном диалплане...
Мне именно этот момент переадресации нужен. Остальное допру сам.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Соединение двух серверов через третий

Сообщение ded »

extensions.conf on Main IAX server (01)

[from-iax-11]
exten => _01ZXX,1,Dial(SIP/${EXTEN:2},,tTr) ; предполагаем что никому не нужный префикс 9 мы отрезали ещё до попадания звонка на сервер 01
exten => _22ZXX,1,Dial(IAX2/server-22/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _33ZXX,1,Dial(IAX2/server-33/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _44ZXX,1,Dial(IAX2/server-44/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _55ZXX,1,Dial(IAX2/server-55/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _66ZXX,1,Dial(IAX2/server-66/${EXTEN:2}) ; тут нечего комментировать, верно?

[from-iax-22]
exten => _01ZXX,1,Dial(SIP/${EXTEN:2},,tTr) ; предполагаем что никому не нужный префикс 9 мы отрезали ещё до попадания звонка на сервер 01
exten => _22ZXX,1,Dial(IAX2/server-22/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _33ZXX,1,Dial(IAX2/server-33/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _44ZXX,1,Dial(IAX2/server-44/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _55ZXX,1,Dial(IAX2/server-55/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _66ZXX,1,Dial(IAX2/server-66/${EXTEN:2}) ; тут нечего комментировать, верно?

[from-iax-33]
exten => _01ZXX,1,Dial(SIP/${EXTEN:2},,tTr) ; предполагаем что никому не нужный префикс 9 мы отрезали ещё до попадания звонка на сервер 01
exten => _22ZXX,1,Dial(IAX2/server-22/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _33ZXX,1,Dial(IAX2/server-33/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _44ZXX,1,Dial(IAX2/server-44/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _55ZXX,1,Dial(IAX2/server-55/${EXTEN:2}) ; тут нечего комментировать, верно?
exten => _66ZXX,1,Dial(IAX2/server-66/${EXTEN:2}) ; тут нечего комментировать, верно?

Однообразно, глупо, монотонно, но работать то будет!
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH