810 likes | 946 Views
VONTEL Introduction. Sam Chang K200/CCL/ITRI Samchang@itri.org.tw. Outline. VONTEL System Architecture Brief introduce each system modules VONTEL Server Application Call Server Protocol Adapter Call Server Design Concept VONTEL Call Model VONTEL Supported Device Types
E N D
VONTEL Introduction Sam Chang K200/CCL/ITRI Samchang@itri.org.tw
Outline • VONTEL System Architecture • Brief introduce each system modules • VONTEL Server • Application • Call Server • Protocol Adapter • Call Server Design Concept • VONTEL Call Model • VONTEL Supported Device Types • URL Address & Routing Mechanism • Virtual Device (VDN) Mechanism • VONTEL API Design • VONTEL SPI Design
VONTEL Architecture IP Network H.323 Gatekeeper PSTN Web Adm. Console H.323 Network Media Server IP Router Analog/T1/E1 10/100 Ethernet Switch PSTN Gateway POTS Phone H.323 Terminal (e.g. NetMeeting) Enterprise Router WLAN Access Point SIP Network VONTEL Server Station Gateway SIP Proxy Server Softphone ACD Supervisor/Agent Microsoft Messenger SIP Phone (e.g. Pingtel) PDA Softphone Analog Phone
VONTEL Version 1.0 Features • Enterprise grade IP-PBX • Rich Call Features • Up to 2,048 devices • BHCA: 60,000 • Multimedia IP Call Center Solution Platform • Advanced Skill-based Routing ACD System • Rich 3-party Call Control API • Support Voice / E-mail / Fax / and other media • Provide both proprietary & TAPI 3.0 compatible APIs • Converged Switch System • PSTN Interworking (Megaco Interworking) • SIP Interworking • H.323 Interworking • Inter-Switch Call Setup
VONTEL Version 1.0 Features • Media Server • Voice Play / Record • Fax Send / Receive • DTMF Generation / Detection • Advanced Multi-party Conference(up to 8 parties / wiretap / whisper) • Softphone • Full-Feature, Intelligent Softphone • PSTN Gateway • Support Analog FXO Interface • Support T1/E1 ISDN Primary Rate Interface • Web-based Online OA&M
Call Features • Call Features • Flexible Numbering Plan / Routing System • Call Waiting • Call Forwarding (Directly / Busy/ No Answer) • Call Transfer (Directly / Unattended / Attended) • Hold Call / Retrieve Call • Conference Call (include Wiretap / Whisper ) • Call Screening (black list / white list) • Speed Dialing • Camp Call / Auto Call Back • Pick up Call • Park Call / Unpark Call
Call Center Features • Automatic Call Distributor Features • Skill-based Routing • Each Agent has different levels of different skills • Each Distributing Call has different combination of skill requirement • VIP Calls • Agent can preview queued VIP calls and answer it first • Agent Free-sitting • Remote Agent • Agent can work at home with IP phone or Softphone • Multimedia Call Distributing • Provide interface for customized media like FAX, E-mail and on… • Outbound ACD • Provide interface for customized predict or preview dialing • Support Inbound / Outbound Blending
VONTEL Server • 提供VONTE API的COM/DCOM介面連接上層應用程式 • 提供TAPI Service Provider透過MS TAPI Server連接TAPI應用程式 • 提供VONTEL ACD Server提供自動話務分配功能 • 管理系統設定 • 管理Call Model與執行Call Control/Media Control動作 • 提供Megaco MGC功能,控制Media Gateway • 提供SIP UAC和UAS功能,控制SIP User Agent • 提供H.323 Gatekeeper功能,控制H.323 Terminal
VONTEL VoIP Clients • VONTEL PSTN Gateway • 提供Megaco Media Gateway功能,連接VONTEL Server • 提供Analog FXO介面連接PSTN • 提供T1 ISDN PRI介面連接PSTN • 提供E1 ISDN PRI介面連接PSTN • VONTEL Softphone • 提供Megaco Media Gateway功能,連接VONTEL Server • 透過PC語音卡提供聲音輸出與輸入 • 提供數位分機的加強功能 • VONTEL Media Server • 提供Megaco Media Gateway功能,連接VONTEL Server • 提供語音撥放與錄製能力 • 提供DTMF tone撥放與偵測能力 • 提供T.38 FAX發送與接收能力 • 提供多方通話與電話會議能力
VONTEL ACD & Other Clients • VONTEL ACD Agent • 透過DCOM與ACD Server連接 • 提供值機人員控制ACD Agent在ACD系統中的狀態 • VONTEL ACD Supervisor • 透過DCOM與ACD Server連接 • 提供值機人員控制ACD Agent在ACD系統中的狀態 • 監控ACD系統與其他值機人員的狀態 • VONTEL Web Administration • 使用一般Web Browser動態設定與監控VONTEL系統組態
VONTEL Server • Applications / Services • VONTEL OAM Pages • VONTEL Feature Server • VONTEL ACD Server • VONTEL TAPI Service Provider • Call Server • VONTEL Call Server • Protocol Adapters • VONTEL Megaco Protocol Adapter • VONTEL SIP Protocol Adapter • VONTEL H.323 Protocol Adapter VONTEL API VONTEL SPI
VONTEL Call Server • VONTEL Call Server • 負責管理系統設定 • 維護Call Model,執行Call Control 動作 • 透過VONTEL API與上層應用程式溝通 • 接受3-party call control / media control 命令 • 接受system configuration的查詢和修改 • 發出call model change notification事件 • 發出media I/O complete事件 • 發出system configuration change notification事件 • 透過VONTEL SPI與下層Protocol控制模組溝通 • 接受protocol adapter發出的事件 • 控制protocol adapter進行實體動作 • 負責啟動系統設定的各種Service Application模組 • 負責啟動系統設定的各種Protocol Adapter模組
VONTEL Protocol Adapters • Protocol Adapter共同特性 • 負責將Call Server傳來的控制命令轉換成VoIP protocol的訊息 • 將從網路上收到的VoIP Protocol訊息傳給Call Server處理 • VONTEL Megaco Adapter • 提供Megaco MGC功能,控制各種Media Gateway • PSTN Gateway / Station Gateway / Softphone / Media Server • VONTEL SIP Adapter • 提供SIP UAC和UAS功能,控制SIP User Agent • 提供SIP registrar功能,能讓SIP Phone成為系統分機 • VONTEL H.323 Adapter • 提供H.323 Gatekeeper功能,控制H.323 Terminal • 提供H.323 RAS功能,能讓H.323 Terminal成為系統分機
VONTEL Applications & Services • VONTEL Application • 透過VONTEL API與Call Server互動的應用程式 • VONTEL Service • 在Call Server中註冊登記的VONTEL Application • 在Call Server啟動時由Call Server自動呼叫執行 • VONTEL ACD Server • 是一個VONTEL Service • 提供Skill-based Routing自動話務分配功能 • 提供Inbound / Outbound電話分配功能 • 提供ACD Agent和Supervisor的控管功能 • VONTEL Feature Server • 是一個VONTEL Service • 透過Virtual Device提供進階的電話操作服務,包括: • 速撥、電話駐留、電話代接、自動回叫、監聽通話、密錄通話、話中插話 • 提供從話機控制話機設定的能力,包括: • 設定速撥、改變DND設定、改變轉接設定、改變話中插接設定
VONTEL Applications & Services (續) • VONTEL Web OAM Pages • 是一個VONTEL Application • 以ASP的方式與Web Server整合 • 使用VBScript/JavaScript 呼叫 VONTEL API 與接收事件 • 提供從網頁設定VONTEL系統參數 • 提供從網頁監控VONTEL系統狀態 • VONTEL TAPI Service Provider • 是一個VONTEL Service • 透過TSPI界面與TAPI Server溝通 • 提供基本的TAPI Call Control服務 • 提供基本的TAPI Call Center服務
Call Server Design Concepts • VONTEL Supported Device Types • 介紹VONTEL支援的各種protocol的device種類 • VONTEL Call Model • 介紹VONTEL所使用的,CSTA-based Call Model • 定義VONTEL可以處理的Call Model組合狀態 • URL Address & Routing Mechanism • 介紹VONTEL用來identify device的URL Address格式 • 介紹VONTEL所使用的Routing Table和運作方式 • Virtual Device (VDN) Mechanism • 介紹Virtual Device的概念和用途 • 介紹Feature Server如何利用Virtual Device的概念創造新的Feature
VONTEL支援的device種類 • VONTEL系統支援的VoIP protocol • Megaco, SIP, H.323 • VONTEL系統支援的device種類 • Megaco PSTN Trunk • Megaco POTS Phone • Megaco Softphone • Internal SIP Phone • External SIP Phone • Internal H.323 Phone • External H.323 Phone • Virtual Station Device (虛擬分機)
Device的種類和特性 • Megaco PSTN Trunk • 在Megaco PSTN Gateway上透過analog FXO或T1/E1 ISDN PRI連接PSTN網路的一個port。 • Megaco POTS Phone • 在Megaco Station Gateway上透過analog FXS連接的類比電話機。 • Megaco Softphone • Megaco Softphone – 在個人電腦上執行,使用Megaco protocol並提供數位電話(key-phone)功能的軟體電話。 • Internal SIP Phone • Internal SIP Phone – 使用SIP protocol,並且透過SIP registrar在系統中註冊登記,視為系統內線的SIP Phone。 • Internal H.323 Phone • Internal H.323 Phone – 使用H.323 protocol,並且透GK在系統中註冊登記,視為系統內線的H.323 terminal。
Device的種類和特性(續) • External SIP Phone • 使用SIP protocol,但是未在系統中註冊登記,視為系統外線的SIP Phone。 • External SIP Phone Device會隨需要(當外部SIP撥入或系統外撥至外部SIP Phone時)由系統動態產生消滅 • External H.323 Phone • 使用H.323 protocol,但是未在系統中註冊登記,視為系統外線的H.323 terminal。 • External H.323 Phone Device同樣是隨需要動態產生消滅 • Virtual Station Device • 虛擬分機設備,只存在邏輯的call model中,只能透過VONTEL API來操作,但可以和其他是實體設備互動。 • 作為VoIP Service的進入點
Device的表示方式 • 邏輯的Device表示方式 (Device ID) • 與protocol特性無關,在call model和application層使用 • 所有類型的device都可以用此種方式表示 • Device GUID: 絕對唯一的表示方式,由系統配置,不可改變 device:{C5419FFF-F561-4711-947B-FFA8CD4E00B4} • Device Number: 由使用者設定,可以動態改變或不設定 • <DN> ::= (0-9|#|*)+ device:12312 • Device Alias: 由使用者設定,可以動態改變或不設定 • <DA> ::= (a-z | A-Z | _ | - ) ( 0-9 | a-z | A-Z | _ | - )* device:samchang • 對於靜態device,都具有Device GUID/Number/Alias • 對於動態device (external SIP/H.323)只有Device GUID
Device的表示方式(續) • 實體的Device表示方式 (Device ID) • 與protocol的特性相關,在protocol adapter層中使用 • 各種不同的device的表示方式不同 • Megaco Protocol • 使用media gateway的profile name作為MGID,對應動態IP環境 • 使用靜態IP或domain name來表示media gateway的位置 • 表示media gateway上的一個terminal megaco:TermID@MGID megaco:TermID@140.96.102.113或 megaco:TermID@host.domain • 表示整個media gateway (只在register device時使用) megaco:MGID megaco:140.96.102.113 或 megaco:host.domain
Device的表示方式(續) • SIP Protocol • SIP device有分internal和external兩種,以@後面的address來分別 • Internal SIP phone device • sip:{C5419FFF-F561-4711-947B-FFA8CD4E00B4}@here • sip:12321@here • sip:samchang@here User part的部分可以是device GUID/number/alias • External SIP phone device • sip:yyyyy@there Address part的部分不是call server的位置都視為external SIP device • sip:140.96.102.113或 sip:host.domain 以raw address的方式表示的SIP address都視為external SIP device
Device的表示方式(續) • H.323 Protocol • H.323 device也有分internal和external兩種 • Internal H.323 Phone • h323:{C5419FFF-F561-4711-947B-FFA8CD4E00B4} • h323:12321 • h323:samchang 以alias的方式表示的,都視為internal H.323 device,‘alias’的實際內容可以是device GUID/number/alias。 • External H.323 Phone • h323:140.96.102.113 or h323:host.domain 以raw address表示的,一律視為external H.323 device
VONTEL Call Model • Call Model: 描述device/connection/call之間整體狀態的表示法
VONTEL Call Model的組成 • Device物件表示的是一個邏輯上的電話終端 • 它可以是一個Station Gateway上的分機、一個Soft-phone、一個PSTN Gateway上的外線、SIP phone、H.323 phone、或者是一個沒有實體存在的虛擬分機。Device物件的表示方式是URL Address • Call物件表示的是在一個至多個device之間的關係 • Call所代表的概念相當於是一個session,連在一個call上的device就是在這個session中的party。 • Call物件是用系統自動產生的唯一的GUID格式的call id字串來表示 • Connection物件所表示的是一個device物件和call物件之間的關係 • 如果一個device加入某一個call中,則會有一個connection存在這兩者之間,用來表示此device是這個call的一個party。 • 而connection上會有一個狀態來表示這個device和這通call的關係,以及它在這通call中所扮演的角色。
VONTEL Call Model的組成 (續) • Connection物件 • 一個call和一個device之間最多只會有一個connection物件,但是一個device可以有多個connection,一個call也可以有多個connection。 • connection物件的表示方式是以它所連接的device和call物件的名稱組合來表示,如connection (D1, C1) 表示在device D1和call C1之間的connection。 • 從整體的Call Model來看,device只有在系統動態加入或刪除device的時候才會發生改變。 • Call則是會不斷的隨著需要生成和消滅,call id是由系統自行配置的 • Connection也是會隨著device和call之間的關係動態的生成消滅
Call Model 的狀態 • 在Call Model的定義中,connection是唯一具有基本狀態的物件,Connection包含以下的幾種狀態: • Null: 視同該connection不存在,僅發生於connection剛建立的時候,這個狀態會立刻轉換成其他的狀態。 • Initiated: 表示這個connection正在等待命令的狀態,對於內線device來說用來表示device收到dial tone的狀態。對於外線device則表示有電話撥入尚未連接到其他device前的狀態。 • Alerting: 表示和這個connection正在嘗試連接相連的device。對於內線device來說表示該分機正在震鈴中。對於外線device來說表示該外線正在撥打PSTN的過程中。 • Connected:表示這個connection所連接的device和call目前在連接的狀態下。 • Failed: 表示這個connection的call和device有一個嘗試通話失敗的狀態。 • Held: 表示這個connection的device保留了這通call。
Call Model 的狀態(續) • VONTEL Call Model是透過device、call、connection以及connection的狀態來定義call model整體狀態。 • 這個call model提供了以下的資訊,D1目前保留了和D3的通話C2,同時正在打電話給D2中。D2仍在震鈴中,尚未接聽D1的電話。D3還沒有掛上電話,正在聽著保留音樂。D1正在等D2接起電話,正在聽著ring-back tone。 右圖是一個VONTEL Call Model的例子, 其中D1, D2, D3表示device物件,C1,C2表 示call物件,device物件和call物件之間的 連線表示connection物件,connection物件 上的字則表示connection目前所在狀態, c表示connected、h表示held、a表示alerting。 c a D1 C1 D2 h c C2 D3
Call Model的組合限制 • 在沒有限制的情況下,call model的組合方式將會是無限多種。 • 話機的每個動作或者API裡的每個命令,在不同的call model狀態下都可能會有不同的行為。 • 舉例來說,當分機在震鈴的時候拿起話筒和沒有震鈴的時候拿起話筒,這兩者的行為相同,但是由於狀態不同,其代表的意義和要進行的動作就完全不同。 • 我們定義了所有合法的call model組合方式。在VONTEL系統中所有的Call Control API和電話行為都保證會在本節定義的call model組合中。 • VONTEL Call Model所允許的call model組合在VONTEL的操作下,會形成一個封閉的系統,所有的call model組合的不會超出VONTEL Call Model所定義的範圍。
i D1 C1 從Call的角度限定Call Model • 當call物件只有連接一個connection物件的時候,只有一種合法的call model組合方式: • Initiated: 這種狀態只會發生在Megaco內線設備和PSTN Trunk設備上。對於內線設備D1從idle狀態拿起電話時,系統撥出dial-tone通知D1可以開始播號。這時就會建立一個initiated Call。 或是D1在與D2通話中保留目前通話C1時,系統也會建立一個新的call C2,並撥放dial-tone通知D1可以撥叫另一個設備。這時也會建立一個initiated Call。 i D1 C1 h c C2 D3 當PSTN trunk device收到一個inbound call,如果沒有DID或指定的inbound target,系統也會產生一個initiated call並對外線撥放default prompt等待outside user輸入digits。
a f c c D1 D1 C1 C1 D2 D2 從Call的角度限定Call Model(續) • 當一個call物件擁有兩個connection的情況下,會有以下5種可能的組合: • Connected – Alerting: • Connected – Failed: 這種情況發生在D1打電話給D2,或D1將一個現有的connected Call C1轉接給D2的時候發生。 在這種狀態下,D1會撥出ring-back tone表示等待對方回應,D2會在震鈴中表示有電話撥入。 這種情況發生在D1撥號給D2而D2震鈴未應答愈時,或者是D2在開始震鈴後選擇拒絕接聽電話。 在這種狀態下,D1會撥出busy tone表示播號失敗,D2則沒有任何影響。 對於連接失敗的電話,以failed connection的方式表示,而不以刪除整個call物件的方式表示的理由,是當電話轉接失敗進入Connected – Failed的情況時,我們仍有機會將call再轉接到其他的device或做一些進一步的處理。如果我們直接刪除該call物件,那就遺失call物件上的一些資料,而且沒有機會做進一步的失敗處理了。
c h c c D1 D1 C1 C1 D2 D2 從Call的角度限定Call Model(續) • Connected – Connected: • Connected – Held: 這是最常見的一種狀態之一,表示D1和D2正在通話中。在這種狀態下,如果D1和D2都是實體話機,兩者的RTP channel就會傳送彼此的語音。如果D1和D2有一端是虛擬話機,實際的RTP 就延遲到有attach media的時候才建立,以節省媒體伺服器上的資源使用。 這種狀態表示的是D2保留D1的電話。D1會聽到hold music表示目前被保留。而D2如果只有一個held connection的話,D2也會撥放hold music。 如果D2目前有其他的connected或initiated connection的話,D2的動作會以其他的connection為準。例如說如果D2有一個initiated connection的話,D2會撥放dial tone表示準備接受命令。 VONTEL Call Model不允許hold一個已經被保留的call,所以不會有兩邊都在held狀態的held – held call發生。 h c D1 C1 D2 i C2 h c D1 C1 D2 i c D3 C2
Connection狀態 限制條件 Connected 1 ~ 8個 總和3~8個 Held 0或1個 不可同時 存在 Alerting 0或1個 Initiated 0個 Failed 不限 從Call的角度限定Call Model(續) c c D1 C1 D2 • Conference Call h 右圖表示的是一個conference call C1,其中D1,D2正在通話中。D3是暫時保留這通call,正準備透過C2邀請D4加入conference。 i C2 D3 c c D1 C1 D2 h c c D4 C2 D3 D1 D2 c c C1 c c D4 D3 VONTEL系統最多支援8方通話。所以對於一個conference call而言最多只能有8個connection。在conference call中所有的connected connection上的設備都會處在互相通話的狀態下,不論是否有其他的held connection或alerting connection,這些設備都不會聽到hold music或ringback tone。
近端Connection狀態 限制條件 Connected 0或1個 不可同時存在 總和0~2個 Initiated 0或1個 Alerting 0或1個 Held 0 ~ 2個 Failed 不限 從Device的角度限定Call Model • Device連接connection的限制會因為device的類型不同而有很大的不同 • Megaco Device • 對於任何實體設備,最多只能有一個connected或initiated connection。而兩者也不能同時存在 • 當只有一個held connection時,可以和initiated或connected connection同時存在。 • 在device支援話中插接的情形下,alerting connection可以和connected connection同時存在,device可以先hold原有的connected connection再answer alerting connection。但是alerting和其他種類的connection不能同時存在。
近端Connection狀態 限制條件 Connected 0或1個 不可同時存在 總和0~2個 Initiated 0或1個 Alerting 0或1個 Held 0 ~ 2個 Failed 不限 從Device的角度限定Call Model(續) • SIP Device • SIP device包括在系統中註冊的內線SIP Phone和在系統中沒有登記的外線SIP Phone。VONTEL對這兩種SIP Phone的支援和Megaco Device相同。 • VONTEL系統對於SIP和Megaco的支援是完整的,除了某些VoIP protocol先天的限制之外,所有Call Control API的操作都支援SIP和Megaco的device。 • SIP device上的initiated connection只會在3rd-party call control的控制下產生,並且不會對應到撥放dial-tone的狀態,保留initiated connection是為了對應用程式相容性的考量。
近端Connection狀態 遠端Connection狀態 限制條件 Initiated Null 0或1個 不可同時存在 Connected Alerting 0或1個 Connected Failed 0或1個 Connected Connected 0或1個 Alerting Connected 0或1個 Failed Connected 不限 從Device的角度限定Call Model(續) • H.323 Device • H.323 device包括在系統中註冊的內線H.323 Terminal和在系統中沒有登記的外線H.323 Terminal現階段VONTEL對於H.323的支援只限於H.323 terminal,不支援GK-to-GK • 功能上僅限於Make Call、Answer Call和Drop Call。不支援conference功能。 • 在之前所列的各種call model中,它們僅支援以下幾種連接狀態。而且除了不具實際影響的failed connection之外,一次只允許一個connection連接在這種device上。
近端Connection狀態 限制條件 Connected 管理者設定的上限 Initiated 不限 Alerting 不限 Held 不限 Failed 不限 從Device的角度限定Call Model(續) • Virtual Device • Virtual device是一個沒有實體的device,它只存在call model中並且只能用API加以控制。它在call model中的彈性最高,除了管理上的設定限制外,所有狀態的connection都沒有任何同時存在的限制條件。 • Virtual device允許多個connected connection存在同一個device上。但是由於virtual device沒有實體存在,所以對於各個connected connection上media的I/O必須透過VONTEL Media Control API來進行
Dial Address • Dial Address – 表示撥號或轉接對象的方式 • Device ID當然是一種Dial Address,但是Dial Address的表示方式不有device ID • Dial Address和device的表示方式都是用URL address的方式表示 • Hunting Group – 自動跳號群組 • 不是真正的device,只能在 dial address 中出現 • 與device類似,都具有GUID/number/alias,也不可和其他device重複 • device:{XXXX-XXXX….} • device:18888 • device:operator • 表示從一群device中選一個閒置中的device • 選擇順序的演算法 • First-Available / Round-Robin • Hunting Group的種類 • 分機群組 – 由多個分機組成, 如總機群組 (可以直接使用) • PSTN外線群組 – 由多個trunk device組成, 限制PSTN外撥路由 (必須配合pstn address使用)
Dial Address(續) • PSTN Address • 表示要透過PSTN trunk device外撥到PSTN其他對象的電話 • 可以用E.164 international或localization的方式表示 • pstn:+88635912312 (E.164) • pstn:0800000123 (localization) • 可以指定要使用那個trunk device或trunk group 如果沒有指定的話會由系統自行選擇(方法後述) • pstn:+88635912312;trunk=TK01 (指定trunk device) • pstn:+88635912312;group=TGA (指定trunk group) • 指定pstn外撥電話接通後要送出的DTMF digits 主要用來直撥分機號碼或執行固定的IVR流程 • pstn:+88635910000;sub-dial=12312
Routing Table • Routing Table • VONTEL的Routing Table有兩種 • Digits Routing Table – 將電話使用者原始輸入的按鍵內容,轉換成真正的device • PSTN Routing Table – 將原始的pstn address轉換成PSTN Trunk所在地localized address • Raw Digits • 在 dial address 表示必須經過digits routing table轉換的內容 • digit:12312 (直撥分機) • digit:05914499 (撥pstn local) • digit:00287730600 (撥pstn 長途) • digit:#47# (enable 勿干擾功能) • 每個分機或pstn trunk device都可以指定不同的routing table
Digits Routing Table的結構 • VONTEL的Routing Table借用Megaco Digitmap和perl字串處理的概念 • Matching Pattern去掉大括號就是標準的Megaco digitmap格式 • 比對成功後大括號的內容會至換掉 Translation Pattern 中的 $1, $2, … • digit:12312 device:12312 • digit:05789232 pstn:+88635789232 • digit:00287730600 pstn:+886287730600
PSTN Address與trunk的選擇 • 撥號者會因為自已的所在地不同,而有不同的PSTN撥號方式 • 在新竹的打新竹的電話不會加上03 • 新竹打台北的電話會加上02 • 新竹打美國的電話會加上002或005… • 透過撥號者的Routing Table作轉換 • Ex: digit:00287730600 pstn:+886287730600 • 同一個PSTN位置會因為PSTN trunk device的位置不同,而有不同的撥號方式 • 隨著PSTN trunk device所在地不同,pstn address必須經過localization的處理 • 系統如果在新竹和台北都有PSTN GW,打到台北的電話應該選擇從台北的PSTN trunk device撥出,才會節省 • 透過trunk device的PSTN Routing Table作轉換 • Ex: pstn:+886287730600 device:TK-TPE01;dial=87730600
PSTN Routing Table的結構 • PSTN Routing Table和Digits Routing Table的結構和運作方式完全相同 • 每個PSTN trunk device都可有自己的PSTN routing table設定 • 比對matching pattern,以translating pattern置換結果,並傳回routing cost • Routing cost和caller的PSTN privilege level相比,檢查caller是否有權限撥出此電話。 • pstn:104;trunk=TK01 device:TK01;dial=104 • pstn:+88635912312;trunk=TK01 device:TK01;dial=5912312 • pstn:+1203456789;trunk=TK01 device:TK01;dial=002203456789
如何為PSTN Address選擇最佳trunk • 將PSTN Routing Table相同的trunk設定為trunk group • 在Digits Routing Table中選定trunk group • Sample: 在新竹、台北、美國有PSTN GW • 分別設定trunk group為TG-HC,TG-TP,TG-US,並另外設定TG-TW為TG-HC和TG-TP的集合
Dial Address格式整理 • device: • Device GUID – device:{C5419FFF-F561-4711-947B-FFA8CD4E00B4} • Device number – device:12312 • Device alias – device:samchang • Station group GUID – device:{9F83129D-3812-4311-9B31-CC8D2572125A} • Station group number – device:18888 • Station group alias – device:operator • pstn: • E.164 Global PSTN電話號碼 – pstn:+88635912312 • 不分區域的電話號碼–pstn:0800000123 • digit: • 使用者直接輸入,未經過轉換前的DTMF字串 • Ex: digit:#47* • Ex: digit:12312 • Ex: digit:05912312
Dial Address格式整理(續) • sip: • 外部SIP URL,位在Call Server以外位址的URL – sip:arlenechen@nthu.edu.tw • 內部SIP URL,device alias加上Call Server位置 – sip:samchang@itri.org.tw device:samchang • 內部SIP URL,digits加上Call Server位置 – sip:12312@itri.org.tw digit:12312 device:12312 • h323: • 外部H.323位置,以IP address或domain name address表示 – h323:140.96.102.113 • 內部H.323位置,以device alias表示 – h323:samchang device:samchang • 內部H.323位置,以digits表示 – h323:12312 digit:12312 device:12312 • megaco: • 不可使用在dial address中,只能用在protocol adapter層
Dial Address中的系統參數整理 • no-forwarding • device:12312;no-forwarding • 表示不使用內線設備的direct-forward和busy-forward設定 • no-callwaiting • device:14499;no-callwaiting • 表示不使用話中插接的功能,如果被叫端處於忙線狀態,不考慮對方是否允許話中插接,直接進行忙線後續的處理。 • group = <trunk group> • pstn:+886287730600;group=TG-TP • 只有pstn protocol使用,<trunk group> 表示PSTN Trunk Group的group GUID/number/alias。 • 表示此通電話要從指定的trunk group中選擇可用的trunk device外撥 • trunk = <trunk device> • pstn:+886287730600;trunk=TK-TP02 • 只有pstn protocol使用,<trunk device> 表示PSTN Trunk Device的device GUID/number/alias。 • 如果dial string原本含有此參數,表示此通電話要從指定的trunk device外撥。
Dial Address中的系統參數整理(續) • pstn = <original pstn address> • device:TK-TP02;pstn=+886287730600 • 只有pstn trunk device使用,<original pstn address>用來表示在經過PSTN routing table轉換前pstn protocol所表示的原始pstn address。 • dial = <localized pstn address> • device:TK-TP02;pstn=+886287730600;dial=87730600 • 只有pstn trunk device使用,<localized pstn address>用來表示在經過PSTN routing table轉換後的localized pstn address。 • sub-dial = <DTMF sequence> • pstn:+886287730600;sub-dial=1301 • device:TK-TP02;pstn=+886287730600;dial=87730600;sub-dial=1301 • <DTMF sequence>表示pstn撥號接通後,再送出的DTMF按鍵內容。 • cost = 0-9 • device:TK-TP02;pstn=+886287730600;dial=87730600;cost=3 • 只有pstn trunk device使用,以0-9的值表示該通外撥電話的成本。