自宅でのアスタリスクの実用化

店内の多くの同僚のように、私は自宅で小さなネットワークを構築しました。 そして、もちろん、新しいテクノロジをテストするための一種のブリッジヘッドであるホームサーバーがあります。 定期的に、静かな夜からポッドキャストの単調なつぶやきまで、新しい面白いものを選ぶという考えが私に来ます。 sip-telephonyサービスの開始に関するプロバイダーのアナウンスにより、私はvoipに向かうようになりました。 興味深く、有望な方向。 そんなことがあるように思えます-私はソフトフォンを、さらに良いことに鉄のすすり口を取り付けて、人生を楽しんでいます。 しかし、これが、エンジニア、システム管理者、プログラマーの道をたどって選択した道です(必要なものに下線を引いてください)。 独自のVoIPサーバーを配置し、 ボイスメールを切断して、誰も電話に出られないときに美しい女性の声で電話に応答できるようにする方がはるかに興味深いでしょう。 もちろん、選択はアスタリスクにかかっていました





配布インストール



ホームサーバーはFreeBSDを実行しています 。 すべての手順とパスは、このオペレーティングシステムに適用されます。 実際、わずかな労力で、すべてがアスタリスクを実行できるプラットフォームに完全に適応します。



むかしむかし、ソースからアスタリスクをインストールしました。 私は問題が何であったか覚えていません、それはポイントではありません。 アセンブリには複雑なものはありません。 今回は、ポートシステムを使用せずに使用しました。



cd /usr/ports/net/asterisk

make install clean








コンフィギュレーターにデフォルトですべてを残しました。 すべてが問題なく集まった。 予想どおり、構成は/ usr / local / etc / asterisk /にあります。 そして、いつものようにそれらの少数はありませんでした。 実際、必要なのはそのうち3つだけです。



自動実行デーモンについて忘れないでください。

echo 'asterisk_enable=”YES”' >> /etc/rc.conf







構成



プロバイダーはsip-telephonyサービスを提供します。 直接の都市番号を提供します。 参照条件に従って、サーバーはプロバイダーのサーバーに自動的に登録し、プロバイダーからの着信の場合は、内部電話にルーティングする必要があります。 内部電話は、SIPを介して鉄のゲートウェイを介してサーバーに接続されている通常の電話です。 誰も電話に出ない場合、音声メッセージを失い、発信者に音声メッセージを残すように申し出ます。



「ローカル」電話から呼び出す場合は、プレフィックスを使用してプロバイダーにアクセスします(最も馴染みのあるオプションとして9で停止しました)。 番号をダイヤルするとき(私の場合は777、ボイスメールメニューに入ります)。 接頭辞なしで「都市へ」出口を作ることは可能でしたが、私の計画ではsipnet.ruに接続し、それを通して都市間および国際的な目的地を使用します。 確かに、あなたが真実に直面した場合、私の地元のプロバイダーのサービスは有用です、それは直接の都市番号と市内の格安通話です。



構成に戻ります。

すべての接続は、SIPプロトコルを使用して行われます。 sipを使用したAsteriskの操作に関するすべては、ファイル/usr/local/etc/asterisk/sip.confに記述されています。



[general]

videosupport=no

useragent=boorhomepbx

register=<_username>:<_password>@<_server_address>/200



[100]

type=friend

host=dynamic

username=100

secret=

language=ru

nat=no

canreinvite=no

context=home

mailbox=200@default

disallow=all

allow=ulaw

allow=alaw

deny=0.0.0.0/0

permit=192.168.0.0/24



[ext-out]

type=peer

context= extrnl

username=username

secret=<_password>

host=server_address

dtmf=inband

nat=yes

canreinvite=no

insecure=invite,port

fromuser=<_username>

fromdomain=<_server_address>

authname=<_username>

authuser=<_username>








100は市内電話です

ext-outはプロバイダーです

_username-プロバイダーに登録するためのユーザー名

_password-プロバイダーに登録するためのパスワード

_server address-プロバイダーサーバーアドレス



次の行に注意することが重要です。

register=<_username>:<_password>@<_server_address>/200







ここでは、プロバイダーに登録するようサーバーに指示し、着信コールの場合、200の内線番号にそれを送信(コール)します。



まさに(完全に適切リトニマックスとして推奨されるように)、拒否/許可ディレクティブを使用する習慣を身に付ける価値があります。 彼らが言うように、神は救います。



次に、サーバーが着信呼び出しで何をする必要があるかを知るように、ダイヤルプランを構成する必要があります。 Dialplanは、/ usr / local / etc / asterisk / extensions.confファイルで構成されます。



[home]

exten => 777,1,VoiceMailMain(300)

exten => _9.,1,Dial(SIP/ext-out/${EXTEN:1},30,r)



[extrnl]

exten => 200,1,Dial(SIP/100,20,Ttr)

exten => 200,2,Playback(vm-nobodyavail)

exten => 200,3,Voicemail(200@default)

exten => 200,n,Hangup








ここには、homeとextrnlの2つのコンテキストがあります。 1つ目は「ローカル」コー​​ルに使用され、2つ目は「外部」コールを取得します(sip.confのコンテキストオプション)。

家には2行しかありません。 1つ目は、777をダイヤルしてボイスメールメニューを表示することを許可します(これについてはさらに扱います)。

2行目はやや複雑です。 ここで、プレフィックス9の番号をダイヤルしようとすると、最初の文字(プレフィックス)は自動的に破棄され、残りの番号はプロバイダーを変更せずにマージされます。



extrnlプレフィックスでは、拡張子200を記述します。sip.confのregisterオプションを覚えておいてください。 実際、ここでは、まず、SIP / 100サブスクライバーに電話をかけています-これはローカル電話( exten => 200.1、ダイヤル(SIP / 100.20、Ttr) )で、20秒以内に誰も電話を受け取らない場合、音声メッセージを再生します( exten => 200.2、再生(vm-nobodyavail) )、発信者をボイスメールに転送します( exten => 200.3、ボイスメール(200 @デフォルト) )。 最後のアクションは「電話を切ります」。

ディストリビューションの標準サウンドファイルを使用します。 これらは、独自のものに置き換えることができます。



次に、ボイスメールを処理する必要があります。 ファイル/usr/local/etc/asterisk/voicemail.confがこれを担当します。



[general]

format=wav49|gsm|wav

serveremail=asterisk

attach=yes

skipms=3000

maxsilence=10

silencethreshold=128

maxlogins=3

emaildateformat=%A, %d %B %Y at %H:%M:%S

mailcmd=/usr/sbin/sendmail –t

sendvoicemail=yes



[zonemessages]

eastern=America/New_York|'vm-received' Q 'digits/at' Imp

central=America/Chicago|'vm-received' Q 'digits/at' Imp

central24=America/Chicago|'vm-received' q 'digits/at' HN 'hours'

military=Zulu|'vm-received' q 'digits/at' HN 'hours' 'phonetic/z_p'

european=Europe/Copenhagen|'vm-received' adb 'digits/at' HM



[default]

; + e-mail

; = , _, , _

200 = 123, Incoming , email@me.com, attach=yes








[一般]セクションでオプションを示します。名前はそれを表しています。 [デフォルト]では、サブスクライバーのメールボックスについて説明します。 200のボックスを持つ1人のサブスクライバがあります。extension.confからのexten => 200.3、ボイスメール(200 @デフォルト)を覚えていますか?



これらは、稼働システムを取得するための最小設定です。 監視、デバッグ、およびサーバー管理は、アスタリスク-rコマンドによって呼び出される対話型コンソールを通じて実行できます。



一般に、アスタリスクの可能性は本当に無限です。 先ほど言ったように、いくつかのVoIPプロバイダーに登録して、最も経済的に有利な方向に通話をルーティングできます。 特定のエリアの可用性を自動的に追跡できます。 呼び出し時に標準のビープ音の代わりにリュシェチェクから純粋に、いくつかの美しいメロディーを台無しにすることができます。 これは、自宅でフリーランサーとして働いているときに手に負えます。



さらに進むと、携帯電話をねじ込むことができます。 これを行うには、gsmプロバイダーからのSIMカード(番号への無制限の呼び出しが望ましい)とsip-gsmゲートウェイが必要です。 鉄またはソフトウェア。 ソフトウェアからはwww.sipgsm.ruしか知りません 。 私の意見には1つの大きな欠点があります-それは窓の下でのみ機能します。 そのため、テスト期間中は非常に安定して機能しました。 これは、アスタリスクでgsmを取得する方法の問題です。 それでは、キューを設定してください-あなたは常に連絡しています。 着信コールでは、最初の加入者(自宅の固定電話)に電話をかけます。誰も電話をかけない場合は、gsmゲートウェイを介して携帯電話に電話をかけます。 想像力を働かせれば、携帯電話から市中に一口プロバイダーの料金で行く機会を得ることができます。 一般的に、ここでこれをキャッチできます。これは非常に怖いです。 すべてはあなたの想像力によってのみ制限されます。



参照:


プロジェクト公式ページ

ロシア語のアスタリスク

ロシア語の資料

アスタリスク知識ベース

質問-アスタリスク:質問と回答

ATSデザインブログ

アスタリスク-voip-info.org



All Articles