По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет! Сегодня мы хотим рассказать о том, как снимать пакеты (packet capture) на телефонах Cisco, подключенных к Cisco Unified Communications Manager (CUCM) . Захват пакетов используется при траблшутинге, и в этой статье мы рассматриваем как это сделать, подключив телефон к ПК, используя встроенный PC порт. В этом случае на PC порт будет поступать копия трафика, приходящего на SWITCH порт телефона (иногда это называют зеркалированием - mirroring). И отсюда пакеты уже можно будет вытащить, используя специальные программы захвата трафика (снифферы). Подключение и настройка Cisco IP Phone Для начала подключим наш IP телефон Cisco. На задней панели телефона есть несколько портов и к порту, на котором написано SWICTH подключаем соответственно кабель, приходящий от коммутатора, а порт, на котором написано PC подключаем к сетевой карте нашего компьютера. После этого заходим на наш CUCM, переходим во вкладку Device → Phone, и находим наш телефон. Тут в поле Product Specific Configuration Layout находим сточку PC Port и выбираем Enabled. Ниже находим строчку Span to PC Port и в ней тоже ставим Enabled. Стоит заметить, что у некоторых телефонов может отсутствовать пункт Span to PC Port, и в таком случае все данные автоматически пересылаются на PC порт. Ну и наконец после этого открываем нашу программу сниффер (например WireShark), выбираем наш сетевой интерфейс, к которому подключен телефон и нажимаем Start. Готово! После этого мы начать анализировать пакеты.
img
Ищешь бесплатное решение по реализации исходящих звонков из CRM Битрикс24 в связке с Asterisk? Поздравляем, нашел. Можешь закрыть все остальные вкладки и оставить только эту – пошаговое руководство по интеграции Б24 и Астериска в статье :) Как это работает? Легко (на этом можно было бы закончить). Мы создаем исходящий вебхук в Битрикс, он дергает php - скрипт на Asterisk каждый раз, когда мы будем нажимать на номер телефона в лиде, сделке, контакте – где угодно. Поехали. Попробовать Битрикс24 Подготовка Создадим AMI (Asterisk Manager Interface)– юзера, через которого будем инициировать вызовы. Откроем файл настройки: vim /etc/asterisk/manager.conf Обращаем внимание на секцию [general] - параметр enabled должен быть в значении yes: [general] enabled = yes // вот этот параметр :) port = 5038 bindaddr = 0.0.0.0 Проверьте, чтобы в самом конце файла manager.conf были следующие строки (если их нет, добавьте): #include manager_custom.conf Проверили. А теперь открываем файл /etc/asterisk/manager_custom.conf (если его нет – создайте и дайте права) и добавляем туда: [имя] secret = пароль deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.0 permit=ip_адрес_Asterisk/маска read = all,system,call,log,verbose,command,agent,user,config,originate write = all,system,call,log,verbose,command,agent,user,config,originate имя - придумайте имя для юзера; пароль - создайте устойчивый к взломам пароль, с помощью сервисов онлайн генерации, например; ip_адрес_Asterisk/маска - укажите вашу подсеть. В указанной подсети должен находится IP – адрес, с которого скрипт будет обращаться к AMI. Пример записи - 192.168.1.0/255.255.255.0; Переходим в Битрикс24 и создаем вебхуки. Вебхуки Первый вебхук мы сделаем входящим – по нему наш скрипт будет получать внутренний номер сотрудника по его идентификатору. Переходим в раздел Приложения → Вебхуки. Нажимаем кнопку Добавить вебхук и выбираем Входящий вебхук. Делаем вот что: Название - любое название, как вам удобно; Описание - нужный момент, чтобы не запутаться в вебхуках; Права доступа - отметьте галочкой Пользователи (user); Нажимаем сохранить. Должно получиться примерно вот так: Обратите внимание: на скриншоте, красной линией подчеркнут URL параметра Пример URL для вызова REST. Скопируйте его ровно до последней части /profile/. Например, у нас получилось: https://merionet.bitrix24.ru/rest/2/1a2b3c4d5e6f7g8h Сохраните этот URL – он нам еще пригодится :) Перед тем, как мы сделаем исходящий вебхук, давайте обсудим будущий URL нашего скрипта. Так как он будет располагаться в веб директории, мы предлагаем вам сгенерировать последовательно 3 директории, в которых будет лежать скрипт. И вот о чем мы: представим, что ваш домен выглядит вот так: http://ilovemerionet.ru/ Гуд. Давайте последовательно сгенерируем 3 уникальных названия директорий, например: IpVy7ul85sz1Doi C49BNGJW3Yf30eo qBN0NBC56lj07yh После чего, в директории /var/www/html/ создадим три вложенных папки, чтобы наш файл в конечно итоге размещался в директории: /var/www/html/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/ Сам файл скрипта, который мы сгенерируем, будет называться index.php, тем самым, вебхук со стороны Битрикс24 будет обращаться по следующему URL: http://ilovemerionet.ru/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/ Кажется, разобрались :) Теперь создаем исходящий вебхук – прыгаем в раздел Приложения → Вебхуки. Нажимаем кнопку Добавить вебхук и выбираем Исходящий вебхук. Делаем вот что: Код авторизации - это наш проверочный код, который мы используем в скрипте; Адрес обработчика - как мы привели пример выше, тут будет http://ilovemerionet.ru/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/ - у вас, само собой, свой URL :); Название - явное название, чтобы не запутаться. Сделайте Asterisk Calls, например?; Комментарий - можете оставить комментарий для себя, чтобы было проще разобраться; Тип события - выбираем Инициация звонка через приложение (ONEXTERNALCALLSTART); Великолепно. Мы выходим на финишную прямую. Скрипт для Asterisk Ловите скрипт, который будет принимать вебхуки от Битрикс24. Комментарии к самым важным строкам, как всегда, присутствуют: <?php $check_token = "Код_авторизации"; // это значение будет прилетать нам в вебхуке. А мы будем его сравнивать, чтобы быть уверенными, что это Битрикс; $user_hook_url = "Часть_входящего_вебхука"; // нужно, для получения внутреннего номера пользователя, которые инициирует звонок; $ami_login = "ami_логин"; // логин к AMI, который мы создавали ранее; $ami_password = "пароль"; // пароль к AMI, который мы создавали ранее; $strhost = "IP_адрес"; // IP - адрес вашего Asterisk; if (strcmp($_POST['auth']['application_token'], $check_token) === 0) { function writeToLog($data, $title = '') { $log = " ------------------------ "; $log .= date("Y.m.d G:i:s") . " "; $log .= (strlen($title) > 0 ? $title : 'DEBUG') . " "; $log .= print_r($data, 1); $log .= " ------------------------ "; file_put_contents(getcwd() . '/hook.log', $log, FILE_APPEND); return true; } writeToLog($_REQUEST, 'incoming'); $UID = $_POST['data']['USER_ID']; $bitrix_contact_url = "$user_hook_url/user.get.json?ID=$UID"; $btc = curl_init(); curl_setopt ($btc, CURLOPT_URL,$bitrix_contact_url); curl_setopt ($btc, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); curl_setopt ($btc, CURLOPT_TIMEOUT, 60); curl_setopt ($btc, CURLOPT_FOLLOWLOCATION, 1); curl_setopt ($btc, CURLOPT_RETURNTRANSFER, 1); $bitrix_contact = curl_exec ($btc); curl_close($btc); $bitrix_contact_o = json_decode($bitrix_contact, true); $cid = $bitrix_contact_o['result'][0]['UF_PHONE_INNER']; $strport = "5038"; $timeout = "5"; $num = str_replace("+","",$_POST['data']['PHONE_NUMBER_INTERNATIONAL']); $callid = $_POST['data']['CALL_ID']; $c="from-internal"; $p="1"; $errno=0 ; $errstr=0 ; $sconn = fsockopen($strhost, $strport, &$errno, &$errstr, $timeout) or die("Connection to $strhost:$strport failed"); if (!$sconn) { echo "$errstr ($errno) "; } else { $sconn1 = fsockopen($strhost, $strport, &$errno, &$errstr, $timeout) or die("Connection to $strhost:$strport failed"); if (!$sconn1) { echo "$errstr ($errno) "; } else { fputs($sconn1, "Action: login "); fputs($sconn1, "Username: $ami_login "); fputs($sconn1, "Secret: $ami_password "); fputs($sconn1, "Events: off "); usleep(500); fputs($sconn1, "Action: Setvar "); fputs($sconn1, "Variable: B24ID "); fputs($sconn1, "Value: $callid/$cid "); fputs($sconn1, "Action: Logoff "); usleep(500); $wrets1=fgets($sconn1,128); fclose($sconn1);} fputs($sconn, "Action: login "); fputs($sconn, "Username: $ami_login "); fputs($sconn, "Secret: $ami_password "); fputs($sconn, "Events: off "); usleep(500); fputs($sconn, "Action: Originate "); fputs($sconn, "Channel: SIP/$cid "); fputs($sconn, "Callerid: $cid "); fputs($sconn, "Timeout: 20000 "); fputs($sconn, "Context: $c "); fputs($sconn, "Exten: $num "); fputs($sconn, "Priority: $p "); fputs($sconn, "Async: yes " ); usleep(500); $wrets=fgets($sconn,128); fclose($sconn); exit; }} else { exit; }; ?> Скачать скрипт интеграции После загрузки файла, сохраните его с расширением .php В нем вам нужно поменять 5 переменных: $check_token - код авторизации, который вы получили на этапе создания исходящего вебхука; $user_hook_url - та часть входящего вебхука, которая подчеркнута на скриншоте до слов /profile/; $ami_login - логин в AMI, создавали ранее; $ami_password - пароль в AMI; $strhost - IP - адрес вашего Asterisk; Чтобы скрипт заработал, нужно, как мы говорили ранее, загрузить его в директорию /var/www/html/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/ (после генерации директорий у вас будет свой путь!) и дать следующие команды: dos2unix /var/www/html/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/index.php chown asterisk:asterisk /var/www/html/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/index.php chmod 775 /var/www/html/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/index.php Кстати, профит этого скрипта в том, что он ведет логирование в файле hook.log, который будет располагаться в той же директории. Если кто – то из ваших менеджеров скажет, что не смог позвонить клиенту – это будет легко проверить :) Почти готово. Остался только один штрих. Снова открываем CRM Битрикс24, переходим в сегмент Телефония → Настройки и в параметре Настройка номеров по-умолчанию выбираем созданный нами вебхук (у нас он называется Приложения: Asterisk Calls: А вот теперь готово. Звоним Звонит :) Но! Не закрывает карточку и не добавляет отметку об исходящем звонке в сущность CRM (запись разговора). Внимательные пользователи обратят внимание – в AMI сегменте скрипта, который обсуждали ранее, мы кинули команду Setvar (присвоение переменной) к B24ID = $callid. Тем самым, на всем протяжении звонка у нас будет идентификатор этой телефонной транзакции. Фактически, чтобы получить отметку о звонке, запись разговора и прочее, по факту окончания разговора нужно методом telephony.externalcall.finish кинуть массив данных, где будет отметка об идентификаторе вызова (которую передаем через диалплан), телефон инициатора вызова, длительность и ссылка на запись разговора. Если данная статья вызовет интерес, мы покажем, как это сделать. Удачи с настройкой :)
img
Может наступить время, когда вам нужно изменить пароль администратора на вашем Windows Server. Варианты восстановления зависят от того, помните ли вы старый пароль или нет. Если вы регулярно меняете известный пароль администратора, вы можете использовать пользовательский интерфейс Windows. Однако, если вы изменяете неизвестный пароль администратора, вам нужно использовать командную строку. Изменение пароля администратора сервера Windows Server 2008 R2 Если вы уже знаете текущий пароль администратора и можете войти в Windows Server 2008 R2, изменить пароль так же просто, как перейти к списку пользователей и установить новый пароль. Войдите на сервер напрямую или удаленно. Щелкните правой кнопкой мыши на Компьютер и выберите пункт Управление (Manage). Выберите пункт Конфигурация (Configuration) Нажмите Локальные пользователи и группы (Local Users and Groups) -> Пользователи (Users). Найдите и щелкните правой кнопкой мыши на пользователе Администратор. Нажмите Установить пароль (Set Password) -> Продолжить (Proceed). Введите и подтвердите новый пароль. Как сбросить пароль в Windows Server 2008 R2 или 2012 Что делать, когда вам нужно изменить пароль администратора, потому что вы потеряли старый пароль? Если у вас нет старого пароля, вы не можете получить доступ к серверу, чтобы изменить пароли пользователей. Вместо этого вам нужно будет использовать командную строку для сброса пароля администратора. Вставьте установочный диск в компьютер и загрузите его. На экране Язык и другие настройки (Language and other preferences) нажмите Далее. Выберите ссылку Восстановить компьютер (Repair your computer). Выберите установку ОС и нажмите Далее. Нажмите Командная строка (Command Prompt). Введите следующее: MOVE C:WindowsSystem32Utilman.exe C:WindowsSystem32Utilman2.exe Приведенная выше команда создает резервную копию менеджера утилит. COPY C:WindowsSystem32cmd.exe C:WindowsSystem32Utilman.exe Эта команда заменяет Utilman командной строкой. Это необходимо для сброса пароля. Упомянутые выше команды могут различаться в зависимости от пути установки Windows. В нашем примере это на диске C. Если ваша установка находится на другом разделе диска, измените команду соответствующим образом. Перезагрузите систему. Выберите значок Ease of Access. Введите следующее: net user administrator * Введите и подтвердите желаемый пароль. После завершения вы сможете войти в систему как администратор. Однако не забудьте отменить изменения в Utilman. Для этого: Перезагрузите компьютер снова с установочного диска. Откройте командную строку. Запустите следующее: MOVE C:WindowsSystem32Utilman2.exe C:WindowsSystem32Utilman.exe Как восстановить пароль Windows Server 2012 с диска восстановления пароля Если вы создали диск восстановления пароля (Password Recovery Disk) для своего сервера, вставьте USB-накопитель в сервер и перезагрузите систему. При появлении запроса на вход нажмите ссылку Сбросить пароль (Reset Password). В мастере забытых паролей нажимайте кнопку Далее, пока вам не будет предложено указать местоположение диска с паролями. Выберите диск для сброса пароля и следуйте инструкциям, чтобы установить новый пароль. Перезагрузите компьютер и войдите под новым паролем.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59