Настройка SIP-транка Zadarma во Freepbx – Asterisk IP-телефония

Outbound routes

Open the Outbound Routes.  ( Connectivity > Outbound Routes )

Click Add Outbound Route

When Outbound Route, there are general Route Settings and Dial Patterns.

  • Route Name:  Give it any name
  • Route CID:  Optional.  If there is any Outbound CallerID that is specific to this Route
  • Override Extension:  Optional.  Yes, if you want the Route CallerID to override the Extension CallerID
  • Route Password:  Optional.  Enter a PIN if you want this Outbound Route PIN protected.
  • Trunk Sequence for Matched Routes:  Select the SBC trunk created earlier

Run through the Dial Plan Wizard.  Or configure your Dial Plan.

Click “Submit”

Routing | call routing

The SBC will require two Call Route Dial Plans.  One Dial Plan to send calls from the FreePBX-PBXact to the SIP Trunking Service Provider, and another Dial Plan to send calls from the SIP Trunking Service Provider to the FreePBX-PBXact.

Go to  Configuration | Routing | Call Routing

Outbound Calling

Click the Add button in the Basic Call Routing section to add a new routing plan.

Give the Dial Plan a name.  Outbound_Calling – then click Add. 

Basic Call Routing Setup

  • Display Name:  Give any name:  Outbound_Calling
  • Description:  Give any description.  Outbound_Calling
  • Trace Call:  Enable is helpful when problems occur.
  • Default Response:  Select 404

Once in the new routing plan click Add to add a new rule. 

This very next Dial Plan Rule is a redundant Dial Plan, when ACL is in place.   But this shows some extra flexibility in the Dial Plan to check various attributes of a call that are not related to the SIP Protocol.  This example is a Check IP Address.

  • Description:  Enter a description.  Check IP
  • Rank:  Enter 10.  Dial Plan rules start at 1 and search up, starting at 10 lets you add more Rules below in the future.
  • Matching:  Select ALL.  This will make the Rule look for all of the Conditions
  • Stop Policy:  Select “Stop on Failure”.  If the condition is not matched, then no more Rules will be processed.
  • Condition:  Select “SIP Call Information” – this has a selection of parameters specific to call information
  • Name:  Select “Remote Network IP”.  This is the Source IP Address.
  • Expression:  Enter the IP Address of the FreePBX-PBXact.  192.168.77.112
  • Actions to perform if condition matches:  Action:  Nothing entered here, we are only looking for the Unmatch.   
  • Actions to perform if condition doesn’t match:  Action:  Select “Respond.   Code:  Select “403 Forbidden”

Press Save

Once “Check IP” in saved, click Add to insert another Dial Plan Rule.

This next Dial Plan Rule is most important, as it ‘bridges’ the Outbound Call from the FreePBX-PBXact to the SIP Trunking Service Provider – SIP Trunk Profile that was defined earlier.

  • Description:  Enter a description.  Bridge to ServiceProvider
  • Rank:  Enter 20.  Using 20 lets you add more Rules in between 10 and 20 in the future.
  • Matching:  Select ALL.  This will make the Rule look for all of the Conditions
  • Stop Policy:  Select “Stop on Success”.  If the condition is matched, then no more Rules will be processed.
  • Condition:  Select “Standard Information” – this has a selection of most popular parameters
  • Name:  Select “Destination Address”.  This is the Dialed Number in the R-URI address.
  • Expression:  Enter (.*).  Open Parenthesis Dot Asterisk Close Parenthesis – a Regular Expression to define to match any number dialed
  • Actions to perform if condition matches:  Action:  Bridge to Trunk  Trunk: Select “ITSP” – this is the SIP Trunk Profile defined earlier for the ITSP destination.  Destination:  Enter $1  This mean use first variable within the first set of Parenthesis defined in the expression.
  • Actions to perform if condition doesn’t match:  Action:  Not Selected.  

Press Save

Your Call Routing should now look like this for Outbound Calls to the SIP Trunking Service Provider.

Inbound Calling

Click the Add button in the Basic Call Routing section to add a new routing plan.

Give the Dial Plan a name.  Inbound_Calling – then click Add. 

Basic Call Routing Setup

  • Display Name:  Give any name:  Inbound_Calling
  • Description:  Give any description.  Inbound_Calling
  • Trace Call:  Enable is helpful when problems occur.
  • Default Response:  Select 404

Once in the new routing plan click Add to add a new rule. 

This very next Dial Plan Rule is a redundant Dial Plan, when ACL is in place.   But this shows some extra flexibility in the Dial Plan to check various attributes of a call that are not related to the SIP Protocol.  This example is a Check IP Address.

  • Description:  Enter a description.  Check IP
  • Rank:  Enter 10.  Dial Plan rules start at 1 and search up, starting at 10 lets you add more Rules below in the future.
  • Matching:  Select ALL.  This will make the Rule look for all of the Conditions
  • Stop Policy:  Select “Stop on Failure”.  If the condition is not matched, then no more Rules will be processed.
  • Condition:  Select “SIP Call Information” – this has a selection of parameters specific to call information
  • Name:  Select “Remote Network IP”.  This is the Source IP Address.
  • Expression:  Enter the IP Address of the SIP Trunking Service Provider.  4.8.16.32
  • Actions to perform if condition matches:  Action:  Nothing entered here, we are only looking for the Unmatch.   
  • Actions to perform if condition doesn’t match:  Action:  Select “Respond.   Code:  Select “403 Forbidden”

Press Save

Once “Check IP” in saved, click Add to insert another Dial Plan Rule.

This next Dial Plan Rule is most important, as it ‘bridges’ the Inbound Call from the SIP Trunking Service Provider to the FreePBX-PBXact – SIP Trunk Profile that was defined earlier.

  • Description:  Enter a description.  Bridge to PBXact
  • Rank:  Enter 20.  Using 20 lets you add more Rules in between 10 and 20 in the future.
  • Matching:  Select ALL.  This will make the Rule look for all of the Conditions
  • Stop Policy:  Select “Stop on Success”.  If the condition is matched, then no more Rules will be processed.
  • Condition:  Select “Standard Information” – this has a selection of most popular parameters
  • Name:  Select “Destination Address”.  This is the Dialed Number in the R-URI address.
  • Expression:  Enter (.*).  Open Parenthesis Dot Asterisk Close Parenthesis – a Regular Expression to define to match any number dialed
  • Actions to perform if condition matches:  Action:  Bridge to Trunk  Trunk: Select “PBXact” – this is the SIP Trunk Profile defined earlier for the PBXact destination.  Destination:   Enter  $1  This mean use first variable within the first set of Parenthesis defined in the expression.
  • Actions to perform if condition doesn’t match:  Action:  Not Selected.  

Press Save

Your Call Routing should now look like this for Inbound Calls to the FreePBX-PBXact.

Signaling | sip profile

Two SIP Profiles are needed.  One for the LAN side – for ‘Internal’ communications with the FreePBX-PBXact, and another for the WAN side – for ‘External’ communication with the SIP Trunk Service Provider.

Go to Configuration | Signaling | SIP Profiles

A default “internal” SIP Profile will be present.  You can Delete it – then Add a new Profile  OR  Modify it.

Setup an Internal SIP Profile

Click Modify next to the default internal SIP profile.

This SIP Profile is used for assigning the SBC’s LAN IP to a SIP Profile.  This is where the FreePBX-PBXact will communicate with the SBC.  IP Address. Port. Transport and other interop settings are defined here.  Not all SIP Profile settings are required. here are the highlights.

Press Save

Setup an External SIP Profile

Click Add to create a New SIP profile for the External SIP communications.

This SIP Profile is used for assigning the SBC’s DMZ IP to a SIP Profile – the WAN IP address of the Firewall will be NAT’d through to the DMZ IP of the SBC.  This is where the SIP Trunk Service Provider will communicate with the SBC.  IP Address. Port.

Press Save

Signaling | sip trunks

Two SIP Trunks Profiles are needed.  One for the FreePBX-PBXact and another for the SIP Trunk Service Provider.  SIP Trunks Profile is where the Peer attributes are configured.

Setup the FreePBX-PBXact in a SIP Trunk Profile

Go to Configuration -> Signaling -> SIP Trunks

Click Add

The following parameters define the location and behavior specific to the FreePBX-PBXact;

Press Save

Setup the SIP Trunking Service Provider in a SIP Trunk Profile

Go to Configuration -> Signaling -> SIP Trunks

Click Add

The following parameters define the location and behavior specific to the SIP Trunking Service Provider;

Press Save

Trunks

Open the Trunks Module.  ( Connectivity > Trunks )

Click Add Trunk.  Select Add SIP (Chan_sip) Trunk

Note:  “SIP (chan_pjsip) Trunk” works as well.  But the configuration is not documented here.

Under General complete the following information:

Under SIP Settings complete the following information in the Outgoing Tab

  • Trunk Name:  Enter any name

Under SIP Settings complete the following information in the Outgoing Tab Peer Details

  • host=192.168.77.124      – This is the IP Address of the SBC Internal LAN interface
  • port=5060                      – This is the Port of the SIP Profile on the SBC Internal LAN Interface

  • type=peer                       – We are creating a Peer relationship with the SBC, no Registrations – IP Authentication only

  • disallow=all                    – Disallow all codecs

  • allow=ulaw                     – Then define the list of codecs to send to the SBC

  • context=from-pstn         – Define the Asterisk Context as from-pstn

  • sendrpid=yes                 – Optional.  Turn on the use of sendipid

  • trustrpid=yes                 – Optional.  Turn on the Asterisk to trust the RPID

  • dtmfmode=rfc2833       – Use rfc2833 for DTMF

Администратор системы и активация

После этого подключаемся к FreePBX 14 через браузер. Система несомненно предложит настроить ядро и после этого предварительно её настроить.

Во-первых, необходимо ввести параметры:

Далее убедитесь, что введенный пароль администратора соответствует отметке “Strong” при вводе пароля. Самое главное, чтобы пароль был достаточно надежный.

  • Notifications Email address – E-mail адрес для отправки различных уведомлений (конечно, доступные обновления системы, модулей, блокировке IP-адресов и т.д.). Имеет смысл указать e-mail вашей Ticket-системы, для того, чтобы уведомления обрабатывались администраторами или ИТ-инженерами.
  • System Identifier – Идентификатор (имя) системы. Если у вас FreePBX в единственном экземпляре – название особого значения не имеет. Если у вас крупный географически разнесенный холдинг – имеет смысл подумать об уникальности названия системы.
  • Automatic Module Updates – Производить ли автоматическое обновление модулей. Мы не любим сюрпризов, поэтому данную настройку переводим в режим Disabled. Дальнейшее обновление будем производить в ручном режиме, когда функциональность этого потребует.
  • Automatic Module Security Updates – Автоматическое обновление модулей безопасности. Отключить нельзя, так как это очень важный параметр, который очень часто обновляется для закрытия найденных уязвимостей. Мы отключим автоматическое обновление и включим уведомление на вышеуказанный e-mail, чтобы инженеры произвели обновление в часы наименьшей нагрузки.
  • Send Security Emails For Unsigned Modules – Отправка уведомлений для неподписанных модулей безопасности.
  • Check For Updates every – Время проверки всех обновлений. Мы установим часы наименьшей нагрузки, а именно: Суббота с 00:00 до 04:00.

После этого нажимаем Setup System. В общем предварительная настройка окончена. Пора переключиться в административный режим управления.

На следующем шаге Ваша PBX предложит активировать себя через портал Sangoma или пропустить этот шаг. Поэтому не будем откладывать в долгий ящик – следовательно, активируем по нажатию кнопки Activate.

После этого вводим e-mail адрес аккаунта для активации.

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

  • Sound Prompts Language – язык звуковых файлов.
  • System Language – язык системы.
  • Timezone – часовой пояс.

Далее система предложит настроить Firewall и добавить IP-адреса или сети в доверенную зону (DMZ). Если вы хотите сделать это сейчас, нажимайте Continue, если позже – Abort.

Более того, система за вас уже знает IP-адрес, с которого производится настройка и подсеть, в которой также установлена FreePBX, кроме того она предложит добавить эти адреса в исключения Firewall, чтобы как следствие неверных или подозрительных действий администратора системы не произошла случайная блокировка этих адресов. Добавляем через Yes.FreePBX 14 настройкаFreePBX 14 настройка

Далее включаем Firewall.

Тем временем предварительная активация и предварительная настройка окончена.

Вкладка chan sip settings

  • NAT Settings
    • NAT
      • yes – Всегда игнорировать информацию и разрешать NAT.
      • no – Использовать NAT только в соответствии с RFC3581.
      • never – Отключение использования NAT.
      • route – Разрешать NAT без отправки rport.
    • IP Configuration
      • Public IP – Публичный IP-адрес. Если система его не смогла обнаружить можно указать Static IP.
      • Static IP – Статический IP-адрес. Например, если вы используется Dynamic IP – укажите его в соответствующем поле.
      • Dynamic IP – Автоматическая настройка внешнего IP-адреса (файл /etc/asterisk/sip_nat.conf).

Данный параметр полезен, если у сервера внешний IP адрес динамический.

Вкладка genaral sip settings

  • Allow Anonymous Inbound SIP Calls – Разрешение анонимных (не авторизованных) входящих звонков. Эту опцию следует отключить так как она является потенциально опасной для совершения взлома. Следует установить опцию в значение – No.
  • Allow SIP Guests – Разрешение гостевых SIP-звонков и обработка их в контексте [from-sip-external] (контекст по умолчанию). Следует установить опцию в значение – No.
  • External Address – В данном поле необходимо указать внешний IP-адрес FreePBX. Возможно автоматическое определение через “Detect Network Settings
  • Local Networks – локальные IP-адреса и подсети, с которых регистрируются Ваши VoIP-устройства. Формат: 192.168.1.0/24 или 192.168.1.0/255.255.255.0.
  • RTP Port Ranges – Диапазон UDP портов для RTP-трафика (голоса).
  • RTP Checksums – Подсчет контрольной суммы для UDP, который использует RTP-трафик.
  • Strict RTP – Данная опция позволяет сбрасывать RTP пакеты, которые проходят не в рамках сессии.
  • RTP Timeout – Завершение вызова, если нет активности RTP/RTCP пакетов на аудиоканале во время HOLD (удержания вызова) в течение указанного времени (в секундах).

Значение в Asterisk ‘rtptimeout‘. Значение по умолчанию rtptimeout=600.

  • RTP Hold Timeout – Завершение вызова, если в течение указанного времени (в секундах) нет активности RTP или RTCP на аудиоканале во время HOLD.

В Asterisk это значение ‘rtpholdtimeout‘. Значение по умолчанию rtpholdtimeout=300.

  • RTP Keep Alive – Отправлять сообщение Keep Alive для удержания RTP потока для открытой NAT-сессии в течение периода отсутствия RTP пакетов. Прежде всего актуально для вызовов, которые поставили на удержание.
  • MediaTransportSettings
    • STUN Server Address – Имя хоста или адрес для сервера STUN, используемого при определении внешнего IP-адреса и порта, по которым можно связаться с сеансом RTP. Номер порта является не обязательным. Если этот параметр опущен, будет использоваться значение по умолчанию – 3478.
    • TURN Server Address – Имя хоста или адрес сервера TURN, который будет использоваться в качестве ретранслятора. Номер порта является не обязательным. Если параметр опущен, используется значение по умолчанию – 3478.

Серверы TURN часто требуют аутентификации, поэтому предоставляются опции для настройки имени пользователя и пароля.

Настройка asterisk 1.8 freepbx 2.10 с нуля

Данная статья является продолжением

статьи

по установке системы.

Наконец тем или иным образом у нас появился установленный Asterisk и FreePBX.

Опишу ситуацию немного подробнее для сравнения подойдет ли Вам наша схема работы. Мы небольшой интернет провайдер, нам нужна запись разговоров, очереди звонков на городские и мобильные телефоны, голосовое меню рассказывающее про акции с выбором в какой отдел попасть, и возможность быстро поставить перед всем этим сообщение об авариях на определенных улицах города, чтобы люди не перенапрягали тех поддержку, причем желательно бесплатно. Чтобы не покупать дорогие шлюзы мы решили сменить городские телефонные номера и купить пару номеров десяток каналов у провайдера ip-телефонии. Кто то скажет что это ненадёжно и т.д. Только скажите- какая разница интернет провайдеру на городские телефоны, если у него упал весь интернет? Зато это дешево. Подключение нам обошлось всего то в 38 $, каждый телефонный номер в 2$ и линия в 1,2$ в месяц. После чего мы получили настройки даже без авторизации и к нашему ip адресу привязали аккаунт. Сразу хотелось бы оговорить как будет построена эта статья, чтобы не перегружать её тоннами скринов я опишу создание каждого элемента по одному разу(что советую проделать т.к. они понадобятся для ваших же последующих экспериментов), а потом уже распишу схему что на что ссылается в нашей схеме работы. Наверняка схема у вас будет другая, но зато сможете понять смысл. Описывать буду только те элементы, которые непосредственно понадобились при настройке.

Теперь самое время завести транк:

Для наглядности я буду писать на английском т.к. интерфейс переведен кусками и достаточно загадочно. Заходим в Connectivity> Trunks > Add SIP Trunk.
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

В правом углу будет список уже созданных вами транков. Открыв новый я заполнил произвольно название — Trunk Name, назвав его Vega(Vegatelecom наш провайдер). Outbound CallerID вписав номер в формате 380652ХХХХХХ как его и выдает наш оператор, это номер с которого будут исходящие вызовы, если его не задать то позвонить с использованием этого транка не получалось, говорил все линии заняты. В Outgoing Settings заполнил ещё одно поле Trunk Name и ввёл настройки которые дал провайдер:

host=93.178.205.29
type=peer
disallow=all
allow=alaw&ulaw&g729
nat=no
canreinvite=nonat
insecure=invite
dtmfmode=rfc2833

Внизу нажал кнопочку Submit Changes и получил созданный транк.

Теперь нужно выбрать куда же мы будем принимать звонки. Заходим Applications > Extension> Generic SIP Device > Submit
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

User Extension — внутренний номер данного телефона, софтфона или чего вы там будете подключать. Мы использовали 100,101 и т.д.
Display Name — отображаемое имя
Обязательно в секции This device uses sip technology. заполните поле secret — это пароль.
Поля Recording Options включают запись этого телефона:
Inbound External Calls Always = Входящие внешние звонки
Outbound External Calls? Always = Исходящие внешние звонки
Inbound Internal Calls? Always = Входящие внутренние звонки
Outbound Internal Calls? Always = Исходящие внутренние звонки
On Demand Recording? Disable Запись по запросу
Внизу жмём Submit.

Далее немного отвлечемся и настроим софтфон, тоесть программу для совершения звонков с компьютера. Их достаточно много (EyeBeam, SJ-phone, Zoiper). Я покажу на примере EyeBeam.

После установки программы под Windows запускаем, заходим в настройках в Sip Accounts и редактируем первый из них.
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Чтобы он заработал нам нужно ввести Display Name = User 1, User Name = 100, Password = ******, Domain = ip-вашего сервера. Остальные настройки можно не трогать. Вы можете создать несколько абонентов с номерами 101-102 или любыми другими, запустить на нескольких компьютерах несколько телефонов и уже попробовать позвонить с одного клиента на другой, соответственно по номерам 100-101-102 и т.д.

Но мы же хотим позвонить на наши свеже-купленные номера.

Заходим Connectivity>Inbound Routes
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Description — Описание маршрута(Имя)
DID Number — Очень полезное поле, задав его вы можете отфильтровать звонки с какого то конкретного номера. Остановимся на нём подробнее. В нашем случае по 1 транку заходит 2 номера телефона, допустим нам нужно чтобы звонок по первому номеру уходил к первому оператору а звонок со второго номера уходил на второго оператора. Заходим на сервер телефонии через SSH, ну или физически если там есть монитор, логинимся под рутом и запускаем Asterisk CLI командой asterisk -r. Звоним на один из номеров которые мы подключили в транке. Смотрим одну из первых появляющихся строк вида: Executing [380652******@from-trunk-sip-vega:2] Goto(«SIP/vega-000000e4″, «from-trunk,380652******,1″) in new stack. после фразы from-trunk, мы видим какой DID у данного номера, наш провайдер отдает номер в таком формате, если это будет GSM шлюз в виде модема huawei, то там будет написан его IMEI, в любом случае если мы создадим маршрут с указанием этого номера, он будет отвечать за звонки именно на него. В данном примере предлагаю оставить поле пустым для универсальности. Т.е. система будет передавать все звонки со всех транков на указанное дальше Destination.
CallerID Number — работает похоже но уже с номерами звонящих. В подсказках видно что можно указывать например Blocked, следовательно звонки с заблокированных телефонных номеров будут передаваться в нужное нам Destination. По традиции оставляем пустым.
Set Destination — главное поле в котором мы наконец то укажем куда же пойдут звонки, можно выбрать очередь или допустим конкретный extension, выберем extension 100 который мы создали ранее и подключили в софтфон.
Теперь если вы позвоните на номер который заведен в транке, то у вас зазвонит софтфон. Поздравляю! Вы совершили первый успешный звонок.

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

Заходим Connectivity>Outbound Routes>
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония
Route Name — имя маршрута
Dial Patterns that will use this Route — тут можно задать маршрут на определенные номера, опять же наш провайдер поддерживает набор в любом виде, можно набирать с кодом города, можно без него, все эти маршруты прописаны у него, тогда ничего прописывать не будем и поставим в поле match pattern — . Да, просто точку. Это будет означать — посылать все набранные номера как есть.

Наконец в Trunk Sequence for Matched Routes указываем транки через которые будет выходить звонок, в нашем случае vega.

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

Пора подумать о голосовом меню и очередях звонков.
Тут то и начинается самое интересное. Нам для голосового меню нужно много записей. Забегая вперед опишу принцип. У меня лично возникла проблема по их надиктовке, но я нашел замечательный выход. Сначала создаем много много записей (ниже расскажу как), надиктовываем их противным шепелявым голосом, потом включаем замечательную функцию изменения записи по звонку на номер, далее заходите в Admin >Feature codes, снизу Recordings там будут присутствовать все коды на которые можно позвонить с условными названиями записей которые вы им дадите. Таким образом, распечатав этот кусок на бумаге его можно выдать особе женского пола чтобы она звонила туда, слушала что вы там надиктовали и перезаписывала мелодичным голосом до тех пор пока ей не начнет нравиться. Ещё огромный плюс сего мероприятия в том, что эти записи уже могут использоваться в готовом голосовом меню, то есть менять можно на горячую, не останавливая работы телефонии и звонящих абонентов. Таким же образом можно реализовать функцию оповещения об авариях для неквалифицированного персонала. Например создав запись с названием авария, длительностью 1 секунда и тишиной внутри, можно повесить его в самое начало вашего меню. Если случается авария то оператор тех поддержки может позвонить на номер данного файла — надиктовать улицы на которых ведется ремонт, а по окончании ремонта позвонить туда и помолчать в трубку 1 секунду.

Итак надиктовка! Заходим Admin > System Recordings — Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Тут можно залить файл с записью, а можно ввести номер своего Extension, нажать кнопочку Go, позвонить на номер *77 с софтфона или чего то подключенного к серваку в виде телефона и надиктовать то что нужно, после этого ввести имя Name this Recording:, и нажать кнопочку Save, запись появиться в правом углу.
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Зайдя в запись можно выбрать обалденную функцию о применении которой я писал выше — Link to Feature Code поставить галочку. Теперь позвонив на этот код её можно перезаписать.
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Где хранится полный список этих кодов которые вы включили — Admin> Feature Code:
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Впереди по курсу очереди звонков Aplication > Queues:
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Queue Number — номер очереди на который будет идти звонок.
Queue Name — имя очереди.
Static Agents: Тут можно выбрать extensions(или другие функции типа MiscDestinations, ходят легенды что если написать туда номер мобильного и в конце поставить значек #, оно будет переключать туда, но у меня почему то не получилось) которые постоянно находятся в этой очереди, соответственно на них всегда будут идти звонки.
Dynamic Members: Уже интереснее… Я буду использовать это для начальника службы СТП т.к. он на телефоне сидит, но не всегда имеет время отвечать абонентам, чтобы лишний раз его не дергали можно обеспечить вход и выход из очереди, также это может понадобится если допустим оператор работает на 2 отдела и периодически переключается из очереди отдела продаж, в очередь поддержки или что то в этом роде. Добавив сюда extension мы мало что получим — чтобы подключиться к очереди надо набрать на телефоне №очереди* (у нас 1000) и потом набрать свой extension и #, после чего будет сообщено что вы подключены к очереди и будете принимать звонки из неё. Для выхода из неё я набираю 1000** потом свой номер 100# — после чего слышу, что от очереди меня отключили.

Ring Strategy: стратегия дозвона, позволю себе облениться и прикреплю скриншот с русским переводом.
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Join Announcement: Тут можете выбрать одну из записей, достаточно удобно если у вас звонок попадает с какого то номера на очередь звонков в которой надо всего лишь поприветствовать клиента и назвать имя компании в которую он звонит, далее клиент ожидает соединения с оператором.
Call Recording: формат записи звонков в очереди, у меня wav.
Max Wait Time: время максимального нахождения в очереди, после которого абоненту посоветуют позвонить позднее.
Agent Timeout: Время в течении которого будет звонить телефон оператора. Если стоит линейная стратегия дозвона, то после данного промежутка времени будет переключение на следующего оператора.
Retry: Через сколько секунд пробовать позвонить оператору снова. Важная галка если делать очереди со звонком на мобильный, когда надо чтобы телефон позвонил один раз в течении скольких то секунд и чтобы оператор мог сбросить вызов, после чего звонок пойдёт на назначение при не ответе — там нужно выбрать без повтора.
Agent Announcement: Тут можно выбрать сообщение которое будет сообщаться оператору в трубку, перед тем как его соединит с абонентом, например если оператор сидит в 2-3 очередях одновременно — ему может говорить с какой именно очереди на него пришел звонок.
Frequency: Насколько часто сообщать абоненту его номер в очереди.
Announce Position: Сообщать позицию в очереди или нет.

Для создание приветствия заходим Applications-Announcements:
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Тут всё очень просто.
Description: Название.
Recording: Выбор записи которая будет произнесена.
Repeat: Количество повторов.
Allow Skip: Разрешать пользователю сбрасывать приветствие нажатием клавиш.
Destination after playback: Куда переводить звонок после окончания приветствия.

Интересная функция Applications-Follow Me:
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Создается на основе какого либо Extension и даёт возможность переадресовывать звонок куда либо ещё. Используется когда к примеру вас нет на месте, на ваш телефон переключили какого то абонента, а вы ушли на обед, эта менюшка может переключить звонок на ваш личный мобильный телефон и заодно решить проблему когда согласно политике дозвона через транк который будет звонить вам передается как имя звонящего номер абонента который собственно и звонит. Тогда транк ругается что недопустимый CID, тоесть номер звонящего. Внизу есть настройка Change External CID Configuration, тут можно выбрать нужный режим чтобы ваш транк заработал. Очень распространённая проблема кстати на многих форумах. Детально останавливаться на настройках не буду т.к. они дублируют многие настройки очереди описанные выше.

Создаём голосовое меню Applications-IVR:
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

IVR Name — Имя
IVR Description — Описание
Announcement — Приветствие которое будет произноситься.
Direct Dial — Прямой набор номера Extension, если он известен звонящему.
Timeout — Время в секундах после окончания приветствия, по истечении которого будет переключено на Destination по таймауту.
Invalid Retries — Количество попыток неправильного набора цифр.
Invalid Retry Recording — Запись воспроизводимая при неправильном наборе.
Append Original Annoucement — Воспроизводить главное приветствие после сообщения о неправильном наборе цифр.
Invalid Recording — Сообщение которое воспроизведется после исчерпания попыток неправильного ввода, но до переключения на назначения при неправильных попытках ввода.
Invalid Destination — Куда закинуть абонента который нажимал много неправильных кнопок.
Timeout Retries — Количество повторов меню после истечения таймаута.
Timeout Retry Recording — Сообщение после истечения таймаута и до сообщения попробовать снова.
Append Original Annoucement — Добавлять оригинальное сообщение меню после сообщения о таймауте.
Timeout Recording — Сообщение после сообщения о таймауте и до отправления абонента по назначению по таймауту.
Timeout Destination — Куда переключать по таймауту.
IVR Entries — Тут задаются по каким номерам куда перенаправлять.

Заходим Applications — Misc Destination:
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Description: Название
Feature Code: Код по которому будет вызываться. У меня монтажники с личными мобильными забиты на 30Х номера.
Feature Status: ВклВыкл.
Destination: назначение. Тут у меня выбраны Misc Destination с телефонами монтажников, и потом на каждого созданы очереди в статических агентах которых, указаны как раз номера Misc Application. Сделано это для того, чтобы если монтажник не взял трубку, можно было переключить на кого нибудь ещё.
Applications — Time Group даже описывать нечего, только упомяну что вначале создается одна запись допустим время работы офиса в будние с 8.00 до 17.00, потом сохраняется, открывается ещё раз справа и тогда появляется кнопка — чтобы добавить дополнительный временной промежуток, например ещё и в субботу с 10.00 до 15.00.
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

После создания Time Group можно создать Applications — Time Condition:
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Time Condition name: Имя.
Time Group: выбирается группа из прошлого меню.
Ну и 2 направления — если совпадает и если не совпадает.
Чтобы наглядно показать как это всё работает у меня покажу схему:
Настройка SIP-транка Zadarma во Freepbx - Asterisk IP-телефония

Я не претендую на правильность того что сделал. Ещё 2 месяца назад я ничего не знал о телефонии. Когда искал в рунете статьи, не смог найти чего то масштабного, что помогло бы мне настроить телефонию до состояния — оно работает. Так что возможно тут много ошибок и работает оно не оптимально, но во всяком случае надеюсь поможет новичку настроить сервер до рабочего состояния.

Настройка freepbx (добавление sip-транка)

В WEB-консоли FreePBX добавляем новый SIP-транк.

На вкладке «Общие» в поле «Название транка» вводим название (прим. SIP-RT), в поле «Исходящий CallerID» вводим внешний номер телефона.

Переходим во вкладку «sip Общие настройки» вкладка «Исходящий«. В поле «Название транка» указывает произвольное название (прим. RT), в поле «опции для PEER» указываем следующие данные:

Переходим на вкладку «Входящий«. В поле «Строка регистрации» вводим следующее:

Сохраняем и применяем изменения. Результат подключения можно посмотреть в консоли asterisk:

Настройка freepbx (исходящие вызовы)

Настроим исходящую маршрутизацию для звонков на внешние номера. Переходим в «Подключения» — «Исходящая маршрутизация«. Добавляем новый исходящий маршрут.

Во вкладке «Общие» в поле «Название маршрута» указываем произвольно название маршрута, в поле «Последовательность транков для совпавших маршрутов» указываем созданный ранее SIP-транк Ростелекома.

Переходим во вкладку «Правила набора«. Указываем маску шаблона для звонков на внешние номера (России) — 8XXXXXXXXXX.

Сохраняем и применяем изменения во FreePBX. Проверяем работу.

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

Настройка sip-транка zadarma во freepbx – asterisk ip-телефония

В статье описывается добавление транка от Zadarma:

  1. Добавление sip транка во FreePBX
  2. Добавление во входящую маршрутизацию
  3. Добавление в исходящую маршрутизацию, добавление/изменение шаблонов номеров, набираемых через транк
  4. Приоритетизация маршрутов с помощью модуля Custom Contexts в веб-интерфейсе

Вначале необходимо включить SRV Lookup. Перейдя в  Settings -> Asterisk SIP Settings -> Chan SIP Settings  для параметра Enable SRV Lookup выбрать опцию Yes/Enabled

В Connectivity → Trunks. Необходимо нажать на кнопку  Add Trunk и Add SIP (chan_sip_ Trunk

На
открывшейся вкладке выберите удобное вам имя транка (для удобства его
идентификации. Можно использовать цифры, латинские буквы, символ подчеркивания,
тире.

Также на
вкладке есть другие поля( которые в описанном примере не меняем):

Outbound CallerID – номер, который будет
отображаться при внешних вызовах, проходящих через этот транк

CID Options – опции для Caller ID(номера вызывающего абонента):

Force Trunk CID
-принудительное назначение исходящего номера (CallerID)-может использоваться,
если Caller ID будет назначен  некорректно( оператор связи в этом случае не
будет пропускать исходящие  вызовы)

Maximum Channels – в случае, если со стороны оператора
количество каналов неограничено и необходимо, например, ограничить со стороны
мини-атс количество каналов

Asterisk Trunk Dial Options (опции вызова) — по умолчанию
используется параметр — Tt. T -разрешает звонящему перевести звонок, t-
позволяет  ответившему пользователю
перевести звонок.

Continue if Busy – для перехода
исходящего звонка на следующую линию связи, при условии, что эта линия уже
занята.

Disable Trunk – выключить эту линию.

Далее необходимо перейти  во вкладку sip settings и указать регистрационные данные, полученные от

провайдера.

 Например, для транка с регистрацией

defaultuser, fromuser: Ваш
номер АТС из личного кабинета.

secret: пароль от внутр.  номера АТС, из раздела «Моя АТС —
Внутренние номера» личного кабинета.

host: pbx.zadarma.com

qualify: интервал (в мс), через который будет пинговаться
хост

disallow, allow : директивы
для настройки разрешенных кодеков

directmedia: возможность совершать вызовы в обход сервера

dtmfmode: режим передачи dtmf нажатий (rfc2833 или auto)

nat: в случае, если трафик проходит через nat необходимо указать force_rport,comedia. В противном случае — nat=no

USER Context: контекст
для обработки вызовов

Строка регистрации в формате: user: secret @host /did-номер

В разделе Connectivity -> Inbound
Routes  для входящих звонков необходимо
создать маршрут для входящих.

DID Number: did — номер, на который будет
входящий по этому маршруту.

В Set Destination  указываем, назначение — куда будет адресован
входящий звонок. В указанном примере это просто переадресация на внутренний
номер. Также можно указать группа вызова, очередь операторов, IVR(голосовое
меню), либо, в случае, если входящие на этот номер необходимо запретить
поставить  – Terminate Call и Hangup.

В разделе Connectivity -> Outbound Routes создаём маршрут для исходящих  через этот транк.

Минимум необходимо указать:  имя маршрута, в поле Route CID указываем  номер
АОН для исходящих по этому маршруту, в Trunksequenceformatchedroutesвыбирать ранее созданный
транк.

В случае, если маршрут будет
использоваться для международных вызовов можно задать
RoutePassword (пароль) — тогда будет
запрашиваться указанный пароль при совершении вызовов по этому маршруту.

После этого
необходимо настроить Шаблоны вызова (Dial Patterns)

переходим в
одноименную вкладку и если в поле match pattern поставить  точку – этот транк
будет использоваться по умолчанию для всех маршрутов.

В нашем примере шаблон 89XXXXXXXXX 
означает, что этот транк будет использоваться для номеров, состоящих  из 11 цифр, начинающихся с 89 – т.е.
мобильных.

Поле prepend необходимо заполнять, если нужно подставлять, например, 8 или 7 перед
номером, набранным абонентом – если абоненты набирают без 8 или 7.

Поле prefix отбрасывает указанную цифру от номера, набранного абонентом. Например
если в prepend установить 8, а в поле prefix 7 то для набранных номеров,
совпадающих с шаблоном, указанным в поле match pattern этой строки будет отбрасываться первая цифра (7) и вместо нее
подставится 8. Например, если провайдеру необходимо, чтобы все вызываемые
номера начинались строго с 8.

Поле CallerID необходимо заполнять, если вызовы по данному маршруту должен совершать
какой либо определенный абонент, или, определенная группа – например, для
группы 700-х номеров шаблон будет  «7ХХ»

Также необходимо помнить, что в случае, если присутствует несколько
маршрутов, подходящих набранному номеру – вызов пойдет по наиболее точному и  приоритетному маршруту. Т.е. который
расположен выше в outbound routes,
или, если есть custom context – по тому маршруту, который имеет меньший приоритет-.
Наиболее точное совпадение означает, что в случае, если есть, например, два
маршрута с паттернами 8988ХХХХХХХ и 
89XXXXXXXXX, а набираемый номер 89882000000 – вызов пойдет по маршруту с
паттерном 8988ХХХХХХХ а не по  89XXXXXXXXX.

После окончания настроек  не забудьте применить их —  нажать Submit
и Apply Config. При нажатии Apply
Config произойдут reloadы
sip модулей,
текущие разговоры при этом не пострадают.

Finalizing the installation

Starting the SBC application and other useful features on the SBC.

Go to Overview -> Dashboard -> Control Panel and Start the following services.

  • Vega Session Controller
  • IP Firewall
  • Intrusion Detection
  • Intrusion Prevention

Enable all IDS rules by going to Configuration -> Security -> Intrusion Detection and ensuring all are checked. Once done click Update to apply the changes.

Next go to System -> Server -> Web and change the Network Interface from All interfaces to only the internal network interface.

In this example eth1 is the internal network interface. Once done click Save.

Похожее:  КАК ВОЙТИ НА СЕРВИСНЫЙ ПОРТАЛ РАБОТНИКОВ РЖД

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *