Sip транк как настроить

Содержание
  1. FreePBX 14 — настройка SIP транка
  2. SIP-транк с регистрацией
  3. General
  4. sip Settings
  5. FreePBX 14 – настройка SIP-транка без регистрации
  6. ИТ База знаний
  7. Полезно
  8. Навигация
  9. Серверные решения
  10. Телефония
  11. Корпоративные сети
  12. FreePBX 13 — настройка SIP транка
  13. Пошаговое видео
  14. Добавить SIP — транк
  15. Настройка SIP-trunk от Asterisk до VoIP Service Provider «Сибирьтелеком»
  16. Настройка SIP в Asterisk — sip.conf
  17. Asterisk SIP trunk
  18. Asterisk Register String
  19. Asterisk SIP peer
  20. Входящая и исходящая маршрутизация sip транка в диалплане Asterisk
  21. Настройка SIP пира для регистрации внутренних абонентов
  22. Настройка нескольких SIP пиров по шаблону
  23. Asterisk sip.conf General SIP Options
  24. allowexternalinvites
  25. allowguest
  26. allowoverlap
  27. allowsubscribe
  28. allowtransfers
  29. alwaysauthreject
  30. autodomain
  31. bindaddr and bindport
  32. buggymwi
  33. callevents
  34. checkmwi
  35. compactheaders
  36. defaultexpiry
  37. directrtpsetup
  38. domain
  39. dumphistory
  40. externhost
  41. externip
  42. externrefresh
  43. g726nonstandard
  44. ignoreregexpire (global)
  45. jbenable
  46. jbforce
  47. jbimpl
  48. jblog
  49. jbmaxsize
  50. jbresyncthreshold
  51. icesupport
  52. limitonpeers
  53. localnet
  54. matchexterniplocally
  55. maxexpiry
  56. minexpiry
  57. notifymimetype
  58. notifyringing
  59. notifyhold
  60. pedantic
  61. realm
  62. recordhistory
  63. registerattempts
  64. registertimeout
  65. relaxdtmf
  66. rtautoclear
  67. rtcachefriends
  68. rtsavesysname
  69. rtupdate
  70. sipdebug
  71. sendrpid
  72. srvlookup
  73. transport
  74. tcpenable
  75. tcpbindaddr
  76. tcpauthtimeout
  77. tcpauthlimit
  78. t1min
  79. subscribecontext
  80. t38pt_udptl
  81. tos_sip, tos_audio, andtos_video
  82. trustrpid
  83. useragent
  84. 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), необходимо учитывать следующее:

  1. Опции для PEER – Определяют исходящие настройки.
  2. Опции 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 которые содержат действующий номер телефона:

    Источник

  • Оцените статью