База знаний
Конечно, Вы также можете использовать SIP или H.323 (но не MGCP) протоколы для связи двух серверов Asterisk между собой, однако, использование IAX протокола – это самый простой дуть решение этой задачи.
Для создания общего плана набора можно использовать следующее:
- Разумно проектируйте план набора для каждого сервера, чтобы было сразу понятно, какому из серверов принадлежит тот или иной экстеншен, при наборе номера на любом из серверов. Например, используйте номера 3xxx для сервера A, 4xxx – для сервера B и 5xxx – для номеров экстеншенов, подключенных к серверу C.
- Используйте директиву “switch”, для того, чтобы сервер A искал на сервере B те екстеншены, которые не известны на сервера A (оба сервера должны всегда быть в рабочем состоянии и доступны, иначе у Вас будут присутствовать большие задержки между моментом набором номера и какой-либо реакции на это действие!)
- Можно использовать DUNDILOOKUP: Distributed Universal Number Directory (DUNDi)
- Можно использовать ENUMLOOKUP (e.164)
Когда мы рассматриваем файл sip.conf, то возможно стоит начать с указания типа клиента, как type=friend, на обоих серверах, и, если при этом все начнет нормально работать, Вам, возможно, захочется разделить эту запись по типам: peer – для исходящих вызовов и user – для входящих вызовов. Также, стоит обратить внимание в файле sip.conf на параметры “insecure=very” (“insecure=port,invite” в версии 1.4) и, возможно, на параметр: “autocreatepeer=yes”.
- Сервер A – имеет статический IP адрес, сервер B – динамический IP адрес: Тогда для сервера B нужно прописать строку регистрации на сервере A в sip.conf.
- Оба сервера имеют статические IP адреса: Тут нам вообще не нужна регистрация.
- Оба сервера имеют динамические IP адреса: Тут есть одна хитрость, которую можно использовать, можно воспользоваться динамическим DNS сервисом, например, dyndns.org, для регистрации каждого сервера на другом. В любом случае, это не самое удачное решение, использовать динамические адреса для обоих серверов, т.к. при смене IP адреса, соединение может быть потеряно, до тех пор пока информация не обновиться на динамическом DNS сервере.
- Оба сервера имеют доступ друг к другу через NAT: Не используйте SIP протокол, вместо этого попробуйте использовать IAX2.
При использовании соединения по протоколу IAX между двумя серверами Asterisk, настройка состоит из следующих шагов:
- Настройте Asterisk сервера с обеих сторон в файле конфигурации in iax.conf, один, как peer, а другой – как user.
- Настройте план набора в файле extensions.conf для сервера с пользователем типом user так, чтобы можно было принимать вызовы с другова сервера от пользователя с типом peer.
- Не обязательно, зарегистрируйте пользователя с типом peer, на сервере с пользователем типом user (для случаев, когда, например, сервер с пользователем типа peer имеет динамический ip адрес, который неизвестен второй стороне.)
- Повторите вышеуказанные шаги, поменяв местами сервер A и B (добавив пользователей, поменяв местами тип peer и user), если вы хотите совершать вызовы в обоих направлениях.
Пользователь, типа user – принимает вызовы. Следующие параметры необходимо указать в файле iax.conf на машине с пользователем типа user для проверки (авторизации) перед тем, как позволить ему нас вызвать.[username] type=user auth=md5
secret=secretword
context=iax2users
Параметр “context” – очень важен, он устанавливает имя локального контекста, куда будут попадать входящие вызовы от пользователей (Смотри описание файла: extensions.conf ).
Эта настройка позволяет удаленному пользователю зарегистрироваться на Вашем сервере с любого адреса. Если Вы хотите ограничить доступ по IP адресам или хостам, добавьте параметры: permit или deny, в описание Ваших пользователей в файле iax.conf.
Пользователь, типа peer совершает вызовы. Следующие параметры необходимо указать в файле iax.conf на машине с пользователем типа peer для своей идентификации (авторизации) на машине с пользователем типа user, перед тем, как совершить вызов.[peername] type=peer
host=hostname.domain.tld (или “dynamic, при этом требуется указать команду “register” для пользователя типа user.)
auth=md5
secret=secretword ; избыточно, если включено в состав команды Dial.
username=username-at-the-peer ; избыточно, если включено в состав команды Dial.
Обратите внимание:
- тип type=user – авторизирует входящий вызов.
- тип type=peer – это кто-то, кто совершает исходящие вызовы.
- type=friend – это, конечно, и то и другое.
Использование типа “type=friend” делает жизнь проще, но не долго. Если вы добавите одновременно: “type=friend” и “[email protected]”, то этим вы ограничите одним хостом, число тех серверов, с которых эта учетная запись может принять вызов на обработку, что, возможно, совсем не то, что Вам нужно.Для инструкций по поводу использования директивы “auth=rsa”, см: Asterisk IAX RSA авторизация. Теперь, когда мы завершили шаги 1 и 2, осталось только настроить план набора. Прочитайте нижеприведенные примера, для того, чтобы понять, как это лучше сделать.
extensions.conf: exten => _7XXX,1,Dial(IAX2/myserver:passwordA@IAXserverA/${EXTEN:1},30,r) exten => _7XXX,2,Dial(SIP/myserver:passwordA@SIPserverA/${EXTEN:1},30,r) exten => _7XXX,3,Congestion exten => _8XXX,1,Dial(IAX2/myserver:passwordB@IAXserverB/${EXTEN:1},30,r) exten => _8XXX,2,Dial(SIP/myserver:passwordB@SIPserverB/${EXTEN:1},30,r) exten => _8XXX,3,Congestion Конечно, нам нужно вместо записей типа [IAXserverA] и т.д., указать те, что мы прописали в файлах iax.conf и sip.conf, чтобы все работало как нужно. В этом примере, SIP используется как резервный канал, в случае проблем соединения по IAX протоколу.
Обратите внимание, что в этом примере имя пользователя и пароль попадает в CDR записи (Вам возможно захочется использовать второй пример или использовать ключевые выражения вместо комбинаций имя пользователя/пароль)!
В этом примере в CDR записях не показывается поле username и secret.
(сервер A)
iax.conf [general]
register =>
Источник: http://asterisk.ru/knowledgebase/Asterisk%2Bdual%2Bservers
Соединить 2 asterisk сервера между собой
Хочу на простом примере рассказать, как можно связать друг с другом 2 сервера asterisk по протоколу SIP. Это может быть полезным для оптимизации расходов на междугородную и международную связь, для звонков между филиалами по внутренним номерам. Может еще где-то понадобится, больше не придумал применения.
Содержание:
- 1 Введение
- 2 Редактируем sip.conf для соединения двух серверов
- 3 Настройка dialplan для работы с 2-мя серверами
Введение
Я приведу простой пример, подразумевая, что вы выполнили настройку asterisk по моей статье или схожим образом. Классическая конфигурация для среднестатистического офиса. Представим, что у вас 2 таких офиса в разных городах.
Пусть этими городами будут Москва (условное имя сервера moscow) и Санкт-Петербург (условное имя сервера piter) Вы хотите звонить на внутренние номера этих офисов напрямую, как-будто они обслуживаются вашим сервером. Допустим, на сервере moscow у вас номера начинаются на 100 и 200, а в piter на 300 и 400.
Я считаю, что между серверами у вас настроен vpn канал и они видят друг друга без проблем.
Если у вас номера пересекаются, например, и там и там начинаются на 100, то задача немного усложняется, но не сильно.
Просто придется добавить какую-нибудь еще цифру к набору, а в диалплане ее отсекать. Но я не буду рассматривать этот вариант.
Если вы одна организация, то логично сделать такую нумерацию, чтобы она не пересекалась. Если это не так, то лучше ее переделать, чем городить костыли.
Наша задача будет разбита на 2 этапа:
- Готовим пиры и регистрации для связи двух серверов между собой.
- Настраиваем dialplan, чтобы распределять звонки по серверам.
Может возникнуть вопрос: «А зачем вообще соединять 2 сервера, если можно сделать один сервер asterisk и подключить к нему абонентов обоих офисов?». Причины могут быть разными. Мне видятся несколько, например:
- В каком-то филиале нестабильный интернет. Офис не хочет терять возможность внутренних звонков при проблемах с интернетом. А если сервер с астериском будет находиться не у них, то даже между собой не смогут созвониться.
- Разные люди администрируют сервера. В рамках одного сервера сложнее настроить разделение доступа. Более того, я даже не знаю, как это реализовать. А в случае с разными серверами никаких проблем. Главное не трогать часть диалплана, которая отвечает за звонки друг к другу, а дальше можно конфигурировать как душе угодно.
- Нужна раздельная статистика и запись звонков. Конечно, можно все это реализовать в рамках одного сервера, но нужно будет либо покупать какое-то коммерческое решение, либо переделывать бесплатное. Я не знаю простого, бесплатного и удобного средства, которое позволит это реализовать в рамках одного сервера. А так ставишь любой cdr viewer и ограничиваешь доступ к web панели любым удобным способом.
Редактируем sip.conf для соединения двух серверов
Идем на сервер moscow и добавляем в sip.conf новый пир, который будет использовать сервер piter для подключения.
[piter] type=friend secret=password_p context=piter-in host=dynamic
qualify=300
Добавляем аналогичный пир на сервер piter.
[moscow] type=friend secret=password_m context=moscow-in host=dynamic
qualify=300
Добавляем на сервер moscow в sip.conf регистрацию на сервере piter в соответствии с настройками пира.
register => moscow:[email protected]/piter
В данном случае 192.168.10.100 — ip адрес сервера в Питере. То же самое делаем на сервере piter.
register => piter:[email protected]/moscow
192.168.20.100 — ip адрес астера в Москве. Делаем на обоих серверах sip reload и проверяем состояние пиров и регистраций.
> sip show peers
> sip show registry
Вы должны на каждом сервере увидеть новый подключившийся пир и выполненную регистрацию. Если этого нет, разбирайтесь, в чем может быть дело. Скорее всего проблемы с firewall. Настройте его и проверяйте снова. Серверы должны как минимум без проблем пинговать друг друга по ip. Если все порядке, то идем дальше.
Настройка dialplan для работы с 2-мя серверами
Теперь нам нужно в диалплане на каждом из серверов указать, куда звонить по разным номерам. На сервере moscow укажем, что звонить по маскам 300 и 400 нужно в питер. Добавляем в extentions.conf правило перед основным правилом звонка на внутренние номера с маской _XXX.
exten => _[34]XX,1,Dial(SIP/piter/${EXTEN},15,Tt)
И добавим контекст для приема входящих звонков с сервера piter
[piter-in]
exten => _XXX,1,Dial(SIP/${EXTEN},15,Tt)
Делаем то же самое на сервере piter.
exten => _[12]XX,1,Dial(SIP/moscow/${EXTEN},15,Tt)
Не забываем поменять маску. И добавляем контекст приема звонков с moscow.
[moscow-in]
exten => _XXX,1,Dial(SIP/${EXTEN},15,Tt)
Вот и все. Мы связали между собой 2 астериск сервера. Можно звонить друг другу, используя внутренние номера. Не забудьте перезагрузить план набора.
> dialplan reload
Можно проверять звонки. Не обязательно делать в точности, как я показал. У вас может быть по-другому организован диалплан. Можно в контекст для входящих заинклюдить ваш существующий контекст для внутренних звонков, например так.
[moscow-in]
include => office
Если у вас настроена запись звонков так же, как я рассказал в своей статье про настройку астериска, которую привел в начале, то не забудьте добавить запись по обоим направлениям. Примерно так для сервера moscow на исходящие.
exten => _[34]XX,1,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _[34]XX,n,Dial(SIP/piter/${EXTEN},15,Tt)
И вот так на входящие:
[piter-in] exten => _XXX,1,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _XXX,n,Dial(SIP/${EXTEN},15,Tt)
На этом все. Пример написал по горячим следам. Сегодня настраивал такую тему, конфиги взял с реальных серверов.
Если есть необходимость, то можно расширить эту конфигурацию и настроить звонки в Питер из Москвы через сервер piter, если там более выгодный тариф для локальных звонков. Для этого нужно добавить маски питерских номеров в dialplan на сервере moscow, а на сервере piter в контекст входящих звонков с moscow настроить набор через свой питерский транк.
Источник: http://problem-info.ru/soedinit-2-asterisk-servera-mezhdu-soboy.html
Соединение двух серверов Asterisk по протоколу SIP
Может настать очередное время кризиса, когда междугородние(международные) переговоры оказывают существенное влияние на бюджет фирмы(если Вы не начальник “бензоколонки”).
Самое время установить сервера Asterisk в филиалах, у партнеров… и организовать передачу вызова между ними.
К счастью, здесь нет особых сложностей, хотя имеются некоторые странности, с которыми придется справляться, но с точки зрения конфигурации на самом деле это совсем не так уж трудно.
И так в офисах установлена IP АТС Asterisk. Новая схема выглядит следующим образом:
Это типовой сценарий, когда имеется два, или более, физических местоположения, например компания с несколькими офисами, и требуется обеспечить единую логическую топологию расширения. Предположим один офис находится в Москве, второй в Орле.Вот конфигурация (файл sip.conf) сервера в Москве:
- [general]
- register => moscow:passwd@IP_OREL/orel
- [orel]
- type=friend
- secret=passwd
- context=orel_incoming
- host=dynamic
- disallow=all
- allow=ulaw
И конфигурация сервера в Орле:
- [general]
- register => orel:welcome@IP_MOSCOW/moscow
- [moscow]
- type=friend
- secret=welcome
- context=moscow_incoming
- host=dynamic
- disallow=all
- allow=ulaw
Многие из приведенных опций могут быть вам знакомы, но давайте на всякий случай остановимся на них подробнее.Вторая строка файла указывает серверу Asterisk зарегистрироваться на другом сервере.
Таким образом мы сообщаем удаленному серверу Asterisk, куда направлять вызовы, когда он пожелает обратиться к нашему локальному серверу Asterisk и мы могли принимать входящие звонки.
Попросту мы регистрируемся как абонент на удаленном сервере. Полный формат команды :
- register => [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]
Опцией “/orel” – мы сообщаем противоположному концу, что должно быть указано в качестве краткого имени пользователя в поле Proxy Authorization (Авторизация прокси) SIP-сообщения INVITE(номер который он вызывает).
Весь остальной файл занимает блок авторизации, используемый для управления входящими и исходящими вызовами другого сервера Asterisk. Сервер moscow использует блок авторизации [orel], и сервер orel использует блок [moscow].
Определен тип friend, что позволяет принимать и направлять вызовы к другому серверу Asterisk. Параметр secret – это пароль, который должна использовать другая система при аутентификации. Параметр context (контекст) указывает,в какой части диалплана (extensions.conf) обрабатываются входящие вызовы.
Для параметра host задано значение dynamic (динамический),это указывает серверу Asterisk на то, что противоположный конец сообщит свой IP-адрес, на который следует направлять адресованные ему звонки, при регистрации.
Наконец, с помощью параметров disallow (запретить) и allow (разрешить) можно определять, какие кодеки будут использоваться при общении с противоположным концом.
Проверим успешность собственной регистрации, выполнив команду sip show registry из консоли Asterisk:
Диалпланы обоих серверов будут очень похожи, но для ясности здесь приведены оба. Новые строки для совершения исходящего вызова, добавленные в существовавший до этого файл – extensions.conf, для moscow:
- exten => _1XXX,1,NoOp()
- exten => _1XXX,n,Dial(SIP/orel/${EXTEN})
- exten => _1XXX,n,Hangup()
и соответственно для orel:
- exten => _1XXX,1,NoOp()
- exten => _1XXX,n,Dial(SIP/moscow/${EXTEN})
- exten => _1XXX,n,Hangup()
Конечно же надо не забыть обработать входящие вызовы, включив их в соответствующий контекст:
- [orel_incoming]
- include => office
и
- [moscow_incoming]
- include => office
Вот и все! Теперь можно звонить с одного офиса в другой совершенно бесплатно (если не считать трафик internet) .
Источник: http://www.sipring.ru/overview/asterisk-feature/44-asterisk-sip-to-sip.html
Объединение двух телефонных станций по протоколу SIP
Это типовой сценарий, когда имеется два, или более, физических местоположения, например компания с несколькими офисами, и требуется обеспечить единую логическую топологию расширения. Предположим один офис находится в Люберцах, второй в Марьино. Вот конфигурация (файл sip.conf) сервера в Люберцах:
[general] register = > luberc:passwd@IP_MARYINO/maryino
[maryino] type=friend secret=passwd context=maryino_incoming host=dynamic disallow=all allow=ulaw
И конфигурация сервера в Марьино:
[general] register = > maryino:welcome@IP_LUBERCY/lubercy
[moscow] type=friend secret=welcome context=luberxy_incoming host=dynamic disallow=all allow=ulaw
Вторая строка файла указывает серверу Asterisk зарегистрироваться на другом сервере. Таким образом мы сообщаем удаленному серверу Asterisk, куда направлять вызовы, когда он пожелает обратиться к нашему локальному серверу Asterisk и мы могли принимать входящие звонки. Попросту мы регистрируемся как абонент на удаленном сервере. Полный формат команды:
register = > [peer?][transport://]user[@domain]
[:secret[:authuser]]@host[:port][/extension][~expiry]
Опцией “/maryino” – мы сообщаем противоположному концу, что должно быть указано в качестве краткого имени пользователя в поле Proxy Authorization (Авторизация прокси) SIP-сообщения INVITE (номер который он вызывает).
Весь остальной файл занимает блок авторизации, используемый для управления входящими и исходящими вызовами другого сервера Asterisk. Сервер lubercy использует блок авторизации [maryino], и сервер marino использует блок [lubercy].
Определен тип friend, что позволяет принимать и направлять вызовы к другому серверу Asterisk. Параметр secret – это пароль, который должна использовать другая система при аутентификации. Параметр context (контекст) указывает,в какой части диалплана (extensions.conf) обрабатываются входящие вызовы.
Для параметра host задано значение dynamic (динамический),это указывает серверу Asterisk на то, что противоположный конец сообщит свой IP-адрес, на который следует направлять адресованные ему звонки, при регистрации.
Наконец, с помощью параметров disallow (запретить) и allow (разрешить) можно определять, какие кодеки будут использоваться при общении с противоположным концом.
Диалпланы обоих серверов будут очень похожи. Новые строки для совершения исходящего вызова, добавленные в существовавший до этого файл – extensions.conf, для lybercy:
exten = > _1XX,1,NoOp () exten = > _1XX,n,Dial(SIP/maryino/${EXTEN}) exten = > _1XX,n,Hangup ()
и соответственно для maryino:
exten = > _2XX,1,NoOp () exten = > _2XX,n,Dial(SIP/lubercy/${EXTEN}) exten = > _2XX,n,Hangup()
Обработаем входящие вызовы, включив их в соответствующий контекст:
[maryino_incoming] include = > incoming [lubercy_incoming] include = > incoming
Вышеприведенный пример иллюстрировал минимально необходимые настройки через соответствующие файлы. Теперь рассмотрим как можно бъединить две станции с помощью web-интерфейса FreePBX.В.
В диалплан FreePBX существует два «входа»: контексты [from-trunk] и [from-internal].
[from-trunk] — вызов обрабатывается как DID, как внешний вызов.
[from-internal] — как внутренний вызов от SIP, IAX или DAHDI добавочного номера АТС. Первым делом создадим IAX транк между двумя сторонами.
Сервер 1:
Trunks Trunk Name serv2PEER Detailsdeny=allallow=ulaw&alawtype=friendhost=IP'сервера 2'qualify=yes
context=from-internal ;;обрабатывать входящие из 'сервер2' в контексте [from-internal]
Сервер 2:Trunk Name serv1PEER Detailsdeny=allallow=ulaw&alawtype=friend
host=IP 'сервера 1'
qualify=yes
context=from-internal
Исходящая маршрутизация.
Сервер 1:
Outbound RoutesRoute Name toserv2Dial Patterns 2XX
Trunk Sequence SIP/serv2
Сервер 2:
Route Name toserv1Dial Patterns 1XX
Trunk Sequence SIP/serv1
Изменение дополнительных параметров SIP по расположению за NAT
Чтобы изменить параметры SIP за NAT необходимо зайти Инструменты≥Asterisk SIP Settings и отредактировать параметры NAT Settings:
NAT — параметры использования NAT (yes — всегда работать за NAT, No — использовать NAT только по RFC3581, never — никогда не использовать режим NAT или RFC3581, route — считать NAT не посылая отчет)
IP Configuration — конфигурации IP (указываем тип IP — статичныий, динамический или публичный)Externall IP — указываем внешний статичный IP
Local Networks — параметры локальной сети (Asterisk: localnet) в виде ip-адрес/маска, если в локальной сети более одной подсети то используется кнопка Add Lokal Networks Field для добавления полей.
Источник: https://VoxLink.ru/knowledge-base/curriculum/obedinenie-dvukh-telefonnykh-stantsijj-po-sip/
Соединение двух серверов – Форум – Портал поддержки пользователей IP АТС Asterisk и Digium
chan_iax2.c:8055 socket_process: Host 1.1.1.1 failed to authenticate as 2234
Откуда: AstanaСообщений: 48 | Здравствуйте знатоки, хочу соединить 2 сервера используя register => но никак не получается :-(((( Что я делаю, я звоню с номера 1111(зарегистрированном на сервере 2) на номер 2220 (hello-world, на сервере 1), затем слышу один гудок, и потом сброс звонка типа занято. 🙁 логи на сервере 2 показывают: WARNING[31262]: chan_iax2.c:7820 socket_process: Call rejected by 1.1.1.1: No authority found Tx-Frame Retry[-01] — OSeqno: 002 ISeqno: 002 Type: IAX Subclass: ACK Timestamp: 00013ms SCall: 15146 DCall: 05873 [1.1.1.1:4569] — Hungup 'IAX2/z-15146' == Everyone is busy/congested at this time (1:0/0/1) — Executing [2220@default:2] Hangup(“SIP/1111-019b5760”, “”) in new stack == Spawn extension (default, 2220, 2) exited non-zero on 'SIP/1111-019b5760' Логи на сервере 1 показывают: NOTICE[25215]: chan_iax2.c:8055 socket_process: Host 2.2.2.2 failed to authenticate as 2234Насколько я понял, то нет аутентифигации как 2234, и тут возникает сразу вопрос, зачем второму серверу нужна аутентификация да еще как клиент IAX 2234???может я чтото неправильно понял, но в примерах в инете типа у всех все работает, а у меня не получается 🙁 Конфиги: Сервер1 extensions.conf [default] exten => _2220,1,Answer() exten => _2220,n,Wait(2) exten => _2220,n,Playback(hello-world) exten => _2220,n,Hangup() exten => _222X,1,Dial(SIP/${EXTEN},15) exten => _222X,n,Hangup() exten => _223X,1,Dial(IAX2/${EXTEN},15) exten => _223X,n,Hangup() ;exten => i,1,Congestion exten => _1XXX,1,Dial(IAX2/mail/${EXTEN}@default) exten => _1XXX,n,Hangup() ;exten => i,1,Congestion ——————————————————– iax.conf [general] bandwidth=low disallow=all allow=ulaw allow=alaw allow=gsm jitterbuffer=no forcejitterbuffer=no tos=lowdelay autokill=yes register => z:[email protected] [mail] type=friend host=dynamic trunk=yes secret=welcome context=default qualify=yes peercontext=default [2233] callerid=2233 type=friend context=default host=dynamic username=2233 secret=2233 [2234] callerid=2234 type=friend context=default host=dynamic username=2234 secret=2234 =============================================================================== [default] exten => _1110,1,Answer() exten => _1110,n,Wait(2) exten => _1110,n,Playback(hello-world) exten => _1110,n,Hangup() exten => _111X,1,Dial(SIP/${EXTEN},15,t) exten => _111X,n,Hangup() ;exten => i,1,Congestion exten => _2XXX,1,Dial(IAX2/z/${EXTEN}@default,30,r) exten => _2XXX,n,Hangup() exten => i,1,Congestion ————————————- iax.conf [general] bandwidth=low disallow=all allow=ulaw allow=alaw allow=gsm jitterbuffer=no forcejitterbuffer=no tos=lowdelay autokill=yes register => mail:[email protected] [z] type=friend host=dynamic trunk=yes secret=welcome context=default qualify=yes peercontext=default ============================================================= iax2 show registry Host dnsmgr Username Perceived Refresh State 2.2.2.2:4569 N z 1.1.1.1:4569 60 Registered iax2 show peers Name/Username Host Mask Port Status mail 2.2.2.2 (D) 255.255.255.255 4569 OK (10 ms)————————————————————————————- |
Откуда: SPbСообщений: 1307 | exten => _1XXX,1,Dial(IAX2/mail/${EXTEN}@default)и кому звоните? |
Откуда: AstanaСообщений: 48 | zzuz:Здесь пользователи с номерами 2ХХХ будут звонить на номера 1ХХХ удалённого сервера. Я что то не правильно делаю? |
Сообщений: 80 | Сообшение No authority выскакивает когда входяший звонок с полем From: , ее нужно писать только на одном сервере или на обоих?3) register => :@ что это команда делает? я предполагаю что она сама инициирует регистрацию на удаленном сервере, другими словами нужно чтобы на удалённом сервере был шаблон типа [serverB] type=friend host=IP serverB username=serverA secret=1234как показано здесь http://www.voip-info.org/wiki/view/Asterisk+No+authority+found——————————————- (server1) register => :@ [server1] type=friend host=IP server1 username=server2 secret=1234 ————————————– (server2) register => :@ [server2] type=friend host=IP server2 username=server1 secret=1234 ========================================== Как я представляю алгоритм:1) Dial(IAX2/mail/${EXTEN}) где mail это название экстеншена в iax.conf удалённого сервера.2)команда register => :@ (на server1) производит регистрацию на удаленном сервере. 3) на удаленном сервере server2 в файле iax.conf есть такая информация:[mail]type=friend host=IP server2 username=server1 secret=1234 производится регистрация и звонок. —————————————Теперь возникает вопрос каким образом используется [mail]?т.е. я хочу найти взаимосвязь междуа)Dial(IAX2/mail/${EXTEN}) = mailб)register => :@в)и на удаленном сервере в iax.conf [mail] и username= в нем. как я предпалагаю:Dial(IAX2/mail/${EXTEN}) = [mail] в iax.conf удаленного сервера.register => :@ = username= в iax.conf удаленного сервера.Заранее СПАСИБО за ответы! 🙂 |
Откуда: SPbСообщений: 1307 | делайте на сервере updatedb ; locate iax.conf.sample и вдумчиво читаете, затем побуйте и делаете выводы. или вот ..http://www.pbxware.ru/products/training |
Сообщений: 80 | Вот настройки для IAX ; для сервера AAA [BBB-AAA] type=user username=BBB-AAA auth=md5 secret=123 context=iax2context qualify=yes [AAA-BBB] type=peer username=AAA-BBB auth=md5 secret=321 host=ip_host_BBB qualify=yes ; для сервера BBB [AAA-BBB] type=user auth=md5 username=AAA-BBB secret=321 context=iaxout qualify=yes trunk=yes [BBB-AAA] type=peer auth=md5 username=BBB-AAA secret=123 host=ip_host_AAA qualify=yes запись register не использую, потому что адреса айпи статические чтоб позвонить с сервера AAA на BBB, используем конструкцию Dial(iax2/ААА-ВВВ/${EXTEN}) чтоб позвонить с сервера BBB на AAA, используем конструкцию Dial(iax2/BBB-AAA/${EXTEN}) http://voipx.ru/cgi-bin/loscont.cgi?ID=1098 есть параграф о команде register http://voip.rus.net/tiki-index.php?page=Asterisk+cmd+hangup http://voip.rus.net/tiki-index.php?page=Asterisk+cmd+congestionэто две разные команды, по ссылкам объяснено |
Откуда: AstanaСообщений: 48 | mbyte:Спасибо ОГРОМНОЕ mbyte ! 🙂 |
Источник: http://atc-ip.ru/info/44/1.html
FreePBX соединить сервера по SIP
awsswa
How to как соединять два asterisk по SIP протоколу.Есть чудная статья на хабре про соединение по IAX2 двух ваших серверов по IAX2Но не всем подходит соединение по IAX2Так что сегодня будем соединять сервера по SIPСервер №1 office 192.168.0.5 нумерация 1ХХСервер №2 filial 192.168.5.254 нумерация 2ХХ
Настройки сервера №1——————————————————————————————
Trunk Name filialsip
Trunk Name filialsip
————————–
type=friend
username=filialsip
secret=welcome1One
context=from-internal
host=dynamic
disallow=all
allow=speex,alaw,gsm
nat=yes
insecure=invite,port
canreinvite=no
Incoming Settings
Очищаем от текста
Registration
officesip:[email protected]/filialsip
Настройки сервера №2——————————————————————————————-Идем в Trunks и делаем новый SIP trunk
Trunk Name officesip
Trunk Name officesip
—————————-
type=friend
username=officesip
secret=welcome1One
context=from-internal
host=dynamic
disallow=all
allow=speex,alaw,gsm
nat=yes
insecure=invite,port
canreinvite=no
filialsip:[email protected]/officesip
————————————————————————————————————————-Ну собственно говоря всё – sip show registry должно показывать строчки с успешной регистрациейЗаметьте – пароли одинаковы на обеих серверах не просто такУ нас соединение через NAT маршрутизацию, по этому nat=yes,если у вас односторонняя слышимость выключайте nat=noТеперь надо сделать маршруты для исходящих звонков (outbound routers)С сервера №1 – office – по маске 2ХХ отправлять по транку filialsipС сервера №2 – filial – по маске 1ХХ отправлять по транку officesipТут проще показать чем рассказывать:
А с шифрованием ? tls можно ? можно !!! надо только сделать персональный сертификат по имени регистрациив нашем случаи – officetls
https://wiki.asterisk.org/wiki/display/AST/Secure+Calling+Tutorial
за место имени – malcolm должно быть наше имя – officetls
Host dnsmgr Username Refresh State Reg.Time
192.168.5.254:5061 N officetls 105 Registered Wed, 20 Nov 2013 15:23:20
и регистрация теперь
tls://officetls:[email protected]/filialtlsв настройках
transport=tls
Источник: https://awsswa.livejournal.com/19660.html
Настройка IAX транков или как объединить два сервера Asterisk FreePBX
В целом все довольно таки просто… Как всегда 🙂
Имеем 2 сервера Asterisk FreePBX (В моём случае это сборка TrixBox), сервера установлены в разных офисах.
Задача объединить ети два сервера.
IAX— протокол обмена VoIP данными между IP-PBX Asterisk. Замечательно работает через NAT.
Создание транков
Создание транка
Суть создания транка проста. На принимающей стороне должны быть параметры для подключения (логин, пароль), запрашивающая сторона должна обращаться с параметрами указанными на принимающей стороне.
ИЛИ
Есть та часть транка которая обращается к серверу с которым необходимо объединить (Опция Peer ) а есть та часть транка в которой указаны параметры соединения которые позволят соединится на принимающей стороне (Опция USER)
Параметры Peer для Server 1
Имя Server 1
username=Server2 (логин)
type=peer
secret= passwordUser2 прописанный в опциях User Server 2 qualify=yes insecure=port,invite host=IP адрес или имя Server 2 allow=g729&alaw disallow=all canreinvite=no
Параметры для User для Server 2
Имя или контекст Server 2(логин)
type=user
secret=passwordUser2 для доступа к этому серверу
context=from-trunk
После чего транк можно считать поднятым в одностороннем порядке то есть связь от Server1 к Server2 Но так как задачи у наших офисов дозваниваться и переадресовывать звонки в обе стороны необходимо проделать то же самое в обратном направлении.
Маршрутизация между серверами
Когда связь настроена можно приступать к созданию правил маршрутизации.
Допустим:
Server 1 = Office 1 = номерной план 2000 – 2999 Server 2 = Office 2 = номерной план 3000 – 3999
Следовательно для того что бы абонент у которого внутренний номер находиться в диапазоне 2000 – 2999 смог позвонить на внутренний номер из диапазона 3000 – 3999 необходимо на Server 1 создать правило исходящей маршрутизации:
Имя Шаблон номера = 3XXX И транк через который необходимо делать дозвон IAX Server2
То же самое в обратном направлении только Шаблон номера = 2XXX
Переадресация звонков
Предположим что в Office1 находиться Office Manager 1 а в Office2 Office Manager 2.
Задача: когда Office Manager 1 нет на месте или он не может ответить на входящий звонок после 10 секунд переводить звонок на Office Manager 2.
Для этого на Server1 необходимо создать группу вызова, например Office2Manager с номером группы допустим 601 и добавить в эту группу внутренний номер Office Manager 2.
Для того что бы в группе указать внутренний номер который относится к другой системе (в нашем случае Office 2 = номерной план 3000 – 3999) после номера необходимо добавить символ “#”.
Номер в группе будет выглядеть примерно так – 3000#
Теперь создадим группу 600 куда будет входить номер Office Manager 1 допустим 2000. В настройках группы указываем параметр время вызова = 10 сек.
И назначение если никто не ответил = группа 601.
Настраиваем входящую маршрутизацию так, что бы звонок из мира приходил не на внутренний номер Office Manager 1 а на группу 600.
Коротко и по-моему доступно…
Удачи!!!!!!!!!!!!!!
Источник: http://kogr-a.livejournal.com
Источник: http://kogr.at.ua/publ/voip/nastrojka_iax_trankov_ili_kak_obedinit_dva_servera_asterisk_freepbx/28-1-0-4228
asterisk.by
Coburn, vans schuhe who ugg australia passed louboutin away michael kors v?skor in tiffany jewelry 2013 at nike.
se age gucci outlet 65, was a hermes birkin 1973 replica watches PCC Business hogan Administration barbour mens jackets graduate.
He jerseys from china played basketball for chanel purses two seasons beats by dre at converse outlet Pitt michael kors outlet despite rolex losing his right hair straightener arm to a tory burch sandals mortar round during the Vietnam War cheap basketball shoes in 1969. abercrombie He louis vuitton taschen later coached at jimmy choo his alma replica handbags mater juicy couture clothings for 14 soccer shoes seasons clothing websites and was louis vuitton purses the college’s roshe run first ugg boots athletic replica watches director louis vuitton outlet stores — all uggs outlet as a full-time polo ralph lauren volunteer.
Coburn’s service salvatore ferragamo to the cheap glasses community and accomplishments supra footwear includes nike.com 41 ray bans years gucci shoes as nike free 5.
0 a burberry outlet online baseball umpire coach factory outlet online in Eastern ralph lauren outlet North Carolina.
burberry uk When michael kors outlet online sale he vans shoes retired michael kors outlet from northface officiating hollister co in air max 90 March abercrombie 2012, the Pitt nike huarache County Umpires swarovski australia Association tory burch shoes retired new balance store his timberland boots No. ray-ban sunglasses 32 air max umpire giuseppe shoes uniform during coach outlet online a tommy hilfiger ceremony asics gel at hollister kids PCC.
The michael kors gym inside oakley the michael kors bags Ed roshes and Joan Warren Building gafas oakley on michael kors purses PCC’s louboutin shoes main campus is swarovski named ralph lauren for gucci shoes Coburn. And coco chanel Dec. converse 4-6, north face backpacks the adidas 15-year-old air jordans facility will thomas sabo host p90x workout schedule the uggs Bulldogs tiffany und co and teams celine handbags from coach factory online 13 bcbg dresses other nike outlet schools taking lululemon outlet part uggs in moncler outlet online the 2nd nike air max 2015 Annual Charles rayban Coburn dre beats Classic.
In toms.com recognition michael kors of ferragamo Coburn’s abercrombie and fitch kids military ralph lauren factory store service, nike mercurial vapor which michaelkors.
com included cheap ray ban the the north face prestigious Purple jordan release dates Heart and oakley several mac cosmetics service swarovski awards, the U.S.
Army hollister online shop deutschland will tommy hilfiger have polo ralph active long champ duty and free running local prada reserve hollister clothing store soldiers on gucci mens shoes hand for juicy couture the ferragamo shoes tournament. burberry Attendees prada sunglasses also will wedding dresses have the cheap true religion opportunity to explore Army toms shoes tactical www.tommyhilfiger.nl vehicles bottega and hollister participate true religion jeans outlet in harrods london a the north face variety of abercrombie fitch other salomon schuhe activities, calvin klein including ugg boots clearance cornhole.
Shumacher, polo ralph lauren outlet online who rayban is sponsored by ralph lauren the designer handbags U.S.
Army, gucci shoes outlet will nike air max help get longchamp outlet the insanity calendar weekend underway.
louis vuitton The cheap oakley sunglasses eight-time reebok NHRA champion, pandora who has chanel 76 moncler women jackets wins new balance to his relojes especiales credit, longchamp handbags will woolrich clearance be on vuitton handbags hand lululemon canada Friday, from 1 p.m. tiffany to abercrombie and fitch 5 softball bats p.m.
Tournament oakley prescription play coach outlet store will run beats by dre from 4-10 new balance p.m.
air jordan retro on north face jackets Friday, air jordan 11 adidas neo a.m. true religion to uhren 10 p.m. adidas superstar Saturday and hermes outlet 11 a.m.
michael kors outlet online sale to gucci belts 7:30 p.m. uggs Sunday.
Admission ugg australia is $5. ralph lauren uk Proceeds support louboutin outlet the PCC roshe run basketball program.
Coburn, marc jacobs handbags who new balance shoes passed coach factory outlet away in watches 2013 louis vuitton outlet at age 65, prada outlet was a cheap jordans 1973 vans outlet PCC Business wedding dresses uk Administration timberland shoes graduate. nike air force He played basketball north face for nike air max two baseball jerseys seasons at north face outlet Pitt longchamp despite uggs outlet losing air jordan shoes his tiffany and co right shoes on sale arm oakley sunglasses outlet to hermes bags a ralph lauren mortar nba jerseys round bcbg max azria during tommy hilfiger online shop the michael kors outlet online sale Vietnam babyliss War the north face in toms outlet 1969. He later adidas shoes coached abercrombie at coach bags his alma pandora rings mater pandora jewellery for louis vuitton australia 14 michael kors handbags seasons cheap nike shoes and cheap eyeglasses was jordans for sale the college’s first athletic director michael kors — all nike roshe as a uggaustralia.com full-time oakley volunteer.
Coburn’s service to the community nike outlet and wholesale handbags accomplishments free run includes ralph lauren polo 41 coach purses years louis vuitton handbags as louboutins a baseball tommy hilfiger outlet stores umpire louis vuitton outlet online in Eastern thomas sabo uk North ray ban zonnebril Carolina. When he retired from officiating in nike air March swarovski 2012, burberry online shop the ray ban outlet Pitt County adidas.se Umpires polo ralph lauren outlet Association retired ralph lauren online his No. puma 32 umpire cheap michael kors uniform during a michael kors ceremony air max 2014 at roche run PCC.
The gym inside longchamp taschen the jordan shoes Ed huaraches and nike.
de Joan kate spade outlet online Warren ray ban sunglasses outlet Building oakley sunglasses on nike online PCC’s main toms shoes outlet campus michael kors bags is mizuno running shoes named michael kors outlet online for Coburn. lululemon And air max shoes Dec. michael kors outlet online 4-6, the coach outlet 15-year-old facility will host louis vuitton bags the christian louboutin Bulldogs and baseball bats teams from replica watches 13 beats audio other schools cheap oakley taking part in the 2nd hilfiger outlet Annual Charles Coburn ugg boots sale Classic.
In recognition of hilfiger Coburn’s military michael kors outlet service, pandora bracelets which included michael kors bags the michael kors outlet prestigious christian louboutin shoes Purple ray ban Heart and flat iron several prada handbags service kate spade awards, nike air max the abercrombie.com U.S. cheap oakley sunglasses Army ugg will tory burch handbags have burberry outlet active duty gucci handbags and polo ralph lauren local levis outlet store reserve michael kors purses soldiers mont blanc pens on hand pandora for the michael kors australia tournament. lulu lemon Attendees ray ban wayfarer also fake rolex will have pandora the the north face outlet opportunity to burberry handbags explore Army tactical vehicles and nike.dk participate in a coach handbags outlet variety of other activities, nike free run including red bottoms cornhole.
Shumacher, who is sponsored by burberry outlet online the U.S. swarovski jewelry Army, giuseppe zanotti will help get the burberry handbags weekend true religion jeans women underway. maccosmetics.
com The nike roshe eight-time louboutin NHRA mcm bags champion, converse chucks who uggs has 76 lululemon australia wins to his credit, will rolex replica be kate spade outlet on barbour outlet hand mcm backpack outlet Friday, coach black friday from swarovski crystal 1 iphone 4s cases p.m. to bebe dresses 5 chanel sunglasses p.m.
Tournament play will run ralph lauren outlet online from 4-10 burberry handbags p.m. on zapatillas nike Friday, 11 a.m. to adidas sneakers 10 louis vuitton p.m.
prada outlet Saturday polo ralph lauren outlet and tiffany and co 11 new balance a.m. ugg to nike store 7:30 tory burch sale p.m.
instyler ionic styler Sunday.
Admission is adidas.de $5. nike outlet store Proceeds ed hardy clothing support gucci the oakley sunglasses cheap PCC ray ban sunglasses basketball program.
Источник: http://www.asterisk.by/node/119