「ファックス」なしのFreeswitchでのファックス

ゼロ年の前半、インターネットと電子メールが小さな都市でも広く普及し、スキャナーに「電子メールで送信」ボタンが表示された後、私はファックスを鉱物のカテゴリーのアナログモデムであると考えました。

しかし、私の不幸なことに、会計士は、「エグゼクティブ」と「一般」によって供給され、ファックス機に最大の愛を持っていました。 アナログ回線の一般的な状態を考慮すると、当時の「悪いFAX」の呼び出しはサービスデスクチケットの全体像を台無しにし、ドキュメントを送信するこの技術に対する私の愛はまったくありませんでした。

2006年以来、私のプロジェクトでは、「意思決定者」のための洗脳ツールを使用したビジネスプロセスからアスタリスクまたはアバイアを使用し始めました。まれに、前述の会計用にアナログ回線を1つ残しました。

2012年、設計時に顧客はサイトから電話をかけることができる必要がありました。 WebRTCについて読みましたが、気に入らなかったので、Skypeを止めました。 安定したゲートとしてのFreeswitchの決定は、すでに多くの人々によって解決されており、アスタリスクについてはもはや面白くありませんでした。

実装後、地方会計の提出により、ファックスに関する質問が生じました。 このプロジェクトはアナログ回線を提供しませんでした。 私たちは、「少なくともアポイントメントについて」決定に相談し、同意しました。

「コンピューターテレフォニー」でのファックス用に特別に開発されたプロトコル

T.38 私の場合、予算のサポートにより追加の機器の予算はありませんでしたが、地元のロステレコムからは返事がありませんでした。 G.711コーデックを使用し、すぐにドキュメントをファイルに受信するという決定に落ち着きました。



追加されたダイヤルプランで:



<extension name="fax"> <condition field="destination_number" expression="^fax$"> <action application="answer"/> <action application="playback" data="silence_stream://2000"/> <action application="rxfax" data="/opt/freeswitch/fax/${strftime(%Y-%m-%d-%H-%M-%S)}-${caller_id_number}.tiff"/> <action application="hangup"/> </condition> </extension>
      
      







Freeswitchには、 トーン検出音声セッション全体でFAXトーンを分析する機能があり、次のように記述して使用します。



  <action application="tone_detect" data="fax 1100 r +5000 transfer fax XML default"/>
      
      







音声挨拶応答の直後。 Sambaを介してファイルフォルダーをネットワークに配布しました。 顧客は、主任会計士の人で、通常の装置なしでの実装に不満でしたが、紙にお金を節約する利点に反して、彼女は議論で反対の議論を表現できませんでした。 簿記、「新しい技術」を研究する方法は残っていません。



物語の論理的な継続は、ファックスを送信する緊急の必要性でした。 Webインターフェイスを使用してHylafaxで作業することは、顧客にとって不可能な作業だと思いました。 ドキュメントを仮想プリンターに印刷するというアイデアは素晴らしかったが、受信者の番号を入力するには送信者の追加のアクションが必要でした。 組織のビジネスプロセスには特定のリポジトリへのドキュメントのスキャンが含まれていたため、タブレットとドックを備えたいくつかのジョブがありました。 スキャナーを使用し、tiff形式も使用したため、最小の抵抗で次のスキームを実装できると判断しました。 送信されるドキュメントは、ファックスを送信するためのSambaリソース上のtiffファイルにスキャンされます。フォームの名前は8923XXXXXX.tiffで、拡張子の前のファイル名は受信者の番号です。



送信用のスクリプトは次のとおりです。



 send_fax.sh #/bin/bash #    # Send FAX script # Aleksey Ovchinnikov 2012 +7 913   find /home/fax/*.tif -printf "%f\n" | while read fname do mydate=$(date +%Y-%m-%d_%H-%M-%S) /usr/bin/convert -page Letter -density 204x98 -resize 1728!x1186 -units pixelsperinch -monochrome -compress Fax /home/fax/${fname%} /op t/freeswitch/fax/./$mydate"_"${fname%} rm /home/fax/${fname%} /opt/freeswitch/bin/fs_cli -x "originate sofia/gateway/rt/${fname%.*} &txfax(/opt/freeswitch/fax/./$mydate"_"${fname%})" done
      
      







適切な設定でドキュメントをスキャンするとエラーが発生することがあり、スクリプトを書き直し、ImageMagickを使用してファイルの変換を強制する必要がありました。



質問を除外するには、「FAXは送信されましたか?」ダイヤルプランに次の拡張子を追加しました。



 <extension name="send_fax"> <condition field="destination_number" expression="^205$"> <action application="export" data="api_hangup_hook=system /opt/freeswitch/scripts/send_fax.sh"/> <action application="answer"/> <action application="playback" data="/opt/freeswitch/sounds/ru/RU/elena/___.wav"/> <action application="hangup"/> </condition> </extension>
      
      






All Articles