(原文連結)
IP-PBX Asterisk 使用 IAX 互連設定~總整理
Author: A-Lang ( itblog.itview.com.tw )
藉由不同的 IP-PBX 系統相互連接可以擴大聯絡網的分機群,這也經常被應用在不同建築物的公司內部分機群之間的連接或跨國分公司與總公司的的內部聯繫等需求。
透過 Asterisk Boxes 之間的相互連接信任設定,除了可與對方群內的任一支分機互通外,也可經由對方的 Trunk 作撥出及撥入的動作,等同原屬兩不同的通訊網絡整合為一個。
以下是使用 FreePBX 作為主要設定的介面工具,設定方法有四種,每一個方法都各自有不同的優缺點及特性,選擇時應視實際的使用情況來決定合適的方法。
環境介紹:
==========================================================
MainOffice(System 1) BranchOffice(System 2)
--------------------------------------------------------------------------------------------
網路位址 def.com.au xyz.com.au
--------------------------------------------------------------------------------------------
分機號碼 7001 - 7009 6001-6009
--------------------------------------------------------------------------------------------
通訊協定 IAX2 IAX2
==========================================================
【方法一:使用 Peer 型式的分機】
特點:
- 主機的設定比其他方式複雜
- 兩主機需各自新增專屬的分機號,用以對方註冊連接
- 來電時無法顯示對方主機的分機號碼及名稱
- 因為設定較為繁複,所以安全性相對較高
Trunk 設定
| | System 1 def.com.au | System 2 xyz.com.au |
| IAX Trunk | | |
| Outgoing Dial Rules: | XX. | XX. |
| Trunk Name | BranchOffice | MainOffice |
| Peer Details | host=xyz.com.au (or System 2 IP) secret=xxxyyy type=peer username=91000 | host=def.com.au (or System 1 IP) secret=xxxyyy type=peer username=90000 |
| User Context | Leave blank | Leave blank |
| User Details | Leave blank | Leave blank |
| Register String | 91000:xxxyyy@xyz.com.au | 90000:xxxyyy@def.com.au |
注意:
註冊一直無法成功時,仍然可以運作,除非你使用 Dynamic IP。選擇此法,儘可能兩主機都使用固定 IP 位址。
Extensions 設定
| | System 1 | System 2 |
| Extensions | | |
| Phone Protocol | IAX | IAX |
| Extension Number | 90000 | 91000 |
| Extension Password | xxxyyy | xxxyyy |
| Fullname | BranchOffice | Main Office |
| Voicemail & Directory | Disabled | Disabled |
注意:分機的密碼要與 Trunk 的設定一樣, 分機號要與 Trunk 上的 username 一樣。這裡的分機僅作為與對方互連之用,不可用來接 IP-Phone。
Outbound Route 設定
| | System 1 | System 2 |
| Outbound Routing | | |
| Route Name | BranchOffice | MainOffice |
| Route Password | Leave Blank | Leave Blank |
| Dial Patterns | 6XXX (6001 to 6009 are Parramatta Office extensions) | 7XXX (Apart from Local extensions, all others go via City Office) |
| Trunk Sequence | IAX2/Parramatta | IAX2/MainOffice |
【方法二:用 Peer/User 模式 】
特點:
- 無須註冊及新增分機號
- 不像方法一,這個可以正確顯示來電的分機號碼及名稱。
- 設定步驟比較簡單。
=> Trunk 設定
| | System 1 def.com.au | System 2 xyz.com.au |
| IAX2 Trunk | | |
| Outgoing Dial Rules: | Leave Blank | Leave Blank |
| Trunk Name | InterOffice | InterOffice |
| Peer Details | host=xyz.com.au (or System 2 IP) Qualify=yes type=peer | host=def.com.au (or System 1 IP) Qualify=yes type=peer |
| User Context | InterOffice-In | InterOffice-In |
| User Details | context=from-internal host=xyz.com.au (or IP) type=user | context=from-internal host=def.com.au (or IP) type=user |
注意:
兩主機的 Trunk Name 與 User Context 必須是一樣的名稱。
=> Outbound Route 設定
| | System 1 | System 2 |
| Outbound Routing | | |
| Route Name | InterOffice | InterOffice |
| Route Password | Leave Blank | Leave Blank |
| Dial Patterns | 6XXX (6001 to 6009 are Parramatta Office extensions) | 7XXX (Apart from Local extensions, all others go via City Office) |
| Trunk Sequence | IAX2/InterOffice | IAX2/InterOffice |
【方法三:用 Friend/Friend 模式 】
特點:
- 相較以上幾種方法,這個的設定是最簡單
- 如同方法二,毋需註冊及新增分機號,來電時也可正確顯示對方的分機號碼及名稱
- 安全性最低,建議在內部網路或 VPN 等私有網路架構下使用
=> Trunk 設定
| | System 1 def.com.au | System 2 xyz.com.au |
| IAX2 Trunk | | |
| Outgoing Dial Rules: | 6XXX | XX. |
| Trunk Name | InterOffice | InterOffice |
| Peer Details | host=xyz.com.au (or System 2 IP) Qualify=yes type=friend | host=def.com.au (or System 1 IP) Qualify=yes type=friend |
| User Context | | |
| User Details | | |
注意:
Type 要設成 Friend,且 Trunk Name 要設定相同的名稱。
=> Outbound Route 設定
| | System 1 | System 2 |
| Outbound Routing | | |
| Route Name | InterOffice | InterOffice |
| Route Password | Leave Blank | Leave Blank |
| Dial Patterns | 6XXX (6001 to 6009 are Parramatta Office extensions) | 7XXX (Apart from Local extensions, all others go via City Office) |
| Trunk Sequence | IAX2/InterOffice | IAX2/InterOffice |
【方法四:綜合方法一與方法二 模式 】
特點:
- 不同於方法一&二,這個可在 Flash Operator Panel(FOP) 正確顯示 Trunk-IN 及 Trunk-Out 的燈號顯示
- 毋需註冊及新增分機號,來電時也可正確顯示對方的分機號碼及名稱
- 安全性會比方法三好一點
=> Trunk 設定
| | System 1 def.com.au | System 2 xyz.com.au |
| IAX2 Trunk | | |
| Outgoing Dial Rules: | | |
| Trunk Name | ToSystem2 | ToSystem1 |
| Peer Details | host=xyz.com.au (or System 2 IP) Qualify=yes type=peer username=insystem2 | host=def.com.au (or System 1 IP) Qualify=yes type=peer username=insystem1 |
| User Context | insystem1 | insystem2 |
| User Details | context=from-internal host=xyz.com.au (or IP) type=user secret=1234 | context=from-internal host=def.com.au (or IP) type=user secret=1234 |
注意:
- Trunk 內的 username 必須與另一台主機的 User Context 名稱一樣
- User Details 內的 secret 必須與另一台主機的 User Details 的 secret 相同
=> Outbound Route 設定
| | System 1 | System 2 |
| Outbound Routing | | |
| Route Name | CallSystem2 | CallSystem1 |
| Route Password | Leave Blank | Leave Blank |
| Dial Patterns | 6XXX (6001 to 6009 are Parramatta Office extensions) | 7XXX (Apart from Local extensions, all others go via City Office) |
| Trunk Sequence | IAX2/ToSystem2 | IAX2/ToSystem1 |
【方法五:】
Main Office)
FreePBX > Trunks > Add IAX2 Trunk
[system2-inter]
type=friend
host=xyz.com.au
trunk=yes
disallow=all
allow=ulaw
qualify=yes
context=from-trunk
Branch Office)
FreePBX > Trunks > Add IAX2 Trunk
[system1-inter]
type=friend
host=def.com.au
trunk=yes
disallow=all
allow=ulaw
qualify=yes
context=from-trunk