2つのアスタリスクサーバーを接続する方法(パート2。IAX2)

画像

初心者のアスタリスクコドフのための記事。

したがって、アスタリスクが2つあります。

タスクは、IAX2で前後にプレフィックスを介して直接ダイヤルを整理することです。

ソースデータ:

両端にアスタリスク1.4

1. samara.asterisk.ru-最初のアスタリスクの外部DNS名。

2. kazan.asterisk.ru-2番目のアスタリスクの外部DNS名。 いくつかのプロバイダー(kazan2.asterisk.ru、kazan3.asterisk.ruなど)を用意します。



地域の自動車コードに目を向けます。

その後、サマラからのダイヤルアップは9-16- <番号>になります。

カザン9-63- <番号>から。



手始めに、サーバー間での相互作用に関して、IAX2がSIPと比較してどのように優れているかを理解することをお勧めします。



アスタリスクに直接インターネット接続があるかどうかは関係ありません。 主なことは、UDPポート4569を転送することです。

前の記事で、SIP通信を実装する方法を説明しました。 今度はIAX2の番です。 さらに、このプロトコルはこのために作成されました。



別の側面は、適切なコーデックの使用です。 個人的な経験から、G729は最適です。 module load codec_g729.soコマンドを使用して、インターネット上で検索し、CLIインターフェイスのアスタリスクにダウンロードできます。



iax.conf 1st(Samara)アスタリスク

[general]

disallow=all

allow=g729

allow=gsm

allow=alaw

allow=ulaw

bindaddr=0.0.0.0

calltokenoptional = 0.0.0.0/0.0.0.0

delayreject=yes



jitterbuffer=yes



register => samara:password4samara@kazan.asterisk.ru

register => samara:password4samara@kazan2.asterisk.ru

register => samara:password4samara@kazan3.asterisk.ru



; see tips in www.voip-info.org/wiki/view/Asterisk+config+iax.conf

[guest]

type=user

host=dynamic



; for incoming

[kazan]

type=friend

qualify=yes

auth=md5

trunk=yes

username=kazan

secret=password4kazan

host=dynamic

context=office_rules









1番目(サマラ)アスタリスクのextensions.conf

...

[office]

exten => _916.,1,Set(CALLERID(all)="Samara (num ${CALLERID(num)}) <63>")

exten => _916.,n,NoOp(${CALLERID(all)})

exten => _916.,n,Dial(IAX2/samara:password4samara@kazan/${EXTEN:3},60,tT)

exten => _916.,n,HangUp

...



include => office_rules



[office_rules]

exten => _[12]XX,1,Dial(SIP/${EXTEN},60,tT)

exten => _[12]XX,n,HangUp









2番目(カザン)アスタリスクのiax.conf

[general]

disallow=all

allow=g729

allow=gsm

allow=alaw

allow=ulaw

bindaddr=0.0.0.0

calltokenoptional = 0.0.0.0/0.0.0.0

delayreject=yes



jitterbuffer=yes



register => kazan:password4kazan@samara.asterisk.ru



; see tips in www.voip-info.org/wiki/view/Asterisk+config+iax.conf

[guest]

type=user

host=dynamic



; for incoming

[samara]

type=friend

qualify=yes

auth=md5

trunk=yes

username=samara

secret=password4samara

host=dynamic

context=office_rules









2番目(カザン)アスタリスクのextensions.conf

...

[office]

exten => _963.,1,Set(CALLERID(all)="Kazan (num ${CALLERID(num)}) <16>")

exten => _963.,n,NoOp(${CALLERID(all)})

exten => _963.,n,Dial(IAX2/kazan:password4kazan@samara/${EXTEN:3},60,tT)

exten => _963.,n,HangUp

...



include => office_rules



[office_rules]

exten => _[12]XX,1,Dial(SIP/${EXTEN},60,tT)

exten => _[12]XX,n,HangUp









いくつかのコメント。

1.外部加入者にとって、内部番号のみに電話をかける機会を与えることは非常に重要です。

オフィスのコンテキストは、オフィスユーザーに対して説明する必要があります。同じ場所で、都市や都市間への通話を説明できます。

office_rulesコンテキストは外部サブスクライバーに使用されます-内部番号(1または2で始まる3桁の番号)の呼び出しのみを許可します。

2.電話をかけるとき、デザインが使用されます。

Dial(IAX2/login:password@iax-account/...)







一番下の行は、私たちがiax-accountに登録できるサーバー上で許可を得て呼び出しているということです。 SIPと同様に、複数の登録ディレクティブを指定できます。

3.この例では、オフィス内でSIPを介して接続されたクライアントが使用されています。

4. iax2 show registryコマンドを使用して、IAX2の登録を表示します。

5.アスタリスクがNATの背後にある場合。 たとえば、発信トラフィックのプロバイダーを決定するには、個別のIPアドレス(たとえば、192.168.4.5-1つのプロバイダー、192.168.14.5-別のプロバイダー)を使用し、ゲートウェイはプロバイダーに基づいてIPアドレスに転送されます。



この場合、登録を機能させるには、アスタリスクのピアの説明に追加する必要があります。

ソースアドレス= 192.168.4.5

ソースアドレス= 192.168.14.5

現在のバージョンのこの設計により、複数のプロバイダーで1つのピアを複数登録できます。 つまり 大まかに言えば、「このようなIPアドレスを持っている」と何度か言う機会があります。



iax2 show registry:

ホストdnsmgrユーザー名の更新状態

155.15.75.270:4569 N peer1 72.255.69.78:4569 60登録済み

92.14.191.35:4569 N peer1 72.255.69.78:4569 60登録済み



All Articles