forum.technoforward.ru http://forum.technoforward.ru/ |
|
IPStools http://forum.technoforward.ru/viewtopic.php?f=3&t=3538 |
Страница 1 из 1 |
Автор: | Сергeй Жильникoв [ 12 фев 2022, 20:00 ] | ||
Заголовок сообщения: | IPStools | ||
Предлагаю вашему вниманию один проект, касающийся станций 2000IPS и SV8300/SV9300 и к которому я имею непосредственное отношение (я - его вдохновитель и разработчик). Не секрет, что в Maintenance Manual указан ряд команд, который упрощает диагностику и обслуживание некоторых моментов в станции. Но ввод и чтение данных во многих случаях закодирован и навскидку, чтение этих данных обычно вызывает трудности или требует много времени для раскодирования. Программа IPStools - как раз и предназначена для решения вышеозвученных проблем. Программа представляет из себя консоль для ввода команд (придуманных мной), а также имеет второе представление - MOC Terminal, который эмулирует командную строку станции (только классический набор клавиш). Переключение между ними — по Esc. Список команд будет ниже; они говорят сами за себя и, мне кажется, особых пояснений не трубуется. Помощь при вводе команд - по табуляции. Пользуйтесь ей, если что-то забыли. Программа не требует инсталляции (т. н. портабельный режим). Единственное - нужно будет установить шрифт, и настроить опции Hi-DPI, (только если вам это требуется), см. картинку. Иначе шрифт может быть мелким. Быстрый старт: self manage accounts - создание учётных записей open list - вывести список учётных записей open list x - подключиться по учётной записи из строки x open 192.168.1.36 - пояснения не нужны open 192.168.1.36:60000 - также пояснения не нужны Список всех команд (для 2000IPS): clear close self info session self manage accounts logout login status password-service disable password-service enable password-service change password edd eddn remove password reboot now sync time set make-busy <extention> set make-busy <trunk> unset make-busy <extention> unset make-busy <trunk> info last-reset ping <ip-address> i <extention> i <trunk> info <extention> disconnect <extention> disconnect <trunk> encode name <station> encode names encode list status <extention> status <trunk> status line <extention> trace <extention> trace <trunk> Команда edd - это аналог EC6>0:3-0 из мира телефонных станций Nortel. Соотвественно eddn (придумано мной) — EC8>00:3-0 (для системы с Remote Unit). Команд для SV8300/SV9300 меньше: clear close self info session self manage accounts logout login status password-service disable password-service enable password-service change password edd eddn remove password reboot now sync time set make-busy <extention> set make-busy <trunk> unset make-busy <extention> unset make-busy <trunk> info last-reset ping <ip-address> i <extention> i <trunk> disconnect <extention> disconnect <trunk> encode name <extention> encode names encode list По ряду причин проект заброшен и дальнейшего развития не будет. Скачать файлы можно по ссылке: Пользуйтесь на здоровье. P.S. На 2000IPS всегда бесило, что через пару минут неактивности соединение со станцией разрывалось. Здесь эта проблема решена — периодически программой при неактивности пользователя эмулируется ввод команды COMMAND=.
|
Автор: | Kadis_2007 [ 15 фев 2022, 08:36 ] |
Заголовок сообщения: | Re: IPStools |
Программа на W7-64 не запустилась. Выдает: “The ‘Cousine’ font not found on this PC. The application will not start-up”. |
Автор: | Сергeй Жильникoв [ 15 фев 2022, 12:59 ] |
Заголовок сообщения: | Re: IPStools |
Kadis_2007 писал(а): Программа на W7-64 не запустилась. Выдает: “The ‘Cousine’ font not found on this PC. The application will not start-up”. В дистрибутиве программы есть папка Fonts. В ней шрифт, который надо установить в систему перед запуском программы. |
Автор: | Сергeй Жильникoв [ 21 фев 2022, 17:06 ] |
Заголовок сообщения: | Re: IPStools |
Хочу уточнить некоторые моменты по командам. Группа команд encode позволяет присвоить имя абоненту на кириллице. Есть три варианта: 1. encode name <extention> (или <station> — почему-то разные параметры для 2000IPS и SV8300 ). Тут всё просто: вводится один единственный номер абонента и ему присваивается имя. Если вы хотите стереть имя абонента, то используется аргумент командной строки, который передаётся в конце команды и предваряется двумя знаками тире "--". В качестве значения аргумента используется любое слово на ваш выбор (на английском или русском), которое для программы будет маркером, что мы хотим именно стереть имя, а не присвоить его абоненту. Аргумент — это опция, используется, если только нужно. Пример, чтобы было понятнее. Допустим, мы хотим стереть имя абонента для номера 200: [192.168.1.36]# encode name 200 --стереть Name [БОРИС]: стереть [192.168.1.36]# encode name 200 Name []: [192.168.1.36]# 2. encode names Здесь в бесконечном цикле запрашиваются имена абонентов, после чего выводится текущее имя и запрашивается новое. Соответственно, нам надо решить два вопроса: как стереть имя (если стоит такая задача) и как выйти из цикла. По аналогии с п. 1 здесь для этих целей также используются аргументЫ (во множественном числе) командной строки. Первый служит маркером для программы для удаления имени, а второй — для выхода из цикла. Аргументы разделяются вертикальной чертой "|". В качестве аргументов можно, опять-таки, использовать любые доступные символы. Для данной команды аргументы обязательны (их нельзя пропускать) и их значения должны быть разными. Важно: выйти из цикла можно только в тот момент, когда вы находитесь при просмотре имени абонента. Посмотрим как всё это выглядит на примере: [192.168.1.36]# encode names --стереть|конец Extention: 200 200`s name []: Extention: 201 201`s name []: Extention: 200 200`s name []: босс Extention: 201 201`s name []: босс-молокосос Extention: 200 200`s name [БОСС]: Extention: 201 201`s name [БОСС-МОЛОКОСОС]: Extention: 201 201`s name [БОСС-МОЛОКОСОС]: стереть Extention: 201 201`s name []: Extention: 201 201`s name []: конец [192.168.1.36]# 3. encode list Импортирует список абонентов из *.CSV файла, проверяет его и присваивает имена абонентам. Выбор файла запрашивается графически, после чего есть опции сразу запустить скрипт, отменить, или вывести на экран список (настоятельно рекомендую в первую очередь именно этот вариант, т. к. могут быть проблемы с кодировкой, а затем уже нажимать "y"). Вот как это приблизительно выглядит: [192.168.1.36]# encode list # using file 'names.csv' Ready to assign 4 name(s); continue? [y/n/l]: l 202: леонид 203: Р±РѕСЂРёСЃ 204: михаил 205: жора Ready to assign 4 name(s); continue? [y/n/l]: n [192.168.1.36]# (опа, у нас проблема с кодировкой - нажимаем "n" и исправляем кодировку в файле ("правильная" кодировка — виндовая 1251; повторяем команду) [192.168.1.36]# encode list # using file 'names.csv' Ready to assign 4 name(s); continue? [y/n/l]: l 202: леонид 203: борис 204: михаил 205: жора Ready to assign 4 name(s); continue? [y/n/l]: y [executing...] [192.168.1.36]# (проверяем) [192.168.1.36]# encode names --e|x Extention: 202 202`s name [ЛЕОНИД]: Extention: 203 203`s name [БОРИС]: Extention: 204 204`s name [МИХАИЛ]: Extention: 205 205`s name [ЖОРА]: x [192.168.1.36]# Разделителем значений пары имя-номер может быть как запятая, так и точка с запятой, порядок следования столбцов тоже не важен (программа использует алгоритмы ИИ ). Здесь важно "подсунуть" программе хоть что-то напоминающее список, иначе (как я заметил) вылезет ошибка и программа аварийно завершится. Во всех случаях вводить имена можно в любом регистре, программа автоматически преобразует их при необходимости в верхий. |
Автор: | Сергeй Жильникoв [ 26 фев 2022, 15:59 ] |
Заголовок сообщения: | Re: IPStools |
Команда ping. Команда ping пингует указанный узел. Выполняется средствами АТС, а именно главным процессором системы. Не надо путать эту команду с командой ping командного процессора cmd.exe операционной системы Windows. Примеры запуска этой команды: (узел доступен по сети) [192.168.1.36]# ping 192.168.1.1 ping OK ping OK ping OK [192.168.1.36]# (узел не доступен по сети) [192.168.1.36]# ping 192.168.1.37 ping timed out ping timed out ping timed out [192.168.1.36]# (пингуем сами себя) [192.168.1.36]# ping 192.168.1.36 ping timed out ping timed out ping timed out [192.168.1.36]# Как видно пинг на себя не проходит. Почему NEC сделал именно такую реализацию ping-а — не понятно. (запущены и подключены два инстанса программы, первая консоль выполняет команду ping, вторая (наша консоль) тоже выполнят ping с тем же адресом, что и первая, но с небольшой задержкой) [192.168.1.36]# ping 192.168.1.37 interface is used by other app/task interface is used by other app/task interface is used by other app/task [192.168.1.36]# |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |