Довольно часто возникает задача автоматизировать какие-либо действия с АТС для выполнения типовых операций. Обычно для этого нужно покупать дорогое программное обеспечение или заказывать его разработку. На это уходит много времени и денег. А как сделать это оптимальным способом с небольшими затратами? Ответ на этот вопрос можно найти, если вспомнить о скриптовом языке Windows PowerShell. Его можно использовать для управления АТС, которая подключена к серверу Rander. PowerShell будет взаимодействовать с модулем интеграции с внешними приложениями RanCOM Plus, который входит в состав семейства программ Rander Plus. Поскольку RanCOM после своей установки на компьютер создает COM объект, стало быть этим COM объектом можно управлять с помощью различных механизмов, в том числе и с помощью скриптового языка PoweShell.

Пример совершения звонка из командной строки PowerShell

Исходная конфигурация: АТС Panasonic KX-NCP500RU, Rander Server Plus Ver.5, RanCOM Plus Ver.5, Rander Client Ver.5, TSP драйвер Ver.4.2.12, Windows 8.1, PowerShell ISE.

Попробуем посмотреть как это возможно на конкретном примере. В нашем случае мы используем АТС Panasonic KX-NCP500RU и программное обеспечение Rander Server Plus с модулем интеграции RanCOM Plus. Это программное обеспечение уже установлено, TSP драйвер так же установлен и мы можем убедиться, что вся система работает исправно, если запустим клиент Rander и выполним все необходимые «Настройки». Теперь, когда мы убедились, что система полностью работоспособна, можем приступать к изучению возможностей управления сервером Rander и АТС с помощью PowerShell.

  • Запускаем командную строку от имени администратора и вводим команду regedit, в результате чего открывается содержание системного реестра. Ищем в системном реестре записи, имеющие отношение к RanCOM.
  • Как видим, в реестре имеется запись RanderCOM.RanCOM.1 Запомним это имя для использования его в командах PowerShell.
  • Запускаем от имени администратора Windows Powershell ISE. Это очень удобный механизм для написания скриптов. Создаем новый объект и присваиваем ему имя $r

    PS C:\WINDOWS\System32> $r = New-Object -ComObject RanderCOM.RanCOM.1

  • Если объект создался успешно, мы сможем посмотреть методы, доступные для этого объекта. Для этого вводим команду

    PS C:\WINDOWS\System32> $r | Get-Member

    И получаем следующий результат:
  • Далее необходимо подключиться к серверу, например с именем «ctiserver» (можно использовать IP-адрес), а так же логином «admin» и паролем, например, «1234» (для корректного ввода необходимо использовать двойные кавычки). Для этого вводим команду

    PS C:\WINDOWS\System32> $r.Connect(‘ctiserver’,’admin’,’1234′)

  • Открываем линию для управления. В нашем случае это телефон с номером 103.

    PS C:\WINDOWS\System32> $r.OpenLine(‘103’)

    В ответ на это действие будет выдан ID линии. В нашем случае это 73207
  • Теперь можем выполнить звонок на любой номер, который не запрещен правилами набора при программировании АТС. В нашем случае набираем номер 114.

    PS C:\WINDOWS\System32> $r.Dial2(‘73207′,’114’)

    Телефон звонит! Все работает! Ура!
  • Еще одна очень интересная возможность это смена категории обслуживания абонента в зависимости от определенных событий, произошедших в компьютере. Мы можем создать файл скрипта примерно следующего содержания:

    $r = New-Object -comobject RanderCOM.RanCOM.1

    $r.Connect(‘ctiserver’,’admin’,’1234′)

    $d = $r.OpenLine(‘303’)

    $r.SetCOS($d,’02’)

    Здесь мы создаем объект, подключаемся к серверу, открываем линию, чтобы узнать ее идентификатор, и устанавливаем для этой линии COS=2. Этот механизм можно использовать, например для ограничения выхода на внешние линии в соответствии с данными биллинговой программы или Radius сервера, просто запустив данный файл скрипта.

Выводы

Таким образом, мы видим, что из скриптового языка можно открыть COM объект и управлять им, используя доступные методы. Тем, кто владеет скриптовыми языками, не составит труда написать нужный скрипт и использовать его регулярно для своих нужд. Кроме того, необходимо отметить, что язык PowerShell не единственный скриптовый язык, доступный в среде MS Windows. Использование языка Java Script может дать еще более широкие возможности при использовании RanCOM в WEB приложениях.

г.Пермь, 28.08.2014 г. Рабчевский Андрей Николаевич