По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Желание использовать данные с внешних сервисов это вполне обычная практика. Так как многие из этих сервисов доступны по HTTP(S) (REST API, например), то в этой статье мы хотим показать простой способ обращения к этим сервисам по cURL и обработку данных в случае, если сервер вернет JSON. Все взаимодействия будут выполняться из диалплана. Простой cURL запрос В диалплане Asterisk существует функция CURL, которая позволяет получить содержимое WEB или FTP страницы. Синтаксис запроса следующий: CURL(url,post-data) url - URL, к которому мы будем выполнять обращение; post-data - по умолчанию будет выполнен GET – запрос. Если в данном параметре будут указаны различные значения, то будет выполнен POST запрос с указанными в переменной данными; Например: exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest?num=84991234567)}) Здесь мы выполним GET запрос по указанному URL, а результат сохраним в переменной C_RESULT. Использование HTTPS в запросах Иногда, HTTPS запросы могут не срабатывать, так как удаленная сторона будет проверять наш SSL – сертификат. Если поставить параметр ssl_verifypeer=0, то такой проверки не будет: same => n,Set(CURLOPT(ssl_verifypeer)=0) Как воспользоваться этим в диалплане? Легко. С помощью функции GotoIf мы можем определить действие, которое отработает на базе результата cURL: exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest?num=84991234567)}) same => n,GotoIf($["${C_RESULT}" = "1"]?res1:res2) same => n(res1),Verbose(CURL Result = 1) same => n,Hangup same => n(res2),Verbose(CURL Result != 1) same => n,Hangup Указанный код отправит GET - запрос на rest, в котором в параметре num передаст номер звонящего (можно указать соответствующую переменную диалплана Asterisk). В случае, если результатом выполнения запроса будет 1, то мы перейдем к выполнению шага res1, а противоположном случае, res2. res_json для обработки JSON ответов На самом деле, для API, является обычной практикой возврат ответа в виде JSON. Поэтому, нам следует преобразовать эти данные перед обработкой их. Для этого мы воспользуемся модулем res_json из JSON библиотеки, который создан для расширения базовых возможностей диалплана с точки зрения обработки JSON. Почитайте материал об установке данного модуля по этой ссылке. exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest.json)}) same => n,Set(result=${JSONELEMENT(C_RESULT, result/somefield)}) same => n,GotoIf($["${result}" = "1"]?res1:res2) same => n(res1),Verbose(CURL Result = 1) same => n,Hangup same => n(res2),Verbose(CURL Result != 1) same => n,Hangup Для теста, создайте у себя на web – сервере файл rest.json со следующим содержанием: { "result": { "somefield": 1 } }
img
Привет, мир! Говорим о том, что такое IP - адрес. Вообще, IP расшифровывается как Internet Protocol, но поверьте нам, даже в профессиональной среде, аббревиатуру не расшифровывает никто. IPшник, адрес, АйПи, ИПЭ, как угодно, но не INTERNET PROTOCOL. Погнали разбираться - вот вам пример из реальной жизни: Если нам нужно отправить письмо, то на конверте нужно указать куда его нужно отправить и от кого, приклеить марки, сходить на почту и постоять в очереди - без этого ничего не выйдет. C IP адресом все так же - это адрес компьютера, сервера или любой другой активной сетевой железки. Чтобы общаться с другими компьютерами и серверами нужно чтобы у него был уникальный идентификатор, чтобы понять, куда нужно слать данные, и как их получить обратно. Например, мы хотим зайти на сайт. Для этого нам нужно отправить письмо сайту, и сказать, что нам нужна его главная страница. Сайт получит это письмо, и вышлет нам страничку по адресу, указанному на конверте в поле отправитель. Видеопособие Почему он так странно выглядит? Компьютеры общаются нулями и единицами, которые называются битами. И на самом деле этот адрес выглядит как строка из 32 нулей и единиц. Нет - нет, именно так. Представьте себе комбинацию нулей и единиц - это двоичная система. Двоичная, потому что есть значения 1 и 0. И все, больше никаких. Авторы адресации подумали и поняли, что ввод 32 единиц и нулей мог бы привести к панической атаке системного администратора, и было принято решение переводить его в десятичную систему. Так же решили разбить это длинное число на 4 части, поставив 3 точки и в итоге мы получили 4 числа от 0 до 255, с которыми гораздо проще работать. Возможно, вы где - то видели IP адреса, которые длиннее и содержат в себе буквы. Это что тоже айпи адрес? Да, это тоже адрес, только другой версии. То, что мы уже обсудили - называется IPv4. То есть IP 4ой версии (да - да, они еще и по версии отличаются). С этой версий есть одна проблема - всего может существовать 4 294 967 296 адресов, что не хватит для всех устройств, особенно сейчас, когда адрес может быть даже у холодильника. Здесь уже мы используем число из 128 бит которое делим на 8 частей при помощи двоеточий и переводим их в шестнадцатеричную систему счисления, опять же для удобства. Это IPv6, то есть IP 6 версии. Принцип работы остается тем же, а адресов теперь доступно 10 в 28 степени: 79 228 162 514 264 337 593 543 950 336 (cемьдесят девять окталионов двести двадцать восемь септилионов сто шестьдесят два секстилиона пятьсот четырнадцать квинтиллионов двести шестьдесят четыре квадриллиона триста тридцать семь триллионов пятьсот девяносто три миллиарда пятьсот сорок три миллиона девятьсот пятьдесят тысяч триста тридцать шесть. Этого пока должно хватить. В чем разница между статическим и динамическим адресом? Она вытекает из названия - статический адрес не меняется у компьютера и всегда остается одним и тем же, в то время как динамический назначается на определенное время, затем заменяется другим. Зачем это нужно? Дело в том, что если вам нужно попасть на сайт, вам нужно знать его адрес, и если он изменится, то мы не можем его найти. Для этого нужны статические адреса. А вам, как посетителю сайта статический адрес не нужен, подойдет динамический, который вы напишете на конверте в поле отправителя. Так же можно называть IP адреса внутренними и внешними. В чем тут дело. Как мы уже знаем, в IPv4 у нас ограниченное количество адресов - на всех не хватает. А так еще в интернете нельзя иметь два одинаковых адреса, ведь в таком случае нельзя будет однозначно понять кому передавать данные. Но как дать возможность выходить в интернет всем, кто захочет? Переходить на 6 версию? Можно, но это дорого и долго. Тут нам на помощь приходит технология NAT - Network Address Translation, а точнее ее надстройка PAT - Port address translation, суть которой в том, что много устройств могут выходить в интернет с одним и тем же адресом. Но как такое возможно, если мы сказали что нельзя иметь два одинаковых адреса? Суть в том, что у вас есть ваш внутренний адрес, который выдает провайдер, с которым вы находитесь внутри локальной сети, а есть внешний адрес, который провайдер вам дает для выхода в интернет. И основная идея заключается в том, что несмотря на то, что у вас и у других пользователей одинаковые адреса, их можно отличить, благодаря тому, что к адресу добавляется порт, это уникальное значение после двоеточия, которое присваивает провайдер и которое является дополнительным идентификатором, позволяющим различать адреса. Это позволяет решать проблему с нехваткой адресов, и является дополнительным слоем безопасности. Могут ли вас вычислить по IP? Так что насчет вычисления по айпи? Стоит ли беспокоиться по поводу высказываний вашего оппонента в онлайн игре, который уверяет что у него есть брат программист, который сможет вас идентифицировать и найти? Не стоит. Ведь этот айпи адрес нужно сначала найти, но это будет внешний адрес, который есть у тысяч других компьютеров, а сопоставить внешний и внутренний адрес может только провайдер. Кстати, знаешь какой у тебя IP - адрес? А мы знаем 😇 Кликай по ссылке ниже, чтобы тоже узнать 👇 Узнать мой IP
img
Всем привет! Сегодня мы хотим рассказать о функции Intercom в Cisco Unified Communications Manager (CUCM). Эта функция позволяет совершить вызов по выделенной интерком линии. Телефон, принимающий вызов автоматически отвечает на него в режиме громкой связи (speakerphone mode), с выключенным микрофоном. Звонок происходит в одностороннем режиме – вызываемый абонент слышит вызывающего, а вызывающий вызываемого – нет. Такой тип вызова также известен как Whisper Intercom. Если вызываемый абонент нажмет кнопку интеркома, то создастся второе одностороннее соединение в сторону звонящего и обе стороны начнут слышать друг друга. Intercom линии отличаются от обычных Directory Numbers номеров. Они не могут звонить на другие DN’ы и DN’ы не могут звонить на них. Intercom линии имеют свои собственные Dial Plan’ы и разрешения. Настройка Intercom Сначала переходим в меню Call Routing → Intercom → Intercom Route Partition. Нажимаем Add New для создания новой партиции. Тут вводим ее название и нажимаем Save. Затем переходим в меню Call Routing → Intercom → Intercom Route Calling Search Space и нажимаем Find. Можно заметить, что Intercom CSS уже автоматически создано, при создании патриции. Название будет выглядеть как [Partition_name]_GEM. Можно использовать автоматически сгенерированный CSS, изменить его, либо создать новый. Далее идем в меню Call Routing → Intercom → Intercom Directory Number и нажимаем Add New, чтобы создать Intercom DN. Поскольку линии интеркома являются односторонними и не могут звонить на обычные номера DN, то необходимо создать как минимум два номера Intercom DN. В поле Intercom Directory Number указываем диапазон номеров, которые необходимо создать. В полях Route Partition и Calling Search Space указываем Partition и CSS, созданные нами ранее. Делаем это для каждого номера и нажимаем Save. После этого нужно добавить кнопку для использования Intercom в Phone Button Template. Как это делается можно прочитать в нашей статье. После настройки идем во вкладку Device → Phone, находим желаемый телефон и в строке Phone Button Template выбираем созданный шаблон. Слева в поле Association Information должна появиться сточка Intercom [1] , и нам нужно нажать на нее, для перехода в меню настройки Intercom. Тут в поле Intercom Directory Number указываем Intercom номер, который мы создавали до этого. Также заполняем поля Route Partition и Calling Search Space. В поле Default Activated Device должен стоять Device Name (SEP_mac-address) аппарата. И после всего этого нажимаем Save и Apply Config. Аналогичные действия нужно провести и на других телефонах. Чтобы выполнить звонок нужно нажать кнопку интеркома и ввести Intercom номер другого абонента.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59