По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Привет всем! В сегодняшней статье мы хотим рассказать об одном крайне полезном трюке, который поможет сохранить время Вам и клиентам, позвонившим в Вашу компанию. Демонстрировать этот функционал мы будем на IP-АТС Asterisk через графический интерфейс FreePBX 14.
Данная статья будет особенно актуальна для тех, кто пользуется переадресацией входящих звонков на мобильный телефон.
Возможно, кто-то уже использует данный способ, но многие могут о нем и не знать.
Кейс
Итак, представим себе такую гипотетическую ситуацию:
К нам в компанию позвонил клиент;
Звонок поступил на ринг группу 345, в которой находится 3 внутренних номера;
Звонки с этих внутренних номеров переадресовываются на мобильные номера менеджеров;
И вот на своём мобильном телефоне звонок клиента принял менеджер Алексей;
Они общаются, и тут у клиента возникает вопрос к инженеру, клиент просит перевести его на инженера;
Алексей может находиться вне офиса и не за стационарным телефоном и не может перевести звонок клиента обратно;
Он просит клиента перезвонить на общий номер компании и донабрать внутренний номер инженера;
Ситуация вполне нормальная, но мы вынуждены просить нашего клиента звонить повторно, донабирать номер, тратить свое время и так далее.
Вот бы было здорово иметь возможность перевести звонок клиента на нужный номер прямо с мобильного? А ещё лучше, если мы сможем поговорить с человеком, на которого нужно перевести звонок и узнать не занят ли он, прежде чем делать трансфер!
Такая возможность есть и сейчас мы объясним как её реализовать.
Решение
Дело в том, что когда звонки с нашей IP-АТС переводятся на мобильный телефон, то канал между ними не разрывается. Например, если у вас включена запись, то вы можете увидеть, что такие звонки также записываются. А значит, мы можем контролировать такие звонки на любом устройстве, даже на мобильном телефоне. Делать трансфер, ставить на ожидание, парковать и так далее.
Для того, чтобы открылась возможность сделать трансфер на другой номер, находясь в звонке, нужно передать приложению Asterisk Dial() нужный аргумент. Во FreePBX это настраивается в Settings → Advanced Settings в разделе Dialplan and Operational.
Здесь есть два поля - Asterisk Dial Options, в котором можно добавить аргументы Dial() при совершении внутренних звонков и Asterisk Outbound Trunk Dial Options, который отвечает за обработку аргументов Dial() при совершении внешних звонков через транк, как раз это поле нам и нужно.
По умолчанию в данном поле всего один аргумент - большая буква T. Этот аргумент позволяет позвонившей стороне сделать трансфер используя feature code - ##
Сервисный код ## соответствует функции “слепого” трансфера -In-Call Asterisk Blind Transfer
Однако, когда мы принимаем звонок на мобильном телефоне, то являемся вызываемой стороной, поэтому нам нужен другой аргумент – маленькая буква t. С помощью данного аргумента, мы сможем делать трансфер находясь в звонке, используя всё тот же feature code - ##.
Итак, можно добавить аргумент t в поле Asterisk Outbound Trunk Dial Options, но тогда этот функционал распространится на все транки, которые созданы на вашей IP-АТС.
Есть более безопасный способ включить трансфер на принимающей стороне. Для этого переходим в Connectivity → Trunks и в настройках транка на вкладке General ищем опцию Asterisk Trunk Dial Options
По умолчанию, в данной опции мы так же увидим аргумент T, так как стоит параметр System, который просто подтягивает значения аргумента из Asterisk Outbound Trunk Dial Options в Advanced Settings
Выбрав параметр Override, мы можем записать сюда какие угодно аргументы и они будут действовать только для данного конкретного транка. Запишем сюда маленькую t.
Итак, теперь, если Вы приняли вызов на мобильном телефоне, а человек, с которым Вы разговариваете просит перевести его на другого сотрудника, Вы можете просто:
Нажать ## на своём мобильном телефоне, после чего Вы услышите в трубке сообщение “перевод”;
Набрать нужный номер (например - 529). В это время позвонивший будет слышать музыку на ожидании;
Вызов автоматически завершится, а звонок будет переадресован тому, чей номер Вы набрали;
Profit;
А помните мы говорили, что можно ещё поговорить с тем, кому нужно перевести вызов, прежде чем его переводить, чтобы уточнить не занят ли этот человек? Так вот такая возможность при принятии звонка на мобильном тоже есть!
Если мы откроем возможные сервисные коды (feature code) функций трансфера, то увидим, что их два - ## - In-Call Asterisk Blind Transfer, который мы уже знаем, и *2 - функция консультативного трансфера - In-Call Asterisk Attended Transfer.
Таким образом, можно также пользоваться консультативным трансфером, в этом случае нужно:
Нажать *2 на своём мобильном телефоне, после чего Вы услышите в трубке сообщение “перевод”;
Набрать нужный номер (например - 529). В это время позвонивший будет слышать музыку на ожидании;
Дождаться, пока человек, которому нужно перевести вызов, ответит и узнать у него можно ли делать перевод. Если он сбросит или не возьмёт трубку, то ваш разговор с ожидающим на линии абонентом возобновится и Вы сможете объяснить ему, что соединиться не удалось;
Если человек, которому нужно перевести вызов готов поговорить с ожидающим на линии абонентом, то нужно просто завершить вызов. Тогда разговор продолжится уже между ними;
Кстати! Номер, который Вы набираете после того или иного сервисного кода, не обязательно должен быть внутренним. Это может быть любой другой номер (например, мобильный - *289012345678). Главное набирать его в таком формате, чтобы Ваша IP-АТС могла до него дозвониться.
То, что система Linux предоставляет пользователю большое многообразие разного функционала уже не секрет. На одном из прошлых материалов мы рассмотрели, как и где можно использовать команду find. В этой же статье мы на примерах разберём команду grep, мощный инструмент системных администраторов.
Про Linux за 5 минут | Что это или как финский студент перевернул мир?
В предыдущей части нашей серии OSPF мы рассмотрели варианты ручной фильтрации маршрутов. Теперь мы обсудим маршруты по умолчанию и сравним OSPFv2 с OSPFv3.
Предыдущие статьи:
Расширенные возможности OSPF: Области
OSPF: создание конкретных типов областей
Ручная фильтрация маршрутов OSPF
Маршрут по умолчанию (Default Routes)
Мы изучили с вами, что OSPF может автоматически генерировать маршрут по умолчанию, когда это необходимо. Это происходит с некоторыми специальными типами областей. Например, если вы настраиваете totally stubby area, требуется маршрут по умолчанию, и OSPF генерирует этот маршрут автоматически из ABR.
Чтобы повысить гибкость ваших проектов, маршруты по умолчанию, вводимые в нормальную область, могут быть созданы любым роутером OSPF. Для создания маршрута по умолчанию используется команда default-information originate.
Эта команда содержит два варианта:
Вы можете объявлять 0.0.0.0 в домен OSPF, при условии, что объявляемый роутер уже имеет маршрут по умолчанию.
Вы можете объявлять 0.0.0.0 независимо от того, имеет ли объявляемый роутер уже маршрут по умолчанию. Этот второй метод выполняется путем добавления ключевого слова always к default-information originate
Рисунок 1 - топология OSPF
Используя нашу простую топологию из рисунка 1 еще раз, давайте настроим ATL2 для введения маршрута по умолчанию в нормальную, не магистральную область 1.
ATL2#conf t
Enter configuration commands, one per line. End with CNTL/Z .
ATL2 (config)#router ospf 1
ATL2 (config-router)#default-information originate always
ATL2 (config-router)#end
ATL2#
Обратите внимание, что в этом примере мы используем ключевое слово always, чтобы убедиться, что ATL2 генерирует маршрут по умолчанию независимо от того, есть ли у устройства уже маршрут по умолчанию в его таблице маршрутизации.
Вот проверка на ORL:
show ip route
Сравнение OSPFv2 и OSPFv3
Каким бы удивительным ни был OSPFv2, он не может маршрутизировать префиксы IPv6 для нас. Это работу выполняет OSPFv3. Хорошей новостью для вас является тот факт, что вы можете использовать почти все, что вы узнали о OSPFv2 при переходе на протокол OSPFv3. Полная перестройка протокола не проводилась, и было сохранено как можно больше функциональных возможностей и этапов настройки.
Как вы узнаете далее, OSPFv3 предлагает использование семейств адресов в конфигурации, что делает этот протокол подходящим для переноса префиксов IPv6 или даже префиксов IPv4 с соответствующим семейством адресов.
В конце этой статьи демонстрируется «стандартная» конфигурация OSPFv3, а также конфигурация семейства адресов.
Важно иметь представление о ключевых сходствах и различиях между v2 и v3 протоколов OSPF. Вот сходства, которые описаны ниже:
В OSPFv3 процесс маршрутизации не создается явно. Включение OSPFv3 на интерфейсе приведет к созданию процесса маршрутизации и связанной с ним конфигурации.
Идентификатор маршрутизатора по-прежнему является 32-разрядным значением в OSPFv3, и процесс выбора идентификатора маршрутизатора остается таким же.
OSPF автоматически предпочитает loopback интерфейс любому другому виду, и он выбирает самый высокий IP-адрес среди всех loopback интерфейсов.
Если никаких loopback интерфейсов нет, то выбирается самый высокий IP-адрес в устройстве.
Вот некоторые ключевые отличия:
Эта функция отличается от OSPF версии 2, в которой интерфейсы косвенно включены с помощью режима конфигурации устройства.
При использовании nonbroadcast multiaccess интерфейса в OSPFv3 необходимо вручную настроить устройство со списком соседей.
Соседние устройства идентифицируются по их идентификатору устройства.
В IPv6 можно настроить множество префиксов адресов на интерфейсе.
В OSPFv3 все префиксы адресов на интерфейсе включены по умолчанию.
Вы не можете выбрать определенные префиксы адресов для импорта в OSPFv3; либо импортируются все префиксы адресов в интерфейсе, либо никакие префиксы адресов в интерфейсе не импортируются.
В отличие от OSPF версии 2, несколько экземпляров OSPFv3 могут быть запущены на линии.
Традиционная (стандартная) настройка OSPFv3
Чтобы продемонстрировать (и попрактиковать) конфигурацию OSPFv3 часть настроек мы отбросили.
Вот конфигурация нашей магистральной области (область 0) и не магистральной области (область 1) с использованием «традиционного» подхода OSPFv3.
ATL# configuration terminal
Enter configuration commands, one per line . End with CNTL/Z .
ATL(config)#ipv6 unicast-routing
ATL(config)#interface fa0/0
ATL(config-if)#ipv6 address 2001:1212:1212::1/64
ATL(config-if)#ipv6 ospf 1 area 0
ATL(config-if)#interface loopback0
ATL(config-if)#ipv6 address 2001:1111:1111::1/64
ATL(config-if)#ipv6 ospf 1 area 0
ATL(config-if)#end
ATL#
Обратите внимание, насколько знакомым кажется этот подход к настройке, он аналогичен настройке OSPFv2. Обратите внимание также, что мы должны глобально включить возможность одноадресной маршрутизации IPv6 на устройстве. Это не является действием по умолчанию. Вы также должны понять, что это не требуется для запуска IPv6 на интерфейсах, это просто требование сделать маршрутизацию трафика IPv6 на роутере.
Вот конфигурация наших двух других устройств:
ATL2#conf t
Enter configuration commands, one per line. End with CNTL/Z .
ATL2 (config)#ipv6 unicast-routing
ATL2 (config)#int fa0/0
ATL2 (config-if)#ipv6 address 2001:1212:1212::2/64
ATL2 (config-if)#ipv6 ospf 1 area 0
ATL2 (config-if)#
*Mar 28 09:23 :25 .563 : %0SPFv3-5-ADJCHG: Process 1, Nbr
192.168.20.1 on FastEthernet0/0 from LOADING to FULL, Loading Done
ATL2 (config-if)#int fa1/0
ATL2 (config-if)#ipv6 address 2001:2323:2323::2/64
ATL2 (config-if)#ipv6 ospf 1 area 1
ATL2 (config-if)#end
ATL2#
ORL#conf t
Enter configuration commands, one per line . End with CNTL/Z .
ORL(config)#ipv6 unicast-routing
ORL(config)#int fa1/0
ORL(config-if)#ipvб address 2001:2323:2323::3/64
ORL(config-if)#ipvб ospf 1 area 1
ORL(config-if)#end
ORL#
Теперь настало время для проверки. Обратите внимание, что я выполню все это на устройстве ORL для краткости. Обратите внимание еще раз на все замечательные сходства с OSPFv2:
show ipv6 route
show ipv6 ospf neighbor
show ipv6 ospf database
Конфигурация Семейства Адресов OSPFv3
Давайте завершим эту статью изучением стиля конфигурации семейства адресов OSPFv3. Помните, что это позволит нам использовать этот единый протокол для передачи префиксов IPv4 и IPv6.
Вот пример подхода к конфигурации семейства адресов OSPFv3:
BOS (config)#ipv6 unicast-routing
BOS (config)#router ospfv3 1
BOS (config-router)#address-family ipv6 unicast
BOS (config-router-af)#area 1 range 2001:DB8:0:0::0/128
BOS (config-router-af)#end
BOS#conf t
BOS (config)#interface fa1/0
BOS (config-if)#ipv6 ospf 1 area 1
Важно то, что если вы уже знакомы с семействами адресов из другого протокола (например, BGP), то эта настройка покажется вам очень простой. Также учтите, что подход к настройке OSPFv3 на подинтерфейсах не меняется.