本文探討在VoIP和公共交換電話網(PSTN)網路之間互通ISDN和H.323信令時,與呼叫進程帶內相關的問題。當Cisco VoIP路由器/網關與電信交換機交換信令功能時,會出現一些挑戰。
要理解本文檔,必須瞭解H.323和Cisco CallManager配置。
本文使用Cisco CallManager和Cisco IOS®語音網關解決本文檔中討論的問題。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
本文解決在VoIP和PSTN網路之間互通ISDN和H.323信令時與帶內呼叫進度相關的問題。當Cisco VoIP路由器/網關與電信交換機交換信令功能時,會出現一些挑戰。此清單說明常見問題情景/症狀:
症狀:普通舊式電話服務(POTS)(PSTN/PBX)使用者通過Cisco路由器/網關發出呼叫,並且在應答呼叫之前沒有聽到回鈴音。
通過Cisco IOS網關對Cisco CallManager(或第三方VoIP裝置)的VoIP入站呼叫無回鈴音
症狀:POTS(PSTN/PBX)使用者通過Cisco路由器/網關向IP電話發出呼叫,並且在應答呼叫之前沒有聽到回鈴音。
通過Cisco IOS網關從Cisco CallManager(或第三方VoIP裝置)發出的VoIP出站呼叫無回鈴音
症狀:使用者通過Cisco路由器/網關從IP電話或第三方裝置撥打外部號碼,並且聽不到回鈴音。
症狀:當呼叫通過Cisco CallManager從PSTN發出時,呼叫者不會聽到回鈴音。如果呼叫被應答,則雙方可以聽到對方,或者呼叫方可以聽到語音郵件提示。
IP電話發起呼叫轉接時,PSTN沒有回鈴音(Cisco CallManager 3.0或Cisco Unity Voice Mail)
症狀:從Cisco網關/路由器到Cisco CallManager或Cisco Unity Voice Mail的入站呼叫在應答呼叫後傳輸,不會收到回鈴音。
從Cisco CallManager到Cisco CallManager Express的呼叫無回鈴音
症狀:當使用者從註冊到Cisco CallManager的IP電話撥打到註冊到Cisco CallManager Express的IP電話時,不會聽到回鈴。即使接收電話振鈴且呼叫已完成,也會出現這種情況。
有關ISDN - VoIP(H.323)呼叫進度的帶內相關問題的詳細資訊,請參閱ISDN-VoIP(H.323)呼叫上的無忙音和無通知消息故障排除。
附註: 思科建議您先閱讀背景資訊部分,然後再閱讀解決方案部分。
互通被定義為兩個不同協定簇之間呼叫信令消息的對映。本檔案將重點介紹ISDN和H.323(VoIP)互通問題。此圖顯示ISDN(Q.931)和VoIP(H.225)呼叫支路中的呼叫信令消息。
附註: H.225是H.323為呼叫信令和呼叫建立指定的協定。H.225指定Q.931的使用和支援。有關H.323的詳細資訊,請參閱H.323教程 。
成功發出語音呼叫訊號需要帶內進度音(如回鈴和忙音)和通告(如「您撥打的號碼不再提供服務」)。進程音是由始發、終止或中間裝置生成的。
帶內音調的指示和通知由ISDN和H.323網路中的進度指示器(PI)資訊元素(IE)控制。進度指示器指示必須使用帶內音和通知的互通情況。在本檔案的上下文中,以下是感興趣的ITU Q.931進度指示器值:
進度指示器= 1 — 呼叫不是終端ISDN。可在帶內獲得進一步的呼叫進程資訊。
進度指示符= 2 — 目的地地址是非ISDN。
進度指示器= 3 — 源地址是非ISDN。
進度指示器= 8 — 現已提供帶內資訊或適當的模式。
通過包含等於1或8的進度指示符的警報、呼叫繼續、進度、連線、設定確認或斷開連線消息來指示是否有可用的提示和通告。
當Setup消息以PI等於3到達始發網關時,這意味著交換機將帶內消息預期告知網關。
附註: 消息中缺少PI假定始發裝置向主叫方提供合適的音調信令。在網關上,如果您已配置為切斷語音並傳送回鈴音,但仍然沒有聽到回鈴音,則可能是服務提供商PBX配置的問題。
注意:模擬和數字通道關聯信令(CAS)PSTN電路通常將資訊作為帶內資訊來傳送。
語音路徑直通是指完成一個語音呼叫的承載傳輸路徑。在語音呼叫中,直通分為兩個階段:
後向直通 — — 這意味著只有從被叫到主叫的語音路徑是完整的。
雙向直通 — 表示被叫方和主叫方之間的語音路徑完整。
可以在始發交換機或目的交換機上生成提示音和通告。如果由目的地交換機生成音調和通告,則在生成音調和通告之前,必須切斷從目的地交換機到主叫方的反向語音傳輸路徑。要將帶內音和通知從被叫方傳輸到主叫方,並避免語音剪輯,需要提前切斷反向承載路徑(在Connect消息之前)。
當終接ISDN交換機向其傳送以下消息時,呼叫終接Cisco路由器/網關在反向切入音訊路徑,以便傳輸帶內資訊:
PI等於1或PI等於8的警報消息。
PI等於1或PI等於8的進度消息。
PI等於1或PI等於8的呼叫繼續消息。
PI等於1或PI等於8的Setup Ack消息。
PI等於1或PI等於8的斷開消息。
註:在終止CAS介面上,一旦傳送所有被叫號碼位,思科路由器/網關就會沿反向擷取音訊。
在以下情況下,終端思科路由器/網關會在兩個方向切斷音訊路徑:
在ISDN介面上收到連線消息。
在CAS介面上接收應答監控(摘機)。
可以使用voice rtp send-recv Cisco IOS全域性配置命令,在網關上設定兩個方向的直通。
在Cisco IOS軟體版本12.1(3)XI1和12.1(5)T中,進度指示已變更,以便在POTS和VoIP介面之間提供更好的互通。這主要通過啟用和傳播定義進度指示音生成的端到端進度指示值來實現。
這些命令的使用假設您執行Cisco IOS軟體版本12.1(3a)XI5或12.2(1)及更新版本。如需詳細資訊,請參閱適用於H.323和SIP VoIP的互通訊號傳送增強功能和Cisco IOS語音、視訊和傳真命令參考12.2版。
POTS(PSTN/PBX)使用者通過Cisco路由器/網關發出呼叫,在應答呼叫前沒有聽到回鈴音。
在這種情況下,呼叫終止交換機將傳送回鈴音。它向終端的Cisco路由器/網關發出PI=8的訊號。然後,通過H.225 Progress消息將PI資訊轉發到始發網關。始發網關無法解碼Progress消息。它不會穿過反向音訊路徑以允許回鈴音的傳輸。一些常見情況包括:
終端網關/路由器通過運行Cisco IOS軟體版本12.1(3)XI /12.1(5)T的源網關運行Cisco IOS軟體版本12.1T或更高版本。始發網關無法理解H.225進度消息。在收到Connect消息之前,它不會切斷音訊路徑。
終端的Cisco網關/路由器連線到CAS或模擬介面。它將H.225 Progress消息中的PI資訊傳送到始發網關。始發網關/路由器無法解碼H.225 Progress消息。
第三方源網關和網守無法正確分析H.225進度消息。
ISDN交換機發回帶內回鈴,但警報消息不包含PI。
嘗試以下任一解決方案:
在終端網關/路由器中配置voice call send-alert Cisco IOS全域性配置命令。
此命令使終端網關能夠在收到呼叫設定後傳送警報消息而不是進度消息。
有關此命令的詳細資訊,請參閱Cisco IOS語音、影片和傳真命令參考12.2版。
將始發網關/路由器上的Cisco IOS軟體升級到Cisco IOS軟體版本12.1(3a)XI/12.1(5)T或更高版本。
如果上述解決方案不起作用,請配置終端網關,使其通過配置voice dial-peer # pots配置下的progress_ind alert enable 8 命令在警報消息中傳送PI = 8。
此命令覆蓋ISDN警報消息中收到的PI值。這會導致路由器在連線之前切斷通向主叫方的音訊路徑。
有關此命令的詳細資訊,請參閱Cisco IOS語音、影片和傳真命令參考12.2版。
注意:progress_ind alert和progress_ind setup命令在某些版本的Cisco IOS軟體中隱藏,在幫助分析器中可能不可見。但是,如果progress_ind progress命令在幫助分析器中可用,則這些命令也可用,並且可以完整地輸入到撥號對等體中。這些命令隨後顯示在運行配置中。
POTS(PSTN/PBX)使用者通過Cisco路由器/網關向IP電話發出呼叫,並且在應答呼叫之前沒有聽到回鈴音。
當入站呼叫未使用PI=3進入Cisco網關/路由器時,通常會出現這種情況。ISDN交換機在設定消息中傳送PI=3,通知網關始發呼叫是非ISDN,並且需要帶內消息。此情況也在PSTN呼叫者在呼叫IP電話時聽不到任何回鈴中描述。
完成以下解決方案之一:
在Cisco網關/路由器的voice dial-peer # VoIP配置下配置progress_ind setup enable 3 Cisco IOS命令。
此命令強制網關/路由器將入站ISDN設定消息視為使用等於3的PI進入,並且如果H.225警報消息不包含1、2或8的PI,則向主叫方生成帶內回鈴音。
有關此命令的詳細資訊,請參閱Cisco IOS語音、影片和傳真命令參考12.2版。
注意:progress_ind alert和progress_ind setup命令在某些版本的Cisco IOS軟體中隱藏,在幫助分析器中不可見。但是,如果progress_ind progress命令在幫助分析器中可用,則這些命令也可用,且全部輸入撥號對等體。這些命令隨後顯示在運行配置中。
progress_ind setup命令的替代命令是dial-peer voice # voip子命令tone ringback alert-no-pi 。
這會導致網關在沒有PI的IP呼叫支路上收到警報時,向主叫方生成回鈴。與progress_ind setup命令的不同之處在於,出站H.225設定消息不包含tone ringback命令的PI 3。在包括PI時,某些裝置可能不接受設定消息。
使用者通過Cisco IOS網關/路由器從IP電話到PSTN進行出站呼叫,並且未聽到回鈴音。
在這種情況下,始發裝置需要帶內回鈴音。相反,這兩種情況都有可能發生:
PSTN/交換機不提供回鈴音。
Cisco IOS路由器/網關不會將音訊傳輸到始發裝置。
如果PSTN提供帶內回鈴,而Q.931報警消息不提供表示存在帶內資訊的PI,則網關在呼叫連線之前不會切斷音訊。
完成以下解決方案之一:
在這種情況下,中繼線路的回鈴音必須來自PSTN。有兩個撥號對等體子命令可以提供幫助。在Cisco IOS路由器/網關上,在傳出voice dial-peer # pots下配置以下命令:.
progress_ind alert enable 8 progress_ind progress enable 8 progress_ind connect enable 8
progress_ind alert enable 8命令向路由器/網關上的軟體顯示Q.931警報消息,就像該警報消息的PI為8並穿過音訊路徑一樣。如需詳細資訊,請參閱在H.323 POTS撥號對等體中設定進度指示器。
注意:progress_ind alert和progress_ind setup命令在某些版本的Cisco IOS軟體中隱藏,在幫助分析器中可能不可見。但是,如果progress_ind progress命令在幫助分析器中可用,則這些命令也可用,並且可以完整地輸入到撥號對等體中。這些命令隨後顯示在運行配置中。
如果上述命令不能解決問題,請在從12.2(1)到12.2(2)T及更高版本的Cisco IOS軟體版本中,在voice dial-peer # pot組態下設定progress_ind setup enable 3 命令。
此命令會導致網關傳送ISDN設定消息中值為3的PI。這向PSTN/PBX指示始發裝置是非ISDN裝置,需要顯示帶內資訊。建議將此命令與progress_ind alert enable 8命令結合使用。
如果PSTN裝置無法生成帶內回鈴(例如,直接連線到網關上的BRI埠的ISDN電話),則可以通過在dial-peer voice # pots上配置tone ringback alert-no-pi命令,將網關配置為在IP呼叫支路上生成回鈴。
當接收到沒有PI的ISDN警報時,網關生成回鈴並在H.225警報消息中包括PI=0x8。
當呼叫通過Cisco CallManager從PSTN發出時,呼叫者不會聽到回鈴音。如果呼叫被應答,則雙方可以聽到對方,或者呼叫方可以聽到語音郵件提示。
為了解決此問題,請在Cisco CallManager中將禁用警報進度指示器服務引數設定為False。當您登入到Cisco CallManager Admin頁面並完成以下步驟時,可以完成此操作:
轉到服務選單,然後從Cisco CallManager管理頁面選擇服務引數。
選擇Publisher CallManager Server和Cisco CallManager服務。
從集群範圍的引數(裝置 — PRI和MGCP網關)部分向下滾動至禁用警報進度指示器。將此引數設定為False,然後按一下Update。
當對IP電話的呼叫被應答然後轉接時,呼叫者不會聽到回鈴。當已轉接的呼叫被應答時,雙方可以聽到對方。
從Cisco IOS網關/路由器的角度來看,呼叫在IP電話(通過Cisco CallManager)或Cisco Unity Voice Mail系統應答後即完成。任何進一步的進度音(在來電轉駁的情況下)需要由終端裝置產生。但是,Cisco CallManager和Cisco Unity無法生成帶內進度音。
為了解決此問題,請完成此處所述的步驟,或者將Cisco IOS網關/路由器配置為MGCP網關而不是H.323網關。
傳送H.225使用者資訊消息:此引數指定Cisco CallManager是傳送H.225使用者資訊消息還是H.225資訊消息。
首先,您必須安裝Cisco CallManager 3.0(8)或更高版本。
在Cisco CallManager Administration頁面(http://<您的Cisco CallManager名稱或IP地址>/ccmadmin/)中,轉到Service(服務)選單。選擇Service Parameters。
對每個活動的Cisco CallManager伺服器執行以下步驟:
在Configured Services框中,選擇Cisco CallManager。
在「引數」下拉選單框中,選擇ToSendH225UserInfoMsg。
將Value下拉選單框設定為T,表示true。
將路由器/網關升級到Cisco IOS軟體版本12.2(2.4)或更高版本。
此問題已記錄在Cisco錯誤ID CSCds11354(僅限註冊客戶)。
注意:這些修復對於回鈴音有效,但對於其他進度音無效,如忙碌訊號。
注意:下一部分列出了在較新版本的Cisco CallManager 3.3和4.0中可用於ToSendH225UserInfoMsg的選項中所做的一些更改。
Cisco CallManager 3.3具有以下選項:
無回鈴- H.225使用者資訊消息或H.225資訊消息不會傳送到Cisco IOS網關以播放回鈴音。
User Info for Ring Back Tone — 將H.225使用者資訊消息傳送到Cisco IOS網關以播放回鈴音。
H.225 Info for Ring Back — 將H.225資訊消息傳送到Cisco IOS網關以播放回鈴音。
注意:Cisco CallManager 3.1版不支援H.225資訊消息。如果您使用集群間中繼並且任何集群運行Cisco CallManager版本3.1或更低版本,請選擇User Info for Ring Back Tone選項。但是,如果所有集群都運行Cisco CallManager 3.2(2a)或更高版本,請選擇H225 Info for Ring Back選項。預設值:回鈴音的使用者資訊。
Cisco CallManager 4.0具有以下選項:
在Cisco CallManager 4.0中,此引數指定Cisco CallManager為回鈴音或保留音傳送哪些消息。
Use ANN for Ring Back — 使用Cisco Signaling Connection Control Part(SCCP)訊號器播放回鈴音(在Cisco CallManager 4.0及更新版本中提供)。
User Info for Call Progress Tone — 將H.225使用者資訊消息傳送到Cisco IOS網關,以播放回鈴音或保留音(這是預設設定)。
H.225 Info for Call Progress Tone — 將H.225資訊消息傳送到Cisco IOS網關以播放回鈴音或保留音。
當使用者從註冊到Cisco CallManager的IP電話撥打到註冊到Cisco CallManager Express的IP電話時,不會聽到回鈴。即使接收電話振鈴且呼叫已完成,也會出現這種情況。
為了解決此問題,請在Cisco CallManager Express中指向Cisco CallManager的VoIP撥號對等體中新增以下命令:
在指向Cisco CallManager的VoIP撥號對等體下新增incoming called-number命令。
新增delay transport-address命令,該命令強制IP電話在同一撥號對等體下建立回鈴音。
注意:此命令可以在某些Cisco IOS版本中隱藏。
有關詳細資訊,請參閱啟用與Cisco CallManager的互通。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
27-Nov-2005 |
初始版本 |