Python + モデムを利用してPBXの留守番電話をオンオフ
PBXの留守電自動オンオフ設定が、あまりにしょぼいので、単独内線へつないだモデムから内線コマンドをダイヤルして、留守番電話をオンオフしてみた
PBXが弄れないとちょっとハードル高め
Python でなければならない理由はほとんどないんだけど、cuコマンド+スクリプトでもできるかも
モデムの認識などはコチラとと同じ
下記では、内線531で留守電オン、530で留守電オフしてます
PBXが弄れないとちょっとハードル高め
- PBX側に留守番電話をオンオフするデータが入れてある
- PBXの単独収容(一般電話機をつなぐポート)へモデムを繋げられる
Python でなければならない理由はほとんどないんだけど、cuコマンド+スクリプトでもできるかも
モデムの認識などはコチラとと同じ
下記では、内線531で留守電オン、530で留守電オフしてます
import time
import serial
import sys
def rusuSwitch(state):
modem = serial.Serial("/dev/ttyACM0", 9600, timeout=3)
try:
modem.write(b'ATH1\r') # オフフック
time.sleep(1.5)
if state:
modem.write(b'ATD531\r') # 留守電ON
else:
modem.write(b'ATD530\r') # 留守電OFF
time.sleep(0.5)
modem.write(b'ATH0\r') # オンフック
finally:
modem.close()
def main():
if len(sys.argv) >= 2:
rusuSwitch(sys.argv[1] == 'on')
else:
print('ON # rusuden.py on\r')
print('OFF# rusuden.py off\r')
if __name__ == '__main__':
main()
コメント