位址
位址的概念是大部分通訊作業的核心。 位址代表網路上的位置。 位址的本機指派通常會在服務提供者的安裝期間進行,但稍後可以修改。 如需相關程式的詳細數據,請參閱Microsoft供應服務提供者的作系統資源套件,以及非Microsoft產品的服務提供者檔。
單一位址可由一個以上的線路裝置共用。 不同的交換器廠商對此概念有不同的名稱,例如位址橋接、多個外觀目錄號碼(MADN),或橋接外觀。 共用位址的來電會在與地址相關聯的所有行上提供。 如需 TAPI 辨識的組態描述,請參閱 LINEADDRESSSHARING_ 常數。
位址本身是識別網路上位置的字串。 在電話網路的情況下,位址是具有國家或國際代碼的電話號碼。 如果網路是以IP為基礎,則位址可能是IP位址。 如需 TAPI 定義的位址類型,請參閱 LINEADDRESSTYPE_ 常數。 服務提供者可以定義其他地址類型。
Address-Related 功能和訊息
不同的位址有不同的特性、功能和狀態。 服務提供者是這類資訊的來源。 TAPI 的裝置查詢功能和狀態和事件報告機制可讓應用程式提供管理地址的資訊。
應用程式會藉由處理 TAPI 的事件或使用查詢作業來取得這項資訊。 這可讓應用程式考慮因素,例如指定的位址是否支援特定功能,例如 駐留。
TAPI 2.x: 應用程式呼叫 lineGetAddressCaps 函式,以判斷每個地址的電話語音功能,然後在 LINEADDRESSCAPS 數據結構中接收此資訊。 同樣地,應用程式可以呼叫lineGetDevCaps lineGetDevCaps,以判斷指派給該行的位址數目,以及其他資訊。
TAPI 3.x: 應用程式會使用 位址物件介面 來取得位址功能和事件的相關信息。
將電話號碼儲存在電子通訊簿中
許多使用者選擇從通訊簿中選取其名稱,以撥打人員、傳真機、布告欄和其他實體。 撥打的實際號碼取決於使用者的地理位置,以及連線到線路裝置的方式。 例如,桌面計算機可以存取兩行,一行連線到 PBX,另一行連接到電話公司的中央辦公室。 對同一方進行呼叫時,可能必須使用不同的號碼。 (例如,若要透過 PBX 撥通,計算機可能需要撥打 「9」 前置詞才能取得外部線路,或透過中央辦公室撥打的電話可能需要不同的前置詞。或者,即使從不同位置或電話語音環境呼叫,使用者也可以從可攜式電腦撥打電話,並且想要使用單一靜態通訊簿。 TAPI 的地址翻譯功能可讓使用者通知電腦通話的目前位置和所需的線路裝置。 TAPI 接著會處理任何撥號差異,不需要變更使用者的通訊簿。 應用程式會使用 位址轉譯,將位址從 標準位址 格式轉換為可撥號位址 格式。
相關主題是處理國際通話進度監視,這是接聽聽聽音的過程,如撥號音調、特殊資訊音調、忙碌訊號和迴響音,以判斷通話的 狀態(其通過網路的進展)。 由於通話進度音的頻率和頻率會因國家或地區而異,因此服務提供者必須知道進行國際撥出通話時所要遵循的通話進度。 因此,應用程式會在撥出呼叫時指定目的地國家或地區代碼。
標準位址
標準位址格式的目的是要成為通用常數目錄編號。 因此,通訊簿中的數位最好使用標準格式儲存。
下列詳細數據涉及被視為正式地址的專案。
標準電話位址是具有下列結構的文字字串:
+ CountryCode Space [(AreaCode) Space] SubscriberNumber | Subaddress ^ name CRLF...
下表說明此結構的元件。
元件
意義
+
相當於十六進位 2B。 指出其後面的數位會使用標準格式。
CountryCode
大小不一的字串,包含一或多個數位 「0」 到 「9」 (十六進位 30 到 39,包含)。 CountryCode 是以下列 Space 分隔。 它會識別位址所在的國家或地區。
空間
只有一個空格字元(十六進位 20)。 它用來分隔位址 CountryCode 部分的結尾。
AreaCode
大小不一的字串,包含零或多個數位 「0」 到 「9」 (十六進位 30 到 39,包含)。 AreaCode 是位址的分區代碼部分,而且是選擇性的。 如果區域代碼存在,則其前面必須正好加上一個左括號字元 (28),後面緊接著一個右括號字元 (29) 和一個空格字元 (20)。
SubscriberNumber
大小不一的字串,包含一或多個數位 「0」 到 「9」 (十六進位 30 到 39,包含)。 它也可能包含其他格式化字元,包括可撥號位址格式中所述的任何撥號控制字元:
字元
十六進位編碼
! #
$
*
,
?
@
ABCD
P
T
W
abcd
p
t
w
21 23
24
2A
2C
3F
40
41-44
50
54
77
61-64
70
74
79
訂閱者編號不應包含左括弧或右括號字元(僅用來分隔區域代碼),也不應包含 “|”、“^” 或 CRLF 字元(用來開始下列字段)。 最常見的是,訂閱者號碼中的非數位字元只會包含空格、句號(“.”),和破折號(“-” )。 lineTranslateAddress 函式傳回的 DialableString 省略任何出現在訂閱者號碼中的允許非digit 字元,但會保留在 displayableString 中。
|
十六進位 (7C) 。 如果存在此選擇性字元,則後續信息會接著到下一個 + |^ CRLF,或標準位址字串的結尾,會被視為子地址資訊,如同 ISDN 子位址。
Subaddress
包含子位址的可變大小字串。 字串是以 + 分隔 |^ CRLF 或位址字串的結尾。 在撥號期間,子位址資訊會傳遞至遠端合作物件。 它可以是ISDN子位址或電子郵件地址等專案。
^
十六進位 (5E) 。 如果存在這個選擇性字元,則後續資訊會處理到下一個CRLF,或標準位址字串結尾會被視為ISDN名稱。
名稱
處理為名稱資訊的可變大小字串。 名稱是以CRLF或標準位址字串結尾分隔,而且可以包含其他分隔符。 在撥號期間,名稱資訊會傳遞至遠端合作物件。
CRLF
十六進位 (0D) 後面接著 Hex (0A),是選擇性的。 如果存在,則表示另一個標準數位會遵循此數位。 它用來分隔多個標準位址做為單一位址字串的一部分(反向多任務處理)。 例如,Microsoft Corporation 主交換器電話號碼的正式表示法為:
+1 (425) 882-8080
可撥號位址
可撥號位址格式是將位址傳遞至處理電話號碼的服務提供者的格式。 下列詳細數據涉及電話網路上的可撥號位址。
可撥號號碼格式允許一次提供多個目的地位址。 如果服務提供者藉由設定對每個指定目的地的呼叫,然後將資訊串流當成單一高頻寬媒體串流,提供某種形式的反向多任務處理,這項功能就很有用。 應用程式會將此通話群組視為單一通話,因為它只會收到代表個別通話匯總的單一通話句柄。
您也可以在應用層級支援反向多任務處理。 若要這樣做,應用程式會設定一系列的個別呼叫,並同步處理其媒體串流。
Subaddressing 是在 ISDN 線路上提供的功能,可讓撥打時只使用單一電話號碼以外的更多資訊。 這項額外資訊可以指定要撥打的個別電話擴充功能,或在計算環境中,要警示的特定應用程式。 其他參數可以描述要求連接的必要層面,例如速率和時間。
如果服務提供者支援子位址,應用程式會在傳遞至任何需要一項作業的位址中包含此專案。
可撥號的電話號碼包含部分尋址資訊,而且本質上是部分導覽。 任何開頭不是以 「+」 字元開頭的輸入字串,都假設不是標準格式,因此會採用可撥號的位址格式,而且會傳回至未修改的應用程式。 可撥號位址是具有下列結構的文字字串:
DialableNumber | subaddress ^ Name CRLF ...
下表提供此結構的元件。
元件 | 意義 |
---|---|
DialableNumber | 數位和修飾詞 0-9 A-D * # , ! W w p p T t @ $ ? ;以分隔符 |^ CRLF 或可撥號位址字串的結尾。 加號 (+) 是可撥號字串中的有效字元。 它表示電話號碼是完整的國際號碼。 在 DialableNumber內,請注意下列定義: 0-9 A-D *# 對應至 DTMF 和/或脈衝數位的字元。 |
! | 十六進位 (21)。 表示要插入撥號字串中的勾點 (一半秒 onhook,後面接著一個半秒的 offhook,然後再繼續)。 |
P p | 十六進位 (50) 或十六進位 (70)。 表示脈衝撥號用於其後面的數位。 |
T t | 十六進位 (54) 或十六進位 (74)。 表示音調 (DTMF) 撥號是用於後面的數位。 |
, | 十六進位 (27)。 表示要暫停撥號。 暫停的持續時間是裝置專屬的,可以從該行的裝置功能擷取。 多個逗號可用來提供較長的暫停。 |
W w | 十六進位 (57) 或十六進位 (77)。 大寫或小寫 W 表示撥號只有在偵測到撥號音之後,才應該繼續撥號。 |
@ | 十六進位 (40) 。 表示撥號是在撥打可撥號地址的其餘部分之前,先「等候無訊息回應」。 這意味著等待至少一個迴響音後面接著幾秒鐘的沉默。 |
$ | 十六進位 (24)。 表示撥打帳單資訊是等候「賬單訊號」(例如信用卡提示音)。 |
? | 十六進位 (3F) 。 表示在繼續撥號之前,會提示使用者。 提供者實際上不會進行提示,但存在 “?” 會強制提供者拒絕字串無效,並提醒應用程式需要將其分成片段,並提示使用者。 |
; | 十六進位 (3B)。 如果放在部分指定可撥號位址字串的結尾,表示可撥號號碼資訊不完整,稍後將提供更多地址資訊。 只有在位址的 DialableNumber 部分中,才允許 “;” 元件。 |
| | 十六進位 (7C),是選擇性的。 如果存在,則後續資訊會遵循到下一個 + |^ CRLF,或可撥號位址字串的結尾會被視為子位址資訊(如同 ISDN 子位址)。 |
Subaddress | 包含子位址的可變大小字串。 字串是以下一個 + 分隔符 |^ CRLF 或位址字串的結尾。 撥號時,子位址資訊會傳遞至遠端合作物件。 它可以用於ISDN子地址、電子郵件位址等等。 |
^ | 十六進位 (5E), 是選擇性的。 如果存在,則會將後續資訊處理到下一個 CRLF 或可撥號位址字串的結尾視為 ISDN 名稱。 |
名稱 | 處理為名稱資訊的可變大小字串。 名稱是以CRLF或可撥號位址字串的結尾分隔。 撥號時,名稱資訊會傳遞至遠端合作物件。 |
CRLF | 十六進位 (0D) 後面接著 Hex (0A)。 如果存在,這個選擇性字元表示另一個可撥號號碼遵循此號碼。 它用來分隔多個可撥號位址做為單一位址字串的一部分(用於反向多任務處理)。 |
地址轉譯可用來將位址從標準格式轉譯為可撥號格式。