Добрый день!
Есть задача - организовать создание учетных записей абонентов в автоматическом режиме, с нуля до готовой учетки с группами, при чем скриптом.
Попытался решить проблему в лоб, используя TCL\Expect, но столкнулся с абсолютно неадекватным и не предсказуемым поведением SSH на SMG2016 - сессия поднимается через раз, ответы на команды иногда приходят, иногда нет, передача команд тоже работает не всегда правильно, получается разговор слепого с глухим.
В связи с этим вопрос - может быть, кто-то делал такое, или у железки есть вменяемый API?
О деактивации форума Eltex
Уважаемые коллеги! В связи с потерей актуальности данного ресурса, нами было принято решение о частичной деактивации форума Eltex. Мы отключили функции регистрации и создания новых тем, а также возможность оставлять сообщения. Форум продолжит работу в "режиме чтения", так как за долгие годы работы здесь накопилось много полезной информации и ответов на часто встречающиеся вопросы.
Мы активно развиваем другие каналы коммуникаций, которые позволяют более оперативно и адресно консультировать наших клиентов. Если у вас возникли вопросы по работе оборудования, вы можете обратиться в техническую поддержку Eltex, воспользовавшись формой обращения на сайте компании или оставить заявку в системе Service Desk. По иным вопросам проконсультируют наши менеджеры коммерческого отдела: eltex@eltex-co.ru.
Уважаемые коллеги! В связи с потерей актуальности данного ресурса, нами было принято решение о частичной деактивации форума Eltex. Мы отключили функции регистрации и создания новых тем, а также возможность оставлять сообщения. Форум продолжит работу в "режиме чтения", так как за долгие годы работы здесь накопилось много полезной информации и ответов на часто встречающиеся вопросы.
Мы активно развиваем другие каналы коммуникаций, которые позволяют более оперативно и адресно консультировать наших клиентов. Если у вас возникли вопросы по работе оборудования, вы можете обратиться в техническую поддержку Eltex, воспользовавшись формой обращения на сайте компании или оставить заявку в системе Service Desk. По иным вопросам проконсультируют наши менеджеры коммерческого отдела: eltex@eltex-co.ru.
SMG2016 и автоматизация создания учетных записей
-
- Сообщения: 1769
- Зарегистрирован: 27 окт 2008 11:48
- Reputation: 0
- Откуда: ELTEX
- Контактная информация:
Re: SMG2016 и автоматизация создания учетных записей
HorusHalo писал(а):Добрый день!
Есть задача - организовать создание учетных записей абонентов в автоматическом режиме, с нуля до готовой учетки с группами, при чем скриптом.
Попытался решить проблему в лоб, используя TCL\Expect, но столкнулся с абсолютно неадекватным и не предсказуемым поведением SSH на SMG2016 - сессия поднимается через раз, ответы на команды иногда приходят, иногда нет, передача команд тоже работает не всегда правильно, получается разговор слепого с глухим.
В связи с этим вопрос - может быть, кто-то делал такое, или у железки есть вменяемый API?
Подобных проблем с " с абсолютно неадекватным и не предсказуемым поведением SSH на SMG2016 " не было замечено, а если в ручную давать команды, то тоже есть такие проблемы?
Канал связи до SMG через интеренет? может потери пакетов есть?
Троянов Евгений / Элтекс / Сервисный центр VoIP / techsupp@eltex.nsk.ru
Re: SMG2016 и автоматизация создания учетных записей
Канал связи через интернет, потерь нет, при работе в ручном режиме через SSH всё хорошо, но любые варианты работы через Expect в половине случаев приводят сначала к ошибкам, потом к невозможности подключения. Я бы грешил на сам Expect, но с хостами на Linux/FreeBSD он работает замечательно. Чуть позже приложу пример взаимодействия.
Re: SMG2016 и автоматизация создания учетных записей
вопрос конечно занятный, в чём там разница в шелах, но я тут пообщался с коллегой, который раньше на TCL занимался автоматизацией расчётов большого комплекса сопромата. С шелом приходилось работать тоже. Сказал, что приблуда эта, Expect, довольно хреново реализована всё таки и приходилось много заниматься отладкой и поиском не стандартных решений. Так что всё таки не выбрасывайте её из круга лиц подозреваемых.
И похоже вам бы дампы обмена снять, что бы понять, кто тут косячит.
И похоже вам бы дампы обмена снять, что бы понять, кто тут косячит.
-
- Сообщения: 23
- Зарегистрирован: 24 ноя 2016 18:49
- Reputation: 1
Re: SMG2016 и автоматизация создания учетных записей
используя TCL\Expect, но столкнулся с абсолютно неадекватным и не предсказуемым поведением SSH на SMG2016
Просто вы не анализировали, почему так происходит. А причина проста - шелл SMG оче интерактивный и периодически при вводе команд выводит подсказки. Это ломает expect.
Т.е. вы хотите ввести (на примере групп вызова):
Код: Выделить всё
set number 9 123456
Но как только вы наберёте set number 9 и нажмёте пробел, SMG выкатит подсказку по следующему операнду команды и затем выкатит строку приветствия с уже набранными командами (set number 9). Если вы работаете руками, то вы ничего не заметите. Но expect от такого поведения ломается. И надо просто это учитывать в скриптах:
Код: Выделить всё
send -h "set number $i "
expect -re "SMG\[0-9]+M*-\\\[CONFIG\\\]-HUNT-GROUP\\\[\[0-9]\\\]>"
send "$number\r"
expect -re "SMG\[0-9]+M*-\\\[CONFIG\\\]-HUNT-GROUP\\\[\[0-9]\\\]>"
Т.е. я ввожу set number N (обратите внимание на пробел в конце), жду, когда SMG выкатит подсказку и новое приглашение с уже набранным текстом. После чего завершаю: "123456" и Return (Enter).
Также обратите внимание на ключ -h у команды send. SMG иногда плохо реагирует на быстрый ввод команд и надо эмулировать ввод человеком (что этот улюч и делает, читайте в доках по expect как он работает).
Всё просто как пряник, дерзайте. А вообще по SNMP бы абонентов заводить.
Re: SMG2016 и автоматизация создания учетных записей
Спасибо, что поделились!
-
- Сообщения: 23
- Зарегистрирован: 24 ноя 2016 18:49
- Reputation: 1
Re: SMG2016 и автоматизация создания учетных записей
Кроме того, можно полностью избежать геморроя с реакцией на пробелы, если в expect сразу после логина вставить команду:
В этом случае дёрганий на ввод пробела не будет и можно писать длинные команды не опасаясь поломки скрипта на внезапном выводе от SMG.
Код: Выделить всё
send -h "space hint no\r"
В этом случае дёрганий на ввод пробела не будет и можно писать длинные команды не опасаясь поломки скрипта на внезапном выводе от SMG.
Вернуться в «Оборудование VoIP»
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и 12 гостей