アスタリスクを使用して番号のリストを呼び出す最も簡単な方法

少し前まで、私の顧客は従業員全員に小さな音声メッセージで電話をかける必要がありました。 複雑な一括ダイヤルシステムをインストールする必要はありませんでした。 結局、この問題を解決する非常に簡単な方法を見つけました。





ダイヤラーはシェルスクリプトで構成されています。



#!/bin/sh # Asterisk call from list script for FreePBX # Based on example at http://asterisk-support.ru/forum/topics/267/ pause=40 spooldir=/astdb/spool # No trailing slash! diallist=/etc/asterisk/scripts/dialer/diallist.txt echo `date`": Dialing with $pause second pause" while read number; do echo "Channel: Local/8$number@prozvon-dialer MaxRetries: 0 RetryTime: 5 WaitTime: 30 Context: prozvon-informer Extension: 2222 Callerid: 2222 Account: autodialer Priority: 1" > $spooldir/tmp/$number chmod 777 $spooldir/tmp/$number chown asterisk:asterisk $spooldir/tmp/$number mv $spooldir/tmp/$number $spooldir/outgoing echo "$number" sleep $pause done < $diallist echo "Done" exit 0
      
      







および2つのコンテキスト-ダイヤラー:



 [prozvon-dialer] exten => _8XXXXXXXXXX,1,Dial(SIP/GorodOut/${EXTEN},60) ;  exten => _8XXXXXXXXXX,n,Set(CDR(userfield)=${HASH(SIP_CAUSE,${CDR(dstchannel)})}) ;   exten => _8XXXXXXXXXX,n,Hangup ; 
      
      







GorodOutは、SIPプロバイダーのアカウントです。



独裁者



 [prozvon-informer] exten => 2222,1,Answer ;  exten => 2222,n,Wait(3) ; 3  exten => 2222,n,Background(announcement) ;  announcement exten => 2222,n,Hangup ; 
      
      







スクリプトを起動すると、指定されたテキストファイルが選択されます。このファイルには、リストの数字が1行に1つずつ含まれています。 このデータに基づいて、彼は特別な呼び出しファイルを作成し、アスタリスクによってこのファイルが取得される適切なディレクトリに配置します。 呼び出しファイルの詳細については、 こちらをご覧ください。



結果をどのように知るのですか? 非常にシンプル:



 SELECT * FROM cdr WHERE accountcode = 'autodialer';
      
      







また、ダイヤルアップが失敗した場合、この理由はCDRのuserfieldフィールドに詳細に示されます。



そして最後に:



第18条電気通信ネットワーク上で配信される広告(2008年10月27日の連邦法No. 179-FZにより修正)

2.通信ネットワークを使用して、選択手段を使用して広告を配信したり、人の参加なしに(または)加入者番号をダイヤルしたりすることは許可されません(自動ダイヤル、自動配信)。



All Articles