単純なものから複雑なものへのアスタリスク

エントリー


こんにちは 記事を書くために、私は知識を部下に移す必要性から促されました。部下はすでにアスタリスクの仕事を詳しく調べていたはずです。
プラットフォームに興味があることに気付いたとき、私は非常に満足していましたが、trixboxなどの拍手で熱意が止まったときに途方に暮れました。

生活を楽にするアスタリスクのアドオンに反対するものは何もありませんが、コンソールをライブで見なかった世代のアスタリスク管理者がすぐに現れると思います。

私の記事の目的は、仕事を加速する最小限のスクリプト言語を使用して実行できる追加のアドオンなしで、アスタリスク自体が美しいことを示したいという欲求です。 求職者や新しいことを学びたい人に、システムのニュアンスと微妙さを人々に見せたいです。

アスタリスクとは


機能と機能を説明するアスタリスクに関する多くの記事があります。 初心者は最も重要なことを知る必要があります-初期段階(トレーニングとして)で、アスタリスクは電話に関連するタスク、またはほぼすべてのタスクを実行できます。
アスタリスクの使用には固有の多くの不便さまたは制限がありますが、システムに慣れる過程でそれらを排除しようとします。
また、高負荷のシステムをアスタリスクで構築することは非常に難しいことを理解する価値があります。これには他の解決策があります。
簡単にするために、同時呼び出しの数が100を超えないシステムでアスタリスクを使用することをお勧めします。

どこから始めるか


ハブでアスタリスク検索クエリの結果の10ページを正直に見て、私は最初からやり直さなければならないことに気づきましたが、熱狂的でした。 インストールについては説明しませんが、アスタリスクの構造と作業時に必要なものについて説明します。 アスタリスク1.8について説明しますが、原則はアスタリスクのすべてのバージョンで機能します。

システム構成


アスタリスクは、他のアプリケーションと同様に、構成ファイルに基づいて機能しますが、その構成ファイルはかなり多数あります。 正直なところ、私はまだ設定の半分の役割を知りません。 初期段階の作業では、sip.confおよびextensions.confファイルに保存されている設定を知って理解する必要があります。 標準インストールでは、すべての設定ファイルは/ etc /アスタリスク/に保存されます。

Sip.confファイル

このファイルには、SIPプロトコル、NAT設定、コーデック、および最も重要なアカウントの基本パラメーターの説明が含まれています。 後で、データベースにアカウントを保存する方法について説明します。

デフォルトのsip.conf構成では、アカウントが登録されていれば、アスタリスクを開始でき、すべてのインターフェースで着信接続をリッスンしながら機能します。

sip.confには3種類のアカウントがあります。
-ユーザー
-ピア
-友達(ユーザー+ごちそう)

ピアとユーザーの両方の機能をすべて兼ね備えているため、ほとんどの場合、アカウントを友人として設定します。

簡単なサンプルアカウントは次のようになります。

[1001]; ピアの名前。将来的には呼び出しのルールを処理するために使用します。ログインとの一致はオプションです
type = friend; アカウントの種類
host = dynamic; 異なるIPアドレスからのログインを許可する
ユーザー名= 1001; ユーザー名
秘密= 1234; パスワード
コンテキスト=デフォルト; 彼についての文脈
disallow = all; すべてのコーデックを禁止する
allow = alaw; G.711aコーデックの解決(alaw)

このようなレコードは、ユーザーパラメータ1001とパスワード1234で新しいサーバーに登録するのに十分です。

sip.confファイルの一番下に1001と1002という名前の2つのエントリを作成します。

Extensions.confファイル

このファイルは、システムに表示される音声トラフィックを処理するためのルールを記述しているため、Asteriskシステムの重要なファイルです。 静的ルーティングテーブルのようなものです。 後でデータベースにデータを保存することについて説明します。

ファイル構造は非常に単純です:
-グローバルパラメータは、変数を含めてファイル内に書き込まれます
-次に、ファイルはコンテキストに分割され、それぞれが独自のライフを持​​ち、各コンテキスト内の呼び出しの操作のルールは独自のものにすることができます。

コンテキストは、通話の動作と、一部のユーザーグループとその通話を他のユーザーグループから分離することを区別するために必要です。 コンテキストを使用すると、独自のルールとユーザー(仮想マシンのアナログ)を使用して、1つのシステム内に多くのサブシステムを作成できます。

コンテキストは[TITLE OF CONTEXT]と呼ばれます。
コンテキスト構造は次のとおりです。

exten =>マスク、注文、アクション
どこで
MASK-数値のマスク、または静的に指定された数値
ORDER-特定のMASKの手順(アクションの可能なシーケンス)
ACTION-このルールの呼び出しの場合にシステムによって実行されるコマンド。

テストユーザーはデフォルトのコンテキストで作成されます。したがって、単にアスタリスクを起動して任意の番号に電話をかけると、アスタリスクのテストデモメニューを聞くことができます。

extensiond.confを編集用に開き、[default]で検索を行い、次の行[default]の後にローカルコールルールを大胆に紹介します。

静的ルール:
exten => 1001.1、ダイヤル(SIP / 1001)
exten => 1002.1、ダイヤル(SIP / 1002)

動的ルール:
exten => _XXXX、1、Dial(SIP / $ {EXTEN}); ここでXは、メソッドについて、任意の番号がダイヤルされることを示しています。 マスク(拡張子)の作成-後で。

これらのルールにより、テストユーザー間でローカルコールを行うことができます。

最後に:サーバーコンソールの操作


サーバーは、ルートの下のアスタリスクコマンド、または/ usr / sbin /アスタリスクによって起動されます。
コンソールに入るには、ルートの下からアスタリスク-rまたは/ usr / sbin / asterisk -rを入力する必要があります(以降、便宜上、アスタリスクを使用します。これは、サーバーの実行可能ファイルを操作することを意味します)。

Asteriskがコンソールから設定を再読み込みするには、リロードするだけです。

宿題

1.市内電話をかけます。
2. sip.confおよびextensions.confにある構成例に精通します。
3.ブックマークに追加www.voip-info.org/wiki/view/Asterisk

ご清聴ありがとうございました。

フィードバックとコメントをありがとうございます。
この記事は、アスタリスクを学び始め、生活を楽にすることを目的とした人々を対象にしています。 将来的には、単純なものから複雑なものまで共通の開発ラインを維持しながら、すべてのコメントを考慮し、希望に応じて新しい記事を作成および作成したいと考えています。
批判を受けるのは良いことです、私は試みます、そして不正確な場合には修正します。
ありがとう

Source: https://habr.com/ru/post/J122898/


All Articles