總機電話記錄--Linux


有一次主管問我有沒有方法可以記錄通話時間,因為公司想查詢VoIP建置後的使用情形,

原本記錄的一台安裝Windows 2000 及一個很久以前請別人寫的一支接收程式的舊電腦,

但是因為電腦太舊了,很常當機,但是接收程式又不能安裝在新的作業系統上。

原本想自己再寫一支接收程式來使用,但是突然想到Linux不知道可不可以做這樣的功能,

於是開始測試,結果真的可以,而且還很穩定,我拿了三台汱換下來的電腦安裝Linux,

上線了幾個月,除了停電(沒有裝UPS)之外,還沒有當機過,每日也都正常接收。

當然每個廠區的總機系統不同,會有不同的設定,所以先記錄一下:


  1)總公司
 
    編輯Shell Script檔,增加下列:

         #!/bin/bash
         stty -F /dev/ttyS0 ispeed 1200 ospeed 1200 cs8   #設定rs232的傳輸速率、停止位元
         datename=`date +%Y%m%d`         #設定日期格式
         /bin/touch  /root/phone/$datename     #以日期格式新增檔案
         pid=`/bin/ps ux | /bin/awk '/cat/ && !/awk/ {print $2}'`     #取得cat /dev/ttyS0程序的PID值
         /bin/kill -9 $pid        #每日刪除程序
         /bin/cat /dev/ttyS0 > /root/test/$datename &      #每日新建程序,並設定為背景處理
 
     將Shell Script加入排程


  2)廠區一

    編輯Shell Script,增加下列:

         stty -F /dev/ttyS0 ispeed 2400 ospeed 2400 cs7    #設定ttyS0的傳輸速率、停止位元
#!/bin/bash
         datename=`date +%Y%m%d`
         /bin/touch  /root/test/$datename
         pid=`/bin/ps ux | /bin/awk '/cat/ && !/awk/ {print $2}'`
         /bin/kill -9 $pid
         /bin/cat /dev/ttyS0 > /root/test/$datename &

    將Shell Script加入排程


  1)廠區三
 
    編輯Shell Script檔,增加下列:

         #!/bin/bash
         datename=`date +%Y%m%d`         #設定日期格式
         /bin/touch  /root/phone/$datename     #以日期格式新增檔案
         pid=`/bin/ps ux | /bin/awk '/cat/ && !/awk/ {print $2}'`     #取得cat /dev/ttyS0程序的PID值
         /bin/kill -9 $pid        #刪除程序
         /bin/cat /dev/ttyS0 > /root/test/$datename &      #新建程序,並設定為背景處理
 
     將Shell Script加入排程

Windows 11安裝時跳過網路連線