通过 Python CLI 管理 Snom 话机

1我们之前已经介绍过Snom SRAPS,以及怎么通过 SRAPS 网页端管理 Snom 话机。之前的文章中也有提到,管理 Snom 话机管理有几种方式:

  • REST API
  • XML-RPC API
  • Python 命令行
  • 网页配置

其中前两种通过 API 的方式都需要进行开发,而 Python 命令行其实也是基于 XML-RPC API 开发的。 同时它也是开源的,开发者可以对它进行修改。开源的地址如下:Gitlab 仓库

命令行的安装

由于命令行是用 python 写的,所以需要先安装 python。安装好后在命令行里输入 python --version 查看版本可以确认是否安装好:

接下来我们需要在 Gitlab 仓库 下载 cli.py 文件。命令行切换到文件的目录,并使用 python 命令运行该文件。

user@laptop:~/prj/src$ python cli-SRAPS.py

登录到 SRAPS

执行文件后会要求输入用户名和密码,输入正确后就可以登录 SRAPS 的界面了。

CLI 命令行的功能介绍

命令行也提供了 help 命令来帮助用户了解,help 命令有两种使用方式:

  • 查看可用的命令行
  • 获取某个命令的具体说明

查看可用命令

使用 help 命令可以查看所有的可用命令:

输入 help + 命令就可以查看命令的用法,比如:help list

列表中的脚本未来可能会有变化,如命令有更新恕不另行通知

管理话机的重定向

你可以使用这块内容做以下事情:

  • 创建新的重定向
  • 删除重定向
  • 为某个话机改变重定向的 URL
  • 为所有话机改变重定向的 URL
  • 查看某个话机的重定向是否存在
  • 查看话机重定向列表
  • 可以通过下列步骤查看话机重定向
    • 通过话机类型
    • 通过 URL
    • 通过话机类型和 URL
    • 所有重定向

创建新的重定向 – 使用 add 命令

使用 add 命令可以给话机添加重定向:

YourUsername%> add 000413401XXX https://www.snom.com/redirect.php?mac={mac}Adding redirection for 000413401XXX to https://www.snom.com/redirect.php?mac={mac}.Redirection to https://www.snom.com/redirect.php?mac={mac} for snom715 with MAC address 000413401D95 has been successfully registered.

删除重定向 – 使用 remove 命令

使用 remove 命令可以删除已经存在的重定向:

YourUsername%> remove 000413401XXXSuccessfully removed redirection for snom715 with MAC address 000413401XXX.

如果分机不是由登入的用户创建的话,系统会拒绝删除重定向

改变重定向 – 使用 update 命令

改名重定向其实需要经过两个步骤:

  1. 删除老的重定向
  2. 创建新的重定向

使用 update 命令相当于同时输入了两条命令。

改变一台话机的重定向

改变一台话机的重定向的命令,和 add 命令是非常类似的:

YourUsername%> update 000413401XXX https://www.snom.comUpdating redirection for 000413401XXX to https://www.snom.com.Redirection to https://www.snom.com for snom715 with MAC address 000413401XXX has been successfully updated.

检查重定向的状态 – 使用 check 命令

使用 check 命令可以查看已经存在的重定向:

YourUsername%> check 000413401XXXsnom820 with MAC address 000413401XXX is registered.Current redirection target is: https://www.snom.com

查看所有生效的重定向 – 使用 List 命令

使用 list 命令可以查看所有生效的重定向。

使用 list all 命令可以查看所有话机的重定向

使用本地参数

Python CLI 支持用户在输入的时候输入本地参数。

设置本地变量

可以使用 set 命令设置本地变量:

set myurl https://www.some-long-server.com/even/longer/path/and_some_file_name.php?mac={mac}

使用本地变量

我们可以使用上面创建的本地变量

add 000413123XXX %myurl

上面的命令在后台实际上运行的是下面这个:

add 000413123XXX https://www.some-long-server.com/even/longer/path/and_some_file_name.php?mac={mac}

查看变量的值 – 使用 print 命令

可以使用 print 命令查看定义的变量值:

  • print all 查看所有变量
  • print var_name 查看 var_name 变量值
YourUsername%> print all Local variables:================a = snom715b = snom725myurl = https://www.some-long-server.com/even/longer/path/and_some_file_name.php?mac={mac}