- FreePBX 14 — настройка SIP транка
- SIP-транк с регистрацией
- General
- sip Settings
- FreePBX 14 – настройка SIP-транка без регистрации
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- FreePBX 13 — настройка SIP транка
- Пошаговое видео
- Добавить SIP — транк
- Настройка SIP-trunk от Asterisk до VoIP Service Provider «Сибирьтелеком»
- Настройка SIP в Asterisk — sip.conf
- Asterisk SIP trunk
- Asterisk Register String
- Asterisk SIP peer
- Входящая и исходящая маршрутизация sip транка в диалплане Asterisk
- Настройка SIP пира для регистрации внутренних абонентов
- Настройка нескольких SIP пиров по шаблону
- Asterisk sip.conf General SIP Options
- allowexternalinvites
- allowguest
- allowoverlap
- allowsubscribe
- allowtransfers
- alwaysauthreject
- autodomain
- bindaddr and bindport
- buggymwi
- callevents
- checkmwi
- compactheaders
- defaultexpiry
- directrtpsetup
- domain
- dumphistory
- externhost
- externip
- externrefresh
- g726nonstandard
- ignoreregexpire (global)
- jbenable
- jbforce
- jbimpl
- jblog
- jbmaxsize
- jbresyncthreshold
- icesupport
- limitonpeers
- localnet
- matchexterniplocally
- maxexpiry
- minexpiry
- notifymimetype
- notifyringing
- notifyhold
- pedantic
- realm
- recordhistory
- registerattempts
- registertimeout
- relaxdtmf
- rtautoclear
- rtcachefriends
- rtsavesysname
- rtupdate
- sipdebug
- sendrpid
- srvlookup
- transport
- tcpenable
- tcpbindaddr
- tcpauthtimeout
- tcpauthlimit
- t1min
- subscribecontext
- t38pt_udptl
- tos_sip, tos_audio, andtos_video
- trustrpid
- useragent
- usereqphone
FreePBX 14 — настройка SIP транка
В данной статье мы расскажем как подключить в FreePBX 14 SIP транк. SIP-транк – это набор свойств и параметров для совершения внешних вызовов по протоколу SIP. Для формирования корректных SIP запросов к вашему провайдеру, следует правильно настроить такие параметры как: аутентификация, CallerID, количество каналов, наличие сетевых трансляций (NAT), используемые кодеки, и конечно же контекст обработки входящих вызовов.
Эта статья является этапом курса по настройке FreePBX 14:
Прежде всего в FreePBX 14 должен быть включен SRV Lookup. О том, как это сделать мы рассказывали в статье.
Исходные данные провайдера:
- Host: sip.test.ru
- Port: 5060
- SIP_ID: 74951234567
- SIP_Password: Pa$$w0rd
- Codec: g711alaw, g729
После этого переходим в раздел Connectivity → Trunks и нажимаем кнопку + Add Trunks . Из полученного списка следует выбрать + Add SIP (chan_sip) Trunk .
SIP-транк с регистрацией
General
Прежде всего приведем описание опций:
- Trunk Name – Название транка.
- Hide CallerID – Опция скрытия CID при исходящем вызове.
- Outbound CallerID – CID, который будет передаваться при исходящем вызове.
- CID Options – Настройки передачи CID – разрешить все, запретить иностранные и т.д.
- Maximum Channels – Максимальное количество одновременных вызовов в SIP-транке.
- Asterisk Trunk Dial Options – Параметры команды Dial, которые будут использоваться для SIP-транка. Для переопределения параметров по умолчанию, установите флажок в значение «Override».
- Continue if Busy – Опция перенаправления вызова на следующий транк даже если канал сообщает «BUSY» или «INVALID NUMBER».
- Disable Trunk – Программное отключение SIP-транка.
- Monitor Trunk Failures – Если установлен параметр в значение Yes, возможно указать пользовательский сценарий AGI, который будет вызываться для отчетов, журналов, электронной почты или других действий при падении SIP-транка или в случаях таких ошибок как NOANSWER, CANCEL.
sip Settings
Прежде всего данная вкладка отвечает за исходящие и входящие вызовы.
Outgoing
Прежде всего настроим исходящие вызовы в PEER Details:
Incoming
Подобным образом настроим входящие вызовы.
USER Context
USER Details
Register String
Большинство VoIP-провайдеров требуют регистрацию на их платформе. Формат строки регистрации:
Многие провайдеры также требуют указание DID номера, следовательно строка регистрации будет иметь следующий вид:
Проверяем регистрацию в: Reports → Asterisk Info → Registries:
FreePBX 14 – настройка SIP-транка без регистрации
При использовании SIP-транка без регистрации (по IP), необходимо учитывать следующее:
- Опции для PEER – Определяют исходящие настройки.
- Опции USER – определяют входящие соединения.
Для создания SIP-транка в FreePBX 14 БЕЗ регистрации следует указывать только опции PEER (Outgoing):
Строка регистрации (Register String) и параметры Incoming – не заполняются.
FreePBX 14 SIP транк настроен. В заключении следует напомнить, что следующим этапом необходимо настроить правила маршрутизации (входящей/исходящей).
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
FreePBX 13 — настройка SIP транка
Подключение к SIP — провайдеру
2 минуты чтения
В данной статье я опишу несложный процесс регистрации нового транка при помощи web – интерфейса FreePBX 13. Процесс продемонстрирован при выборе провайдера Celecom (www.celecom.ru) , но он достаточно схож для многих провайдеров.
Продвинутый курс по Asterisk
Концентрат редких знаний, для внедрения Asterisk в крупных предприятиях. Все это мы собрали в одном курсе для тебя.
Пошаговое видео
Добавить SIP — транк
Необходимо попасть в меню администрирования транков по следующему пути:
Далее нажать «Add Trunk» и выбрать необходимый тип транка.
В данном случае выберем опцию Add SIP (chan_sip) Trunk
Далее необходимо придумать имя транка, в данном случае trunktest.
Коротко про опции в данном поле:
- Trunk Name — Название транка
- Hide CallerID — Опция скрытия CID при исходящем вызове
- Outbound CallerID CID, который будет передаваться при исходящем вызове
- CID Options — Настройки передачи CID – разрешить все, запретить иностранные и т.д
- Maximum Channels — максимальное количество одновременных разговоров вне локальной сети
- Asterisk Trunk Dial Options — модификация Dial options, в данном случае оставим опцию дефолтной
- Continue if Busy — опция направления вызова на следующий транк даже если канал сообщает «BUSY» или «INVALID NUMBER»
- Disable Trunk — опция выключения транка
Далее необходимо проследовать в поле «sip Settings»
Для начала настроим настройки исходящих вызовов в поле «Outgoing»
Дублируем название транка и вставляем настройки:
Заключительный шаг – необходимо ввести строку регистрации (registration string) в поле «Incoming»
Если все было сделано правильно, то необходимо нажать Submit и Apply Config.
Если данные аккаунты верны, то в окне мониторинга «Dashboard» вы увидите, что транк поднялся.
Настройка исходящих и входящих маршрутов будет рассмотрена в следующей статье.
Базовый курс по Asterisk
Мы собрали концентрат всех must have знаний в одном месте, которые позволят тебе сделать шаг вперед на пути к экспертному владению Asterisk
Источник
Настройка SIP-trunk от Asterisk до VoIP Service Provider «Сибирьтелеком»
Начнём с того, что Сибирьтелеком — крупнейший оператор фиксированной связи в СФО в Кемерово предоставляет VoIP с сигнализацией SIP только для абонентов подключенных по ETTH (оптика). Та ещё песня получить такое соединение. Однако здесь опишу опыт настройки SIP-транка между Asterisk из коробки TrixBox и их чудесным железом, которое называется IskraTel SI3000.
Входящие вызовы
host=10.0.25.2
type=peer nat=no
disallow=all
allow=alaw
context=from-trunk
А чтобы звонки приходили естественно необходимо зарегистрировать свой номер на своём IP-адресе у провайдера. Для этого надо достать бумажный конверт с паролем доступа к SIP! (Да, да чтобы получить доступ к защищённой по всем статьям услуге надо съездить в офис и получить бумажные конверты на каждый городской номер 🙂 и указать строку регистрации:
После этого Asterisk без вопросов принимает входящие вызовы.
Исходящие вызовы
Опыт 1.
SIP/2.0 480 Temporarily Unavailable
Опыт 2.
SIP/2.0 480 Temporarily Unavailable
INVITE sip:316544@10.0.25.2 SIP/2.0
[skipped]
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 266
v=0
o=root 529554116 529554116 IN IP4 10.25.0.50
s=Asterisk PBX 1.6.0.9-samy-r27
c=IN IP4 10.25.0.50
t=0 0
m=audio 10258 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off — — — —
a=ptime:20
a=sendrecv
После этого второй „не медийный“ поток с кодом кодека „101 telephone-event/8000“ не направляется к этому пиру. Это я узнал из RFC-3261 и как оказалось позже роли не играет.
Опыт 3.
SIP/2.0 480 Temporarily Unavailable
o=root 529554116 529554116 IN IP4 10.
(см. INVITE выше). У других наших клиентов в этом поле приходит [гор_номер].
Должно быть как у всех“.
читаем маны, доки, форумы и т.д. ищем как это сделать в Asterisk. И находим что это рулится только в секции [general] файла sip.conf обычного Asterisk, то есть для всех SIP-пиров и юзеров параметром:
в файле sip_general_custom.conf в TrixBox (точнее в FreePBX). Указываем именно „-“, т.к. в стандарте (RFC tools.ietf.org/html/rfc4566#section-5.2) должен быть указан владелец (owner), либо „-“ если система не поддерживает идентификаторы. Указать [гор_номер] как „советует“ провайдер не возможно, в силу указанной выше причины (секция [general]).
Опыт 4.
SIP/2.0 480 Temporarily Unavailable
(This allows you to set the domain in the From: field of the SIP header. It may be
required by some providers for authentication:
fromdomain=my.hostname.tld — врезка из Книги «Asterisk The Future of Telephony»)
host=10.0.25.2
type=peer
nat=no
disallow=all
allow=alaw
context=from-trunk
insecure=invite
fromdomain=10.0.25.2
и обязательно нужно выставлять Caller ID именно городской номер (см. Опыт 1), иначе Asterisk выдаёт туда местный номер, что не есть правильно :-).
Источник
Настройка SIP в Asterisk — sip.conf
Файл ‘sip.conf’ отвечает за настройку внутренних и внешних каналов SIP в Asterisk. Объекты конфигурации — пиры, описываются в отдельных секциях, которые обозначаются именами в [квадратных скобках]. Действует принцип наследования, как и в большинстве конфигов Asterisk: все что задано после имени в квадратных скобках, относится к одному объекту, пока не будет объявлен следующий.
Предопределенная категория — [general], задает глобальные настройки драйвера SIP Asterisk, которые распространяются на все объекты, но могут быть переопределены для отдельных пиров в их категориях.
Asterisk SIP trunk
Соединение обозначенное как user, это определение любой системы или оконечной точки (endpoint), которой мы разрешаем входящие вызовы на наш сервер Asterisk. Соединение type=user не обозначает никакого пользователя, а только создает канал и указывает контекст, для входа в диалплан аутентифицированных входящих вызовов.
Через соединение обозначенное как peer совершаются исходящие вызовы.
Asterisk Register String
register ⇒ sipuser[:secret[:authuser]]@host[:port][/extension]
Вышеприведенный пример, упрощенный вариант строки регистрации. Полный вариант содержит больше информации:
register => [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][
Обратите внимание на параметр transport, например tls:
register => tls://user:password@host
Строка регистрации имеет напрямую связанные с ней параметры [general]:
Для получения подробной информации о командах смотрите Asterisk CLI — интерфейс командной строки.
Пример вывода команды sip show registry в консоли Asterisk:
Возможные состояния (state):
Asterisk SIP peer
Для совершения исходящих вызовов должен быть создан объект type=peer.
Нажмите, чтобы отобразить
Нажмите, чтобы скрыть
Asterisk не делает различий между внутренними и внешними линиями, любой вызов совершается через какой-либо канал. Когда SIP сервер провайдера, вызывает Asterisk, то он совершает вызов через peer, проходя аутентификацию у user.
Конфигурация пиров осуществляется при помощи текстовых блоков, отделенных друг от друга квадратными скобками. Имя в квадратных скобках может совпадать с параметром ‘defaultuser’, но не обязательно.
Приведенный пример, являет собой типовой, самый распространенный вариант конфигурации sip транка с регистрацией через публичную сеть:
Входящая и исходящая маршрутизация sip транка в диалплане Asterisk
В диалплане (extensions.conf ) можно использовать разнообразный синтаксис для вызова (dial ) SIP устройств.
В файле extensions.conf, для совершения исходящих вызовов, у Вас должно присутствовать правило набора, примерно такого вида:
Пример контекста для входящих вызовов в файле ‘extensions.conf’:
Где from-siptrunk контекст заданный user или friend объекту.
Настройка SIP пира для регистрации внутренних абонентов
Как уже отмечалось Asterisk не делает особых различий между транками и абонентами, поэтому конфиг телефона будет похож на SIP транк, но все же немного другой.
Рассмотрим некоторые опции:
‘call-limit’ опция признана устаревшей и заменена на ‘callcounter’. Установить ограничение одновременных вызовов теперь можно переменной канала function ‘GROUP_COUNT’
пример использования данного метода можно помотреть здесь: Ограничение количества одновременных вызовов по набранному номеру.
Настройка нескольких SIP пиров по шаблону
А затем определить уникальные свойства пиров, добавив рядом с именем каждого пира, имя общего шаблона в круглых скобках:
Asterisk sip.conf General SIP Options
Полный список параметров general sip.conf
Следующие параметры используются в общей [general] секции sip.conf:
allowexternalinvites
Если установлено ‘no’, запрещает INVITE и REFER от внешних (не из localnet) доменов. См domain
allowguest
Если ‘no’, запрещает гостевые(без аутентификации) подключения. По умолчанию sipguest подключения разрешены.
allowoverlap
Вкл. или Выкл набор по одной цифре (т.е. каждая набранная цифра будет сразу отправляться в канал)
allowsubscribe
Разрешить ли внешним устройствам подписку (SUBSCRIBE) на информацию о статусе екстеншена. По умолчанию — ‘yes’:
allowtransfers
Когда установлено ‘no’, запрещает любые трансферы, если не переопределено в настройках пира.
alwaysauthreject
autodomain
Установите эту опцию ‘yes’, чтобы добавить локальное HOSTNAME и локальный IP адрес в список доменов:
bindaddr and bindport
Эти параметры определяют IP адрес и порт на которых Asterisk будет слушать SIP запросы. Для драйвера канала SIP Asterisk ‘chan_sip’ можно назначить только один адрес и порт для всех подключений для UDP и один порт для TCP транспорта, в отличии от нового драйвера PJSIP. По умолчанию адрес не задан и лучше так и оставить. Некоторые рекомендуют изменять порт по умолчанию 5060, на другой, в целях безопасности. Но помните, что это только одна из мер безопасности, не самая важная, и не гарантирует вам полной защиты от злоумышленников.
Вы можете задать независимые для UDP, TCP и TLS транспорта значения udpbindadd, tcpbindaddr и tlsbindaddr
buggymwi
Вкл. эту опцию, чтобы избежать ошибок при сообщении с некоторыми ip телефонами при отправке MWI сообщений.
callevents
Установите ‘yes’, если хотите генерировать информацию о SIP событиях для AMI (asterisk manager interface)
checkmwi
Время в секундах, между проверками голосовой почты :
compactheaders
Использовать или нет компактные SIP заголовки.
defaultexpiry
Срок действия регистрации в секундах для входящих и исходящих регистраций. При входящей регистрации, этот параметр задается клиентской стороной, и заданное здесь значение используется, только если клиент не сообщил свое занчение. Для исходящих регистраций этот параметр сообщается удаленной стороне UAS (user agent server)
directrtpsetup
domain
Задает имя домена сервера Asterisk по умолчанию. Командой CLI ‘sip show domains’ выводится список локальных доменов.
dumphistory
externhost
externip
externrefresh
Если все же используется ‘externhost’, указывает промежуток времени в секундах между запросами DNS .
g726nonstandard
Значения: yes/no, по умолчанию: no. Если клиент собирается для сеанса связи «договориться» использовать звуковой кодек G726-32, с использованием компрессии AAL2, вместо RFC3551 (что требуется для аппаратов фирмы Sipura и шлюзов от Grandstream, и может другим). То это противоречит спецификации RFC3551, клиент должен вместо этого «договориться» использовать AAL2-G726-32
ignoreregexpire (global)
Если ignoreregexpire установлен ‘yes’, Asterisk сделает одно из двух, в зависимости от настроек пиров: 1)Non-realtime peer Когда регистрация истекает, информация не удаляется из памяти или БД Asterisk и вызовы будут разрешены несмотря на то, что время регистрации истекло.
2)Realtime peers Когда peer сконфигурирован в режиме реального времени, информация о регистрации используется независимо от defaultexpiry
jbenable
jbforce
Принудительное использование jitter buffer принимающей стороной SIP канала.
jbimpl
Использовать фиксированный или подстраиваемый (адаптивный) jitter buffer. fixed jitter buffer всегда использует значение из jbmaxsize adaptive может принимать значение больше jbmaxsize По умолчанию ‘fixed’:
Из личного опыта, вкл. ‘adaptive’ может приводить к весьма плачевным результатам.
jblog
Вкл./выкл jitter buffer frame лог. По умолчанию ‘no’:
jbmaxsize
Установите максимальную длину буфера в миллисекундах:
jbresyncthreshold
Джиттер буфер порог синхронизации. По умолчанию 1000:
icesupport
limitonpeers
Применять call-limit только для type=peer Это улучшит использование call-limit для устройств настроенных, как type=friend, отделив ограничение call-limit от входящих вызовов.
localnet
укажет серверу Asterisk какие подсети являются локальными, прозрачными для использования IP адресов сервера, SIP запросы к которым не требуют модификации поля Contact: c использованием externip или externhost
matchexterniplocally
Сверять ‘externip’ с ‘localnet’ и производить подстановку, только если ‘externip’ из локальной подсети. Не совсем ясно, зачем это может понадобиться? Возможно при очень нестандартной топологии сети.
maxexpiry
Максимальная продолжительность регистрации в секундах.
minexpiry
Минимальная продолжительность регистрации в секундах.
notifymimetype
Указывает MIME тип используемый для message-waiting indication (MWI) в SIP NOTIFY сообщении.
notifyringing
Сообщать подписчикам о состоянии вызов (RINGING):
notifyhold
Сообщать подписчикам (subscribers) о состоянии удержание (HOLD):
pedantic
realm
recordhistory
Вкл. или Выкл историю sip для всех каналов.
registerattempts
Сколько попыток внешних регистраций произведет Asterisk, прежде чем откажется от продолжения. По умолчанию стоит ‘0’, что значит бесконечно.
registertimeout
Таймаут между попытками регистрации на другом устройстве.
relaxdtmf
rtautoclear
(global) Конфигурация Realtime Peers Указывает должен ли Asterisk обнулять созданные на лету friends по истечении времени регистрации. Если установлено ‘yes’, по истечении срока регистрации, удалять friends до нового запроса. Если задано число, то оно используется вместо обычного времени регистрации.
rtcachefriends
Если rtcachefriends включен, Asterisk будет кэшировать friends(реалтайм пиры), которые приходят из realtime engine, так же, как если бы они сконфигурированы в «sip.conf».
rtsavesysname
(global) Определяет, должен ли Asterisk сохранить SystemName в базе данных в режиме реального времени во время регистрации:
rtupdate
(global) Если установлено ‘yes’ Asterisk будет обновлять IP-адрес, порт и период регистрации пиров при регистрации. По умолчанию ‘yes’:
sipdebug
sendrpid
ОТправлять или нет Remote-Party-ID header:
srvlookup
transport
Задает транспорт по умолчанию. По умолчанию ‘udp’, но может быть ‘tcp’, ‘tls’, ‘ws’ или ‘wss’. Если задано TCP а tcpenable=no будет использован UDP транспорт.
tcpenable
Включить поддержку TCP транспорта chan_sip Asterisk.
tcpbindaddr
Адрес на котором Asterisk «слушает» TCP подключения.
tcpauthtimeout
tcpauthtimeout указывает максимальное время в секундах данное клиенту на аутентификацию. Если за заданное время клиент не прошел проверку он отключается. (По умолчаннию 30 секунд)
tcpauthlimit
Максимальное кол-во неаутентифицированных сессий в момент любой времени.
t1min
Минимальная задержка туда-обратно (minimum round-trip) для сообщения контролируемого хоста. По умолчанию 100 миллисеунд:
subscribecontext
Ограничить запросы SUBSCRIBE только указанным контекстом, если не переопределено в настройках пира.
t38pt_udptl
tos_sip, tos_audio, andtos_video
trustrpid
Доверять или нет Remote-Party-ID header: Asterisk SIP trustrpid
useragent
Если вы не желаете сообщать, что используете Asterisk, напишите Cisco или Avaya, или abyrvalg v2.0.
usereqphone
usereqphone опция говорит Asterisk добавить «user=phone» в SIP URIs которые содержат действующий номер телефона:
Источник