配置電話以進行設定檔重新同步

電話支援適用於擷取組態檔的多個網路通訊協定。 最基本的設定檔傳輸通訊協定是 TFTP (RFC1350)。 TFTP 廣泛用於私人 LAN 網路內的佈建網路裝置。 雖然不建議部署跨網際網絡的遠端端點,但 TFTP 對於小型企業內的部署來說相當方便,既適合內部預先佈建,又利於開發和測試。 在下列程序中,從 TFTP 伺服器下載檔案後會修改設定檔。

1

在 LAN 環境中,將電腦和電話連接到集線器、開關或小型路由器。

2

在電腦上安裝並啟動 TFTP 伺服器。

3

使用文本編輯器建立組態檔。

如要於稍後驗證設定檔是否已佈建到電話,您可以將部份的值設定為標記。 例如,如下列例子所示來設定 GPP_A to 12345678 的值。
<flat-profile>
  <GPP_A> 12345678
  </GPP_A>
</flat-profile>
4

將 XML 組態檔儲存到 TFTP 伺服器的根目錄。

您可以驗證 TFTP 伺服器的設定是否正確:使用 TFTP 用戶端 (而非電話) 請求組態檔。 最好從佈建伺服器使用在個別主機上執行的 TFTP 用戶端。

5

在電腦上的 Web 瀏覽器,開啟管理網頁。 例如,假設電話的 IP 位址是 192.168.1.100,則請在 Web 瀏覽器開啟以下 URL:

http://192.168.1.100/admin/advanced
6

選擇語音 > 佈建標籤,然後透過 GPP_P 檢查一般用途參數 GPP_A 的值。 這些值應為空白。

7

在 Web 瀏覽器中開啟重新同步 URL,將測試電話重新同步到您建立的組態檔。

範例:

如果 TFTP 伺服器的 IP 位址是 192.168.1.200,指令碼應該與以下範例類似:

http://192.168.1.100/admin/resync?tftp://192.168.1.200/basic.txt

當電話收到此指令碼時,位於 192.168.1.100 的裝置會從 IP 位址為 192.168.1.200 的 TFTP 伺服器請求組態檔 basic.txt。 然後,電話將剖析下載的檔案,並將 GPP_A 參數的值更新為 12345678。

8

驗證參數是否已正確更新。 重新整理管理網頁並前往語音 > 佈建

GPP_A 參數現應包含值 12345678。

1

從產品標籤獲取電話的 MAC 位址。 (MAC 位址是使用數字以及小寫十六進制數字的號碼,例如 000e08aabbcc。

2

將組態檔重新命名為 CP-xxxx macaddress.cfg (以型號取代 xxxx 並以電話的 MAC 位址取代 macaddress)。

範例:

CP-8875 000e08aabbcc.cfg

3

移動 TFTP 伺服器虛擬根目錄中的新檔案。

4

存取電話管理網頁。

5

選擇語音 > 佈建

6

設定檔規則欄位輸入設定檔檔案的路徑。

例子:假設 TFTP 伺服器 IP 位址為 192.168.1.200,而設定檔檔案名稱為

<Profile_Rule>
tftp://192.168.1.200/CP-8875$MA.cfg
</Profile_Rule>
7

按一下提交所有變更。 這樣便會即時重新啟動並重新同步。

下次重新同步時,電話會將 $MA 宏指令運算式擴展到其 MAC 位址,從而擷取新檔案。

1

在本機電腦或其他可存取主機上安裝 HTTP 伺服器。

可從網際網路下載開放源碼 Apache 伺服器。

2

將組態檔檔案上傳到已安裝伺服器的虛擬根目錄。

3

如要驗證正確的伺服器安裝程序以及設定檔檔案的存取權,請使用 Web 瀏覽器開啟設定檔。

4

將測試電話的 Profile_Rule 改為指向 HTTP 伺服器 (而非 TFTP 伺服器),從而定期下載其設定檔。

例如,假設 HTTP 伺服器位於 192.168.1.300 且設定檔檔案名稱為 basic.txt,請輸入以下的值:

<Profile_Rule>http://192.168.1.200/basic.txt</Profile_Rule>
5

按一下提交所有變更。 這樣便會即時重新啟動並重新同步。

6

查看電話傳送的系統記錄訊息。 定期重新同步現在應會從 HTTP 伺服器獲取設定檔。

7

在 HTTP 伺服器記錄中,觀察標識測試電話的訊息可如何顯示在使用者代理的記錄中。

此訊息應包括製造商、產品名稱、目前韌體版本和序號。

裝置可以定期重新同步到佈建伺服器,以確保在伺服器上進行的設定檔更改會傳播到端點裝置 (而非將明顯的重新同步請求傳送到端點)。

如要使電話定期重新同步到伺服器,使用 Profile_Rule 參數定義組態檔 URL,並使用 Resync_Periodic 參數定義重新同步週期。

1

存取電話管理網頁。

2

選擇語音 > 佈建

3

定義 Profile_Rule 參數。 本例子假設了 TFTP 伺服器 IP 位址為 192.168.1.200。

4

重新同步週期欄位中,輸入較小的值以作測試,例如 30 秒。

5

按一下提交所有變更。

使用新的參數設定,電話便會以每分鐘 2 次的頻率,重新同步至 URL 所指定的組態檔。

6

觀察系統記錄追蹤的結果訊息。

7

確保重設時重新同步欄位設定為

<Resync_On_Reset>Yes</Resync_On_Reset>
8

重啟電話以強制其重新同步到佈建伺服器。

如果出於任何原因重新同步操作失敗,例如伺服器不回應,裝置在重試重新同步之前需等待 (重新同步錯誤重試延遲中設定的秒數)。 如果重新同步錯誤重試延遲設定為 0,電話便不會在失敗後再次嘗試重新同步。

9

(可選) 將重新同步錯誤重試延遲欄位的值設定為較小的數值,例如 30

<Resync_Error_Retry_Delay>30</Resync_Error_Retry_Delay>
10

停用 TFTP 伺服器並查看系統記錄輸出中的結果。

在電話網頁中的語音 > 佈建下方的組態檔區段,下表界定了設定檔重新同步參數的功能與使用情況。 表格還界定了電話組態檔 (cfg.xml) 中所新增的字串語法,其中包含用於配置參數的 XML (cfg.xml) 代碼。

表格 1. 設定檔重新同步參數

參數

描述

佈建啟用

允許或拒絕組態檔重新同步操作。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Provision_Enable ua="na">Yes</Provision_Enable>
  • 在電話網頁上,將此欄位設定為,以允許重新同步操作,或設定為以阻止重新同步操作。

預設值:是

重設時重新同步

指定在啟動後和每次嘗試升級後,電話是否與佈建伺服器重新同步設定。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Resync_On_Reset ua="na">Yes</Resync_On_Reset>
  • 在電話網頁上,將此欄位設定為以允許在啟動或重設後重新同步,或設定為以阻止在啟動或重設後重新同步。

預設值:是

重新同步隨機延遲

防止佈建伺服器在大量裝置同時接電且嘗試初始組態時,出現超載情況。 此延遲僅在裝置接電或重設後嘗試初始組態時有效。

該參數是裝置在與佈建伺服器聯絡之前,要等待的最長時間間隔。 實際延遲是介於 0 和此值之間的偽隨機數字。

此參數以 20 秒為單位。

有效值介於 0 到 65535 之間。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Resync_Random_Delay ua="na">2</Resync_Random_Delay>
  • 在電話網頁上,為電話指定單位數(20 秒),以便在啟動或重設後延遲重新同步。

預設值為 2 (40 秒)。

重新同步時間 (HHmm)

電話與佈建伺服器重新同步的時間 (HHmm)。

此欄位的值必須為介於 0000 到 2400 之間的四位數字,以 HHmm 格式表示時間。 例如,0959 年表示 09:59。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Resync_At__HHmm_ ua="na">0959</Resync_At__HHmm_>
  • 在電話網頁上,以 HHMM 格式指定電話開始重新同步的時間。

預設值為空白。 如果值無效,該參數會被忽略。 如果此參數設定為有效值,則重新同步週期參數會被忽略。

隨機延遲重新同步

防止佈建伺服器在大量裝置同時接電時出現超載情況。

為避免來自多部電話的大量重新同步請求湧入伺服器,電話的重新同步範圍介於小時和分鐘,以及小時、分鐘加上隨機延遲之間 (hhmm, hhmm+random_delay)。 例如,如果隨機延遲 = (隨機延遲時重新同步 + 30)/60 分鐘,以秒為單位輸入的值會轉換為分鐘,四捨五入計入下一分鐘以計算最終的 random_delay 間隔。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Resync_At_Random_Delay ua="na">600</Resync_At_Random_Delay>
  • 在電話網頁上,以秒為單位指定時段。

有效值介於 600 到 65535 之間。

如果值小於 600,則內部隨機延遲介於 0 到 600 之間。

預設值為 600 秒 (10 分鐘)。

重新同步週期

與佈建伺服器定期重新同步的時間間隔。 僅在第一次成功同步伺服器後,相關重新同步計時器才會啟動。

有效格式如下所示:

  • 一個整數

    範例:輸入 3000 即表示下次重新同步將在 3000 秒後發生。

  • 多個整數

    範例:輸入 600、1200、300 即表示第一次重新同步將在 600 秒後發生,第二次重新同步將在第一次重新同步之後的 1200 秒後發生,第三次重新同步將在第二次重新同步之後的 300 秒後發生。

  • 時間範圍

    範例:輸入 2400+30 即表示下次重新同步將在重新同步成功後的 2400 到 2430 秒之間發生。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Resync_Periodic ua="na">3600</Resync_Periodic>
  • 在電話網頁上,以秒為單位指定時段。

此參數設定為零,以停用定期重新同步。

預設值為 3600 秒。

重新同步錯誤重試延遲

如果因為電話無法從伺服器擷取設定檔而導致重新同步操作失敗,或者下載的檔案已損壞或發生內部錯誤,電話將在指定的時間 (以秒為單位) 之後再次嘗試重新同步。

有效格式如下所示:

  • 一個整數

    範例:輸入 300 即表示下次重新同步重試將在 300 秒後發生。

  • 多個整數

    範例:輸入 600、1200、300 即表示第一次重試將在失敗之後的 600 秒後發生,第二次重試將在第一次重試失敗之後的 1200 秒後發生,第三次重試將在第二次重試失敗之後的 300 秒後發生。

  • 時間範圍

    範例:輸入 2400+30 即表示下次重試將在重新同步失敗後的 2400 到 2430 秒之間發生。

如果延遲設定為 0,在嘗試重新同步失敗後,裝置不會再嘗試重新同步。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Resync_Error_Retry_Delay ua="na">60,120,240,480,960,1920,3840,7680,15360,30720,61440,86400</Resync_Error_Retry_Delay>
  • 在電話網頁上,以秒為單位指定時段。

預設值:60,120,240,480,960,1920,3840,7680,15360,30720,61440,86400

強制重新同步延遲

執行重新同步之前電話等待的最長延遲 (以秒為單位)。

如果有一條電話線路處於活動狀態,裝置不會重新同步。 因為重新同步可能需要數秒鐘的時間,所以最好等待,直至裝置在重新同步之前長時間處於閒置狀態。 這可讓使用者連續發起通話而不受中斷。

裝置有一個計時器,當其所有線路變為閒置時便會開始倒數。 此參數是計數器的初始值。 重新同步事件會延遲直至此計數器遞減為零。

有效值介於 0 到 65535 之間。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Forced_Resync_Delay ua="na">14400</Forced_Resync_Delay>
  • 在電話網頁上,以秒為單位指定時段。

預設值為 14,400 秒。

從 SIP 重新同步

透過從服務提供者代理伺服器發送到電話的 SIP 通知事件,來控制對重新同步操作的請求。 如果啟用,代理可以透過向裝置傳送包含 Event: resync 標頭的 SIP 通知訊息來請求重新同步。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Resync_From_SIP ua="na">Yes</Resync_From_SIP>
  • 在電話網頁上,選擇以啟用此功能,或選擇將其停用。

預設值:是

嘗試升級後重新同步

在發生任何升級之後啟用或停用重新同步操作。 如果選擇,韌體升級後會觸發同步。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Resync_After_Upgrade_Attempt ua="na">Yes</Resync_After_Upgrade_Attempt>
  • 在電話網頁上,選擇在韌體升級後觸發重新同步,或選擇不重新同步。

預設值:是

重新同步觸發項 1

重新同步觸發項 2

如果這些參數的邏輯公式計算結果為 FALSE,即使重設時重新同步設定為 TRUE,也不會觸發重新同步。 只有直接操作 URL 和 SIP 通知,重新同步才會忽略這些重新同步觸發器。

各個參數都可以使用經過宏指令擴展的條件運算式設定。 有關有效的巨集擴展,請參閱 預配參數下的 宏擴展變數

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Resync_Trigger_1 ua="na">$UPGTMR gt 300 和 $PRVTMR ge 600</Resync_Trigger_1>

    <Resync_Trigger_2 ua="na"/>

  • 在電話網頁上指定觸發器。

預設值:空

使用者可設定重新同步

允許使用者在電話螢幕功能表重新同步電話。 當設定為時,使用者可以透過從電話輸入設定檔規則,以重新同步電話設定。 如果設定為,則設定檔規則參數不會在電話螢幕功能表上顯示。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <User_Configurable_Resync ua="na">Yes</User_Configurable_Resync>

  • 在電話網頁上,選擇在電話功能表中顯示設定檔規則,或選擇以隱藏此參數。

預設值:是

FNF 重新同步失敗

如果未從伺服器收到請求的設定檔,重新同步通常被視為失敗。 此參數將改寫此行為。 如果設定為,當收到伺服器發回的找不到檔案回應時,裝置會認為重新同步成功。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Resync_Fails_On_FNF ua="na">Yes</Resync_Fails_On_FNF>
  • 在電話網頁上,選擇找不到檔案回應視為重新同步不成功,或者選擇找不到檔案回應視為重新同步成功。

預設值:是

設定檔驗證類型

指定用於驗證設定檔帳戶的憑證。 可用的選項有:

  • 已停用:停用設定檔帳戶功能。 停用此功能後,設定檔帳戶設定功能表不會在電話螢幕上顯示。

  • 基本 HTTP 驗證:HTTP 登入憑證用於驗證設定檔帳戶。

  • XSI 驗證:XSI 登入憑證或 XSI SIP 憑證用於驗證設定檔帳戶。 驗證憑證取決於電話的 XSI 驗證類型

    • 當電話的 XSI 驗證類型設定為 登入憑證時,使用 XSI 登入憑證。

    • 當電話的 XSI 驗證類型設定為 SIP 憑證時,使用 XSI SIP 憑證。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Profile_Authentication_Type ua="na">基本 Http 驗證</Profile_Authentication_Type>
  • 在電話網頁上,從清單中選擇一個選項以便電話驗證設定檔重新同步。

預設值:基本 HTTP 驗證

有關詳細資訊,請參閱 指定用於配置檔重新同步的電話下的 指定配置檔身份驗證類型

設定檔規則

設定檔規則 B

設定檔規則 C

設定檔規則 D

每條組態檔規則會通知電話應從哪個來源獲取設定檔 (組態檔)。 每個重新同步操作期間,電話會依次序套用所有設定檔。

如要對組態檔套用 AES-256-CBC 加密,請如下所示採用 --key 關鍵字指定加密金鑰:

[--key <encryption key>]

您可以將加密金鑰括在雙引號 (") 內。

  • 在包含 XML 的電話組態檔 (cfg.xml) 中,請輸入以下格式的字串:

    <Profile_Rule ua="na">/$PSN.xml</Profile_Rule>

    <Profile_Rule_B ua="na"/>

    <Profile_Rule_C ua="na"/>

    <Profile_Rule_D ua="na"/>

  • 在電話網頁上,指定設定檔規則。

預設值:/$PSN.xml

該使用的 DHCP 選項

DHCP 選項用逗號分隔,用於擷取韌體和設定檔。

預設值:66,160,159,150,60,43,125

要使用的 DHCPv6 選項

DHCP 選項用逗號分隔,用於擷取韌體和設定檔。

預設值:17,160,159

您可以透過 Cisco XML 功能佈建電話。

您可以將 XML 對象透過 SIP Notify 封包傳送到電話,或透過 HTTP Post 傳送到電話的 CGI 介面:http://PhoneIPAddress/CGI/Execute

CP-xxxx-3PCC 擴展了 Cisco XML 功能,現支援透過 XML 對象進行佈建:

<CP-xxxx-3PCCExecute> <ExecuteItem URL=Resync:[profile-rule]/></CP-xxxx-3PCCExecute>

電話收到 XML 對象後,會從 [profile-rule] 下載佈建檔案。 此規則使用宏指令來簡化 XML 服務應用程式的開發。

伺服器上具有多個設定檔的子目錄,為您在管理大量已部署的裝置時獲得便捷的方法。 設定檔 URL 可能包含:

  • 佈建伺服器名稱或明顯的 IP 位址。 如果設定檔按名稱標識佈建伺服器,電話會執行 DNS 查詢以剖析名稱。

  • 使用標準語法 :port 在 URL 指定的非標準伺服器連接埠,位於伺服器名稱之後。

  • 設定檔所處的伺服器虛擬根目錄之子目錄,使用標準 URL 表示法指定,並透過宏指令擴展管理。

例如,以下 Profile_Rule 在伺服器子目錄 /cisco/config 中,從在主機 prov.telco.com 上執行的 TFTP 伺服器請求設定檔 ($PN.cfg),收聽連接埠 6900 上的連接:

<Profile_Rule>
tftp://prov.telco.com:6900/cisco/config/$PN.cfg
</Profile_Rule>

每個電話的設定檔可以在通用參數中標識,其值透過使用宏指令擴展在通用設定檔規則中引用。

例如,假設 GPP_B 定義為 Dj6Lmp23Q

Profile_Rule 具有值:

tftp://prov.telco.com/cisco/$B/$MA.cfg

當裝置重新同步和宏指令擴展時,MAC 位址為 000e08012345 的電話將透過以下 URL 請求名稱包含裝置 MAC 位址的設定檔:

tftp://prov.telco.com/cisco/Dj6Lmp23Q/000e08012345.cfg

透過設定檔驗證,電話使用者可以將佈建設定檔重新同步到電話上。 電話首次嘗試重新同步和下載組態檔並收到 HTTP 或 HTTPS 401 驗證錯誤時,需要驗證訊息。 在以下情况下,啟用此功能之後,設定檔帳戶設定螢幕會在電話上顯示:

  • 在電話重啟後,首次佈建期間發生 HTTP 或 HTTPs 401 驗證錯誤時

  • 設定檔帳戶使用者名稱和密碼為空時

  • 設定檔規則中沒有使用者名稱和密碼時

如果錯過或忽略了設定檔帳戶設定螢幕,使用者還可以透過電話螢幕功能表或設定軟鍵 (軟鍵僅在未註冊電話線路時才會顯示) 存取設定螢幕。

如果停用此功能,設定檔帳戶設定螢幕不會在電話上顯示。

設定檔規則中的使用者名稱和密碼的優先級高於設定檔帳戶。

  • 當您在不含使用者名稱和密碼的設定檔規則欄位中提供正確的 URL 時,電話需要驗證或摘要,以重新同步設定檔。 如果設定檔帳戶正確,驗證將會通過。 如果設定檔帳戶不正確,則驗證會失敗。

  • 當您在包含正確使用者名稱和密碼的設定檔規則欄位中提供正確的 URL 時,電話需要驗證或摘要,以重新同步設定檔。 設定檔帳戶不用於電話重新同步。 登入成功。

  • 當您在包含錯誤使用者名稱和密碼的設定檔規則欄位中提供正確的 URL 時,電話需要驗證或摘要,以重新同步設定檔。 設定檔帳戶不用於電話重新同步。 登入必定失敗。

  • 當您在設定檔規則欄位中提供不正確的 URL 時,登入必定失敗。

您還可以使用 XML (cfg.xml) 代碼在電話組態檔中設定參數。

您可以在電話管理網頁中指定設定檔驗證類型。

1

存取電話管理網頁。

2

選擇語音 > 佈建

3

組態檔區段,設定設定檔驗證類型參數,以指定要用於組態檔帳戶驗證的憑證。

您可以輸入以下格式的字串,在電話組態 XML 檔 (cfg.xml) 中設定此參數:

<Profile_Authentication_Type ua="na">已停用</Profile_Authentication_Type>

選項:

  • 已停用:停用設定檔帳戶功能。停用此功能後,設定檔帳戶設定功能表不會在電話螢幕上顯示。

  • 基本 HTTP 驗證:HTTP 登入憑證用於驗證設定檔帳戶。

  • XSI 驗證:XSI 登入憑證或 XSI SIP 憑證用於驗證設定檔帳戶。 驗證憑證取決於電話的 XSI 驗證類型:

    當電話的 XSI 驗證類型設定為登入憑證時,使用 XSI 登入憑證。

    當電話的 XSI 驗證類型設定為 SIP 憑證時,使用 XSI SIP 憑證。

預設值:基本 HTTP 驗證

4

按一下提交所有變更

手動套用設定檔到電話

完成這些步驟,將組態檔下載到 PC 上的 TFTP 伺服器應用程式。

1

將您的電腦連接到電話的 LAN 連接埠。

2

在電腦上執行 TFTP 伺服器應用程式,並確保組態檔在 TFTP 根目錄中可用。

3

在 Web 瀏覽器中,輸入電話 LAN IP 位址、電腦的 IP 位址、檔案名稱以及登入憑證。 使用以下格式:

http://<WAN_IP_Address>/admin/resync?tftp://<PC_IP_Address>/<file_name>&xuser=admin&xpassword=<password>

範例:

http://192.168.15.1/admin/resync?tftp://192.168.15.100/my_config.xml&xuser=admin&xpassword=admin

請依照以下步驟,使用 cURL 將組態下載到電話。 此指令碼行工具用於以 URL 語法傳輸數據。 如要下載 cURL,請瀏覽:

https://curl.haxx.se/download.html

建議您不要使用 cURL 將組態發佈到電話,因為使用 cURL 時使用者名稱和密碼可能會遭截獲。

1

將您的電腦連接到電話的 LAN 連接埠。

2

輸入以下 cURL 指令碼,將組態檔下載到電話:

curl –d @my_config.xml“http://192.168.15.1/admin/config.xml&xuser=admin&xpassword=admin”

組態設定檔

電話接受 XML 格式的組態。

本節的範例使用具有 XML 語法的組態檔。

組態檔界定了電話的參數值。

組態檔 XML 格式使用標準 XML 編寫工具編譯參數和值。

僅支援 UTF-8 字元集。 如果您在編輯器中修改設定檔,不要更改編碼格式;否則電話將無法識別檔案。

每部電話有不同的功能組合,因此,參數組合也不盡相同。

開放設定檔格式

開放格式設定檔是元素層次結構中具有類似 XML 語法的文本檔案,具有元素屬性和值。 透過這種格式,您可以使用標準工具來建立組態檔。 XML 組態檔可以在重新同步操作期間從佈建伺服器傳送到電話,而無需編譯為二進制對象。

電話可以接受標準工具產生的組態格式。 有了此功能後,便不需要再開發從現有數據庫產生組態檔的後端佈建伺服器軟體。

為保護組態檔中的機密訊息,佈建伺服器會將 XML 組態檔透過 TLS 保護的通道傳送至電話。 (可選) 可以使用 gzip deflate 演算法 (RFC1951) 壓縮檔案。

可以使用以下其中的加密方法加密檔案:

  • AES-256-CBC 加密

  • 使用 AES-128-GCM 加密演算法的 RFC-8188 HTTP 內容加密

組態檔可以包含以下元件:

  • 元素標籤

  • 屬性

  • 參數

  • 格式功能

  • XML 意見

範例:開啟設定檔格式

<flat-profile><Resync_On_Reset> Yes </Resync_On_Reset><Resync_Periodic> 7200 </Resync_Periodic><Profile_Rule> tftp://prov.telco.com:6900/cisco/config/CP_xxxx_MPP.cfg</Profile_Rule></flat-profile>

<flat-profile> 元素標籤包含電話可識別的所有參數元素。

元素標籤屬性

當您建立或更新組態檔時,請牢記下列規則。

  • XML 佈建格式和 Web UI 允許組態相同的設定。 XML 標籤名稱和 Web UI 中的欄位名稱類似,但由於存在 XML 元素名稱限制,因此不盡相同。 例如,XML 組態檔中的下劃線 (_),而非 Web UI 上的空格。

  • 電話會識別具有封裝在特殊 <flat-profile> 元素中的適當參數名稱的元素。

  • 元素名稱包含在角括號中。

  • 大多數的元素名稱與電話 Web UI 上的欄位名稱相似,但有以下修改:

    • 元素名稱可能不包含空格或特殊字元。 如要從 Web 欄位名稱獲得元素名稱,請用下劃線取代每個空格或特殊字元 []()/

      範例:<Resync_On_Reset> 元素代表重設時重新同步欄位。

    • 每個元素名稱必須唯一。 在電話 Web UI 中,相同的欄位會在多個網頁上出現,例如線路、使用者和分機頁面。 將 [n] 附加至元素名稱,以指示頁面標籤中顯示的號碼。

      範例:<Dial_Plan_1_> 元素代表了線路 1 的撥號計畫

  • 每個開始元素標籤必須具有相符的結束元素標籤。 例如:

    <flat-profile><Resync_On_Reset> Yes  </Resync_On_Reset><Resync_Periodic> 7200  </Resync_Periodic><Profile_Rule>tftp://prov.telco.com: 6900/cisco/config/CP_xxxx_MPP.cfg  </Profile_Rule></flat-profile>
  • 元素標籤區分大小寫。

  • 允許使用空白元素標籤,會被解讀為將值設定為空白。 輸入不含對應元素標籤的開始元素標籤,然後在右角括號 (>) 之前插入空格和斜線。 在此範例中,設定檔規則 B 為空:

    <Profile_Rule_B />
  • 可以使用空的元素標籤,以便在重新同步操作期間防止覆寫使用者所提供的任何值。 在以下範例中,使用者快速撥號設定不變:

    <flat-profile><Speed_Dial_2_Name ua="rw"/><Speed_Dial_2_Number ua="rw"/><Speed_Dial_3_Name ua="rw"/><Speed_Dial_3_Number ua="rw"/><Speed_Dial_4_Name ua="rw"/><Speed_Dial_4_Number ua="rw"/><Speed_Dial_5_Name ua="rw"/><Speed_Dial_5_Number ua="rw"/><Speed_Dial_6_Name ua="rw"/><Speed_Dial_6_Number ua="rw"/><Speed_Dial_7_Name ua="rw"/><Speed_Dial_7_Number ua="rw"/><Speed_Dial_8_Name ua="rw"/><Speed_Dial_8_Number ua="rw"/><Speed_Dial_9_Name ua="rw"/><Speed_Dial_9_Number ua="rw"/></flat-profile>
  • 使用空值,將相應參數設定為空字串。 參數之間輸入不包含任何值的開始和結束元素。 在以下範例中,GPP_A 參數設定為空字串。

    <flat-profile><GPP_A>  </GPP_A></flat-profile>
  • 無法識別的元素名稱會被忽略。

參數屬性

這些屬性適用於參數:

  • 任何並非由設定檔指定的參數在電話中保持不變。

  • 無法識別的參數會被忽略。

  • 如果開放格式設定檔包含多次出現的相同參數標籤,則最後一次出現的標籤將覆蓋較早出現的標籤。 為避免無意中改寫參數的組態值,建議每個設定檔至多指定參數的一個實例。

  • 最後處理的設定檔優先。 如果多個設定檔指定相同的組態參數,則靠後的設定檔的值優先。

字串格式

這些屬性適用於字串的格式:

  • 允許透過標準 XML 語法意見。

    <!-- 在此輸入我的意見 -->
  • 為方便閱讀,允許新增前導和尾隨空格,但會從參數值删除。

  • 值中的新行字元會轉換為空格。

  • 允許 <? ?>形式的 XML 標頭,但電話會將其忽略。

  • 如要輸入特殊字元,可使用下表所示的基本 XML 逸出字元。

    特殊字元

    XML 逸出序列

    & (& 符號)

    &amp;

    <(小於)

    &lt;

    > (大於)

    &gt;

    ’ (縮寫符號)

    &apos;

    ” (雙引號)

    &quot;

    在以下範例中,輸入的逸出字元代表撥號方案規則中必填的大於和小於符號。 此範例中定義了訊息熱線撥號方案,將參數 (管理員登入 > 進階 > 語音 > 分機) 設定為等於 (S0 <:18005551212>)。

    <flat-profile> <Dial_Plan_1_> (S0 &lt;:18005551212&gt;) </Dial_Plan_1_></flat-profile>
  • 使用十進制和十六進制值的數字逸出字元 (s.a. &#40;&#x2e;) 已被轉譯。

  • 電話韌體僅支援 ASCII 字元。

可以壓縮開放組態檔以减少佈建伺服器上的網路載入。 也可以對設定檔加密以保護機密訊息。 壓縮並非必需,但其必須在加密之前完成。

開放設定檔壓縮

支援的壓縮方法是 gzip deflate 算法 (RFC1951)。 網站上提供 gzip 實用程式以及執行相同演算法 (zlib) 的壓縮庫。

為識別壓縮,電話預期壓縮檔案中包含 gzip 兼容標頭。 調用原始開放設定檔上的 gzip 實用程式,會產生標頭。 電話會檢查所下載檔案的標頭,以確定檔案格式。

例如,如果 profile.xml 是有效的設定檔,則檔案 profile.xml.gz 亦可接受。 以下任一指令碼都可以產生此設定檔類型:

  • >gzip profile.xml

    原始檔案替換為壓縮檔案。

  • >cat profile.xml | gzip > profile.xml.gz

    保留原始檔案不變,產生新的壓縮檔案。

開放設定檔加密

無論檔案是否壓縮,都可以使用對稱密鑰加密來對開放組態檔加密。 但如果應用壓縮,則壓縮必須在加密前套用。

在部署後,佈建伺服器使用 HTTPS 來處理電話的初次佈建。 預先加密組態檔離線,可允許隨後使用 HTTP 來重新同步組態檔。 這樣一來,可在大型部署中减少 HTTPS 伺服器上的載入。

電話支援兩種組態檔加密方法:

  • AES-256-CBC 加密

  • 使用 AES-128-GCM 加密演算法的 RFC 8188 HTTP 內容加密

密鑰或輸入密鑰材料 (IKM) 必須及早預先部署到裝置。 使用 HTTPS 可以安全地完成密鑰的引導。

組態檔名稱不需要特定的格式,但以 .cfg 擴展名結尾的檔案名稱,通常表示組態檔。

AES-256-CBC 加密

電話支援組態檔的 AES-256-CBC 加密。

OpenSSL 加密工具 (可從多個網站下載) 可以執行加密。 支援 256 位 AES 加密可能需要重新編譯工具來啟用 AES 代碼。 已根據版本 openssl-1.1.1d 測試韌體。

對於加密檔案,設定檔預期檔案的格式與透過以下指令碼產生的檔案相同:

 # 示例加密密鑰 = SecretPhrase1234 openssl enc –e –aes-256-cbc –k SecretPhrase1234 –in profile.xml –out profile.cfg # 壓縮 xml 檔案的類似調用 openSSL enc –e –aes-256-cbc –k SecretPhrase1234 –in profile.xml.gz –out profile.cfg 

密鑰前加有小寫字母 -k,可以是任何纯文本短語,用於產生隨機的 64 位元鹽值。 利用 -k 參數指定的密鑰,加密工具可得出隨機的 128 位初始化向量和實際的 256 位加密金鑰。

如果對組態檔使用這種形式的加密,電話必須了解密鑰值,以便對檔案進行解密。 此值在設定檔 URL 中被指定為限定符。 語法使用明顯鼇 URL,如下所示:

[--key “SecretPhrase1234”] http://prov.telco.com/path/profile.cfg

使用其中一個設定檔規則參數以設定此值。

宏指令擴展

評估之前多個佈建參數會進行內部宏指令擴展。 此預評估為控制電話重新同步和升級活動提供了更高的靈活性。

評估之前這些參數組會進行宏指令擴展:

  • Resync_Trigger_*

  • Profile_Rule*

  • Log_xxx_Msg

  • Upgrade_Rule

在某些情況下,某些通用參數 (GPP_*) 也會進行巨集擴展,如下面的可選重新同步參數 部分中明確指出的那樣

宏指令擴展期間,指定變數的內容會替換 $NAME 和 $(NAME) 形式的運算式。 這些變數包括一般參數、多個產品標識符、特定事件計時器和佈建狀態值。 有關完整清單,請參閱 預配參數 下的 宏擴展變數

在以下範例中,運算式 $(MAU) 用於插入 MAC 位址 000E08012345。

管理員輸入:$(MAU)config.cfg

MAC 位址為 000E08012345 的裝置的宏指令擴展結果是:000E08012345config.cfg

如果無法識別宏指令名稱,其將保持不擴展。 例如,名稱 STRANGE 不會被識別為有效的宏指令名稱,MAU 則會被識別為有效的宏指令名稱。

管理員輸入:$STRANGE$MAU.cfg

MAC 位址為 000E08012345 的裝置的宏指令擴展結果是:$STRANGE000E08012345.cfg

宏指令擴展不可遞歸套用。 例如,$$MAU” 將擴展為 $MAU” ($$ 被擴展),不會生成 MAC 位址。

特殊用途參數 GPP_SA 至 GPP_SD 的內容將對映到宏指令運算式 $SA 至 $SD。 這些參數將僅宏指令擴展為重新同步 URL 中 --key --uid--pwd 選項的參數。

條件運算式

條件運算式可以觸發重新同步事件,並從備用 URL 中挑選一個用於重新同步和升級操作。

條件運算式包含以 and 運算符分隔的比較清單。 所有比較必須滿足條件為 true。

每個比較可以涉及以下三種文字類型之一:

  • 整數值

  • 軟體或硬體版本號

  • 雙引號字串

版本號

Cisco Video Phone 8875 的軟體版本會使用此格式 (當中的 BN 是組建編號):

PHONEOSyyyy.1-0-1-0001-BN

當中的 yyyy 表示電話型號或電話系列;1 為主要版本;0 為次要版本;1-0001 為微型版本;及 BN 為組建編號。

比較字串必須使用相同的格式。 否則,會導致格式剖析錯誤。

比較軟體版本時,按順序比較主要版本、次要版本和微版本,最左邊的數字優先於後面的數字。 當版本號相同時,將比較內部版本號。

有效版本號的範例

PHONEOS-8875.1-0-1-0001-19

比較

可以比較引用的字串是相等還是不等。 也可以在算術上比較整數和版本編號。 比較運算符可以用符號或首字母縮寫表示。 首字母縮寫可方便地在開放格式設定檔中表達條件。

運算子

備用語法

描述

適用於整數和版本操作數

適用於加引號的字串操作數

=

eq

等於

!=

ne

不等於

<

lt

小於

<=

le

小於或等於

>

gt

大於

>=

ge

大於或等於

在需要字串文字的地方,必須將宏變數置於雙引號中,這一點至關重要。 不要在需要數字或版本編號的地方這樣做。

如果是用於 Profile_Rule* 和 Upgrade_Rule 參數,必須如此升級規則範例所述,將條件運算式置於語法「(expr)?」內。 請記住,將 BN 替換為要升級到的韌體載入內部版本編號。

($SWVER ne PHONEOS-8875.1-0-1-0001-19)? http://ps.tell.com/sw/PHONEOS-8875.1-0-1-0001-BN.loads

設定 Resync_Trigger_* 參數時,不要將前置語法放在括號中。

URL 語法

使用標準 URL 語法可指定如何分別在 Profile_Rule* 和 Upgrade_Rule 參數中擷取組態檔和韌體載入。 語法如下:

[ scheme:// ] [ server [:port]] filepath

其中,scheme 是其中的值:

  • tftp

  • http

  • https

如果 scheme 被忽略,則假設為 tftp。 伺服器可以是 DNS 識別的主機名稱或數字 IP 位址。 連接埠是目的地 UDP 或 TCP 連接埠號碼。 檔案路徑必須以根目錄 (/) 開頭;其必須是絕對路徑。

如果伺服器遺失,將透過 DHCP (選項 66) 指定 tftp 伺服器。

有關升級規則,必須指定伺服器。

如果連接埠遺失,將使用指定方案的標準連接埠。 Tftp 使用 UDP 連接埠 69,http 使用 TCP 連接埠 80,https 使用 TCP 連接埠 443。

必須存在檔案路徑。 它不必引用靜態檔案,但可以指明透過 CGI 獲取的動態內容。

URL 內將應用宏指令擴展。 以下為有效 URL 的範例:

 /$MA.cfg /cisco/cfg.xml 192.168.1.130/profiles/init.cfg tftp://prov.call.com/cpe/cisco$MA.cfg http://neptune.speak.net:8080/prov/$D/$E.cfg https://secure.me.com/profile?Linksys 

使用 DHCP 選項 66 時,空白語法不受升級規則支援。 它僅適用於設定檔規則*。

RFC 8188 式 HTTP 內容加密

電話支援使用 AES-128-GCM 加密算法對組態檔進行基於 RFC 8188 的 HTTP 內容加密。 使用此加密方法,任何實體均可讀取 HTTP 訊息標頭。 但是,只有知道輸入密鑰材料 (IKM) 的實體能夠讀取有效負載內容。 使用 IKM 佈建電話時,電話與佈建伺服器可以安全地交換組態檔,同時允許第三方網路元素出於分析和監察目的使用訊息標頭。

XML 組態參數 IKM_HTTP_Encrypt_Content 可在電話上保留 IKM。 出於安全原因,此參數在電話管理網頁上無法存取。 它也不會在電話的組態檔中顯示,後者可從電話的 IP 位址或從發送到佈建伺服器的電話設定報告進行存取。

如果想要使用基於 RFC 8188 的加密,確保滿足以下條件:

  • 透過使用從佈建伺服器發送到電話的組態檔中的 XML 參數 IKM_HTTP_Encrypt_Content 指定 IKM,利用 IKM 佈建電話。

  • 如果這個加密應用於從佈建伺服器發送到電話的組態檔,確保組態檔中的 Content-Encoding HTTP 標頭中包含 aes128gcm.

    如果沒有此標頭,則 AES-256-CBC 方法優先。 如果設定檔規則中存在 AES-256-CBC 密鑰,則電話應用 AES-256-CBC 解密,無論 IKM 如何。

  • 如果想要電話將此加密應用到傳送给佈建伺服器的設定報告,請確保報告規則中沒有指定 AES-256-CBC 密鑰。

可選重新同步參數

可選的參數、uidpwd,都會在 Profile_Rule* 參數中輸入的 URL 之前;參數會一併用方括號括起來。

鑰匙

--key 選項通知電話從佈建伺服器接收的組態檔使用 AES-256-CBC 加密進行加密,除非檔案中的 Content-Encoding 標頭指示 aes128gcm 加密。 密鑰本身被指定為後跟術語 --key 的字串。 可選擇將密鑰括在雙引號 (") 內。 電話使用密鑰解密組態檔。

使用範例
[--key VerySecretValue][--key “my secret phrase”][--key a37d2fb9055c1d04883a0745eb0917a4]

括號內的可選參數是宏指令擴展的。 僅當用作密鑰選項參數時,特殊用途參數 GPP_SA 至 GPP_SD 才會宏指令擴展為宏變數 $SA 至 $SD。 請參閱以下範例:

[--key $SC][--key “$SD”]

在開放格式設定檔中,--key 的參數必須與指定给 openssl-k 選項的參數相同。

uid 和 pwd

uidpwd 選項可用於指定當請求指定的 URL 時,為回應 HTTP 基本和摘要式身份驗證質詢而發送的使用者 ID 和密碼。 括號內的可選參數是宏指令擴展的。 僅當用作密鑰選項參數時,特殊用途參數 GPP_SA 至 GPP_SD 才會宏指令擴展為宏變數 $SA 至 $SD。 請參閱以下範例:

GPP_SA = 我的使用者 ID GPP_SB = 我的密碼 

[--uid $SA --pwd $SB] https://provisioning_server_url/path_to_your_config/your_config.xml

隨後將擴展為:

[--uid MyUserID --pwdMySecretPassword] https://provisioning_server_url/path_to_your_config/your_config.xml

這些數據類型與組態檔參數一起使用:

  • {a,b,c,…} — 在 a、b、c 之間選擇 …

  • Bool — 布林值為「是」或「否」。

  • CadScript — 指定訊號韻律參數的簡短說明。 最多 127 個字元。

    語法:S1[;S2],其中:

    • Si=Di(oni,1/offi,1[,oni,2/offi,2[,oni,3/offi,3[,oni,4/offi,4[,oni,5/offi,5[,oni,6/offi,6]]]]]),稱為區段。

    • oni,j 和 offi,j分段開/關的持續時間,以秒為單位。i = 1 或 2,j = 1 或 6。

    • Di 是區段的總持續時間,以秒為單位。

    所有持續時間最多可有三位小數,提供毫秒級解析度。 萬用字元「*」表示持續時間無限。 區段中的分段會按順序重複執行,直至執行時間達到總持續時間。

    範例 1:

     60(2/4) 節奏區段數 = 1 節奏 第 1 區段:區段長度 = 60 s 段數 = 1 段 1:開=2秒,關=4秒 響鈴總長度 = 60 秒 

    範例 2 — 獨特鈴聲 (短、短、短、長):

     60(.2/.2,.2/.2,.2/.2,1/4) 節奏區段數 = 1 節奏區段 1:區段長度 = 60s 段數 = 4 段 1:開=0.2秒,關=0.2秒 段 2:開=0.2秒,關=0.2秒 段 3:開=0.2秒,關=0.2秒 段 4:開=1.0秒,關=4.0秒 響鈴總長度 = 60 秒 
  • DialPlanScript — 用於指定線路 1 和線路 2 的撥號方案的指令碼語法。

  • Float<n> — 最多 n 位小數的浮點值。

  • FQDN—完全限定域名,最多可包含 63 個字元。 範例如下:

    • sip.Cisco.com:5060 或 109.12.14.12:12345

    • sip.Cisco.com 或 109.12.14.12

  • FreqScript — 指定提示音訊率和等級參數的簡短說明。 最多可包含 127 個字元。

    語法:F1@L1[,F2@L2[,F3@L3[,F4@L4[,F5@L5[,F6@L6]]]]],其中:

    • F1–F6 是頻率,以赫兹為單位 (僅無符號整數)。

    • L1–L6 是相應的等級,以 dBm 為單位 (最多一位小數)。

    逗號之前和之後允許使用空格,但不建議這樣做。

    範例 1 — 插撥鈴聲:

     440@-10 頻率數 = 1 頻率 1 = 440 Hz 在 –10 dBm 時 

    範例 2 — 撥號音:

     350@-19,440@-19 頻率數 = 2 頻率 1 = 350 Hz 在 –19 dBm 時 頻率 2 = 440 Hz 在 –19 dBm 時 
  • IP — 有效的 IPv4 位址,格式為 x.x.x.x,其中 x 介於 0 與 255 之間。範例:10.1.2.100。

  • UserID — URL 中出現的使用者 ID;最多 63 個字元。

  • Phone — 電話號碼字串,例如 14081234567、*69、*72、345678;或者一般 URL,例如 1234@10.10.10.100:5068 或 jsmith@Cisco.com。 字串最多可以包含 39 個字元。

  • PhTmplt — 電話號碼範本。 每個範本可包含一個或多個用逗號 (,) 分隔的模式。 每個模式開頭處的空格會被忽略。 「?」和「*」表示萬用字元。 要從字面上表示,請使用 %xx。 例如,%2a 表示 *。 範本最多可以包含 39 個字元。 範例:“1408*, 1510*”, “1408123????, 555?1.”。

  • 連接埠 — TCP/UDP 連接埠號碼 (0-65535)。 它可以用十進制或十六進制格式指定。

  • ProvisioningRuleSyntax — 用於定義設定重新同步和韌體升級規則的指令碼語法。

  • PwrLevel — 以 dBm 表示的功率級別,含一位小數,例如 –13.5 或 1.5 (dBm)。

  • RscTmplt — SIP 回應狀態代碼的範本,例如 “404, 5*”, “61?”, “407, 408, 487, 481”。 最多可包含 39 個字元。

  • Sig<n> — 有符號的 n 位值。 它可以用十進制或十六進制格式指定。 負值前面必須新增 - 號。 正值前面可以選擇性新增 + 號。

  • 星號代碼 — 附加服務的啟動碼,例如 *69。 代碼最多可以包含 7 個字元。

  • Str<n> — 最多具有 n 個非保留字元的一般字串。

  • 時間<n> — 持續時間,以秒為單位,最多 n 位小數。 額外指定的小數位會被忽略。

  • ToneScript — 指定電話進展音的頻率、電平和韻律參數的簡短說明。 指令碼最多可包含 127 個字元。

    語法:FreqScript;Z1[;Z2]。

    在 CadScript 中,區段 Z1 與區段 S1 類似,除每個開/關片段後跟頻率要素參數外:Z1 = D1(oni,1/offi,1/fi,1[,oni,2/offi,2/fi,2 [,oni,3/offi,3/fi,3 [,oni,4/offi,4/fi,4 [,oni,5/offi,5/fi,5 [,oni,6/offi,6/fi,6]]]]]),其中:

    • fi,j = n1[+n2]+n3[+n4[+n5[+n6]]]]]。

    • 1 < nk < 6 指定 FreqScript 中用於該片段的頻率要素。

    如果一個片段中使用了多個頻率要素,會將所有要素匯總。

    範例 1 — 撥號音:

     350@-19,440@-19;10(*/0/1+2) 頻率數 = 2 頻率 1 = 350 Hz 在 –19 dBm 時 頻率 2 = 440 Hz 在 –19 dBm 時 節奏部分數 = 1 節奏 第 1 部分:部分長度 = 10 s 段數 = 1 段 1:開=永久,頻率為 1 和 2 總音調長度 = 10s 

    範例 2 — 斷續音:

     350@-19,440@-19;2(.1/.1/1+2);10(*/0/1+2) 頻率數 = 2 頻率 1 = 350 Hz 在 –19 dBm 時 頻率 2 = 440 Hz 在 –19 dBm 時 節奏區段數 = 2 節奏 第 1 節: 區段長度 = 2s 段數 = 1 段 1: 開=0.1 秒,關=0.1 秒,頻率為 1 和 2 踏頻 第 2 部分: 部分長度 = 10s 段數 = 1 段 1: 開=永遠,頻率 1 和 2 總音調長度 = 12s 
  • Uns<n>—無符號 n 位值,其中 n = 8、16 或 32。它可以以十進制格式或十六進制格式 (例如 12 或 0x18) 指定,只要該值可以容納 n 位。

考慮以下因素:

  • <Par Name> 表示組態參數名稱。在設定檔中,相應的標籤是用下劃線「_」取代空間而形成的,例如 Par_Name
  • 空的預設值欄位表示空字串 < “” >。
  • 電話將繼續為指定設定檔中未出現的標籤使用最後一個設定的值。
  • 範本按照指定的順序進行比較。 首先是 並非最接近,選擇相符項目。 參數名稱必須完全相符。
  • 如果設定檔中為一個參數指定了多個定義,則電話會採用檔案中的最後一個定義。
  • 具有空參數值的參數規範強制參數返回其預設值。 如要改為指定空字串,使用空字串 "" 作為參數值。